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

news2024/11/25 4:43:47

文章目录

  • 第二十一章 重要HL7操作场景 - HL7批量消息
    • 支持的批处理格式
    • 处理传入的批次文档
    • 批处理模式
    • 自定义出库批量处理

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

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

支持的批处理格式

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

  • BHS MSH ... MSH ... BTS

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

  • FHS MSH ... MSH ... FTS

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

  • FHS BHS MSH ... MSH ... BTS BHS MSH ... MSH ... BTS FTS

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

在这里插入图片描述

处理传入的批次文档

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

  • Whole Batch整批——不要单独处理子文档;将整个批次作为一个复合文档累积并发送。
  • Single-Session Batch单会话批次 — 在一个会话中一起转发批次中的所有子文档;该会话包括表示批次标头和标尾的对象。如果未指定批处理值,则默认为单会话批处理。
  • Multi-Session Batch多会话批处理 — 在其自己的会话中转发批次中的每个子文档,并具有唯一的会话 ID。
  • Individual单独 — 在其自己的会话中转发批次中的每个子文档;不要转发代表批次标头和标尾的对象。

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

Set ..NoBatchReply = 1

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

 Property NoBatchReply As %Boolean [ InitialExpression = 1 ]; 

批处理模式

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

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

自定义出库批量处理

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

  • 路由流程代码创建新的父文档和子文档并链接它们,然后将每个子文档发送到业务操作。业务操作必须将 Auto Batch Parent Segs 设置为 True。业务操作在收到第一个子文档时输出父标头,然后在收到父文档对象时以预告片结束。尾部片段自动包含正确的子计数值。
  • 路由流程代码创建新的父文档和子文档并链接它们,但通过业务操作仅发送父对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/874523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 0617. 合并二叉树

【LetMeFly】617.合并二叉树 力扣题目链接:https://leetcode.cn/problems/merge-two-binary-trees/ 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而…

【代码随想录-Leetcode第六题:209. 长度最小的子数组】

209. 长度最小的子数组 题目思路代码实现 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回…

网络编程(TFTP协议实验)

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <head.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h>#define PORT 69 //端口号&#xf…

详谈MongoDB的那些事

概念区分 什么是关系型数据库 关系型数据库&#xff08;Relational Database&#xff09;是一种基于关系模型的数据库管理系统&#xff08;DBMS&#xff09;。在关系型数据库中&#xff0c;数据以表格的形式存储&#xff0c;表格由行和列组成&#xff0c;行表示数据记录&…

TypeScript 语法

环境搭建 以javascript为基础构建的语言&#xff0c;一个js的超集&#xff0c;可以在任何支持js的平台中执行&#xff0c;ts扩展了js并且添加了类型&#xff0c;但是ts不能被js解析器直接执行&#xff0c;需要编译器编译为js文件&#xff0c;然后引入到 html 页面使用。 ts增…

Python批量给excel文件加密

有时候我们需要定期给公司外部发邮件&#xff0c;在自动化发邮件的时候需要对文件进行加密传输。本文和你一起来探索用python给单个文件和批量文件加密。    python自动化发邮件可参考【干货】用Python每天定时发送监控邮件。 文章目录 一、安装pypiwin32包二、定义给excel加…

推荐几款流行的项目管理系统,助力高效团队协作!

项目式管理是目前非常流行的企业管理方法&#xff0c;这种方法让是如何在确保时间、技术、经费和性能指标的条件下&#xff0c;以尽可能高的效率完成预定目标&#xff0c;让所有与企业相关方满意。在这种模式下&#xff0c;团队的层次关系不再那么重要&#xff0c;大家以项目结…

第一百二十八天学习记录:数据结构与算法基础:栈和队列(上)(王卓教学视频)

栈和队列的定义和特点 1、栈和队列是两种常用的、重要的数据结构 2、栈和队列是限定插入和删除只能在表的“端点”进行的线性表 线性表可以在任意一个位置插入和删除&#xff0c;栈只能在最后位置插入和删除 队列 只能删除第一个元素 栈和队列是线性表的子集&#xf…

测试开发探索:“WeTalk“网页聊天室的测试流程与自动化

目录 引言&#xff1a; 测试开发目标&#xff1a; "WeTalk"项目背景 关于登录测试用例的设计 测试开发策略与流程 集成测试&#xff1a;Selenium JUnit 接口测试&#xff1a;Postman 测试用例的设计与实现 自动化测试演示&#xff1a; 用例一&#xff1a;登…

【Linux操作系统】深入理解Linux系统编程中的传入参数、传出参数和传入传出参数

