医疗数据包含患者基本信息、检验检查结果、用药记录、病历文书等多类内容,不同医疗机构的信息系统架构差异较大,要实现跨机构、跨系统的数据互通,需要统一的数据交换标准。XML作为可自定义标签、结构清晰的数据格式,被广泛应用于医疗数据交换场景,同时行业也针对XML制定了多项专门的应用标准,规范数据的格式和语义。

HL7 CDA标准
HL7 CDA(Clinical Document Architecture,临床文档架构)是HL7组织制定的基于XML的临床文档交换标准,核心目标是实现临床文档在不同系统之间的结构化存储和传输。该标准定义了临床文档的通用结构,包括文档头、文档体和可选的签名部分,文档头包含文档的元数据信息,比如文档创建时间、创建者、患者标识等,文档体则承载具体的临床内容。
HL7 CDA支持不同层级的文档粒度,既可以是完整的出院小结,也可以是单次的检验报告,同时允许在文档中嵌入非结构化的文本内容,兼顾了结构化和灵活性。以下是一个简化的HL7 CDA文档示例:
<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3">
<!-- 文档头部分 -->
<id root="2.16.840.1.113883.19.4" extension="cda-demo-001"/>
<code code="34133-9" displayName="出院小结" codeSystem="2.16.840.1.113883.6.1"/>
<title>患者出院小结</title>
<effectiveTime value="20240520"/>
<recordTarget>
<patientRole>
<id root="1.2.3.4" extension="P123456"/>
<patient>
<name>
<given>张三</given>
</name>
<administrativeGenderCode code="M" displayName="男性"/>
<birthTime value="19800515"/>
</patient>
</patientRole>
</recordTarget>
<!-- 文档体部分 -->
<component>
<structuredBody>
<component>
<section>
<code code="10164-2" displayName="病史" codeSystem="2.16.840.1.113883.6.1"/>
<title>现病史</title>
<text>患者因咳嗽发热3天入院,经检查为细菌性肺炎</text>
</section>
</component>
</structuredBody>
</component>
</ClinicalDocument>
HL7 v3标准
HL7 v3是HL7组织推出的第三代消息交换标准,完全基于XML格式定义,相比早期的HL7 v2标准,它的语义定义更加严谨,通过参考信息模型(RIM)统一了所有消息的数据结构,减少了不同实现之间的歧义。HL7 v3的消息类型覆盖了患者管理、医嘱管理、检验结果报告、财务结算等医疗业务的全流程,每个消息都对应明确的业务场景。
HL7 v3的消息结构由触发事件、消息头、消息体组成,触发事件标识消息产生的业务场景,消息头包含消息的发送方、接收方、时间戳等路由信息,消息体则承载具体的业务数据。由于HL7 v3的模型复杂度较高,目前更多用于区域医疗信息平台等大型系统的数据交换场景,以下是HL7 v3患者注册消息的简化示例:
<?xml version="1.0" encoding="UTF-8"?>
<PRPA_IN201301UV02 xmlns="urn:hl7-org:v3">
<!-- 消息头 -->
<id root="2.16.840.1.113883.19.4" extension="msg-001"/>
<creationTime value="20240520103000"/>
<sender>
<device>
<id root="1.2.3.4" extension="SYS001"/>
</device>
</sender>
<receiver>
<device>
<id root="1.2.3.4" extension="SYS002"/>
</device>
</receiver>
<!-- 消息体:患者注册信息 -->
<controlActProcess classCode="CACT" moodCode="EVN">
<subject>
<registrationEvent classCode="REG">
<subject1>
<patient classCode="PAT">
<id root="1.2.3.4" extension="P123456"/>
<patientPerson>
<name>
<given>张三</given>
</name>
<administrativeGenderCode code="M" displayName="男性"/>
<birthTime value="19800515"/>
</patientPerson>
</patient>
</subject1>
</registrationEvent>
</subject>
</controlActProcess>
</PRPA_IN201301UV02>
ISO 13606标准
ISO 13606是国际标准化组织制定的电子健康记录(EHR)通信标准,同样基于XML格式,核心目标是实现不同系统之间电子健康记录的共享和集成。该标准定义了电子健康记录的通用架构,将记录分为多个条目(Entry),每个条目对应一类医疗数据,比如生命体征、用药记录、诊断信息等,同时支持对数据的来源、创建者、可信度等元信息进行标注。
ISO 13606更关注电子健康记录的长期存储和跨机构共享,支持对记录进行版本管理,能够追溯数据的修改历史,适合用于区域医疗健康档案、跨院诊疗数据共享等场景。以下是ISO 13606记录的简化示例:
<?xml version="1.0" encoding="UTF-8"?>
<EHR xmlns="urn:iso:std:iso:13606:2008">
<ehr_id root="1.2.3.4" extension="EHR001"/>
<subject>
<patient_id root="1.2.3.4" extension="P123456"/>
</subject>
<composition>
<composition_id root="1.2.3.4" extension="COMP001"/>
<committal>
<time value="20240520"/>
<committer>
<id root="1.2.3.4" extension="DOC001"/>
<name>李医生</name>
</committer>
</committal>
<content>
<entry>
<entry_id root="1.2.3.4" extension="ENT001"/>
<archetype_id>openEHR-EHR-OBSERVATION.blood_pressure.v1</archetype_id>
<data>
<name>血压测量</name>
<value>120/80 mmHg</value>
<time value="20240520110000"/>
</data>
</entry>
</content>
</composition>
</EHR>
其他相关标准
除了上述核心标准之外,还有一些细分场景的XML应用标准,比如DICOM SR(结构化报告)标准,用于医学影像检查报告的结构化存储和交换,基于XML定义报告的格式,和DICOM影像标准配合使用;还有NCPDP标准,用于药品处方、药品分发相关的数据交换,在药品流通和处方流转场景中广泛应用。
标准选择建议
在实际的医疗数据交换项目中,选择XML应用标准需要结合具体场景:如果是临床文档的跨系统传输,优先选择HL7 CDA;如果是大型区域平台的全流程业务消息交换,可选择HL7 v3;如果是电子健康档案的长期共享和集成,ISO 13606更合适;如果是影像相关报告交换,可搭配DICOM SR标准使用。
所有标准都要求严格遵循XML的语法规范,同时在实现过程中需要做好数据映射,将本地系统的数据字段和标准的字段定义对应,保障数据交换的准确性。另外需要注意患者隐私数据的加密处理,在XML传输过程中对敏感字段进行加密,符合医疗数据安全的合规要求。