2013-07-19 58 views
1

在HL7中添加换行符是非常重要的,因为不带它,Mirth连接不能解析消息。在Mirth连接中生成的HL7消息中添加换行符

我发送XML消息到欢乐连接转换成HL7。该消息具有一个根节点和多个子节点。需要在HL7中的每个子节点之后添加一个新行。

首先,我不知道添加新行的设置是必须完成发送的XML还是在欢乐连接中?

我试图多个XML代码包括像换行符:

  • &#10和/或&#13
  • /R/N和/或/ N
  • /BR或Br标签
  • CDATA标记
  • & #xD和/或& #xA

从欢乐文档: http://www.mirthcorp.com/community/wiki/display/resultsHL7mapping/Separators+and+Escape+Sequences

尝试过其他的选择,但不能得到换行符。

请建议解决方案在生成的HL7文件中添加一个新行。

发送到欢乐连接XML:

<?xml 
version='1.0' 
encoding='utf-8' 
?> 
    <HL7Message> 
     <MSH> 
      <MSH.1>|</MSH.1> 
      <MSH.2>^~\&amp;</MSH.2> 
      <MSH.3> 
       <MSH.3.1>SNAP 
        EHR</MSH.3.1> 
      </MSH.3> 
      <MSH.4> 
       <MSH.4.1>Kreetti 
        Clinic</MSH.4.1> 
      </MSH.4> 
      <MSH.5> 
       <MSH.5.1>Receiving 
        Application</MSH.5.1> 
      </MSH.5> 
      <MSH.6> 
       <MSH.6.1>Receiving 
        Facility</MSH.6.1> 
      </MSH.6> 
      <MSH.7> 
       <MSH.7.1>20130719</MSH.7.1> 
      </MSH.7> 
      <MSH.8/> 
      <MSH.9> 
       <MSH.9.1>VXU</MSH.9.1> 
       <MSH.9.2>V04</MSH.9.2> 
      </MSH.9> 
      <MSH.10> 
       <MSH.10.1>634158415302812500</MSH.10.1> 
      </MSH.10> 
      <MSH.11> 
       <MSH.11.1></MSH.11.1> 
      </MSH.11> 
      <MSH.12> 
       <MSH.12.1>2.3.1</MSH.12.1> 
      </MSH.12> 
     </MSH> 


     <PID> 
      <PID.1> 
       <PID.1.1>0123</PID.1.1> 
      </PID.1> 
      <PID.2/> 
      <PID.3> 
       <PID.3.1>0123</PID.3.1> 
       <PID.3.2/> 
       <PID.3.3/> 
       <PID.3.4/> 
       <PID.3.5>Mr</PID.3.5> 
      </PID.3> 
      <PID.4/> 
      <PID.5> 
       <PID.5.1>Jacob</PID.5.1> 
       <PID.5.2>Oram</PID.5.2> 
      </PID.5> 
      <PID.6/> 
      <PID.7> 
       <PID.7.1>19930904</PID.7.1> 
      </PID.7> 
      <PID.8> 
       <PID.8.1>M</PID.8.1> 
      </PID.8> 
      <PID.9/> 
      <PID.10/> 
      <PID.11> 
       <PID.11.1>1111</PID.11.1> 
       <PID.11.2/> 
       <PID.11.3>Updated</PID.11.3> 
       <PID.11.4>Dyer</PID.11.4> 
       <PID.11.5>23323-2342</PID.11.5> 
      </PID.11> 
      <PID.12/> 
      <PID.13> 
       <PID.13.1/> 
       <PID.13.2/> 
       <PID.13.3/> 
       <PID.13.4/> 
       <PID.13.5/> 
       <PID.13.6/> 
       <PID.13.7>1111111111 </PID.13.7> 
      </PID.13> 
     </PID> 



     <RXA> 
      <RXA.1> 
       <RXA.1.1>0</RXA.1.1> 
      </RXA.1> 
      <RXA.2> 
       <RXA.2.1>999</RXA.2.1> 
      </RXA.2> 
      <RXA.3> 
       <RXA.3.1>20091202</RXA.3.1> 
      </RXA.3> 
      <RXA.4> 
       <RXA.4.1>20091202</RXA.4.1> 
      </RXA.4> 
      <RXA.5> 
       <RXA.5.1>88</RXA.5.1> 
       <RXA.5.2>Influenza</RXA.5.2> 
       <RXA.5.3>CVX</RXA.5.3> 
      </RXA.5> 
      <RXA.6> 
       <RXA.6.1>1</RXA.6.1> 
      </RXA.6> 
      <RXA.7> 
       <RXA.7.1>1</RXA.7.1> 
       <RXA.7.2>1</RXA.7.2> 
       <RXA.7.3>1</RXA.7.3> 
      </RXA.7> 
      <RXA.8/> 
      <RXA.9> 
       <RXA.9.1>00</RXA.9.1> 
      </RXA.9> 
      <RXA.10> 
       <RXA.10.1/> 
       <RXA.10.2>Butler</RXA.10.2> 
       <RXA.10.3>Internist</RXA.10.3> 
       <RXA.10.4/> 
       <RXA.10.5/> 
       <RXA.10.6>Dr.</RXA.10.6> 
      </RXA.10> 
      <RXA.11> 
       <RXA.11.1>Kreetti 
        Clinic</RXA.11.1> 
      </RXA.11> 
      <RXA.12/> 
      <RXA.13/> 
      <RXA.14/> 
      <RXA.15> 
       <RXA.15.1>42142314</RXA.15.1> 
      </RXA.15> 
      <RXA.16> 
       <RXA.16.1>20100827000000</RXA.16.1> 
      </RXA.16> 
      <RXA.17> 
       <RXA.17.1/> 
       <RXA.17.2></RXA.17.2> 
      </RXA.17> 
     </RXA> 


     <RXR> 
      <RXR.1> 
       <RXR.1.1/> 
       <RXR.1.2>Injection</RXR.1.2> 
      </RXR.1> 
      <RXR.2> 
       <RXR.2.1/> 
       <RXR.2.2>Hand</RXR.2.2> 
      </RXR.2> 
     </RXR> 
    </HL7Message> 
