1

HL7 メッセージをエクスポートしています。入力にチルド記号 (~) を持つフィールドが 1 つあります。HL7 はそれを記号 "\R\" に変換しています

また、VBScript を使用して '~' 文字に ASCII 値 (126) を使用して、この値をエクスポートしようとしました。しかし、これも HL7 によって "\R\" に変換されました。

「~」をエクスポートするにはどうすればよいですか? 任意のヘルプをいただければ幸いです。

4

3 に答える 3

5

HL7 は、メッセージを転送するときに、繰り返し文字 "~" を "\R\" にエスケープします。そのフィールドで作業する場合、受信者はチルダに戻る必要があります。
しかし、この問題に対処する 2 つ目の方法があります。HL7 では、エンコーディング文字を変更できます。残念ながら、すべての HL7 エンジンがそれをサポートしているわけではありません。

于 2014-01-30T13:45:33.257 に答える
5

この文字 (~) は、このフィールドが複数の値を持つことができることを表します。特定の 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

于 2014-01-31T09:40:21.980 に答える
1

&#x7e;チルダ文字をor &#126;(10 進数)に置き換えてみてください 。この文字については、Unicode リファレンスを参照してください。

すでに実行している場合、これはエラーの原因ではありません。それHL7がこのキャラクターに特別な意味を与えているのではないかと思います。このWebページによると、それは「フィールドリピートセパレーター」を示​​しています。

于 2014-01-30T13:01:45.763 に答える