【worklist】worklist的hl7、dicom是什么关系
HL7和DICOM在Worklist系统中是互补的关系,它们各自承担不同的角色,但协同工作以实现完整的医疗信息系统集成。
HL7与DICOM Worklist的关系
1. 功能分工
DICOM Worklist (Modality Worklist - MWL)
- 主要用于影像设备获取患者和检查信息
- 基于DICOM协议,使用C-FIND服务
- 数据格式严格遵循DICOM标准
- 直接与影像设备(CT、MRI、X-Ray等)交互
HL7 Worklist
- 用于更广泛的医疗信息系统间的数据交换
- 基于HL7协议,使用ORM、OMG等消息类型
- 数据格式遵循HL7标准
- 连接HIS、RIS、EMR等系统
2. 数据流向示例
HIS/RIS系统 → HL7 ORM消息 → Worklist Broker/网关 → DICOM MWL SCP → 影像设备 ↑ ↓ 人类可读的 影像设备可理解的DICOM格式 HL7格式
3. 字段映射关系
DICOM Tag | DICOM含义 | HL7字段 | 说明 |
---|---|---|---|
(0008,0050) | Accession Number | OBR-3, ORC-3 | 检查申请号 |
(0010,0020) | Patient ID | PID-3 | 患者唯一标识 |
(0010,0010) | Patient Name | PID-5 | 患者姓名 |
(0010,0030) | Patient Birth Date | PID-7 | 出生日期 |
(0010,0040) | Patient Sex | PID-8 | 性别 |
(0008,0060) | Modality | OBR-24 | 检查类型 |
(0040,0001) | Scheduled Station AE Title | SCH-3 | 预约设备 |
(0038,0010) | Admission ID | PV1-19 | 住院号 |
4. 在实际系统中的协作
cpp
// 示例:HL7到DICOM的转换过程
struct WorklistConverter {// HL7消息中的患者信息struct HL7PatientInfo {std::string patientID; // PID-3std::string patientName; // PID-5std::string birthDate; // PID-7std::string sex; // PID-8std::string accessionNumber; // OBR-3};// 转换为DICOM格式供影像设备使用struct DICOMWorklistItem {std::string patientID; // (0010,0020)std::string patientName; // (0010,0010)std::string studyInstanceUID; // (0020,000D)std::string accessionNumber; // (0008,0050)std::string modality; // (0008,0060)// ... 其他DICOM字段};
};
5. 工作流程
- 预约阶段:HIS/RIS系统通过HL7消息发送检查预约信息
- 转换阶段:Worklist服务将HL7信息转换为DICOM格式存储
- 查询阶段:影像设备通过DICOM C-FIND查询Worklist
- 执行阶段:影像设备获取患者信息并执行检查
- 反馈阶段:检查结果通过HL7或DICOM发送回HIS/RIS
6. 技术实现考虑
cpp
// 简化的转换示例
class WorklistBridge {
public:// 将HL7消息转换为DICOM Worklist格式DicomDataset convertHL7ToDICOM(const HL7Message& hl7Msg) {DicomDataset dicomDS;// Patient ID转换dicomDS.set("0010,0020", hl7Msg.getPID_3()->getID()->getData());// Patient Name转换std::string fullName = std::string(hl7Msg.getPID_5()->getPatientName()->getFamilyName()->getSurname()->getData()) + "^" + std::string(hl7Msg.getPID_5()->getPatientName()->getGivenName()->getData());dicomDS.set("0010,0010", fullName);// Accession Number转换dicomDS.set("0008,0050", hl7Msg.getORDER()->getOBR_45()->getFillerOrderNumber()->getEntityIdentifier()->getData());return dicomDS;}
};
7. 优势
- HL7:适合系统间业务数据交换,语义丰富
- DICOM:适合影像设备直接使用,标准化程度高
- 结合使用:实现从预约到执行的完整流程
总的来说,HL7和DICOM在Worklist系统中是相辅相成的关系,HL7负责系统间的业务数据传输,DICOM负责与影像设备的直接交互,通过中间件或网关实现两种协议的转换和集成。