标签: hapi

HL7版本3解析

我正在通过HAPI解析HL7版本2.x消息.现在我想解析HL7版本3消息,这些消息是XML格式的.HAPI不支持HL7版本3,那么我该怎么做呢?

hl7 cda ccd hapi

11
推荐指数
1
解决办法
6993
查看次数

将 Joi 升级到最新版本后出错 - 架构只能包含普通对象(名称)

将 Joi 升级到最新版本 @hapi/Joi(17.1.1) 后,我的服务器没有启动,启动时出现以下错误。最近的版本似乎有一些重大变化。尚无法获得任何线索,感谢任何帮助。

Error: Schema can only contain plain objects (name)
    at new module.exports (/Users/xyz/project/projectxyz/node_modules/@hapi/hoek/lib/error.js:23:19)
    at module.exports (/Users/xyz/project/projectxyz/node_modules/@hapi/hoek/lib/assert.js:20:11)
    at Object.internals.schema (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/compile.js:88:5)
    at Object.exports.schema (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/compile.js:17:26)
    at internals.Base.$_compile (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/base.js:631:24)
    at /Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/types/keys.js:255:92
    at Object.exports.tryWithPath (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/common.js:173:16)
    at internals.Base.method [as keys] (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/types/keys.js:255:32)
    at Object.internals.schema (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/compile.js:90:25)
    at Object.exports.schema (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/compile.js:17:26)
    at Object.exports.compile (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/compile.js:117:24)
    at Object.compile (/Users/xyz/project/projectxyz/node_modules/@hapi/joi/lib/index.js:123:24)
    at Object.exports.compile (/Users/xyz/project/projectxyz/node_modules/@hapi/hapi/lib/validation.js:49:22)
    at module.exports.internals.Route._setupValidation (/Users/xyz/project/projectxyz/node_modules/@hapi/hapi/lib/route.js:197:43)
    at new module.exports.internals.Route (/Users/xyz/project/projectxyz/node_modules/@hapi/hapi/lib/route.js:122:14)
    at internals.Server._addRoute (/Users/xyz/project/projectxyz/node_modules/@hapi/hapi/lib/server.js:498:23)
    at internals.Server.route (/Users/xyz/project/projectxyz/node_modules/@hapi/hapi/lib/server.js:491:22)
    at /Users/xyz/project/projectxyz/src/app.js:73:14
    at Array.forEach (<anonymous>)
    at init (/Users/xyz/project/projectxyz/src/app.js:72:17)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at process.runNextTicks …
Run Code Online (Sandbox Code Playgroud)

node.js hapi joi

8
推荐指数
1
解决办法
4978
查看次数

Firebase 管理员无法读取未定义的属性“证书”

我用 firebase admin 编写 hapi 后端 api。我找不到此错误的修复方法。

TypeError: Cannot read property 'cert' of undefined at ModuleJob.run (internal/modules/esm/module_job.js:109:37) at async Loader.import (internal/modules/esm/loader.js:133:24)

代码:

import * as admin from 'firebase-admin';
import serviceAccount from './resources/serviceAccount.js'
let storageBucket = process.env.NODE_ENV === 'production' ? '' : 'gs://myapp-dev.appspot.com'

let app = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: process.env.NODE_ENV === 'production' ? "https://myapp.firebaseio.com" : "https://jointcreative1-dev.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)

