我有一個HL7消息導出。 有一個字段在輸入中有一個tild符號(〜)。 HL7正在將它轉換爲符號「\ R \」在HL7消息中添加'〜'符號
我也嘗試使用VBScript爲'〜'字符使用ASCII值(126)導出此值,因爲我是。 但是,這也被HL7轉換爲「\ R \」
如何獲取'〜'導出? 任何幫助,將不勝感激。
我有一個HL7消息導出。 有一個字段在輸入中有一個tild符號(〜)。 HL7正在將它轉換爲符號「\ R \」在HL7消息中添加'〜'符號
我也嘗試使用VBScript爲'〜'字符使用ASCII值(126)導出此值,因爲我是。 但是,這也被HL7轉換爲「\ R \」
如何獲取'〜'導出? 任何幫助,將不勝感激。
嘗試用~
或~
(十進制)替換波浪號字符。 查看unicode reference這個角色。
如果您已經這樣做了,這不是錯誤的根源。我懷疑HL7
賦予這個角色特殊的含義。根據this webpage它表示一個「場重複分離器」。
傳送消息時,HL7將重複字符「〜」轉義爲「\ R \」。在使用該字段時,接收器應該變回到您的代字號。
但還有第二種方法來處理這個問題。 HL7允許更改編碼字符。不幸的是,並非所有的HL7引擎都支持這一點
該字符(〜)表示該字段可以有多個值。 從一個給定的消息HL7
12345^^^XYZ~6789^^^PQR
它意味着什麼的是,所述患者具有2個患者ID不同來源即未來考慮此PID.3字段。 XYZ和PQR。這是(〜)字符在功能上的含義。
如果我去的聲明在問題體,我相信你想達到的(〜)的功能。
要做到這一點,請嘗試以下過程。我不知道VBScript,所以我不能給你代碼,但是我有一些相同的Javascript代碼,我想你可以在VBScript上模仿它。我會把這個任務交給你。
//Calculates number of current repetitions by counting the length
var pidfieldlen=msg.PID['PID.3'].length();
//Store the last field node
var lastpidnode=msg['PID']['PID.3'][pidfieldlen-1]; //If length is 5,node index is 4
//Create new pid field and append with last pid node
var newpidfield=<PID.3/> //Creating new separate element for PID.3
newpidfield['PID.3.1']="567832" //Adding Field Values
newpidfield['PID.3.4']="NEW SOURCE"
lastpidnode.appendChild(newpidfield) //Adding above created to the last node
這將改變PID.3到
12345^^^XYZ~6789^^^PQR~567832^^^NEW SOURCE
是的,我認爲這些變化是在HL7彙總或在配置某處進行。 –