2013-07-19 93 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」的值。但沒有幫助。 –