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