簡體   English   中英

使用Mirth Connect將XML轉換為HL7消息

[英]Convert XML to HL7 messages using Mirth Connect

我正在使用Mirth Connect v2.0並且遇到一項任務,將XML轉換為HL7 v3。 我已連接到Ms-Access數據庫(醫院系統在Access中),我已設置通道並在目標選項卡中將連接器類型設置為文件編寫器。 當我部署頻道時,我可以看到日志文件中填充了XML格式的記錄,現在我仍然堅持如何將XML消息轉換/轉換為HL7。 有什么指針嗎?

在渠道摘要選項卡中

  1. 單擊“設置數據類型”並確保源入站設置為XML,源出站設置為HL7 v3,目標出站設置為HL7 v3。

  2. 在“ 源”選項卡上,單擊左側欄上的“ 編輯變換器

  3. 在左側的Edit Transformer窗口中,選擇Message Templates選項卡。

  4. 您可以使用小文件夾圖標將示例文件加載到入站出站模板中。

  5. 您可以在入站和出站模板之間拖放節點以創建轉換。

這是非常標准的Mirth東西,所以我希望我沒有過分簡化。 希望這能讓你朝着正確的方向前進。

我正在使用示例xml數據將XML轉換為hl7,您可以使用自己的。 您可以在垃圾變換器中粘貼以下代碼:

  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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM