在NTE上方移动OBX

问题描述 投票:0回答:1

我已成功使用代码将PID之后的NTE移至消息末尾

var nteGroup = getSegmentsAfter(msg,msg.PID,'NTE',true);
for (var i = nteGroup.length-1; i >= 0; i--) {
delete msg.children()[nteGroup[i].childIndex()];
msg.insertChildAfter(msg.OBX[msg.OBX.length()-1],nteGroup[i]);
}

但是很难将NTE移到每个OBX组之下。

当前是

PV1
NTE
ORC
OBR
NTE
NTE
NTE
NTE
OBX

希望成为

PV1
ORC
OBR
OBX
NTE
NTE
NTE
NTE
NTE

如果需要,很乐意分享HL7消息

mirth
1个回答
0
投票

参考https://www.mirthproject.org/community/forums/showthread.php?t=220406

代码解决方案是执行以下操作:

var nteGroup = '';
var nte_count = 0;

for each( seg in msg.children()) {
if(seg.name == 'NTE')
{
nteGroup += seg.toString();//may need to add '\n'
delete msg['NTE'][nte_count++];
}
msg += nteGroup;//may need to add '\n' on front and/or back
}
© www.soinside.com 2019 - 2024. All rights reserved.