+0

我的答案有问题吗? – Sid

+0

只是提醒一下,转义序列与“\”不是“/”。所以行尾是“\ n”而不是“/ n” – ChronoFish

回答

1

当我检查了欢乐连接仪表板中的编码信息时,新的线路即将到来。 所以我认为这可能是目标文件编写器的问题。

然后发现,它只是窗口的默认记事本,不显示新行。在任何其他编辑器中打开生成的文件包括新行。 :)

+0

我知道基于管道的hl7的标准只使用\ r作为换行符,这在记事本中确实无法正确显示,因此可能会将换行符转换回来。尝试使用写字板,而不是;它也存在于任何Windows系统上,并且它确实显示了部分换行符(如果将文档重新保存在其中,甚至可以修复它们)。 – Nyerguds

1

设定真的存在在欢乐在其中定义该消息分离器和分段分离器中的源标签下进行连接,在HEX格式。 0x0D对于回车消息分隔符是HEX。

您显示的xml是编码消息。它不是基于ascii/text的原始hl7消息。欢乐将消息转换为基于处理的XML。

就拿HL7消息,在Notepad++打开它,如果你看到CRLF块码的,这意味着你的邮件消息中的每个段的末端具有正确的格式,如果不是你必须使用一个好消息。 ****

+0

嗨,抱歉,延迟,但我有疑问,我必须修改XML发送到欢乐连接?如果是这样?欢乐连接具有段分隔符的默认值,但没有帮助。生成的HL7中没有CR LF块。 –

+0

好的第一件事是第一件事......您的源HL7信息是XML格式还是以Ascii文本格式?如果它是XML ...然后,当你在Mirth中创建频道时,它应该能够接受xml格式的消息。您可以在创建频道时指定它并指定该讯息的格式。如果该部分完成,并且上面是输入xml消息,那么我没有看到消息本身的任何问题。 – Sid

+0

我只是将这个XML发送到一个通道,我得到了hl7中的o/p,但没有换行符。在通道源0x0D,0x13中提供了“End of Segment char”的值。但没有帮助。 –