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負責與影像設備的直接交互,通過中間件或網關實現兩種協議的轉換和集成。