一、HL7 卫生信息交换标准(Health Level 7)
标准化的卫生信息传输协议,是医疗领域不同应用之间电子传输的协议。HL7汇集了不同厂商用来设计应用软件之间接口的标准格式,它将允许各个医疗机构在异构系统之间,进行数据交互。
作为信息交换标准,HL7 自1987年发布V1.0版后相继发布了v2.0 v2.1 v2.2 v2.3 v2.3.1 ,
2000年发布了v2.4版,
现已用 XML 开发了v3.0版
,
但 HL7 v2.4 版本仍是 ANSI 正式发布的版本。
所以我们学习 HL7 2.4 版本即可
二、HL7协议解析
消息结构
HL7标准包含256个事件、116个消息类型、139个段、55种数据类型、408个
数据字典
,涉及79种编码系统。
MSH|^~\&|Mindray|Gateway|||||ORU^R01|2|P|2.3.1| <CR>
PID|||M1015_00010||John^||20091112|M|||^^^^||| <CR>
PV1||I|^^ICU&Bed5&3232241659&0&0|||||||||||||||A||||||||||||||||||||||||||20091201111211 <CR>
OBR||||Mindray Monitor|||20091203121631| <CR>
OBX||NM|52^Height||169.0||||||F <CR>
OBX||NM|51^Weight||59.0||||||F <CR>
OBX||CE|2302^BloodType||1^A||||||F <CR>
OBX||CE|2303^PACE_Switch||0^Off||||||F <CR>
OBX||NM|101^HR|2101|60||||||F <CR>
OBX||NM|151^RR|2102|20||||||F <CR>
OBX||NM|200^T1|2104|37.00||||||F <CR>
每个HL7
消息Message
都有多个
段Segment
组成,每个段都以回车(<CR>)结尾
每个段最开始的3个大写字母表示段的唯一标识,如
MSH
(message header)表示消息头,
PID
(patient identity)标识病人唯一标识,
PVI
(patient visit)标识病人的一些基本信息如床号等。这些段的含义都是HL7标准里定义的。
每个段有包含多个
域(Fileld),
field之间用
|
分割。如果一个field没有被使用就什么都不用写,者就是很多两个域分隔符之间什么都没有的原因。每个field在段中都有一个
序号(SEQ)
,各个field的序号和含义都是HL7标准中定义的,我们可以只使用其中一部分field。(有些field是必须出现的,不能省略,必须传值)
每个field又可以包含多个
Component(组件),
component之间用
^
分割
如 52^Height
一个component又可以包含多个
Sub component(子组件)
,子组件之间用
&
分割
如ICU&Bed5&3232241659&O&O
HL7
自定义段 Z-段
https://www.jianshu.com/p/5993145c2818
三、HL7传输协议
HL7消息通过各种TCP/IP传输发送,其中一些包括:
-
下层协议(LLP)
-
文件传输协议(FTP)
- 简单对象访问协议(SOAP)
- 简单邮件传输协议(SMTP)
尽管HL7可以使用多种传输协议进行数据传输,但用于实时点对点接口的最常见传输方法是LLP;对于需要批量处理HL7的系统,通常使用FTP。