2013-08-04 3 views
0

Я пытаюсь начать работу с Mirth Connect. хотите создать канал, который будет принимать XML и преобразовать его в HL7. В результате я хочу создавать сообщения ADT и OBR.Перевод с XML на HL7 с использованием Mirth

Может ли кто-нибудь помочь мне в этом, пожалуйста?

+0

Можете ли вы предоставить мне образец вашего входного XML сообщение. – Sid

ответ

0

делюсь своим опытом, который, как можно преобразовать XML в HL7, используя коды Javascript для трансформатора источника

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)); 

Dont forgot to create a HL& template in source outbound 

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



sample 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>