HL7DFDLInput 节点

使用 HL7DFDLInput 节点可以使用基于 TCP/IP 的 MLLP 协议接收来自与代理相连接的客户端的消息。

用途

HL7DFDLInput 节点对一个端口进行侦听,客户端套接字连接到该端口时,服务器套接字将为该客户端创建连接。打开连接后,接收数据记录时,配置的定界符出现即表明检测到记录结束。如果读取数据时发生错误,例如等待数据时发生超时或者等待完整记录时连接关闭,那么会将该数据发送到 Failure 终端。如果未连接 Failure 终端,那么将抛出异常。如果此节点的重试机制属性未设置为故障,那么此节点将进行尝试,直到成功检索到数据或者超出重试阈值属性所定义的重试次数为止。

HL7DFDLInput 节点要求消息使用基于 TCP/IP 的 MLLP 协议。如果 MLLP 前导字节不存在,那么消息将发送到 Failure 终端。

HL7DFDLInput 节点处理 DFDL 域中定义的消息。使用 DFDL 消息模型中的 HL7 消息格式来解析消息。如果发生解析错误,或者必需的 MSH 字段不存在,那么该消息将传递到 Failure 终端。有关消息模型的信息,请参阅 位于 IBM® Integration Bus 产品文档中消息模型

可以将 HL7DFDLInput 节点配置为检查是否存在重复消息。每条入局 HL7 消息在 MSH 头段中都有一个 MessageControlID 字段,用于标识记录。如果选中了检查重复属性,那么所有标识都将存储在重复队列中,并向发送方返回应答 (ACK)。系统根据保存的标识来检查入局消息的标识,以确定其是否重复。检测到重复后,不对其进行处理,而是向发送方返回针对第一条消息发送的应答。重复队列作为一个节点属性指定。

在重复队列中存储标识的持续时间由重复时间段属性定义。此持续时间过后,将删除这些标识,并且不再将具有同一标识的消息视为重复。您必须调整重复队列的大小,使其能够包含设定时间段内的预期高峰消息标识数。

如果入局消息不重复,那么该消息将传递到 HL7DFDLInput 节点的 Out 终端以进行进一步处理。如果检测到重复,那么 HL7DFDLInput 节点将向请求者返回 ACK。如果选择了报告重复,并检测到重复,那么会将该消息传递到 Failure 终端。

消息在事务控制之下进行处理。如果消息流回滚,那么将除去那些添加到重复标识队列中的重复标识。这样就可以确保重新提交消息时,不会将其识别为重复,从而将其作为新消息进行处理。

有关 HL7 的信息,请参阅 Health Level Seven International

HL7DFDLInput 节点包含在消息流节点选用板的 Healthcare 抽屉中,在 IBM Integration Toolkit 中由以下图标表示:

GenericHL7DFDLInput 节点图标

在消息流中使用此节点

在消息流中使用 HL7DFDLInput 节点时,传递到 Out 终端的消息包含经过解析并除去了前导和尾部 MLLP 字节的 HL7 消息。消息树包含 MQMD 和 MQRFH2 头,因此有需要时,可以将消息直接写入队列。消息主体在 DFDL 域中包含 HL7 消息。消息流负责向请求者返回应答 (ACK)。

如果 HL7DFDLInput 节点中发生故障,那么消息将传递到 Failure 终端。LocalEnvironment.HL7 包含以下“环境”表中显示的字段。这些字段提供用于构建否定应答 (NACK) 或创建错误消息的信息。

字段 描述
FlowMilestoneReached 指示发生错误时执行的操作。
SendNACK 发送否定应答 (NACK) 响应。
EndConnection YES:关闭连接。

NO:不关闭连接。

HL7RC HL7 返回码。
ErrorCondition 要包括在 NACK 中的错误文本。
如果 SendNACK 字段设置为 YES,那么将向请求者返回 NACK。如果符合下列其中一个条件,那么 SendNACK 字段将设置为 NO
  • 入局消息未包含正确的 MLLP 分隔符,因此假定不支持 MLLP 协议。
  • 消息重复,HL7DFDLInput 节点返回了 NACK。

如果 EndConnection 设置为 YES,那么必须关闭连接。如果入局消息未包含正确的 MLLP 定界符,因此假定不支持 MLLP 协议,那么将执行此操作。

提供了 HL7RCHL7 返回码)和 ErrorCondition 字段,用于在向请求者返回的 NACK 中提供信息。

以下“错误”表指示了可能出现的错误码。
到达流里程碑 返回码 错误文本
DETECTDUPLICATE AR 检查重复出错
PARSE AE 显示了 DFDL 解析错误消息。此消息对问题进行了概括。
BUILDACK AR 构建 ACK 消息出错。

(由于消息重复而返回 ACK 时,将发生此错误)。

