文章目录
- 第十九章 重要HL7操作场景
- `HL7`确认(`ACK`)模式
- HL7双确认序列
第十九章 重要HL7操作场景
本章描述了一些影响选择配置设置的关键HL7场景。
HL7
确认(ACK
)模式
HL7
确认(ACK
)消息确认目的地已收到HL7
消息。负ACK
(NACK
)消息承认目的地知道传输,但没有捕获该消息。
下图说明了production
如何支持HL7
消息约定来发送ACK
和NACK
消息:
提交ACK
——业务服务在提交保存从源接收到的数据的事务后,立即向源应用程序返回ACK
。如果由于某种原因证明这是不可能的,它会发送一个NACK
。业务操作可以设置为解释来自目标应用程序的ACK
或NACK
,但它不会将这些消息返回给源。
应用程序ACK
——业务服务在通过业务操作从目标应用程序返回之前不会向源应用程序发送ACK
或NACK
。业务服务返回它从业务操作接收到的ACK
或NACK
。
*
提交和应用程序ACK
-第三种选择只在极少数情况下发生,即将ACK
模式设置为MSH
确定,并且MSH
段在字段15
和16
中都包含需要ACK
的值。建议避免这种情况。
可以使用这些确认约定发送三种主要类型的ACK
消息内容之一:
Accept
-消息到达,并被接受。- 拒绝-消息已到达,但已被拒绝。
- 错误-消息没有成功到达;再试一次。
使用以下配置设置来控制业务服务中的ACK
处理:
Ack
目标配置名称Ack Mode
- 使用
ACK
提交码 - 忽略入站
ACK
- 添加
NACK ERR
NACK
错误码
使用以下业务操作的配置设置来控制ACK处理:
- 回复代码动作
- 得到的答复
HL7双确认序列
有些系统需要双重确认序列:立即的1字节ACK
,随后是完整的ACK
消息。一个这样的系统是双通道iSoft
iCM
应用程序。如果配置包括需要双重确认序列的客户机系统(如iCM
),则必须设置成对的业务服务和业务操作,以使能够提供预期的ack
。
提供了专门的业务主机类,可以使用这些类定义TCP
和HTTP
上的双重确认序列。
EnsLib.HL7.Service.TCPAckInService
是一个专门的HL7
业务服务,它代表配对的HL7 TCP
业务操作接收ACK
。它还取决于该合作伙伴代表其发送ACK
。EnsLib.HL7.Operation.TCPAckOutOperation
是一个专门的HL7 TCP
业务操作,它代表配对的HL7 TCP
业务服务发出ACK
。它还取决于该合作伙伴代表其收集ACK
。这些配置项中的每一个除了为其伙伴项所做的工作外,还发挥其通常的作用。EnsLib.HL7.Service.HTTPAckInService
和EnsLib.HL7.Operation.HTTPAckOutOperation
也可用。