work.ts.md 2.5 KB

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):动物患者的绝育状态信息