[ACCEPTED]-Convert XML to HL7 messages using Mirth Connect-mirth
In the channel Summary tab
Click "Set Data Types" and 12 make sure the Source inbound is set to XML 11 and the Source outbound is set to HL7 v3 10 and the destination outbound is set to HL7 9 v3.
On the Source tab click Edit Transformer on the left sidebar
In 8 the Edit Transformer window on the left select the Message Templates tab.
You 7 can load sample files into the Inbound and Outbound templates 6 using the little folder icons.
You can drag 5 and drop nodes between the inbound and the 4 outbound templates to create your transform.
This 3 is pretty standard Mirth stuff so I hope 2 I haven't oversimplified. Hope this gets 1 you moving in the right direction.
I am converting XML into hl7 using sample 4 xml data, you can use your own. You can 3 paste the below code in soure 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)**);
Dont 2 forgot to create a HL& template in source 1 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>
You probably want to use XSLT, but the actual 10 code required will depend on your database 9 schema and how it's converted to XML. Solving 8 YOUR specific conversion problem is beyond 7 the guidelines for StackOverflow questions 6 unless you can make the question MUCH more 5 specific (i.e. "I did X, expecting Y and 4 got Z instead).
There appear to be many 3 products that will do this type of conversion. I 2 found a lot of hits Googling for "xml to 1 HL7". I suggest you start there.
If i understood your question correctly, your 4 issue is that when you process an cms file, the 3 log file written on the file server is in 2 xml format rather than in HL7. Please use 1 mirths inbuilt serializer function
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.