我正在尝试使用Mirth将多个NTE行添加到HL7消息的末尾。我可以使用例如:
添加一行tmp=msg;
msg['NTE']['NTE.1']="1".toString();
msg['NTE']['NTE.3']="Performed at 123 Radiology".toString();
但是...
当我想在下面添加一行时:
msg['NTE']['NTE.1']="2".toString();
msg['NTE']['NTE.3']="123 Radiology Drive STE 100".toString();
我不能只使用tmp = msg,因为它只会覆盖前一行。
最后,我试图在消息的末尾添加这样的内容:
NTE|1||Test performed at Radiology Imaging
NTE|2||123 Test Road
NTE|3||Chicago, IL 55555
内容是静态的,我只需要了解如何分别创建每一行。
答案 0 :(得分:4)
我不确定您为什么需要(在此特定示例中)将出站模板分配给入站 - 无论如何,Mirth将为您执行此操作。
产生所需结果的代码可能是这样的:
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";
如果将所需数据作为数组传递,则可以进一步循环并简化此代码。为了清楚起见,我以这种扩展方式离开了它。
答案 1 :(得分:0)
你可以简单地做一些......
var segmentCount = 0;
var nteSegment = createSegment('NTE', msg, segmentCount++);
nteSegment[NTE.1][NTE.1.1] = "1";
nteSegment[NTE.3][NTE.3.1] = "Performed at 123 Radiology".toString();
var nteSegment2 = createSegment('NTE', msg, segmentCount++);
nteSegment2[NTE.1][NTE.1.1] = "2";
nteSegment2[NTE.3][NTE.3.1] = "123 Radiology Drive STE 100".toString();
或者您可以创建循环并从列表中添加内容。