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
[email protected]
https://lists.sourceforge.net/lists/listinfo/hl7api-devel