Issue Encountered When Calling getValueAt() on ORU_R01 HL7 Message to XML Conversion
I'm facing an issue while converting an ORU_R01 HL7 message to XML, specifically with the <pidgrpgrp> kind elements. When I use the getvalueat()
method before conversion, the XML includes the <pidgrpgrp> and other <grp> elements, but when I don't use the getvalueat()
method, the XML is generated without these <grp>elements.
I've attempted to debug the issue using zwrite
on the HL7 message before and after calling getvalueat()
. Before calling it, the content appears different, and after calling it, the content shows buildmap=1
, etc.Please see the xml generated in 2 cases.
Has anyone encountered a similar issue or have any insights into why this might be happening? Any suggestions on how to resolve this would be greatly appreciated.
XML without GetvalueAt()
<ORU_R01>
<MSH></MSH>
<PID></PID>
<PV1><PV1.AssignedPatientLocation><PV1.AssignedPatientLocation.1><PV1.AssignedPatientLocation.1.1>10002</PV1.AssignedPatientLocation.1.1></PV1.AssignedPatientLocation.1><PV1.AssignedPatientLocation.4><PV1.AssignedPatientLocation.4.1>DGP</PV1.AssignedPatientLocation.4.1><PV1.AssignedPatientLocation.4.2>GP</PV1.AssignedPatientLocation.4.2></PV1.AssignedPatientLocation.4><PV1.AssignedPatientLocation.9><PV1.AssignedPatientLocation.9.1>Monifieth Health Centre</PV1.AssignedPatientLocation.9.1></PV1.AssignedPatientLocation.9></PV1.AssignedPatientLocation><PV1.ConsultingDoctor><PV1.ConsultingDoctor.1><PV1.ConsultingDoctor.1.1>STED1G</PV1.ConsultingDoctor.1.1></PV1.ConsultingDoctor.1><PV1.ConsultingDoctor.2><PV1.ConsultingDoctor.2.1>STEWART, D.P.</PV1.ConsultingDoctor.2.1></PV1.ConsultingDoctor.2></PV1.ConsultingDoctor><PV1.HospitalService><PV1.HospitalService.1><PV1.HospitalService.1.1>E12</PV1.HospitalService.1.1></PV1.HospitalService.1></PV1.HospitalService><PV1.PatientType><PV1.PatientType.1><PV1.PatientType.1.1>NHS</PV1.PatientType.1.1></PV1.PatientType.1></PV1.PatientType></PV1>
<ORC>..</ORC>
<OBR>..</OBR>
<OBX></OBX>
</ORU_R01>
XML with GetValueAt() called
<ORU_R01>
<MSH></MSH>
<PIDGrpgrp>
<PIDgrp>
<pid></pid>..
</pidgrp></pidgrpgrp>
...
</ORU_R01>
Have you tried this package to parse HL7 from ER7 format to XML (and viceversa)?
https://openexchange.intersystems.com/package/Healthcare-HL7-XML