在Linux系统编程中&#xff0c;函数的参数扮演着至关重要的角色。参数的传递方式可以分为传入参数、传出参数和传入传出参数。本文将详细解释这三种参数的概念、特点以及如何使用它们来实现灵活和高效的函数调用和数据传递。 文章目录 1. 解释和举例1.1 传入参数&#xff08;i…

案例15 Spring Boot入门案例

1. 选择Spring Initializr快速构建项目 ​ 2. 设置项目信息 ​ 3. 选择依赖 ​ 4. 设置项目名称 ​ 5. 项目结构 ​ 6. 项目依赖 自动配置了Spring MVC、内置了Tomcat、配置了Logback(日志)、配置了JSON。 ​ 7. 创建HelloController类 com.wfit.boot.hello目录下创建HelloCo…

NO.3 MyBatis获取参数的两种方式

目录 1、两种方式的区别 2、单个字面量类型的参数 2.1 在映射文件中&#xff0c;用#{}加任意名称获取参数的值&#xff1a; 2.2 在映射文件中&#xff0c;用${}加任意名称获取参数的值&#xff1a; 2.3 小结 3、在map集合类型的参数 3.1 使用MyBatis默认的map映射集合 …

delphi11中的自动启动和关闭unigui应用服务器

1、设置。 注意&#xff1a;全部。 taskkill /f /im $(OUTPUTFILENAME) 2>1 || exit /B 0 自动运行chrome打开unigui网页 unit ServerModule;interfaceuses Winapi.ShellAPI, vcl.Dialogs;typeTUniServerModule class(TUniGUIServerModule)procedure UniGUIServerModu…

不一般的自定义时间(html+css+js)

自定义时间 写文章的因 关于要写这篇文章的原因 是记录在工作上遇到的困难需求&#xff0c;是希望能给大家提供一些解决问题的思路 接下来我描述这个需求的多样性&#xff0c;难点在哪。 勾选勾选框开始时间与结束时间默认显示昨天与今天。取消勾选框开始时间与结束时间清空。…

spring源码核心

spring创建bean的生命周期&#xff08;大概&#xff09; 容器 可以理解容器为一个Map<beanName, bean对象> 通过类的构造方法创建对象 有两个有参构造方法&#xff0c;就坏了&#xff0c;spring不知道用哪个&#xff0c;这个时候可以加**Autowired** 有无参和有参时…

运营商二要素认证API接口:提供手机号实名验证服务,确保用户信息的真实性

随着互联网的快速发展&#xff0c;各行各业都需要用户进行实名认证。其中&#xff0c;涉及到用户个人信息的场景&#xff0c;如电商、游戏、直播、金融等需要用户实名认证的场景&#xff0c;必须要进行实名认证。然而&#xff0c;对于这些场景&#xff0c;用户的个人信息的真实…

04_14缺页异常,虚拟空间加深印象,匿名页,文件页

前言 写代码想知道某段时间内存够不够用 想更清楚高低水位 清楚虚拟ram和物理ram的关系 CPU通过地址总线可以访问连接在地址总线上的所有外设,包括物理内存、I0设备等等, 但从CPU发出的访问 地址并非是这些外设在地址总线上的物理地址&#xff0c; 而一个虚拟地址&#xff0c…

idea集成chatGPT,免费使用的bito神器

什么是Bito&#xff1f; Bito是一款在IntelliJ IDEA编辑器中的插件&#xff0c;Bito插件是由ChatGPT团队开发的&#xff0c;它是ChatGPT团队为了提高开发效率而开发的一款工具。ChatGPT团队是一支专注于自然语言处理技术的团队&#xff0c;他们开发了一款基于GPT的自然语言处理…

Springboot整合RabbitMq,详细使用步骤

Springboot整合RabbitMq&#xff0c;详细使用步骤 1 添加springboot-starter依赖2 添加连接配置3 在启动类上添加开启注解EnableRabbit4 创建RabbitMq的配置类&#xff0c;用于创建交换机&#xff0c;队列&#xff0c;绑定关系等基础信息。5 生产者推送消息6 消费者接收消息7 生…

优化堆排序(Java 实例代码)

目录 优化堆排序 Java 实例代码 src/runoob/heap/HeapSort.java 文件代码&#xff1a; 优化堆排序 上一节的堆排序&#xff0c;我们开辟了额外的空间进行构造堆和对堆进行排序。这一小节&#xff0c;我们进行优化&#xff0c;使用原地堆排序。 对于一个最大堆&#xff0c;首…