Sidebar

Iterate NK1 and do table lookup

0 votes
413 views
asked Jun 12, 2017 by cliff-s-2873 (240 points)
edited Jun 12, 2017 by brandon-w-8204

I'm needing to iterate through NK1 segments and replace NK1-3 with a table lookup entry but I can't get it to pull in the value correctly.

Here is what I have so far:

var value = source.getAllNodes('NK1');
for (var i=0 ; i < value.length ; i++) {
   message.setNode('NK1['+(i+1)+']-7', "EC");
   //var value2 = qie.doTableLookup(value, value2, 'Next of Kin', 'Column 1', 'Column 2');
   message.setNode('NK1['+(i+1)+']-3', qie.doTableLookup(value + [i], value, 'Next of Kin', 'Column 1', 'Column 2'));

The value pulled in to NK1-3 is : Ljava.lang.String@....

Can someone let me know what I have incorrect?

 

Thank you

commented Jun 12, 2017 by cliff-s-2873 (240 points)
Thank you Brandon!

1 Answer

+1 vote
 
Best answer

Here is how you can iterate over the NK1 segments. The key is your getting the entire NK1 segment so you have to parse each segment back to an HL7 message to be able to get values from it.

 

var value = message.getAllNodes('NK1');
for (var i=0 ; i < value.length ; i++) {
   var nk1 = qie.parseHL7String(value[i]);
   message.setNode('NK1['+(i+1)+']-7', "EC");
   //var value2 = qie.doTableLookup(value, value2, 'Next of Kin', 'Column 1', 'Column 2');
   message.setNode('NK1['+(i+1)+']-3', qie.doTableLookup(nk1.getNode('NK1-3'), nk1.getNode('NK1-3'), 'Next of Kin', 'Column 1', 'Column 2'));
}var value = message.getAllNodes('NK1');
for (var i=0 ; i < value.length ; i++) {
   var nk1 = qie.parseHL7String(value[i]);
   message.setNode('NK1['+(i+1)+']-7', "EC");
   //var value2 = qie.doTableLookup(value, value2, 'Next of Kin', 'Column 1', 'Column 2');
   message.setNode('NK1['+(i+1)+']-3', qie.doTableLookup(nk1.getNode('NK1-3'), nk1.getNode('NK1-3'), 'Next of Kin', 'Column 1', 'Column 2'));
}

answered Jun 12, 2017 by brandon-w-8204 (33,170 points)
selected Jun 12, 2017 by cliff-s-2873
...