GenericHL7Output 节点

使用 GenericHL7Output 节点可以为目标应用程序准备消息。

注: 支持 GenericHL7Output 节点以实现与 IBM® WebSphere® Message Broker Connectivity Pack for Healthcare 中开发的应用程序的兼容性。但是,在 IBM WebSphere Message Broker Connectivity Pack for Healthcare V8.0 中,提供了此节点的升级版本,即 HL7DFDLOutput。此节点执行的功能与 GenericHL7Output 节点相同,但使用 DFDL 消息模型,而不是使用原先的 HL7v25P 消息集

由于 DFDL 消息模型具有下列优点,因此对于新应用程序以及经过更新的应用程序,建议您尽可能使用 HL7DFDLOutput 节点。

  • DFDL 是开放标准格式,而 MRMHL7v25P 消息集IBM Integration Bus 的专有格式。
  • DFDL 编辑器提供了用于开发和测试 HL7 模式扩展的工具,与 MRMHL7v25P 消息集 相比更为简单。
  • DFDL 消息模型 支持 HL7 V2.7、V2.6、V2.5.1 及之前版本,而 MRMHL7v25P 消息集 仅支持 HL7 V2.5.1 及之前版本。

有关 HL7DFDLOutput 节点的更多信息,请参阅 HL7DFDLOutput 节点

用途

GenericHL7Output 节点接收 MRM 域中的 HL7 消息,并对在 TCP/IP 端口上进行侦听的目标应用程序打开连接。建立连接后,会发送一条将“记录结束”设置为结尾 MLLP 字节属性定界符(缺省值为 1C0D)的 HL7 消息。如果在节点的发送数据记录超时(秒)属性所指定的时间限制内未能成功地发送数据,那么该消息将传递到 Failure 终端。

成功地发送该消息后,GenericHL7Output 节点将等待来自目标应用程序的应答 (ACK)。系统将从 HL7 应答中除去 MLLP 字节,对其进行解析,并检查返回码。如果在 GenericHL7Output 节点中发生错误,那么该消息将传递到 Log Retry 终端或 Failure 终端。

如果交付成功且在应答中返回了 AR 代码,并且未超过重试限制,那么消息将传递到 Log Retry 终端。

如果交付了该消息并且在应答中返回了 AE 代码,或者未接收到任何有效应答,那么该消息将传递到 Failure 终端。

如果未交付消息,那么将假定目标不可用,并且如果未超过重试限制,那么会将消息传递到 Log Retry 终端。

如果未连接 Log Retry 终端,或者路径成功结束,那么将重试交付。如果连接了 Log Retry 终端,并且下游抛出了异常,那么不会重试该消息,而是将其传递到 Failure 终端。

如果未连接 Failure 终端,那么将抛出异常。

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

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

GenericHL7Output 节点图标

在消息流中使用此节点

模式资源管理器”视图中的 Healthcare 类别中的“Healthcare:从 HL7 到 HL7”内置模式显示了 GenericHL7Output 节点的用法示例。

在消息流中使用 GenericHL7Output 节点时,此节点期望在 MRM 树中找到已根据 HL7v25P 消息集中的 HL7 消息进行解析的消息。如果您不确定传递到 GenericHL7Output 节点的消息是否正确,可以将验证属性设置为在处理开始前强制执行解析。如果成功地将该消息发送到配置的目标,并且目标返回了处理成功应答,那么该应答将传递到此节点的 Out 终端。

如果您希望此节点在发生故障后再次尝试发送该消息,那么必须将重试限制属性的值设置为要让此节点尝试发送该消息的次数。节点每 10 秒重试 1 次,但是您可以通过更改重试时间间隔(秒)属性来更改时间间隔。 如果您还希望记录每次重试,那么必须选中记录重试属性。如果选中了记录重试属性,那么对于每次重试,该消息都将传递到 Log Retry 终端。“环境”包含可以在日志消息中使用的值,请参阅下面的“环境”表。

如果连接了 Log Retry 终端,那么消息流线程将成功结束,并且将尝试进行进一步的重试。如果对此线程抛出了未捕获的异常,那么将不会继续进行重试。

如果消息传递到 Failure 终端,那么消息流将根据错误处理过程执行操作。必须连接 Failure 终端才能记录错误,这将保存数据以及/或者抛出异常。如果未连接 Failure 终端,那么错误将导致静默故障,不会抛出异常,并且不会在事件日志中记录任何事件。要了解可以在错误处理中使用的错误码和其他信息,请参阅下面的“错误”表。

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

