【老王公众号】

医院信息集成平台 HL7协议对接

1.介绍
HL7 缩写于Health Level Seven,是创建于1987年,用来发展独立卫生保健行业的电子交换交换标准,经过多年的发展,HL7已经有多个版本。
简单的理解其实就像XML,JSON格式一样,HL7也是一种数据格式,可以理解为一个包含很多行字符串的消息体,这一整个就是一个HL7消息内容。
HL7官网 http://www.hl7.org/,可下载对应版本文档
Hapi官网 https://hapifhir.github.io/hapi-hl7v2/

2.传输协议规范

2.1. MLLP

MLLP是目前HL7标准采用的标准接入规范,其他还有Netty等技术手段。其定义主要包括如下几个方面:

² 传输协议

MLLP协议采用标准的TCP协议进行消息发送和接收。接入时请参考相关的TCP/IP 技术文档。

² 数据头定义

说明

定义

开始(Start Block character

0x0B

结束(End Block character

0x1C

回车(Carriage return

0x0D

² 转义字符集

在通过MLLP接口传输HL7消息时,下列字符集需进行转义:

转义序列

说明

\Cxxyy\

单字节字符集的转义序列,由两16进制数值组成,不转换

\E\

Escape符的转义序列 (e.g., ‘\’)

\F\

Field分隔符的转义序列 (e.g., ‘|’)

\H\

高亮段的起始,不转换

\Mxxyyzz\

多字节字符集的转义序列,由两至三个16进制数值组成 (zz可选),不转换

\N\

正常文字 (结束高亮) ,不转换

\R\

Repetition分隔符的转义序列 (e.g., ‘~’)

\S\

Component分隔符的转义序列 (e.g., ‘^’)

\T\

Subcomponent分隔符的转义序列 (e.g., ‘&’)

\Xdd…\

16进制数据 (dd必须是16进制符号) 成对转换为相应字符

2.2. 规范说明

² 通用段消息中常见的段进行统一说明

² 对于域(Field)红色字体表示该域是必填的,整行绿色字体表示该域扩展用法,非HL7标准含义。

2.3. 消息格式说明

² 大括号“{}”表示该部分可以重复

² 中括号“[]”表示该部分可选

² 黄色背景标示的是该文档中主要用到的段(Segment)

3.HL7结构介绍
例如:下面就是一个ADT^A28类型下的A28的消息:

3.1. 患者建档ADT^A28

*说明*:A28是用于患者基本信息建档,区别于门诊挂号、住院入院等就诊活动消息。

3.1.1. 患者建档(ADT^A28消息规范

Field

Data Type

Data Element

Data Source

Notes

MSH

消息头信息段

MSH-3-1

 

Namespace ID

HIS

发送方

MSH-5-1

 

Namespace ID

MediII

接受方

PID

患者基本信息段

 

PID-2

CX

Patient ID

患者主索引信息

 

 

PID-2-1

ST

ID

患者全院唯一标识(患者主索引ID

0表示,需要EMPI系统创建并返回新的主索引号。

 

[{NK1}]

患者联系人信息段

PV1

患者就诊信息段

PV1-2

IS

Patient Class

患者分类

E:急诊

I:住院

O:门诊

T:体检

PV1-52

XCN

Other Healthcare Provider

操作人信息

 

PV1-52(1)-1

ST

ID Number

员工号

 

PV1-52(1)-3

FN

GivenName

姓名

 

 

² 回复(ACK)

² 说明ADT^A28根据医院业务若接收EMPI系统主索引系统),则建档时会返回主索引ID否则不返回主索引。

Field

Data Type

Data Element

Data Source

Notes

MSH

消息头信息段

MSH-3-1

 

Namespace ID

发送方

MediII

MSH-3-2

 

Universal ID

发送方院区ID

 

MSH-5-1

 

Namespace ID

接受方

HIS

MSH-5-2

 

Universal ID

接收方院区ID

 

MSA

回复结果信息段

MSA-1

ID

Acknowledgment Code

AA 成功

AE 失败

AR 拒绝

 

MSA-2

ST

Message Control ID

响应消息的控制ID

 

MSA-3

ST

Text Message

消息描述

MSA-2=AE表示错误原因描述;

MSA-2=AA,表示PID-2-1(主索引ID

3.1.2. 患者建档(ADT^A28消息示例

消息说明

消息内容

患者建档

MSH|^~\&|HIS|MediInfo|MediII|MediInfo|20120123210401||ADT^A28^ADT_A05|8890fd1647d541130c8e50e322f989|P|2.4

EVN|A28|20120123210401||||20120123210401

PID||3102209|3101409^^^JG01~1004209^^^JG02~00345685^^^JG03~330107331108002^^^JG04~014211589^^^JG05~30114174~06D958112F11^^^JG06~01411589^^^JG07~A12231645^^^JG08~33213154^^^JG09~1011409^^^JG10||XiaoHua^小华||19890101000000|2|||浙江杭州建德新安江街道&新安江街道&19^建德市^杭州市^浙江省^311600^^H^乡镇信息^330182^街道标准编码~农夫山泉新安江饮料有限公司&新安江街道&10^建德市^杭州市^浙江省^311600^^W^农夫山泉新安江饮料有限公司^县地区编码^街道标准编码||^^01^^^^18205710973~^^02^^^^8318764|^^^^^^18258476654||O^其他||330182192232210412^^^01|330182192221012212|||01^汉族|浙江省|||Y^退休||40^中国||||0

NK1|1|TANMOUMOU^谭某某|30^女儿|浙江杭州建德新安江街道华&新安江街道华&13^建德市^杭州市^浙江省^311600^^H^乡镇信息^330182^街道标准编码|^^^^^^1821110973~^^^^^^8318764~^^^^^^182111113||||||||农夫山泉新安江饮料有限公司<20003711>

PV1||O||||||||||||||||01||||||||||||||||||||||||||||||||||1295^^孟子

回复消息[成功]

MSH|^~\&|UEHIS|UEHIS|MediII|MediII|20150123210520||ACK^A28^ACK|83bc94f0eb82428ea8e7482f7def130e|P|2.4

MSA|AA|8890fd1647d54362b30c8e50e322f989

EMPI系统

回复消息[成功]

MSH|^~\&|UEHIS|UEHIS|MediII|MediII|20150123210520||ACK^A28^ACK|83bc94f0eb82428ea8e7482f7def130e|P|2.4

MSA|AA|8890fd1647d54362b30c8e50e322f989|1000100

回复消息[失败]

MSH|^~\&|UEHIS|UEHIS|MediII|MediII|20150123210520||ACK^A28^ACK|83bc94f0eb82428ea8e7482f7def130e|P|2.4

MSA|AE|8890fd1647d54362b30c8e50e322f989|失败原因

 

4.通用段消息值域说明

 

4.1. 消息头(MSH

 

Field

Data Type

Data Element

Notes

Data Source

MSH-1

ST

Field Separator

|

 

MSH-2

ST

Encoding Characters

^~\&

 

MSH-3

HD

Sending Application

发送程序

 

MSH-3-1

 

Namespace ID

发送程序简称

HIS

MSH-4

HD

Sending Facility

发送设备。目前等同MSH-3

 

MSH-5

HD

Receiving Application

接收程序

 

MSH-5-1

 

Namespace ID

发送程序简称

PASC

MSH-6

HD

Receiving Facility

接收设备。目前等同MSH-5

 

MSH-7

TS

Date/Time of Message

消息发生的时间

20141023090101

MSH-9

CM

Message Type

 

如:ADT^A01^ADT_A01

MSH-9-1

 

Message Type

消息类型

ADT

MSH-9-2

 

Trigger Event

事件

A01

MSH-9-3

 

Message Structure

消息结构

ADT_A01

MSH-10

ST

Message Control ID

用于唯一标识某条消息。在ACK消息中,必须使用到该Field

全球唯一标识符32位长度

MSH-11

PT

Processing ID

 

 

MSH-11-1

 

Processing ID

处理ID

生产系统使用 P

MSH-12

VID

Version ID

 

 

MSH-12-1

 

Version ID

版本号

2.4

4.2. 消息确认(MSA)

Field

Data Type

Data Element

Data Source

Notes

MSA-1

ID

Acknowledgment Code

 

AA 成功

AE 失败

AR 拒绝

MSA-2

ST

Message Control ID

 

响应消息的控制ID

MSA-3

ST

Text Message

 

错误信息

MSA-6

CE

Error Condition

 

错误情况

参见HL70357

HL7 0357 – 信息出错情况代码

出错情况代码

出错情况文本

描述/说明

成功

AA

 

0

信息被接受

成功。可选,即AA传输成功,用于必返回一状态代码的系统中

出错

AE

 

100

信息系列号出错

信息中的信息段的顺序不正确,或者必须的信息段丢失。

101

必须的字段丢失

某一信息段的必须字段丢失

102

数据类型出错

字段包含有错误的数据类型。比如:一数值(NM)字段包含“FOO”

103

未发现相应的表格中的取值

将一数据类型为IDIS的字段于相应的取值表格进行比较,未发现性匹配的取值。

拒绝

AR

 

200

不支持的信息类型

此信息类型不被支持

201

不支持的事件代码

此事件代码不被支持

202

不被支持的处理ID

此处理ID号不被支持

203

不被支持的版本ID

此版本ID号不被支持

204

不认识的关键标识符

未发现患者预定等的ID号。用于对患者的处理时而不是添加患者,比如:试图传输一个不存在的患者的数据。

205

关键标识符出现重复

患者预定等的ID号已经存在。用于添加患者的操作中(如:入院,新预定等)

206

应用程序纪录锁定

在程序进行存储工作时,处理不能被执行。如:数据库被锁定。

207

应用程序内部错误

以上错误代码不能覆盖的其他内部错误

4.3. 患者基本信息信息PID

Field

Data Type

Data Element

Data Source

Notes

PID-1

SI

Set ID

顺序号

默认值1

PID-2

CX

Patient ID

患者主索引信息

患者主索引ID^先诊疗后付费标志^^^绿色通道患者标志^^^

PID-2-1

ST

ID

患者全院唯一标识(患者主索引ID

PID-2-2

ST

Check Digit

VIP-先诊疗后付费标志0/1

PID-2-5

ID

Identifier Type Code

绿色通道患者标志

PID-3

CX

Patient identifier List

 

如:患者相关ID^^^授权机构

PID-3(n)-1

ST

ID

患者相关ID

患者相关ID授权机构代码

PID-3(n)-4

HD

Assigning Authority

分配患者ID机构

PID-4

CX

Alternate Patient ID PID

 

门诊不填,住院必填

PID-4-1

ST

ID

婴儿标志

非婴儿0婴儿1

PID-4-5

ID

Identifier Type Code

患者信息保密级别

0/-不需要保密;

1-保密

PID-5

XPN

Patient Name

 

如:ZHANGSAN^张三

PID-5-1

FN

Family Name

拼音

:ZHANGSAN

PID-5-2

ST

Given Name

患者姓名

如:张三

PID-7

TS

Date/Time of Birth

出生日期

如:20141023090101

PID-8

IS

Administrative sex

性别

F: Female

M:Male

O:Others

以医院标准值域为参考

PID-11

XAD

Patient Address

地址信息

如:浙江杭州市滨江区浦沿街道110&沿街道&110^滨江区^杭州市^浙江省^310000^H^^^

PID-11(n)-1

SAD

Street Address

详细地址描述

 

PID-11(n)-1-1

ST

Street or mailing address

详细地址信息

:浙江杭州市滨江区浦沿街道110

PID-11(n)-1-2

ST

Street name

街道信息(村/街道)

:滨江区浦沿街道

PID-11(n)-1-3

ST

Dwelling number

门牌号码

110

PID-11(n)-2

ST

Other Designation

县地区(县)

:滨江区  富春县

PID-11(n)-3

ST

City

城市(市)

:杭州

PID-11(n)-4

ST

State Or Province

省,自治区,直辖市

浙江省

PID-11(n)-5

ST

Zip Or PostalCode

邮编

310000

PID-11(n)-7

ID

Address type

地址类型

详见字典代码说明

H

PID-11(n)-8

ST

Other geographic designation

乡镇信息

 

需录入

地址类型是工作单位时,填“工作单位名称信息”

PID-11(n)-9

IS

County/parish code

县地区编码

县地区标准编码

PID-11(n)-10

IS

Census tract

街道标准编码(保留

街道标准编码

PID-13

XTN

Phone Number Home

 

 

PID-13(n)-3

ID

Telecommunication Equipment Type

电话类型代码

详见字典说明

PID-13(n)-7

NM

PhoneNumber

电话号码

手机号码,如类电话型代码为01时,表示联系电话号码。

PID-14

XTN

Phone Number Business

 

 

PID-14-7

NM

PhoneNumber

工作电话

手机号码

PID-16

CE

Marital Status

婚姻状况

如:

M^已婚或S^未婚或O^其他

PID-16-1

ST

Identifier

婚姻状况代码

PID-16-2

ST

Text

婚姻状况名称

PID-18

CX

Patient Account Number

证件信息

 

PID-18-1

ST

ID

证件号码

 

PID-18-4

HD

Assigning Authority

证件类型

详见字典说明

PID-19

ST

SSN Number

身份证号

 

PID-21

CX

Mother's Identifier

 

门诊不填,住院必填

PID-21-1

ST

ID

母亲住院ID

 

PID-22

CE

Ethnic Group

民族

如:12^汉族

PID-22-1

ST

Identifier

民族ID

PID-22-2

ST

Text

民族名称

PID-23

ST

Birth Place

出生地

如:浙江省

PID-26

CE

Citizenship

职业

0-71^医生

PID-26-1

ST

Identifier

职业代码

PID-26-2

ST

Text

职业名称

PID-28

CE

Nationality

国籍

如:1010^中国

PID-28-1

ST

Identifier

国籍ID

PID-28-2

ST

Text

国籍名称

PID-30

ID

Patient Death Indicator

死胎标志

默认0/空,1-死胎

PID-32

IS

Identity Reliability Code

黑名单病人

默认0/

5.HL7 消息结构
HL7 标准包含256个事件、116个消息类型、139个段、55种数据类型、408个数据字典,涉及79种编码系统。
在 HL7 中,有四个最基本的术语概念:

  • 触发事件(trigger events):当现实世界中发生的事件产生了系统间数据流动的需求,则称其为触发事件。也可以理解为一个数据请求
  • 消息(message):它是系统间传输数据的最小单位,由一组有规定次序的段组成。每个消息都是用一个消息类型来表示其用途。
  • 段(segment):它是数据字段的一个逻辑组合。每个段都用一个唯一的三字符代码所标志,这个代码称作段标志。
  • 字段(field):它是一个字符串,是段的最小组成单位。

在 HL7 中,消息(Message)是数据在系统之间交换的基本单元,每条消息都有各自的消息类型,消息类型用于定义消息目的,包含了触发事件。一个消息由多个段(Segment)组成,每一个段都有相应的名称,用于界定其内容或者功能。
一个段又由多个字段(Field)组成。一个消息中的第一个段总是消息头段(Message head segment),它指明了发送和接收的程序名、消息类型、以及一个唯 一的消息ID号码等,接下去段的构成由消息的类型决定。
一个字段又有可能由多个组件(Component)组成。有些消息可进一步由事件码(event code)细分。

  • 每个消息会包含多个段,如上述代码,表示一个消息,每个段之间通过分割回车
  • 每个段又会包含多个字段,消息头段定义了段的类型,比如 MSH 表示这个段是消息头,段中又会包含多个字段
  • 每个字段使用 | 分隔,如果对应的字段没有数据也不能省略 | ,这是因为每个字段在段中都有一个序号(SEQ),每个段有多少个字段、各个字段的序号和含义等都是在 HL7 协议中规定好的!
  • 每个字段会包含多个组件,字段中不同的组件使用 ^ 分隔,比如 2302^BloodType
  • 每个组件又可以包含多个子组件,子组件之间用 & 分隔,比如 ICU&Bed5&3232241659&0&0 (包含5个子组件)

6.HL7数据类型

7.HL7 message type消息类型

1. ADT admit disCharge transfer 入院、出院、转院
2. ACK acknowledgement message 应答消息
3. BAR biling account record 账单账户记录
4. DFT detailed financial transactions 详细的金融交易
5. MDM Medical document management 医疗文件管理
6. ORM order entry 订单录入
7. ORU Observation result (unsolicited) 观察结果 非请求观察
8. RDS pharmacy/treatment dispense 药房/治疗 配药
9. RDE pharmacy/treatment encoded order 药房/治疗 编码顺序
10. SIU schedlued information unsolicited 调度信息 非请求观察

 



 

 

posted @ 2023-05-09 16:47  CTO老王  阅读(2077)  评论(0编辑  收藏  举报