我有一条HL7消息正在导出。有一个字段在输入中有一个tild符号(~)。HL7正在将其转换为符号"\R\“
我还尝试通过使用VBScript as I am导出'~‘字符的ASCII值(126)来导出此值。但它也被HL7转换为"\R\“
如何导出'~‘?任何帮助都将不胜感激。
发布于 2014-01-30 21:45:33
传输消息时,HL7将重复字符"~“转义为"\R\”。当使用该字段时,接收者应该将其更改回您的波浪号。
但还有另一种方法来处理这个问题。HL7允许更改编码字符。不幸的是,并不是所有的HL7引擎都支持它。
发布于 2014-01-31 17:40:22
该字符(~)表示该字段可以有多个值。考虑来自给定HL7消息的PID.3字段
12345^^^XYZ~6789^^^PQR
这意味着,患者有两个来自不同来源的患者it。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
发布于 2014-01-30 21:01:46
尝试将代字号字符替换为~或~ (十进制)。请参见此角色的unicode reference。
如果您已经这样做了,这不是错误的来源。我怀疑HL7赋予了这个字符一个特殊的含义。根据this webpage的说法,它表示“字段重复分隔符”。
https://stackoverflow.com/questions/21457041
复制相似问题