1.2k questions

1.4k answers

361 comments

339 users

Categories

Sidebar
0 votes
585 views
by cliff-s-2873 (240 points)
edited 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

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'));
}

by brandon-w-8204 (34.1k points)
selected by cliff-s-2873
...