Greetings all, I am somewhat new to Javascript and very new to HAPI so please forgive the naiveté of my question...
I am trying to develop Javascript code for use in a Rhapsody engine that will handle (loop through) multiple OBR/OBX groupings in an ORU_R01 message (HL7 v2.6). My goal is to add an OBX segment to each group if/when an OBX exists where OBX-3 = 2907 within the group. My code only seems to work on the first OBR/OBX group. In my troubleshooting I have found that using hapiMessageIn.numberOfSegmentRepeats only seems to work if the segment identified comes consecutively. For example with a message like... MSH... PID... PV1... OBR|1|... OBX|1|... OBX|2|... OBX|3|ST|2907|... OBR|2|... OBX|1|... OBX|2|... OBX|3|... OBX|4|ST|2907|... ...the countobr value from the following code block is 1, and the countobx value is 3. ... var obr_exist = hapiMessageIn.segmentExists("OBR", 0); if (obr_exist == true) { var countobr = hapiMessageIn.numberOfSegmentRepeats("OBR"); // Loop through each OBR for (var r = 0; r < hapiMessageIn.numberOfSegmentRepeats("OBR"); r++) { // Get the OBX segment count var obx_exist = hapiMessageIn.segmentExists("OBX", 0); if (obx_exist == true) { var countobx = hapiMessageIn.numberOfSegmentRepeats("OBX"); // Loop through each OBX and look for OBX-3.1 = 2907 for (var x = 0; x < hapiMessageIn.numberOfSegmentRepeats("OBX"); x++) { .... } } } ... With the countobr only being equal to 1 it never loops through/processes the second OBR/OBX grouping and therefore the output message will have the added OBX segment only in the first OBR/OBX group, like... MSH... PID... PV1... OBR|1|... OBX|1|... OBX|2|... OBX|3|ST|2907|... OBX|4|... (added OBX segment) OBR|2|... OBX|1|... OBX|2|... OBX|3|... OBX|4|ST|2907|... (no added OBX segment) Is there an issue with my syntax/use of the numberOfSegmentRepeats that may be causing this? Is there a better method you can propose to handle this scenario? Thanks in advance for your review and any suggestions you may have to resolve this issue. Upcoming OOO dates: June 27- July 15 (PTO) July 25 - 28 (Training) Aug 4 - 8 (PTO) Gregory A. White Interface Integration Engineer, Mural GE Healthcare T. +1 561 889 5673
_______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hl7api-devel