2

問題は、インバウンド メッセージ テンプレートが、指定または操作したいタイプとは異なるタイプを想定していることです。要件は、SINGLE チャネルで HL7 v2 を v3 に変換し、Web サービスを呼び出してから、SOAP の結果の XML を変換し、それを HL7 v2.x に変換して元の呼び出し元に送り返すことです。これは非同期で行う必要があります

セットアップ: 誕生チャネルの状況を考えてみましょう:

  • ソースは LLP リスナーです。タイプは HL7 v2.x です。送信者は HCIS (Health Care Information System) です。
  • ソース トランス、目前の問題とは関係ありません。
  • 4 つの目的地 (順番に):

    • Javascript Writer - コード テンプレートを呼び出してデータベース作業を行います。
    • SOAP Sender - HL7 v3 を返す Web サービスを呼び出します。
    • Javascript ライター - コード テンプレートを呼び出す少数の Transformers DB ライターが含まれています。問題はここにあります。
    • Javascript Writer - 再びコード テンプレートを呼び出します。
  • PostProcessor はカスタム確認応答を生成して HCIS に送り返します。

問題: インバウンド メッセージ テンプレートは、ソースからデータ型を継承するため、HL7 v2.x を想定しています。HL7 v3 テンプレートをアウトバウンド メッセージ テンプレートにマップする必要があります。アウトバウンド テンプレートは何にもバインドされていないため、正常に機能しています。

 tmp['PID']['PID.5']['PID.5.1'] = msg['controlActProcess']['subject']['target']['identifiedPerson']['name']['family'].toString();

受信データ型として HL7 v3 を使用して別のチャネルでこのセットアップをテストしましたが、完全に機能します。

質問: チャネルの受信データ型を継承する代わりに、Mirth に受信メッセージ テンプレートを HL7 v3 として認識させるにはどうすればよいですか?

4

2 に答える 2

1

さて、あなたが質問を投稿してから2年半後にこれを書いているので、今ではあなたは何とか対処しています. しかし、情報を利用できるようにするために、ここに返信があります。

入力が HL7 v2.x である出力コネクタがあります。E4X で操作できるように、XML 形式 (HL7 v3 は XML) の入力データが必要です。

解決策: マース コネクトはこれを自動的に処理します。コネクターにフィルターまたはトランスフォーマーがある場合、Mirth は入力メッセージを XML に変換します。このコネクターにはトランスフォーマーがあるとおっしゃっていたので、HL7 入力メッセージの XML 表現を利用できるはずです。

フィルターもトランスフォーマーも持たないチャネルを使用している場合は、条件が常に true であるフィルターを追加することで強制的に変換できます。

于 2012-02-15T17:34:50.163 に答える