问题标签 [hapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1106 浏览

java - 如何使用 hapi 版本安全或通用?

我在下面有这个丑陋的代码,用于在这里看到的 hl7 消息。该代码针对不同版本的 HL7 侦听器运行。对于我在 v2.3 中收到的一个系统,但对于另一个我在 v2.5 中获得的系统

如您所见,所有版本的工作几乎相同。但是 ACK 的基础是,如果不显式转换为确切的 HL7 版本,message我就无法调用getMsa1_AcknowledgementCode方法,并且它们之间没有公共ACK类。通过这个虚拟图,我试图提出问题。(我知道还有一些其他元素,例如 AbstractMessage、Group ...)

在此处输入图像描述

对于前两个方法名称,getMsa1_AcknowledgementCode但对于 v2.5,它缺少e字母并且看起来像getMsa1_AcknowledgmentCode.

我应该使用反射并找到一个以名称开头的方法getMsa_Ack...来检查确认消息,还是在 hapi 项目中为此目的有任何类型安全且美观的方法?

在回答我想知道其他人也有更好的方法时,不要将自己限制在 ACK 消息中。

0 投票
2 回答
1318 浏览

hl7 - 带有 HAPI 示例的 ORU^R01 消息的一致性配置文件

我无法使用 HAPI api(2.2 版)针对从MWB(消息工作台)生成的一致性配置文件验证ORU_R01ADT_A04(HL7 v2.3.1 )消息。

  • 第一个问题是关于 MWB 在 ORU_R01 消息的一致性配置文件中分配给段组的名称,其中PATIENT_RESULTMWB(消息工作台)生成的段组名称,而PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI是 HAPI 在其 api 中引用同一段组的方式。
  • 如果我在配置文件中将 PATIENT_RESULT 替换PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI 则配置文件对 HAPI api 解析器有效。

以下是上述问题的验证日志:

  1. ValidationException -在消息中找不到PATIENT_RESULT
  2. ValidationException - 结构PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI出现在消息中,但不在配置文件中

第二个问题是 OBX 段中要在 OBX.5 字段中使用的数据类型。 由于我的消息包含多个 OBX,并且在 OBX.2 字段中也有多个数据类型,例如NMST,因此我不能在一致性配置文件中为 OBX.5 提供固定数据类型,所以我尝试了 HAPI api 为数据类型占位符提供的“VARIES” OBX.5 数据类型声明中的一致性配置文件。但这也没有用。

以下是上述问题的验证日志:

  1. ValidationException - HL7 数据类型NM与 OBX-5 的配置文件数据类型 VARIES 不匹配

  2. ValidationException - HL7 数据类型ST与 OBX-5 的配置文件数据类型 VARIES 不匹配


以下是留言:

  • MSH|^~\&|aa|bb|cc|3910|200903230934||ORU^R01^ORU_R01|75535037-123781|P^T|2.3.1
  • EVN|A31|200903230934
  • PID|1||29^^||Test300^Leticia^^^^^L||19770202|M||
  • OBX|| 纳米|abc|| 121 ||||||F||
  • OBX|| ST |定义|| 贾斯瓦尔||||||F||

以下是个人资料片段:


问候, 阿马尔·贾斯瓦尔

0 投票
0 回答
128 浏览

hapi - HAPI V2.6 context.close() 抛出 NullPointerException

我正在使用 HAPI V2 库运行一个非常简单的测试。

这个 JUnit 测试总是失败,因为 close() 方法会抛出 NullPointer 异常。知道为什么吗?

另一方面,我可以用 HAPI 上下文做所有我想做的事情,除了调用 close() 但不调用 close 会导致 Eclipse 给我一个泄漏警告。

0 投票
1 回答
2016 浏览

java - 将 Hl7 消息转换为 Json

我需要将 HL7 消息转换为 JSON,所以我使用 Hapi 将消息转换为 xml,然后使用 JSON 库将 xml 转换为 JSON,xml 的输出是

这里的输出就像 segmenName.FieldName (MSH.1),所以 Json 也是一样的,而不是 segmenName.FieldName ,我需要给每个字段一个有意义的名称,我无法弄清楚如何做到这一点

我需要将 Xml 中的元素映射到 JSON 中的不同键

0 投票
1 回答
2762 浏览

java - 如何使用 HAPI 从 HL7 消息中读取多个 ORC 和 OBR 段

我有以下 HL7-Message 来解析。

我正在尝试使用 HAPI Terser.get() 方法从 OBR 和 ORC 段中获取值,如下所示。

但是以上所有语句都给出了以下错误 “在没有循环的情况下到达消息结束”

不知道,我在这里做错了什么。伙计们请帮助我正确输入 Teaser.get() 方法,以获得上述值。

0 投票
2 回答
1434 浏览

hl7 - NHAPI ZPI 段

我们计划在我们的应用程序中使用 NHAPI 作为 PILOT 运行。我正在验证是否可以使用 NHAPI 解析当前消息。

所以我们得到了一个名为“ ZPI – Additional Prescription Information Segment ”的段。由于我相信没有定义分段来解析它,是否可以使用Zxx分段?

问候,

拉吉

0 投票
2 回答
710 浏览

hl7 - 顺序或并发 hl7 消息处理

我想知道人们使用哪种并发模型来处理入站 hl7 消息(adt,...)并将它们保存在规范化数据模型(关系或无 sql)中。

在从(java,.net,等等)转换/处理它们时,我正在努力考虑顺序消息处理(映射到 nosql db)和多线程:

示例:如果我处理由 clover Leaf 接收和转换的消息(转换为符合内部 web/rest api 预期有效负载),并设置为内部 web/rest api 服务器(多线程 java web 应用程序),那么我不能保证由于线程,我正在按顺序解析消息。

如果我按顺序处理消息,那么映射会很慢......

0 投票
0 回答
87 浏览

hapi - 如何创建 NTE|9| 使用库版本 v.2.3.1 在组中分段

我有一个定义如下的 NTE 段:

NTE|9|\F\400797\F\ENG\F\1\F\然后每周服用 1 片,每天两次。

首先,我希望能够创建 NTE|9 段,如上所示。其次,我希望能够在组中使用 NTE|9。

该组具有以下结构: MSH PID ORC ZPI NTE|9 ZSP

ORC 到 ZSP 的片段可以作为一个组重复多次,所以我想将它们捕获在一个组中,即 ORC 到 ZSP。问题是我不知道如何通过扩展 AbstractSegment 来表示 NTE|9 段。我正在使用 HAPI HL7 库版本 v2.3.1。

0 投票
1 回答
432 浏览

hl7 - 如果段顺序更改,则无法解析 NTE

我收到一条带有 NTE 段的 HL7 消息。HL7 消息类型 RDE_O11 和版本 2.5。在使用 NTE 传递消息时,NHAPI 不解析它。因此,通过以下消息,

如果我在 MSH 之后立即更改 NTE 的位置,NHAPI 能够解析它。

0 投票
1 回答
318 浏览

apache-camel - 是否可以跳过解析 HAPI 中的某些字段?

我正在使用 Apache Camel、Mina2 和 HAPI 来接收 HL7 v2 消息。我注意到解组和创建 Message 对象需要花费大量时间。当我有更大的消息时,这个时间会增加。

我的消息有大约 120 个 OBX 段,我只使用 OBX 3 和 OBX 5 字段。我在 OBX 5 之后测试了手动删除字段,发现性能有所提高。有没有办法告诉 HAPI 在 OBX 5 之后不要解析任何字段?