我正在研究用于通过PHP解析HL7消息的选项。我知道PEAR上的Net_HL7程序包,但是说实话,我不希望我的代码基于看似“被遗弃”的程序包,即使我这样做,我也只是不认为自己的大脑适合功能“正确”。也许我不懂HL7的背景知识会更有意义。
无论如何:我猜是在95%的时间内,我将解析和读取消息中的数据。另外5%,我将创建和/或发送消息。
我不一定需要对消息本身进行任何形式的验证,我只需要拉/推数据。
我绝对需要对“非XML” HL7 v2.x的支持,但是自然地,基于XML的v2和v3会是一个好处。
那么,有人对我可能使用的其他库有任何建议吗?我正在寻找纯PHP解决方案,因为我希望对服务器的最低要求不是“在此复制此目录”。
谢谢!
我正在处理Java应用程序的CDA消息。CDA是另一个用于发送医疗信息的XML标准,它与CCD和HL7v3密切相关。
我已经查看了以下库,发现它们缺乏,很有前途但又缺乏。
我确实可以访问HL7.org上的资源。
有其他图书馆可以参考的想法吗?请教社区访问专家?
我正在使用Mirth Connect v2.0并且卡在一项任务上,将XML转换为HL7 v3.我已连接到Ms-Access数据库(医院系统在Access中),我已设置通道并在目标选项卡中将连接器类型设置为文件编写器.当我部署频道时,我可以看到日志文件中填充了XML格式的记录,现在我仍然坚持如何将XML消息转换/转换为HL7.有什么指针吗?
我正在解析.xml文件,如:
<xml>
<normalRange>100-200</normalRange>
<value>83</value>
</xml>
Run Code Online (Sandbox Code Playgroud)
在.xls样式表中,我需要显示一个值,该值指示值是在normalRange中,在其下方还是在其上方.
当从CCR(医疗保健HL7消息传递中的连续性护理记录)xml文档显示人类可读结果时,这是一个非常常见的问题.
为什么HL7 v2消息中的所有文本值都大写?例如,其中一个示例消息中的名称字段如下所示:
SANDIEGO^CARMEN^^^^
Run Code Online (Sandbox Code Playgroud)
为什么不使用小写字母?如果所有字母都大写,则案例信息将丢失.似乎最初的情况会更好:
Sandiego^Carmen^^^^
Run Code Online (Sandbox Code Playgroud)
这有什么技术原因吗?
我正在探索来自OpenEHR CKM应用程序(http://openehr.org/ckm/)的示例,并看到OET模板的XML模式命名空间是"openEHR/v1/Template".托管XML Schema的位置?
据我所知,"openEHR/v1/Template"命名空间指向版本1.0.1的XML模板架构定义,该定义无法下载(http://www.openehr.org/releases/1.0.1/它/ XML-schema /)
尝试使用取自1.0.2 distr(http://www.openehr.org/releases/1.0.2/its/XML-schema/)的OET XML Schema ,但从CKM获取的样本模板OET文件未通过v1.0.2 XML模式验证.
哪个OpenEHR模板XML架构是实际的和最新的?
我一次解析并验证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字典?
我试图找到这个,因为我想将它包含在我的应用程序中.
如果您遇到一个,最好是一个免费的,请告诉我.
谢谢.
我的工具需要从 EPIC EMR 获取数据。我的理解是,医院可以编写一个脚本,将数据推送到安全的 FTP,在那里我可以将数据拉下来并加载到我的系统中。这样对吗?另外 - 我的理解是这些数据将在 HL7 中 - 这是正确的吗?感谢您的帮助!