Web サービス リスナーとして設定された Mirth チャネルがあり、ID を受け取り、HL7 クエリ メッセージを作成してこのクエリを送信し、最終的に HL7 応答を返します。
- チャンネル名: QueryChanel
- ソース コネクタ タイプ: Web サービス リスナー
- 宛先コネクタ名: QueryToVista
- 宛先コネクタ タイプ:LLP 送信者。
これは、クエリから返される典型的な HL7 応答です。次のようになります。
MSH|~|\&|VAFC RECV|FACILITY|VAFC TRIGGER||20121011141136-0800||ADR~A19|58269|D|2.4|||NE|NE|USA
MSA|AA|1234|
QRD|20121011051137|R|I|500000001|||1^ICN|***500000001***|ICN|NI|
EVN|A1|20121004064809-0800||A1|0^^^^^^^^USVHA\\0363^L^^^NI^TEST FACILITY ID\050\L|20121004064809-0800|050
PID|1|500000001V075322|500000001V075322^^^USVHA\\0363^NI^VA FACILITY ID\050\L~123123123^^^USSSA\\0363^SS^TEST FACILITY ID\050\L~9^^^USVHA\\0363^PI^VA FACILITY ID\050\L||JOHN^DOE^^^^^L|""|19800502|M||""|""^""^""^""^""^^P^""^""~^^""^""^^^N|""|""|""||S|""||123123123|||""|""||||||""||
PD1|||SOFTWARE SERVICE^D^050
ZPD|1||||||||||||||||""
Source の Response From パラメータをQueryToVistaに設定すると、上記のすべてを返すことができます
ただし、上記のメッセージから値500000001のみを返したいです。QueryChanel の宛先でトランスフォーマーをいじってみましたが、成功しませんでした。
アップデート:
次のように、同じチャネルの QueryToVista コネクタの後に javascriptwriter コネクタを追加しようとしました。
var destination = responseMap.get('QueryToVista');
var responseMessage = destination.getMessage();
//Fails with following error: TypeError: Cannot read property "QRD.4" from undefined
var customack = ResponseFactory.getSuccessResponse(responseMessage['QRD']['QRD.4'] ['QRD.4.1'].toString())**
//work but send the whole HL7 message
var customack = ResponseFactory.getSuccessResponse(responseMessage.toString())**
responseMap.put('Barcode', customack);
通常の変換を使用して要素を取得できないようです。ありがとうございました。