1

除了 HAPI 之外,是否有任何好的解析器可以使用 Java 解析 HL7 V2.7 消息。我的目标是将消息转换为 XML 文件。

4

2 回答 2

1

我有一个名为HL7X的开源替代方案,它适用于任何 HL7v2 版本。它将您的 HL7 字符串转换为 XML 字符串。

例子:

MSH|^~\&|||||20121116122025||ADT^A01|5730224|P|2.5||||||UNICODE UTF-8
EVN|A01|20130120151827
PID||0|123||Name^Firstname^^^^||193106170000|w
PV1||E|

转化为

<?xml version="1.0" encoding="UTF-8"?>
<HL7X>
<HL7X>
    <MSH>
        <MSH.1>^~\&amp;</MSH.1>
        <MSH.6>20121116122025</MSH.6>
        <MSH.8>
            <MSH.8.1>ADT</MSH.8.1>
            <MSH.8.2>A01</MSH.8.2>
        </MSH.8>
        <MSH.9>5730224</MSH.9>
        <MSH.10>P</MSH.10>
        <MSH.11>2.5</MSH.11>
        <MSH.17>UNICODE UTF-8</MSH.17>
    </MSH>
    <EVN>
        <EVN.1>A01</EVN.1>
        <EVN.2>20130120151827</EVN.2>
    </EVN>
    <PID>
        <PID.2>0</PID.2>
        <PID.3>123</PID.3>    
        <PID.5>
            <PID.5.1>Name</PID.5.1>
            <PID.5.2>Firstname</PID.5.2>
        </PID.5>
        <PID.7>193106170000</PID.7>
        <PID.8>F</PID.8>
    </PID>
    <PV1>
        <PV1.2>E</PV1.2>            
    </PV1>
</HL7X>

于 2015-02-17T14:35:06.473 回答
0

这个http://www.dcm4che.org/confluence/display/ee2/Home开源Java软件可以通过MLLP协议接收各种HL7消息,将它们转换为XML,通过XSLT转换器运行,然后将它们加载到数据库中并服务于DICOM 客户端根据需要。为了在代码库中执行此操作,有 HL7->XML 代码。只需找到它,复制/粘贴它并使用它。

一旦我知道这段代码的确切位置,因为我正在解决消息字符集问题。当时我发现HL7解析器比较简单,只能理解配置中提供的1个字符集。它不读取/使用消息中提供的字符集(MSH-18,表 0211,Grahame Grieve 的编码提示),也不支持在消息解码期间切换字符集(参见 HL7 规范中的“支持多个字符集的转义序列”一章)。

所以我知道解析器代码在那里。它是在 Java 中的。它为客户特定的 XSLT 转换脚本生成 XML 输入。它应该很容易重用。

你应该可以自己找到它。否则你的问题会变成简单地找到一个工具§4是一个题外话:)

于 2014-08-16T13:39:22.867 回答