首页 文章

HL7服务器和HL7监听器

提问于
浏览
1

我们开发了一个Web服务,假设从客户端获取HL7文件并将其解析为XML,然后将数据推送到数据库中 .

现在我的问题是,我们需要关注这一要求 . 我听说通常EMR系统通过tcp发送HL7文件 .

实际的HL7服务器如何工作?

我们需要创建一个HL7监听器吗?

这个HIPAA合规性HL7应该始终通过tcp推送到服务器吗?

可以解释一下吗?

5 回答

  • 7

    这是一个相当广泛的问题......回答这一切需要的不仅仅是几个段落 .

    HL7是一头毛茸茸的野兽 . 每次整合都可能需要一些工作 . 关键是要有一个最小化这种集成工作的架构 . 有关HL7的一些见解,请参阅此链接:https://softwareengineering.stackexchange.com/questions/47855/what-issues-tend-to-arise-when-working-with-hl7-messages/48171#48171

    我建议您考虑使用支持HL7的集成引擎来处理它 . 如果需要,它将处理协议,监听器,消息确认,并且可以帮助将HL7数据存储在数据库中 . 它还有助于处理标准的灵活性 .

    HIPAA合规性是关于保护患者数据 . 它不要求任何特定技术 . 大多数HL7数据交换都是通过MLLP处理的(基于带有消息帧的tcp) . 您可以在其上添加VPN层 . 也可以使用其他协议,但您需要确保数据通信通道另一侧的系统支持它 .

    caristix.com

  • 4

    我使用Camel(http://camel.apache.org)和组件mina2解决了这个问题,它允许打开这些类型的监听器:

    mina2:tcp://hostname[:port][?options]
    mina2:udp://hostname[:port][?options]
    mina2:vm://hostname[:port][?options]
    

    Camel(What exactly is Apache Camel?)是一个开源Java框架,专注于简化集成 . 使用Camel,您可以定义一些路线,在这种情况下,您的路线可以类似于此:

    <route>
        <from uri="mina2:tcp://localhost:2575?sync=true&amp;codec=#hl7codec" />
        <log message="[1] ********* MINA2 Message received *********" />
        <to uri="direct:HL7Process"/>
    </route>
    
    <route>
        <from uri="direct:HL7Process"/>
        <log message="[2] ********* MINA2 processing Message" />
        <bean ref="hl7Processor" method="removeUtf8Bom" />
        <process ref="hl7Processor" />
        <onException>
            <exception>org.apache.camel.RuntimeCamelException</exception>
            <exception>ca.uhn.hl7v2.HL7Exception</exception>
            <redeliveryPolicy maximumRedeliveries="0" />
            <handled>
                <constant>true</constant>
            </handled>
            <log message="*[3] ******** MINA2 sending ACKError" />
            <bean ref="hl7Processor" method="sendACKError" />
        </onException>
        <log message="[4] ********* MINA2 sending ACK" />
        <bean ref="hl7Processor" method="sendACK" />
        <log message="[4] ********* MINA2 Message processed" />
    </route>
    

    第一部分在tcp端口上定义一个侦听器以接收hl7消息 . HL7Process定义如何处理您将收到的消息 . hl7Processor可以实现hl7ToXML转换器和将消息存储在数据库中的逻辑 .

  • 1

    HL7 v2.x消息通常使用MLLP(带标记的TCP)进行交换 . 我所知道的所有TCP服务器都可以通过MLLP发送和接收HL7 v2.x消息 . 在当前的发展中,倾向于使用HL7而不是HTTP(ER7格式或XML格式) . 使用SOAP服务并不常见,因为SOAP(简单对象访问协议)用于交换对象而不是消息 .

  • 0

    如果您正在使用TCP侦听器,则根据IHE(集成医疗保健企业)标准使用TLS非常重要 . 您还应该阅读他们的技术框架,该框架还将通过ATNA(审计跟踪和节点验证)解决审计和日志记录要求,这是一个基于TLS的syslog实现 . 这些协议由IETF定义 . 医疗保健数据交换需要大量研究和正确实施才能保持HIPAA标准 .

  • 0

    一般流程如下:

    • 创建TCP / IP端口:侦听和接收来自发件人的HL7邮件 . 例如 . TCT / IP Server点

    • 将HL7映射到XML:根据HL7消息的类型(例如,ADT,ORM,ORU等)接收和解析HL7消息,并使用底层数据库表的XML方案进行映射 .

    • 使用上面的XML进入数据库表 .

    • 在此处或在步骤#1之后将HL7确认消息返回给发件人 .

    您可以通过两种方式执行此操作:

    • 通过编写代码从头开始实现流程/程序 . 要么

    • 使用集成工具(如OrionHealth的Rhapsody),它通常由三个模块组成:(1)IDE创建主要是拖放组件的过程 . (2)引擎部署过程和(3)使用浏览器监视进程

    使用集成工具更容易,更快速,更便于开发和维护 .

    希望能帮助到你 .

相关问题