繁体   English   中英

在HL7消息中添加“〜”符号

[英]Add a '~' symbol in the HL7 message

我有HL7消息导出。 在输入中有一个字段带有波浪符号(〜)。 HL7正在将其转换为符号“ \\ R \\”

我也尝试通过使用VBScript作为'〜'字符使用ASCII值(126)导出此值,就像我现在那样。 但这也被HL7转换为“ \\ R \\”

我如何才能导出“〜”? 任何帮助,将不胜感激。

HL7在传送消息时将重复字符“〜”转义为“ \\ R \\”。 当使用该字段时,接收者应将其改回代字号。
但是,还有第二种方法可以解决该问题。 HL7允许更改编码字符。 不幸的是,并非所有的HL7引擎都支持。

此字符(〜)表示此字段可以有多个值。 考虑给定HL7消息中的此PID.3字段

12345^^^XYZ~6789^^^PQR

这意味着,该患者有2个来自不同来源的患者ID,即。 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

尝试用&#x7e;代替波浪号字符&#x7e; &#126; (十进制)。 有关此字符,请参见unicode参考

如果您已经这样做,那么这不是错误的来源。 我怀疑HL7对该字符有特殊含义。 根据该网页,它表示“字段重复分隔符”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM