I would like to use mirth in the following scenario: 1. Receive a xml file 2. Change value of a tag if this tag has a specific value 3. Outbound the resulting xml
So i've in mirth a filereader inbound connector and a filewriter outbound connector. How can i transform this xml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<R>
<NDOSM />
<NADM>20060552</NADM>
<DATECONS>20200205</DATECONS>
<PRODNR />
<PRODUCTID>1602235</PRODUCTID>
<PRODUCTDESC>relaxine compr. pellic. 500 mg</PRODUCTDESC>
<QTY>1.0</QTY>
<PARSTOCKID>ethilog</PARSTOCKID>
<PRIX />
<STUPNR />
<MEDNR>16822372</MEDNR>
<CODEIDENTIFICATION />
<SERIALNO />
<NOMARGE />
<PATIENTNAME>CLINT</PATIENTNAME>
<PATIENTLASTNAME>EASTWOOD</PATIENTLASTNAME>
<DATEOFBIRTH>19420910</DATEOFBIRTH>
<LOTNR />
<SERVICE />
<SERVICEDIST>160</SERVICEDIST>
<KEYFROMPM>20200205163309_05604132</KEYFROMPM>
<TYPEMOUVEMENT>PREDISPOSITION</TYPEMOUVEMENT>
<ANNULATION>N</ANNULATION>
<PARSTOCKID-DOTATION />
<COMMENTAIREMVT />
</R>
in this one
<?xml version="1.0" encoding="ISO-8859-1" ?>
<R>
<NDOSM />
<NADM>20060552</NADM>
<DATECONS>20200205</DATECONS>
<PRODNR />
<PRODUCTID>1602235</PRODUCTID>
<PRODUCTDESC>relaxine compr. pellic. 500 mg</PRODUCTDESC>
<QTY>1.0</QTY>
<PARSTOCKID>51</PARSTOCKID>
<PRIX />
<STUPNR />
<MEDNR>16822372</MEDNR>
<CODEIDENTIFICATION />
<SERIALNO />
<NOMARGE />
<PATIENTNAME>CLINT</PATIENTNAME>
<PATIENTLASTNAME>EASTWOOD</PATIENTLASTNAME>
<DATEOFBIRTH>19420910</DATEOFBIRTH>
<LOTNR />
<SERVICE />
<SERVICEDIST>160</SERVICEDIST>
<KEYFROMPM>20200205163309_05604132</KEYFROMPM>
<TYPEMOUVEMENT>PREDISPOSITION</TYPEMOUVEMENT>
<ANNULATION>N</ANNULATION>
<PARSTOCKID-DOTATION />
<COMMENTAIREMVT />
</R>
I must change inbound xml only if value of tag PARSTOCKID is ethilog. In this case, i've to replace ethilog by 51. I've tried a couple of thing without success :(
Thanks
This is pretty straightforward to do with a javascript step in mirth.
if (msg.PARSTOCKID.toString() == 'ethilog') {
msg.PARSTOCKID = '51';
}