SENDACK AR 构建 ACK 消息出错

(由于消息重复而返回 ACK 时,将发生此错误)。

DUPLICATEERROR AR 检测重复期间发生故障。重复队列已满。

检测重复期间发生故障。消息处理失败。

SAVINGDUPDATA AR 保存重复数据时出错
DUPLICATE RECORD AR 检测到重复记录

HL7DFDLInput 节点是事务性节点。使用了此节点的消息流成功结束时,将落实在当前事务期间编写的所有消息。如果消息由于未捕获的异常而结束,那么在当前事务期间编写的所有消息(包括当前消息)都将回滚。这包括那些写入用于保存标识以便检测重复的队列的消息。您必须确定这些情况下要回滚的消息,并确保当前事务期间不写入其他消息(例如错误消息)。

配置 HL7DFDLInput 节点

HL7DFDLInput 节点的实例添加到消息流后,可以对其进行配置。

所有必须输入值(未定义缺省值)的必需属性均以星号标记。

终端和属性

下表描述了 HL7DFDLInput 节点的终端。
终端 描述
Failure 这是发生错误时消息所路由到的输出终端。
Out 这是从外部资源中成功检索到消息后该消息所路由到的输出终端。
Catch 这是下游抛出异常,并且该异常被此节点捕获时,消息所路由到的输出终端。只有在连接了此终端后,才能捕捉到异常。

下表描述了此节点的属性。标题为 M 的列指示属性是否为必需(如果在未定义缺省值时必须输入值,那么将以星号标记);标题为 C 的列指示属性是否可配置(将消息流添加到代理归档 (BAR) 文件以进行部署时,可以更改该属性的值)。

下表描述了 HL7DFDLInput 节点的“描述”属性。
属性 M C 缺省值 描述
节点名 HL7DFDLInput 节点的名称。
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
下表描述了 HL7DFDLInput 节点的“HL7 处理”属性。
属性 M C 缺省值 描述
检查重复 未选中 确定是否检测重复消息,重复与否由 HL7 MSH 头中的唯一消息标识确定。
如果检测到重复,那么将执行下列操作:
  • 如果是在超时时间段内接收到该消息,那么不处理该消息,而是向发送方返回针对原始消息发送的同一 ACK。
  • 在超时时间段到期后,所有重复消息都正常地进行处理。
报告重复 选中 确定在指定时间内到达的重复消息是否生成错误通知消息。
重复时间段 86400 定义在到期前保留消息标识的时间长度(以秒计)。此时间段过后,将不会识别重复消息,而是正常地对其进行处理。缺省值 (86400) 相当于 24 小时。

如果选中了检查重复,那么此属性必需。

重复标识队列   定义一个队列,用于存放当前重复标识的列表,系统将根据这些标识对入局消息进行检查。

如果选中了检查重复,那么此属性必需。

前导 MLLP 字节 0B 定义前导字节,此字节是 MLLP 协议的组成部分,在解析并处理消息前,将除去此字节。
发送应答 选中 确定检测到重复消息时是否发送应答消息。
下表描述了 HL7DFDLInput 节点的“基本”属性。
属性 M C 缺省值 描述
连接详细信息 1111 源应用程序的 TCP/IP 连接,格式为 主机名:端口
等待数据记录超时(秒) 60 这是第一个数据字节到达后节点对连接进行侦听以获取更多数据的时间长度。您可以指定以秒为单位的任意时间长度。缺省值为 60 秒。超出指定时间后,所有可用数据都将发送到 Failure 终端。
下表描述了 HL7DFDLInput 节点的“记录检测”属性。
属性 M C 缺省值 描述
定界符 定制定界符 此属性不可编辑。
结尾 MLLP 字节 1C0D 这是用作 HL7 记录定界符的结尾 MLLP 字节。HL7DFDLInput 节点将除去这些结尾 MLLP 字节。
下表描述了 HL7DFDLInput 节点的“重试”属性。
属性 M C 缺省值 描述
重试机制 短重试时间间隔(秒) 节点如何处理流故障。有效选项有:
  • 失败
  • 短重试时间间隔(秒)
  • 短重试和长重试
短重试时间间隔(秒) 0 重试阈值不为零时,两次短重试之间的时间间隔(秒)。
重试阈值 0 这是重试机制短重试时间间隔(秒)时重试流事务的次数。
长重试时间间隔(秒) 300 这是重试机制短重试和长重试且超出重试阈值后,两次重试之间的时间间隔。
声明 | 商标 | 下载 | 资料库 | 支持 | 反馈

Copyright IBM Corporation 2011, 2014Copyright IBM Corporation 2011, 2014.

        
        最近一次更新时间
        最近一次更新时间 : 2014-03-20 23:38:27


参考主题参考主题 | V3.0.0.0 | ha05110