hl7 v2的ack消息即应答消息构造时有几个注意的地方。
首先,我们看下2个ack的例子:
Send:
MSH|^~\&|NIST_SENDER^^|NIST^^|NIST_RECEIVER^^|NIST^^|20101101160641||ADT^A01^ADT_A01|NIST-101101160641914|P|2.3.1
EVN||20101020
PID|||14583058^^^NIST2010&2.16.840.1.113883.3.72.5.9.1&ISO||MUSTO^WILLIE^^^^^L|BROWN^^^^^^L|19670217|M|||2516 Maxwell Farm Road^^HARRISONBURG^VA^22801||^PRN^PH^^^540^2084880||||||691-01-6885
PV1||I
Ack1:
MSH|^~\&|NIST_RECEIVER|NIST|NIST_SENDER|NIST|20130809104959||ACK^A01^ACK|IHE PIX Manager-20130809104959-3|P|2.3.1||||||UNICODE
MSA|AA|NIST-101101160641914
Ack2:
MSH|^~\&|NIST_RECEIVER|NIST|NIST_SENDER|NIST|20130809105012||ACK^A01^ACK|IHE PIX Manager-20130809105012-1|P|2.3.1||||||UNICODE
MSA|AE|NIST-101101160641914
ERR|^^^205&DuplicateKeyIdentifier&&&Patient's Id is duplicated
从上面的例子可以看出,
1.ACK消息包含MSH,MSA,ERR, ERR为可选,其他2个为必选
2.MSH的SendingApplication,SendingFacility,RecevingApplication,ReceivingFacility与发送方对应字段相反。
3.MSH-9一定要正确填写, 比如ACK^A01^ACK
4.MSH-7的值与发送方无关, 应自己产生uid
5.MSA-1表示发送成功或者失败, 其值有:AA,AE,AR和 CA,CE,CR。 第一个字母A/C代表Application/Commit, 第二字母A/E/R代表Accept/Error/Reject
6.MSA-2(Message Control ID),其值与发送方的MSH-10相同, 表示应答此发送方的此条消息
7.ERR段各个HL7 2x版本不尽相同, 如2.3.1中ERR-1-1 代表SegmentID, ERR-1-2代表Segment Sequence, ERR-1-3代表Field Position,ERR-1-4则包含了详细描述信息(Identifier, Text, Alternate Identifier, Alternate Text)。
不管版本为那个, 都包含Error Location 和Error Code信息。 Err location表示在hl7消息中的出错位置, Err code表示出错的代码及其描述(标准中定义),以及辅助代码及描述。
V2.5版本中还包含必选Field:Severity,表示出错的严重程度。 有W(Warning), I(Information), E(Error)
- 前言
- HL7 Tools suite
- HL7 Event Type
- HL7 ADT Message Sample
- IHE-PIX 备注
- HL7 V2 分隔符
- 有关HL7 的C# 源码
- Pix mesa 自动化测试
- hl7 V2中Message Control ID的含义及应用
- hl7消息中和时间有关的字段的格式
- hl7中V2版本的ACK消息的构造
- hl7 v2.X 版本中RSP_K23消息的构造
- HL7及PIX相关的测试工具
- HL7 标准及实现指南 必看的网址
- IHE 官方网址有用资源介绍
- PIX v2版本中Query 失败时, ERR段的构造
- AspNet WebApi 中应用fo-dicom抛出异常:No codec registered for tranfer syntax:
- DicomIoException: Requested 132 bytes past end of fixed length stream.