import { dview } from './dview'; // 作为展示数据的基础,本质是个work export interface Task { StudyInstanceUID: string; StudyID: string; SpecificCharacterSet: string; AccessionNumber: string; PatientID: string; PatientName: string; DisplayPatientName: string; PatientSize: string; PatientAge: string; PatientSex: string; AdmittingTime: string; RegSource: string; StudyStatus: string; RequestedProcedureID: string; PerformedProtocolCodeValue: string; PerformedProtocolCodeMeaning: string; PerformedProcedureStepID: string; StudyDescription: string; StudyStartDatetime: string; ScheduledProcedureStepStartDate: string; StudyLock: string; OperatorID: string; Modality: string; Views: dview[]; Thickness: number; PatientType: string; StudyType: string; QRCode: string; IsExported: boolean; IsEdited: boolean; WorkRef: string; IsAppended: boolean; CreationTime: string; MappedStatus: boolean; IsDelete: boolean; /** * 生日 */ patient_dob?: string; // 生日 /** * // 主管医师 */ ref_physician?: string; weight?: number; // 体重 length?: number; // 长度 comment?: string; // 备注 /**---下面是宠物专用字段--- */ owner_name?: string; // 主人姓名, chip_number?: string; // 芯片号, variety: string; // 品种, sex_neutered: string; // 绝育状态, 'ALTERED' | 'UNALTERED' | 'UNKNOWN' is_anaesthesia?: boolean; // 是否麻醉, is_sedation?: boolean; // 是否镇静, /**---下面是人医专用字段--- */ pregnancy_status?: string; // 妊娠状态, 'NOT_PREGNANT' | 'PREGNANT' | 'UNKNOWN' /**---患者照片相关字段--- */ portrait_status?: string; // 患者照片保存状态, 'Saved' | 'NotSaved' | '' portrait_file?: string; // 患者照片文件名 /**---RIS相关字段--- */ /** RIS条目ID,用于RIS条目的唯一标识 */ entry_id?: string; /** 调度信息,包含AE标题、医师、步骤ID等 */ scheduled?: { scheduled_ae_title: string; scheduled_performing_physician_name: string; scheduled_procedure_step_id: string; }; /** 协议代码列表,方便技师选择体位 */ protocol_code?: Array<{ code_value: string; code_meaning: string; }>; } export type TaskAnimal = Omit & { sex_neutered: string; owner_name: string; chip_number: object; variety: string; }; /** * 判断是否为RIS条目 * @param task 任务对象 * @returns true表示是RIS条目,false表示是本地条目 */ export const isRISEntry = (task: Task): boolean => { return !task.StudyID || task.StudyID === ''; };