irc_dicom_service/app/model/study.js

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);
};