質問

Mirth Connect v2.0で作業しており、1つのタスク、XMLのHL7 V3への変換にとどまります。 MS-Accessデータベース(病院システムがアクセスしている)に接続し、チャンネルを設定し、[宛先]タブにライターをファイルするコネクタタイプを設定しました。チャンネルを展開すると、ログファイルにXML形式のレコードが入力されていることがわかります。これで、XMLメッセージをHL7に変換/変換する方法が表示されます。そこにポインターはありますか?

役に立ちましたか?

解決

チャンネルで 概要 タブ

  1. データ型の設定]をクリックし、ソースインバウンドがXMLに設定され、ソースアウトバウンドがHL7 V3に設定され、宛先のアウトバウンドがHL7 V3に設定されていることを確認します。

  2. ソース クリック]をクリックします トランスを編集します 左側のサイドバー

  3. の中に トランスを編集します 左側のウィンドウを選択します メッセージテンプレート タブ。

  4. サンプルファイルをにロードできます インバウンドアウトバウンド 小さなフォルダーアイコンを使用したテンプレート。

  5. インバウンドテンプレートとアウトバウンドテンプレートの間にノードをドラッグアンドドロップして、変換を作成できます。

これはかなり標準的な奇跡のものなので、単純化しすぎていないことを願っています。これがあなたが正しい方向に動くようになることを願っています。

他のヒント

サンプルXMLデータを使用してXMLをHL7に変換しています。独自のデータを使用できます。 Soule Transformerの以下のコードを貼り付けることができます。

  var length = msg['orderList']['order'].length();
   var rcount = 0;
   for(var i=0;i<length;i++)
   {
    var SEG = new XML("<OBR/>");
    SEG['OBR.1']['OBR.1.1']=i+1;
    SEG['OBR.16']['OBR.16.1']=msg['orderList']['order'][i]['provider'].toString();
    tmp['OBR'][i]=SEG;
    var reslen = msg['orderList']['order'][i]['result'].length();
    logger.info(reslen);
    for(var j=0;j<reslen;j++)
    {
        var RSEG = new XML("<OBX/>");
        RSEG['OBX.1']['OBX.1.1'] = rcount;
        RSEG['OBX.3']['OBX.3.1'] = msg['orderList']['order'][i]['result'][j]['resultcode'].toString();
        RSEG['OBX.3']['OBX.3.2']=msg['orderList']['order'][i]['result'][j]['text'].toString();
        RSEG['OBX.7'] = msg['orderList']['order'][i]['result'][j]['range'].toString();
        RSEG['OBX.6']['OBX.6.2'] = msg['orderList']['order'][i]['result'][j]['unit'].toString();
        tmp['OBX'][rcount]=RSEG;
        rcount++;
    }
}
logger.info(**SerializerFactory.getSerializer('HL7V2').fromXML(tmp)**);

ソースアウトバウンドでHL&テンプレートを作成するのを忘れないでください

**MSH|^~\&|||||||||
PID|||||||||||||||||||||||||||
ORC|||||||||||||||||||**

サンプルXML

<PatientOrder>
<patient>
<name><fullname>XXXXXXXXXXX, XXXX.</fullname><firstname>XXXXX</firstname><lastname>XXXXX</lastname></name>
<address>
<address1>XXXXXX XXXX XXXX Med XXXX</address1><address2>Information XXXXX Fl</address2><address3>XXXX XXXX St  </address3><address4>XXXXXX XXXXXX, XX XXXXX</address4><telephone>XXX/XXXX-XXXX</telephone><fax>XXX/XXX-XXX</fax><latitude>X2.XXXXX</latitude><longitude>-X1.XXXXX</longitude></address>
</patient>
<orderList>
 <order>
    <provider>57423</provider>
    <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
        <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
    </order>
<order>
    <provider>57423</provider>
    <result>result
            <resultcode>7685-1</resultcode>
            <text>Hemoglobin test2</text>
            <resultdate></resultdate>
            <range>3to52</range>
            <unit>mg</unit>
        </result>
    </order>
</orderList>
</PatientOrder>

おそらくXSLTを使用する必要がありますが、必要な実際のコードは、データベーススキーマとXMLへの変換方法によって異なります。特定の変換の問題を解決することは、質問をより具体的にすることができない限り、Stackoverflowの質問のガイドラインを超えています(つまり、Xをしました、Yを期待し、Zを取得します)。

このタイプの変換を行う製品がたくさんあるようです。 「XMLからHL7」のグーグルで多くのヒットを見つけました。そこから始めることをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top