第二十一章 重要HL7操作场景 - HL7批量消息

2023-08-13  本文已影响0人  Cache技术分享

第二十一章 重要HL7操作场景 - HL7批量消息

Production品支持 HL7 中的嵌套子文档(批处理格式)。每个子文档本身就是一个虚拟文档。本节讨论由两个设置控制的细节。它包括以下部分:

支持的批处理格式

Production支持以下 HL7 批处理格式:

BHS 识别为批处理标头段,将 BTS 识别为批处理尾部段。在此容器内, 将每个 MSH 消息标头段识别为子文档的开头。

FHS 识别为批处理标头段,将 FTS 识别为批处理尾部段。在此容器内,将每个 MSH 消息标头段识别为子文档的开头。

FHSBHS 一起开始消息时,将 FHS 识别为第一级父文档,将每个 BHS 识别为子文档的开头。然后,BHS 成为二级父文档,每个 MSH 段后面的内容成为其子文档。

image.png

处理传入的批次文档

HL7 业务服务具有批量处理配置设置,该设置确定如何处理传入的批量文档。选项有:

在响应收到的消息时,默认行为是将确认作为批处理文档发送给发送者,其中包含每个子文档的 ACK 消息。这适用于大多数情况。但是,HL7 业务服务还有一个属性(未作为配置设置公开),称为 NoBatchReply。其默认值为 0 (false),这提供了默认行为。如果您编辑业务服务的 OnInit() 方法以包含以下语句:

Set ..NoBatchReply = 1

然后批量回复被禁止;每个单独的消息都会获得一个单独的未包装的 ACK。或者,可以通过包含以下代码来覆盖子类中属性的定义来设置该值:

 Property NoBatchReply As %Boolean [ InitialExpression = 1 ]; 

批处理模式

批处理和自动批父段的组合可为 HL7 批处理文档提供以下操作模式:

Batch Handling Auto Batch Parent Segs Results
Whole Batch (any) 业务服务仅发送父文档;所有子文档都会引用它,但不会单独发送。操作在收到父文档时一次性输出整个批次。
Single-Session or Multi-Session True 服务在接收和解析每个子文档时发送该子文档,然后在发送所有子文档后发送父文档。业务操作在收到第一个子文档时输出父标头,然后在收到父文档对象时以预告片结束。尾部片段自动包含正确的子计数值。
Single-Session or Multi-Session False 这会导致双重输出:业务操作单独发送每个子文档,然后是包含每个子文档的父文档(再次)。
Individual False 业务服务在其自己的会话中转发批处理中的每个子文档,并且不转发表示批处理标头和标尾的对象。在传出方面,业务运作也是如此。

自定义出库批量处理

如果希望向路由流程添加自定义代码以专门在输出端处理批处理文档,可以这样做。以下是两种可能:

上一篇 下一篇

猜你喜欢

热点阅读