我有一个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汇总或在配置某处进行。 –