HL7 v3标准的XML格式是什么

HL7 V3 XML是基于RIM建模、带命名空间、XSD约束的标准化格式;核心特征包括:强制命名空间声明、六类RIM元素映射、语义化属性承载关键信息、根元素标识消息类型、内容全结构化无自由文本。

HL7 V3 的 XML 格式是一种基于严格建模、带命名空间、符合 RIM(Reference Information Model)规范的结构化 XML 表达方式,不是随意设计的标签组合,而是由 HL7 官方通过 UML 模型导出、经 Schema(XSD)约束的标准化格式。

它有以下几个核心特征:

命名空间强制声明

所有 HL7 V3 XML 文档必须声明默认命名空间:

xmlns="urn:hl7-org:v3"

常见还会附带 xsi:schemaLocation 指向具体消息类型的 XSD 文件,例如:

xsi:schemaLocation="urn:hl7-org:v3 ../multicacheschemas/POOR_IN200901UV.xsd"

没有正确声明命名空间,XPath 或 DOM 解析器将无法定位元素。

消息结构遵循 RIM 六大核心类

XML 元素不是按业务直觉命名,而是映射自 RIM 模型中的抽象类:

  • 对应医疗事件(如检查、用药、手术)
  • 描述参与方角色(如患者、医生、机构)
  • 表示实体(如人、设备、地点)
  • 表示某角色在某事件中的参与关系
  • 描述事件间逻辑关系(如“导致”“包含”“替代”)
  • 表示角色之间关联(如“雇佣”“亲属”)

这些类通过继承和组合生成具体消息元素,比如 的子类型, 的子类型。

元素属性高度语义化,不依赖文本内容

关键信息大多通过属性表达,而非子节点文本。例如:

  • 时间用 value="20120106110000"(符合 ISO 8601 扩展格式)
  • 标识符用 root="2.16.156.10011.0" extension="GUID"(OID + 扩展码)
  • 编码值用 code="P" codeSystem="2.16.840.1.113883.5.1063"(绑定到标准术语集)

这意味着:不能只靠 InnerText 提取数据,必须读取特定属性。

消息根元素即类型标识

每条消息以一个唯一命名的根元素开头,直接表明用途和版本,例如:

  • PRPA_IN101001UV:患者注册查询响应(V3)
  • POOR_IN200901UV:患者基本信息更新请求
  • REPC_MT000001UV:临床文档查询响应

后缀 UV 表示 “Unified Vocabulary”,是 V3 消息的通用标识。

不含自由文本块,内容全部结构化或受控编码

与 CDA R2 中 内嵌 XHTML 不同,纯 V3 消息(非 CDA)原则上不携带大段自由文本;临床描述需通过 observation/code + value(如 PQ、CE、ST 类型)或外链 reference 实现。若出现 ,通常属于 CDA 文档范畴,已属 V3 应用层扩展,不等于基础 V3 消息。

不复杂但容易忽略