2016-10-19 4 views
1

Я получаю сообщение об ошибке msg не определяется при попытке пройти через разные сегменты OBX. В моем пункте назначения DB Writer у меня есть код
var msg = channelMap.get('msg');

но как хранить msg в трансформаторе с
channelMap.put('msg', msg)?'msg' is undefined error Mirth

Это то, что я в настоящее время в трансформаторе (JavaScript картографа):

var message = message.getRawData(); 

channelMap.put('msg', message); 

В целевой БД автор:

var msg = channelMap.get('msg'); 

Ошибка:

TypeError: Cannot call method "getRawData" of undefined;

+0

Ваш вопрос непонятен. Зачем вам вначале нужно сырое сообщение в формате HL7v2 (т. Е. В трансформаторе источника)? Глобальная переменная msg в целевом трансформаторе уже определена и содержит XML-представление вашего входящего сообщения HL7v2. Вы можете использовать его для циклического прохождения сегментов OBX, но ваш образец кода делает что-то другое. – Shamil

+0

Таким образом, без использования этих шагов, упомянутых выше, если я непосредственно пишу, если (msg ['OBX'] ['OBX.3'] ['OBX.3.1']. ToString() = '11289-6') { INITIAL_TEMPERATURE = тзд [ 'OBX'] [ 'OBX.5'] [ 'OBX.5.1'] ToString(). }, тогда я получаю сообщение об ошибке. Msg 'undefined. – jessica

+0

Вы назначаете не сравнивая значения. Попробуйте следующее: 'var INITIAL_TEMPERATURE; if ('11289-6' == msg ['OBX'] ['OBX.3'] ['OBX.3.1']. toString()) {INITIAL_TEMPERATURE = msg ['OBX'] ['OBX.5'] ['OBX.5.1']. ToString();} ' – Shamil

ответ

-1

на разъеме источника фильтры и трансформаторы, msg - заданная переменная, вы не можете (и не должны) объявлять ее (var msg) и i s not на channelMap, чтобы иметь возможность получить его (channelMap.get ('msg')), вы просто используете его: msg [...].

В пункте назначения вы можете получить сообщение, не помещая его на channelMap.