How to reference XML fields in repeating segments

lundi 20 octobre 2014

I am new to Mirth and am having problems locating the right syntax for what I am trying to do. I am trying to code for a repeating segment that has repeating fields and non-repeating fields. I am not clear what the syntax should be for non-repeating fields (SetID, Relationship). I have spent hours looking through posts on the forum without any luck.



xml =

<NK1>

<SetID/>

<NextOfKinNames>

<NextOfKinName>

<LastName/>

<GivenName/>

<FurtherGiven/>

<NameTypeCode/>

</NextOfKinName>

</NextOfKinNames>

<Relationship>

<Identifier/>

<RelationshipText/>

<CodingSystem/>

</Relationship>

<NextOfKinAddresses>

<NextOfKinAddress>

<StreetAddress/>

<OtherDestination/>

<City/>

<Zip/>

<AddressType/>

</NextOfKinAddress>

</NextOfKinAddresses>

<NextOfKinPhoneNumbers>

<NextOfKinPhoneNumber>

<UseCode/>

<EquipmentStyle/>

<EmailAddress/>

<AreaCode/>

<LocalNumber/>

</NextOfKinPhoneNumber>

</NextOfKinPhoneNumbers>

</NK1>;





for each (var nextOfKinSeg in msg.children()){

if (nextOfKinSeg.name().toString() != "NK1"){

continue;

}

else{





i = 0;

for each (var nk1Name in nextOfKinSeg['NextOfKinNames'].children()){



if (i > 0){

nextOfKinName[y] += '~' + nk1Name['LastName'].toString();

nextOfKinName[y] += '^' + nk1Name['GivenName'].toString();

nextOfKinName[y] += '^' + nk1Name['FurtherGiven'].toString();

nextOfKinName[y] += '^^^';

nextOfKinName[y] += '^' + nk1Name['NameTypeCode'].toString();

}else{

nextOfKinName[y] = nk1Name['LastName'].toString();

nextOfKinName[y] += '^' + nk1Name['GivenName'].toString();

nextOfKinName[y] += '^' + nk1Name['FurtherGiven'].toString();

nextOfKinName[y] += '^^^';

nextOfKinName[y] += '^' + nk1Name['NameTypeCode'].toString();

}

// logger.info(nk1Name['LastName'].toString());

// logger.info(y);



i++;

}

i = 0;





How to reference XML fields in repeating segments

0 commentaires:

Enregistrer un commentaire