我有一个HL7消息导出。 有一个字段在输入中有一个tild符号(〜)。 HL7将其转换为符号“\ R \”
我也尝试使用VBScript作为'〜'字符的ASCII值(126)导出此值。 但这也被HL7转换为“\ R \”
如何导出'〜'? 任何帮助将不胜感激。
答案 0 :(得分:5)
HL7在传输消息时将重复字符“〜”转义为“\ R \”。当使用该字段时,接收器应该改回到你的波浪号 但还有第二种方法可以解决这个问题。 HL7允许更改编码字符。不幸的是,并非所有HL7引擎都支持这一点。
答案 1 :(得分:4)
此字符(〜)表示此字段可以包含多个值。 考虑来自给定HL7消息的此PID.3字段
12345^^^XYZ~6789^^^PQR
这意味着,患者有2名患者来自不同来源,即患者。 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
答案 2 :(得分:1)
尝试用~
或~
(十进制)替换波形符。
有关此字符,请参阅unicode reference。
如果您已经这样做了,那么这不是错误的来源。我怀疑HL7
对这个角色有特殊意义。根据{{3}},它表示“场重复分离器”。