# work.ts ## 文件职责 定义**工作列表任务(Task)** 的数据结构接口,描述在任务清单、历史清单中展示的检查任务信息及其体位列表。 ## 实现方式 通过 **TypeScript 接口**定义任务的数据契约,并使用 **Omit 和交叉类型**扩展出动物患者专用的 TaskAnimal 类型。 ## 实现思路 1. **基础任务接口**:定义 Task 接口包含检查的核心展示信息和 DICOM 元数据 2. **患者信息**:包含患者基本信息(ID、姓名、年龄、性别、体型等) 3. **检查信息**:记录检查描述、开始时间、预约时间、检查状态、影像模态等 4. **流程信息**:包含请求流程 ID(RequestedProcedureID)、执行流程步骤 ID、协议代码等 5. **体位列表**:使用 Views 数组存储该任务包含的所有体位视图(dview) 6. **状态标志**:多个布尔字段跟踪任务状态(导出、编辑、追加、删除、映射等) 7. **动物扩展**:TaskAnimal 类型移除 pregnancy_status 字段,添加动物特有字段(绝育状态、主人姓名、芯片号、品种) ## 边界 ### 输入边界 - ✅ 符合 Task 或 TaskAnimal 接口的对象结构 - ✅ Views 字段为 dview 类型数组 - ❌ 不验证字段值的有效性 ### 输出边界 - ✅ 导出 Task 和 TaskAnimal 接口类型定义 - ❌ 不提供任务实例创建方法 - ❌ 不包含业务逻辑实现 ### 职责边界 - ✅ 负责定义任务的数据结构 - ✅ 负责区分人类和动物患者的任务类型 - ❌ 不负责任务数据的持久化 - ❌ 不负责任务状态的变更逻辑 - ❌ 不负责任务列表的筛选和排序 ## 涉及概念 **任务(Task)**:工作列表中的一个检查项目,包含患者信息、检查信息和体位列表 **工作列表(Worklist)**:待执行或进行中的检查任务列表 **体位视图(Views)**:任务包含的所有拍摄体位的 dview 对象数组 **请求流程 ID(RequestedProcedureID)**:HIS 系统中请求的流程标识 **执行步骤 ID(PerformedProcedureStepID)**:实际执行的流程步骤标识 **显示患者姓名(DisplayPatientName)**:用于界面显示的患者姓名(可能与 PatientName 格式不同) **工作引用(WorkRef)**:指向原始工作记录的引用标识 **二维码(QRCode)**:任务的二维码标识,用于快速检索 **TaskAnimal 类型**:通过 Omit 工具类型移除人类专用字段,添加动物专用字段的扩展类型 **绝育状态(sex_neutered)**:动物患者的绝育状态信息