字段 描述
FlowMilestoneReached 指示发生错误的位置
Retry 指示此操作能否重试
ErrorCondition 提供有关此错误的文本描述
Attempt 如果此错误在重试循环中发生,那么此变量将包含以下文本:Attempt <i> of <n>
RetryCount 指示当前重试
RetryLimit 指示允许的重试次数

以下“错误”表指示了可能出现的错误码。

错误 终端 重试 代码 错误文本
此节点使用 HL7v25P 消息集HL7 消息格式解析入局消息失败。 Failure BADHL7 MESSAGE 无法解析入局 HL7 消息。
此节点将消息发送到配置的目标失败。 Log Retry SENDHL7 TCP/IP 错误。未发送 HL7 消息。
此节点解析应答失败。 Failure ACKPARSE ERROR 解析 ACK 消息时发生 MSH 错误。
接收到应答,但不存在应答代码。 Failure ACKERROR 发生 MSA 解析或验证错误:MSA 1。应答代码为 Null。ACK 包含以下错误消息:error_message
接收到应答,但不存在消息控制标识。 Failure ACKERROR 发生 MSA 解析或验证错误:MSA 2。MessageControlID 为 Null。ACK 发送了以下错误消息:error_message
在超时时间段内未接收到任何应答。 Failure TIMEOUT 此节点在指定超时时间段内接收 ACK 消息失败。
此节点接收应答失败。 Failure RECEIVE ACK TCPIP 错误。此节点接收 ACK 消息失败。
此节点已尝试交付消息,但此节点已达到配置的重试限制。 Failure SENDHL7 TOOMANY REPEATS 此节点接收 ACK 消息失败。
此节点接收到 AR 应答,但此节点已达到配置的重试限制。 Failure ACKAR TOOMANY REPEATS 此节点已重试发送消息,但无法成功地交付该消息。

配置 GenericHL7Output 节点

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

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

终端和属性

下表描述了 GenericHL7Output 节点的终端。
终端 描述
In 这是输入终端,用于接受 HL7 消息以供此节点处理。
Failure 这是输出终端,如果此节点未能成功地发送消息,或者接收处理成功应答失败,那么该消息将路由到此终端。
Out 这是输出终端,如果已成功将消息发送到目标,并接收到处理成功应答,那么该应答将路由到此终端。
Log Retry 这是输出终端,如果此节点未能成功地发送消息,或者接收处理成功应答失败并且未超出重试计数,那么该消息将路由到此终端。

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

下表描述了 GenericHL7Output 节点的“描述”属性。
属性 M C 缺省值 描述
节点名 GenericHL7Output 节点的名称。
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
下表描述了 GenericHL7Output 节点的“基本”属性。
属性 M C 缺省值 描述
连接详细信息 localhost:2222 目标应用程序的 TCP/IP 连接,格式为 主机名:端口
发送数据记录超时(秒) 60 这是此节点尝试发送数据或者接收应答时等待的时间(以秒计)。
前导 MLLP 字节 0B 这是前导 MLLP 字节,此字节将添加到出局 HL7 记录中,并从入局应答中除去。
重试限制 5 这是此节点尝试将 HL7 消息交付到目标应用程序的最大次数。
重试时间间隔(秒) 10 HL7 消息交付到目标应用程序的两次尝试之间的时间间隔(秒)。
记录重试 选中 指定是否将每次交付消息的尝试传递到 Log Retry 终端以允许进行日志记录。
下表描述了 GenericHL7Output 节点的“记录检测”属性。
属性 M C 缺省值 描述
定界符 定制定界符 此属性不可编辑。
结尾 MLLP 字节 1C0D 这是用作 HL7 记录定界符的结尾 MLLP 字节。TCPIPClientOutput 节点将添加这些结尾 MLLP 字节。
下表描述了 GenericHL7Output 节点的“记录检测(应答)”属性。
属性 M C 缺省值 描述
定界符 定制定界符 此属性不可编辑。
结尾 MLLP 字节(应答) 1C0D 这是用于检测入局应答结束的 HL7 定界符。
下表描述了 GenericHL7Output 节点的“验证”属性。
属性 M C 缺省值 描述
验证 此属性确定 MRM 域中的入局 HL7 消息的验证级别。有效值包括:
  • 内容
  • 内容和值
Copyright IBM Corporation 2011, 2015Copyright IBM Corporation 2011, 2015.

        
        最近一次更新时间
        最近一次更新时间 : 2015-06-19 10:56:50


参考主题参考主题 | V4.0.0.0 | ha00170