146 lines
3.9 KiB
JavaScript
146 lines
3.9 KiB
JavaScript
/**
|
|
* study信息
|
|
*/
|
|
|
|
module.exports = app => {
|
|
const mongoose = app.mongoose;
|
|
const Schema = mongoose.Schema;
|
|
const StudySchema = new Schema({
|
|
user_id: {
|
|
type: Schema.Types.ObjectId,
|
|
ref: "User"
|
|
},
|
|
StudyInstanceUID: {
|
|
type: String,
|
|
index: true
|
|
}, // StudyInstanceUID 一次检查实例的唯一标识ID
|
|
StudyDate: String, //StudyDate 检查获得日期
|
|
StudyTime: String, //StudyTime 检查获得时间
|
|
StudyDescription: String, //StudyDescription 检查描述
|
|
ModalitiesInStudy: String, //ModalitiesInStudy 检查里包含的影像模态
|
|
BodyPartExamined: String, //BodyPartExamined 检查的部位
|
|
InstitutionName: String, //InstitutionName 检查结构的名字
|
|
series_ids: [{
|
|
type: Schema.Types.ObjectId,
|
|
ref: "Series"
|
|
}], //关联series
|
|
PatientID: String, //病人ID
|
|
PatientName: String, //病人姓名
|
|
PatientBirthDate: String, //病人出生日期
|
|
PatientBirthTime: String, //病人出生的时间
|
|
PatientSex: String, //病人性别
|
|
PatientAge: String, //病人检查之日的年龄
|
|
PatientWeight: String, //病人体重 modify 19.2.22
|
|
modals: String,//检查包含的所有模态 modify 19.5.10
|
|
Manufacturer: String, //Manufacturer 检查设备厂商
|
|
ManufacturerModelName: String, //ManufacturerModelName 机器的型号
|
|
OperatorsName: String,
|
|
|
|
status: {
|
|
type: String,
|
|
enum: ['0', '1', '2'],
|
|
default: '1',
|
|
}, //数据是否可用 0暂留 1可用 2删除
|
|
remarks: {
|
|
type: String,
|
|
default: ''
|
|
}, //备注
|
|
|
|
CHECKSERIALNUM: {
|
|
type: String,
|
|
index: true
|
|
},
|
|
PATIENTSPELLNAME: String, //检查姓名拼写
|
|
BIRTHDAY: Date, //生日
|
|
|
|
IDNUMBER: String, //身份证号码
|
|
PHONENUMBER: String, //手机号
|
|
ADDRESS: String, //地址
|
|
|
|
PREDIAGNOSE: String, // 初步诊断(跟着检查号)
|
|
DEPARTMENTNAME: String, // 科室名字
|
|
DOCTORCODE: String, // 生成检查的医生
|
|
DIAGID: {
|
|
type: String,
|
|
index: true
|
|
}, // 诊断id
|
|
StudyID: String, //study序列号(医院oracle的唯一id)
|
|
STUDYTIME: Date, //检查时间
|
|
RESERVE_DATE: Date, //预约时间 修改时间 2019-01-02
|
|
DEVICETYPENAME: String, //检查类型名字
|
|
DEVICENAME: String, //设备名称 修改时间 2018-12-26
|
|
DSTUDYUID: String, //studyUID (上传图片完成之后出现)
|
|
|
|
PHOTOMAKER: String, //操作员
|
|
schedulePHOTOMAKER: String, //排班操作员
|
|
photomakerStatus: {
|
|
type: Number,
|
|
default: 1
|
|
}, //操作员更新状态 0不需要更新 1尚待更新 2更新成功 3更新失败
|
|
OPERATETIME: {
|
|
type: Date,
|
|
index: true
|
|
}, // 操作时间
|
|
STUDYSTATUS: {
|
|
type: String,
|
|
index: true,
|
|
default: "已分诊"
|
|
}, //状态 待分诊 已分诊 到诊 检查完成 上传图像完成 诊断完成 审核完成
|
|
|
|
///////////////////
|
|
WORKLOAD: {
|
|
type: Number,
|
|
default: 1
|
|
}, //工作量 new
|
|
PHOTOMAKERTIME: {
|
|
type: Date,
|
|
index: true
|
|
}, //技师操作时间 new
|
|
REPORTTIME: {
|
|
type: Date,
|
|
index: true
|
|
}, //报告生成时间 new
|
|
///////////////////
|
|
|
|
quenuing_id: {
|
|
type: Schema.Types.ObjectId,
|
|
ref: 'Quenuing'
|
|
}, //分诊信息关联表
|
|
|
|
grade: {
|
|
report: {
|
|
score: Number, //分数
|
|
rank: String, //等级
|
|
mask: String, //评价
|
|
},
|
|
image: {
|
|
score: Number,
|
|
rank: String, //等级
|
|
mask: String
|
|
}
|
|
}, //评分
|
|
meta: {
|
|
createdAt: {
|
|
type: Date,
|
|
default: new Date()
|
|
},
|
|
updatedAt: {
|
|
type: Date,
|
|
default: new Date()
|
|
}
|
|
}
|
|
});
|
|
|
|
StudySchema.pre("save", function (next) {
|
|
if (this.isNew) {
|
|
// 创建时间
|
|
this.meta.createdAt = this.meta.updatedAt = new Date();
|
|
} else {
|
|
this.meta.updatedAt = new Date();
|
|
}
|
|
next();
|
|
});
|
|
|
|
return mongoose.model("Study", StudySchema);
|
|
};
|