包json:

 {
  "name": "backend",
  "version": "1.0.0",
  "description": "Hapi/joi backend server",
  "type": "module",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && …
Run Code Online (Sandbox Code Playgroud)

javascript node.js hapi firebase firebase-admin

8
推荐指数
2
解决办法
4062
查看次数

如何修改电话号码的HAPI验证规则?

在此示例中,maven中央存储库正在使用以下依赖项:

<!-- provides HAPI library -->
<dependency>
  <groupId>ca.uhn.hapi</groupId>
  <artifactId>hapi-base</artifactId>
  <version>2.2</version>
</dependency>
<!-- provides HAPI library message version -->
<dependency>
  <groupId>ca.uhn.hapi</groupId>
  <artifactId>hapi-structures-v22</artifactId>
  <version>2.2</version>
</dependency>

<!-- provides ByteString -->
<dependency>
  <groupId>com.typesafe.akka</groupId>
  <artifactId>akka-actor_2.10</artifactId>
  <version>2.3.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是我用scala编写的解析代码示例:

  import akka.util.ByteString
  import ca.uhn.hl7v2.model.Message
  import ca.uhn.hl7v2.model.v22.datatype.{CM_PAT_ID, ST, TN, TSComponentOne}
  import ca.uhn.hl7v2.model.v22.segment.{EVN, MRG, PID}
  import ca.uhn.hl7v2.parser.CanonicalModelClassFactory
  import ca.uhn.hl7v2.{DefaultHapiContext, ErrorCode, HL7Exception}

  lazy val parser = {
    val context = new DefaultHapiContext()
    context.setModelClassFactory(new CanonicalModelClassFactory("2.2"))
    context.getGenericParser
  }

  def parseHL7Message(message: ByteString) = Try[Message] { 
    val msg: String = message.utf8String.trim
    parser.parse(msg) 
  }
Run Code Online (Sandbox Code Playgroud)

此代码可以成功解析以下HL7消息. …

validation hl7 hapi

7
推荐指数
1
解决办法
2106
查看次数

需要解析HL7消息

我需要解析 HL7 消息,首先验证消息然后解析。

 XMLParser xmlParser = new DefaultXMLParser();

 //encode message in XML 
 String hl7MessageInXML = null;
 try {
        hl7MessageInXML = xmlParser.encode(message);
 } catch (HL7Exception e) {
    e.printStackTrace();
 }
Run Code Online (Sandbox Code Playgroud)

java hl7 hapi

6
推荐指数
1
解决办法
2万
查看次数

未捕获的引用错误:SwaggerUIBundle 未在 window.onload 中定义

在我的本地主机中,我的 swagger UI 运行良好。localhost:3030/documentation 此 UI 也在服务器上运行,但从今天开始在服务器上不再运行https://digitalpathshalabd.com/documentation

错误

图片错误

hapi swagger-ui hapi-swagger

6
推荐指数
1
解决办法
1万
查看次数

通过 TCP/IP 接收数据时 HL7V2 HAPI 解析器异常

我正在使用2.3版的 HAPI hapi-structures-v25库来解析 HL7v2 消息并将其转换为 FHIR 资源。在通过 TCP 侦听器使用 HAPI 接收和解析 HL7V2 消息时,我遇到了一个奇怪的问题。

确定消息的编码。以下是消息的前 50 个字符以供参考,尽管这可能不是问题所在:MSH|^~\&|test|DrJhonDoe|TEST|UNKNOWN|20210216190432||ADT^A01^ADT_A01|60b647d4-b5a5 -4fae-a928-d4a3849de3c8|T|2.5

奇怪的是,当我尝试在 main 函数中将此消息作为字符串发送时,我没有收到此错误。仅当我通过 TCP/IP 将数据接收到我的 Java 函数时才会收到此错误。我尝试使用 Mirth 以及外部工具将 HL7 消息发送到我的接收 TCP 端口,结果相同。

这是我尝试处理的 HL7v2 消息示例

MSH|^~\\&|test|Dr.JhonDoe|TEST|UNKNOWN|20210216190432.7||ADT^A01^ADT_A01|60b647d4b5a54faea928d4a3849de3c8|T|2.5
EVN||20210216|20210216|
Run Code Online (Sandbox Code Playgroud)

从 tcp/ip 接收数据时,我使用 UTF-8 字符集将字节转换为字符串。

InputStream in = connection.getInputStream();
OutputStream out = connection.getOutputStream();
receivedMessageSize = in.read(receivedByeBuffer);
String incomingHl7Message = new String(receivedByeBuffer, StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)

我正确地收到了消息。但不确定为什么会出现错误。

java string tcp mirth hapi

6
推荐指数
1
解决办法
241
查看次数

HAPI HL7 Validator不验证已解析的消息

我一次解析并验证HL7消息的方案按预期工作:

HapiContext hapiContext = new DefaultHapiContext();
PipeParser parser = hapiContext.getPipeParser();
Message message = parser.parse("MSH|^~\\&|MedSeries|CAISI_1-2|PLS|3910|200903230934||ADT^A31^ADT_A05|75535037-1237815294895|P^T|2.5\r"
            + "EVN|A31|200903230934345345345345345\r"
            + "PID|1||29^^CAISI_1-2^PI~\"\"||Test300^Leticia^^^^^L||19770202|M||||||||||||||||||||||");
Run Code Online (Sandbox Code Playgroud)

异常(这是一种有效的行为):

Exception in thread "main" ca.uhn.hl7v2.model.DataTypeException: ca.uhn.hl7v2.validation.ValidationException: Validation failed: Primitive value '200903230934345345345345345' requires to be empty or a HL7 datetime string at EVN-2(0)
Run Code Online (Sandbox Code Playgroud)

但是当我首先尝试解析HL7消息然后验证时 - 验证方法返回true并且不抛出任何异常:

HapiContext hapiContext = new DefaultHapiContext();
hapiContext.setValidationContext((ValidationContext) ValidationContextFactory.noValidation());
PipeParser parser = hapiContext.getPipeParser();
Message message = parser.parse("MSH|^~\\&|MedSeries|CAISI_1-2|PLS|3910|200903230934||ADT^A31^ADT_A05|75535037-1237815294895|P^T|2.5\r"
            + "EVN|A31|200903230934345345345345345\r"
            + "PID|1||29^^CAISI_1-2^PI~\"\"||Test300^Leticia^^^^^L||19770202|M||||||||||||||||||||||");


hapiContext.setValidationRuleBuilder(new DefaultValidationBuilder());
System.out.println(hapiContext.getMessageValidator().validate(message));
Run Code Online (Sandbox Code Playgroud)

我需要这个以在使用message.generateACK()方法验证失败的情况下生成确认消息.

hl7 hapi

5
推荐指数
1
解决办法
584
查看次数

如何使用HAPI框架解析HL7多个段(ORC/OBR/OBX)?

如何使用 HAPI 框架解析 HL7 多个段(ORC/OBR/OBX)。

我还面临着与解析多个实验室订单相关的问题,并且还面临着与特殊字符(MSH|^~\&#|)编码相关的问题。

 MSH|^~\&|NIST Test Lab APP|NIST Lab Facility||NIST EHR Facility|20110531140551-0500||ORU^R01^ORU_R01|NIST-LRI-NG-RN-005.01|T|2.5.1|||AL|NE|||||LRI_Common_Component^^2.16.840.1.113883.9.16^ISO~LRI_NG_Component^^2.16.840.1.113883.9.13^ISO~LRI_RN_Component^^2.16.840.1.113883.9.15^ISO
        PID|1||PATID1239^^^NIST MPI^MR||Smirnoff^Peggy^^^^^M||19750401|F||2106-3^White^HL70005^wh^white^L
        ORC|RE|ORD448811^NIST EHR|R-511^NIST Lab Filler|||||||||1234567890^Fine^Larry^^^Dr.^^^NIST-AA-1^L^^^NPI
        OBR|1|ORD448811^NIST EHR|R-511^NIST Lab Filler|HepABC Panel^Hepatitis A B C Panel^L|||20120628070100|||||||||1234567890^Fine^Larry^^^Dr.^^^NIST-AA-1^L^^^NPI||||||20120629132900-0500|||F
        OBX|1|CWE|22314-9^Hepatitis A virus IgM Ab [Presence] in Serum^LN^HAVM^Hepatitis A IgM antibodies (IgM anti-HAV)^L||260385009^Negative (qualifier value)^SCT^NEG^NEGATIVE^L^^^Negative (qualifier value)||Negative|N|||F|||20120628070100|||||20120628100500||||Princeton Hospital Laboratory^^^^^NIST HCAA-1^XX^^^34D4567890|123 High Street^^Princeton^NJ^08540^USA^O^^34021|^Martin^Steven^M^^Dr.
        OBX|2|CWE|20575-7^Hepatitis A virus Ab [Presence] in Serum^LN^HAVAB^Hepatitis A antibodies (anti-HAV)^L||260385009^Negative (qualifier value)^SCT^NEG^NEGATIVE^L^^^Negative (qualifier value)||Negative|N|||F|||20120628070100|||||20120628100500||||Princeton Hospital Laboratory^^^^^NIST HCAA-1^XX^^^34D4567890|123 High Street^^Princeton^NJ^08540^USA^O^^34021|^Martin^Steven^M^^Dr.
        OBX|3|CWE|16933-4^Hepatitis B virus core Ab [Presence] in Serum^LN^HBVcAB^Hepatitis …
Run Code Online (Sandbox Code Playgroud)

java hl7 hapi hl7-v3

5
推荐指数
1
解决办法
3354
查看次数

如何使用HAPI TERSER解析HL7中的多个OBR段

如何使用terser使用HAPI解析HL7中的多个OBR段

我有像这样的样本hl7消息

MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.5
PID|1||MRN101||DOE^JOHN^A||20000101|M||W|1 Campus Martius^^Detroit^MI^48226||(313)227-7300||EN|S|||111-11-1111|||H
PV1|1|U| 12E^1211^01||||1689885733^ORANGE TEAM, OMNI|||Med||||Tra|||99999999^SMITH^KEVIN^^^^MD|I|000000000000|YY|P||||||||||||||||||||Ac|||20130224080500
ORC|RE|F78520223|000000000^LA||CM||||20130226020200||||  PICU|||^RESULT PERFORMED|||RES
OBR|1|F78520223|1305611705^LA|0101301^COMPLETE BLOOD COUNT^COMPLETE BLOOD COUNT|||20130226010600|20130226020200||2632||||20130226014200||333333^GEORGE, BOB|||||0001305611705|20130226020200|||F||^^^20130226043000^^EA~^^^^^EA
OBX|1|NM|0106550^WHITE BLOOD CELL COUNT^WHITE BLOOD CELL COUNT||7.9|10e9/L|4.3-11.0||||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|2|NM|0104650^RBCx10e12^RBCx10e12||4.09|10e12/L|4.53-5.73|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|3|NM|0102150^HEMOGLOBIN^HEMOGLOBIN||12.9|g/dL|13.6-17.4|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|4|NM|0102100^HEMATOCRIT^HEMATOCRIT||37.5|%|40.7-50.8|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|5|NM|0103500^MEAN CORPUSCULAR VOLUME^MEAN CORPUSCULAR VOLUME||91.7|fL|81.6-96.8||||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
NTE|1||Test performed at Tulsa
Run Code Online (Sandbox Code Playgroud)

terser.get("/.OBX-3-1"));用来访问OBX父段.如何使用terser获取子OBX段

hl7 hapi

4
推荐指数
1
解决办法
7349
查看次数