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中V2版本的ACK消息的构造的更多相关文章

  1. NetworkComms V2版本与V3版本语法的差异

    NetworkComms网络通信框架序言 NetworkComms通信框架中V3版本是一次重要的升级,底层做了诸多改变,但语法上与V2版本相比,差不并不大. 监听端口: V3中 IPEndPoint ...

  2. AWS IoT Greengrass是什么?V1和V2版本及其差异

    AWS IoT Greengrass ​ Greengrass主要是用于边缘计算或者机器学习有关,对于详细了解请阅读结尾处的官方文档,文档内容也较为丰富. 目录 AWS IoT Greengrass ...

  3. SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门

    1.RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗.Rabbi ...

  4. ASP.NET Web API中实现版本的几种方式

    在ASP.NET Web API中,当我们的API发生改变,就涉及到版本问题了.如何实现API的版本呢? 1.通过路由设置版本 最简单的一种方式是通过路由设置,不同的路由,不同的版本,不同的contr ...

  5. python3-开发进阶 django-rest framework 中的 版本操作(看源码解说)

    今天我们来说一说rest framework 中的 版本 操作的详解 首先我们先回顾一下 rest framework的流程: 请求进来走view ,然后view调用视图的dispath函数 为了演示 ...

  6. Team Foundation 中的错误和事件消息

    Visual Studio Team System Team Foundation 中的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错 ...

  7. rabbitmq 不发送ack消息如何处理: RabbitMQ 消息确认以及消息消费方处理消息时候抛出了异常以

    本篇的代码使用的前面两篇文章<RabbitMQ与Spring整合之消息生产方>和<RabbitMQ与Spring整合之消息消费方>的代码,这两篇文件里配置文件的名称不正确,不可 ...

  8. 31.qt quick-使用SwipeView添加滑动视图-高仿微信V2版本

    在上章我们学习了ListView,然后实现了: 28.qt quick-ListView高仿微信好友列表和聊天列表,本章我们来学习SwipeView滑动视图,并出高仿微信V2版本: 1.Contain ...

  9. kratos v2版本命令行工具使用

    使用 下载 go install github.com/go-kratos/kratos/cmd/kratos/v2@latest 查看是否安装成功 kratos -v kratos version ...

随机推荐

  1. Python编程-编码、变量、数据类型

    一.Python和其他语言对比 C语言最接近机器语言,因此运行效率是最高的,但需要编译. JAVA更适合企业应用. PHP适合WEB页面应用. PYTHON语言更加简洁,丰富的类库,使初学者更易实现应 ...

  2. MongoDB快速入门(二)- 数据库

    创建数据库 MongoDB use DATABASE_NAME 用于创建数据库.该命令如果数据库不存在,将创建一个新的数据库, 否则将返回现有的数据库. 语法 use DATABASE语句的基本语法如 ...

  3. poj 2186 Popular Cows 【强连通分量Tarjan算法 + 树问题】

    题目地址:http://poj.org/problem?id=2186 Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Sub ...

  4. python脚本发送电子邮件

    #!/usr/bin/pythonimport smtplibimport stringHOST='smtp.qq.com'#HOST='mail.qq.com'SUBJECT='Test email ...

  5. java深入探究16-mybatis

    链接:http://pan.baidu.com/s/1skJ4TNB 密码:koo9 1.引入mybatis jsbc简单易学,上手快,非常灵活构建SQL,效率高但代码繁琐,难以写出高质量的代码 hi ...

  6. YARN中的失败分析

    YARN中的失败分析 对于在YARN中运行的MapReduce程序,需要考虑以下几种实体的失败任务.application master.节点管理器.资源管理器 1. 任务运行失败 任务运行失败类似于 ...

  7. java调用dll或so动态库文件(c++/c)

    java调用dll或so动态库文件(c++/c) 博客分类:  工作 CC#C++JavaEclipse  java调用dll或so动态库文件(c++/c)开发平台:Eclipse3.3.1.1+CD ...

  8. 阿里云服务器windows server2008r2+tomcat8.0+nginx1.12

    弄了两天的nginx,从了解开始,可能是我理解能力太差了,惭愧惭愧!但是还好看了一些大神的文章总算有点眉目了,此篇用来当作自己的笔记,大家看不懂,勿喷,但是如果有问题,直接回复,我可以给你解答一下,前 ...

  9. flsk-SQLALchemy

    SQLALchemy 一.介绍     SQLALchemy是一个基于Python实现的ORM框架.该框架是建立在DB API之上,使用关系对象映射进行数据库操作     简言之便就是:将类和对象转换 ...

  10. array_merge函数的注意事项

    array_merge — 合并一个或多个数组 array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组 如果输入的数组中有相同的字符串键名 ...