2013-01-11 76 views
0

我在轉換HL7消息時遇到了問題。它得到了一個N​​TE段,其中包含字符串類型的重複字段。變色龍:爲什麼重複的評論被截斷?

例如:

MSH|^~\&|HOST||TD-SYN||201207031000||ORU^R01|0017|P|2.3 
PID|1||0001| 
NTE|||Comment 1~Comment 2~Comment3 

會發生什麼後的圖形變換,NTE只是需要註釋1和的重複意見其餘的被忽略。

MSH|^~\&|HOST||TD-SYN||201207031000||ORU^R01|0017|P|2.3 
PID|1||0001| 
NTE|||Comment 1| 

我試着將NTE段的語法的「Repeats」字段設置爲10,但沒有什麼區別。另外,沒有腳本正在操縱NTE的這個字段,所以我不知道爲什麼它會這樣截斷它。有人能告訴我發生了什麼事嗎?

回答

0

我剛剛從文檔中找到答案。它實際上並未被截斷。 「value」的默認值是可重複字段中的第一個元素。因此,我所要做的就是通過field.repeat_field(index).value訪問重複字段。 :)

1

很高興你發現它。就像一般的幫助一樣,有時使用HAPI TestPanel轉換成XML,那麼你很清楚如何遍歷你的HL7元素。然後你也知道你是否使用了正確的HL7結構。

在NTE <NTE.3>第三元素的例子:

<?xml version="1.0" encoding="UTF-8"?> 
<ORU_R01 xmlns="urn:hl7-org:v2xml"> 
    <MSH> 
     <MSH.1>|</MSH.1> 
     <MSH.2>^~\&amp;</MSH.2> 
     <MSH.3> 
      <HD.1>HOST</HD.1> 
     </MSH.3> 
     <MSH.5> 
      <HD.1>TD-SYN</HD.1> 
     </MSH.5> 
     <MSH.7> 
      <TS.1>201207031000</TS.1> 
     </MSH.7> 
     <MSH.9> 
      <CM_MSG.1>ORU</CM_MSG.1> 
      <CM_MSG.2>R01</CM_MSG.2> 
     </MSH.9> 
     <MSH.10>0017</MSH.10> 
     <MSH.11> 
      <PT.1>P</PT.1> 
     </MSH.11> 
     <MSH.12>2.3</MSH.12> 
    </MSH> 
    <ORU_R01.RESPONSE> 
     <ORU_R01.PATIENT> 
      <PID> 
       <PID.1>1</PID.1> 
       <PID.3> 
        <CX.1>0001</CX.1> 
       </PID.3> 
      </PID> 
      <NTE> 
       <NTE.3>Comment 1</NTE.3> 
       <NTE.3>Comment 2</NTE.3> 
       <NTE.3>Comment3</NTE.3> 
      </NTE> 
     </ORU_R01.PATIENT> 
    </ORU_R01.RESPONSE> 
</ORU_R01> 
+0

看起來很像變色龍太...:d – Owen