I am trying to add multiple NTE lines to the end of HL7 messages using Mirth. I can add a single line using for example:
tmp=msg;
msg['NTE']['NTE.1']="1".toString();
msg['NTE']['NTE.3']="Performed at 123 Radiology".toString();
But...
When I want to add a line below that:
msg['NTE']['NTE.1']="2".toString();
msg['NTE']['NTE.3']="123 Radiology Drive STE 100".toString();
I can't just use the tmp=msg because it will simply overwrite the previous line.
In the end I am trying to add something like this to the end of the message:
NTE|1||Test performed at Radiology Imaging
NTE|2||123 Test Road
NTE|3||Chicago, IL 55555
The content is static, I just need to understand how to create each line separately.
I'm not sure why you need (in this particular example) to assign outbound template to inbound - Mirth will do that for you anyway.
The code to produce the required result may be like this:
var segCount = 0;
createSegment('NTE', msg);
msg['NTE'][segCount]['NTE.1']['NTE.1.1'] = segCount;
msg['NTE'][segCount]['NTE.3']['NTE.3.1'] = "Test performed at Radiology Imaging";
createSegmentAfter('NTE', msg['NTE'][segCount]);
msg['NTE'][++segCount]['NTE.1']['NTE.1.1'] = segCount;
msg['NTE'][segCount]['NTE.3']['NTE.3.1'] = "123 Test Road";
createSegmentAfter('NTE', msg['NTE'][segCount]);
msg['NTE'][++segCount]['NTE.1']['NTE.1.1'] = segCount;
msg['NTE'][segCount]['NTE.3']['NTE.3.1'] = "Chicago, IL 55555";
If you pass the required data as an array, you may loop and simplify this code even further. I left it in this expanded way for clarity.