3

我是 HL7 的新手。我必须使用 apache camel 路由将 HL7v2 转换为 XML。我正在从文件中提取 HL7 消息。任何人都可以帮助我如何将 HL7 转换为 XML

4

1 回答 1

3

有一个 HL7 组件用于将文件解组为 HAPI 消息。HAPI api 还包括一个 XMLParser,它将消息转换为 xml。因此,您应该能够将两者组合成一个简单的骆驼路线,如下所示:

<bean id="hl7XmlConverter" class="example.Hl7XmlConverter" />

<bean id="hl7FileFilter"
    class="org.apache.camel.component.file.AntPathMatcherGenericFileFilter">
    <property name="includes" value="*.hl7" />
</bean>

<camelContext xmlns="http://camel.apache.org/schema/spring">

    <route id="hl7FileRoute">
        <from
            uri="file:///tmp/test/?delete=true&amp;moveFailed=.error&amp;filter=#hl7FileFilter" />
        <convertBodyTo type="java.lang.String" />
        <log message="HL7 Request: ${body}" />
        <unmarshal>
            <hl7 validate="true" />
        </unmarshal>
        <bean ref="hl7XmlConverter"/>
        <log message="HL7 Response: ${body}" />
    </route>
</camelContext>

bean只是一个简单的方法:

public String convertMessage(Message message) throws HL7Exception{
    XMLParser parser = new DefaultXMLParser();
    return parser.encode(message);
}

根据您所需的 xml 格式,您还可以在 bean 之后添加一个 xslt。

于 2014-05-09T00:06:47.683 回答