我们开发了一个Web服务,假设从客户端获取HL7文件并将其解析为XML,然后将数据推送到数据库中。
现在我的问题是,我们需要关注这项要求。我听说通常EMR系统通过tcp发送HL7文件。
实际上HL7服务器如何工作?
我们需要创建一个HL7监听器吗?
这种HIPAA合规性HL7应该始终通过tcp推送到服务器吗?
可以解释一下吗?
答案 0 :(得分: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层。也可以使用其他协议,但您需要确保数据通信通道另一侧的系统支持它。
答案 1 :(得分: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&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转换器和将消息存储在数据库中的逻辑。
答案 2 :(得分:1)
HL7 v2.x消息通常使用MLLP(带标记的TCP)进行交换。我所知道的所有TCP服务器都可以通过MLLP发送和接收HL7 v2.x消息。在当前的发展中,倾向于使用HL7而不是HTTP(ER7格式或XML格式)。使用SOAP服务并不常见,因为SOAP(简单对象访问协议)用于交换对象而不是消息。
答案 3 :(得分:0)
如果您正在使用TCP侦听器,则根据IHE(集成医疗保健企业)标准使用TLS非常重要。您还应该仔细阅读他们的技术框架,该框架还将通过ATNA(审计跟踪和节点验证)解决审计和日志记录要求,这是一个基于TLS的syslog实现。这些协议由IETF定义。医疗保健数据交换需要大量研究和正确实施才能保持HIPAA标准。
答案 4 :(得分:0)
创建TCP / IP端口:侦听和接收来自发件人的HL7邮件。 例如。 TCT / IP Server点
将HL7映射到XML:根据HL7消息的类型(例如,ADT,ORM,ORU等)接收并解析HL7消息,并使用底层数据库表的XML方案进行映射。
使用上面的XML进入数据库表。
在此处或在步骤#1之后将HL7确认消息返回给发件人。
使用集成工具更容易,更快捷,更便于开发和维护。
希望它有所帮助。