Добавление нескольких сегментов NTE в сообщение HL7 с помощью Mirth

Я пытаюсь добавить несколько строк NTE в конец сообщений HL7 с помощью Mirth. Я могу добавить одну строку, например:

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

Контент статичен, мне просто нужно понять, как создавать каждую строку отдельно.


person user2201142    schedule 24.02.2015    source источник


Ответы (2)


Я не уверен, зачем вам (в этом конкретном примере) назначать исходящий шаблон для входящего - 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";

Если вы передадите требуемые данные в виде массива, вы можете еще больше упростить этот код в цикле. Я оставил это расширенным способом для ясности.

person Shamil    schedule 25.02.2015
comment
Если вам нравится ответ, вам также может понравиться электронная книга Unofficial Mirth Connect v3.x Developer's Guide, которую можно загрузить по адресу - mirthconnect.shamilpublishing.com - person Shamil; 28.03.2015

Вы можете просто сделать что-нибудь вроде ...

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();

Или вы можете создать цикл и добавить контент из списка.

person Prashant    schedule 07.06.2016