2014-02-20 3 views
4

Я хочу использовать JSON в качестве входного сигнала канала mirth и выводить как информацию Сохранить в db или Создать сообщение HL7.Json Parsing in Mirth OR Json in Mirth OR HL7 to JSON in Mirth

Вкратце Вход как JSON Проанализируйте его и выведите как любой формат.

ответ

5
var object = {}; 

//Create JSON Object from HL7 Message. 
object.mrn = msg['PID']['PID.3']['PID.3.1'].toString(); 
object.firstName = msg['PID']['PID.5']['PID.5.2'].toString(); 
object.lastName = msg['PID']['PID.5']['PID.5.1'].toString(); 
object.dob = msg['PID']['PID.7']['PID.7.1'].toString(); 
object.ssn = msg['PID']['PID.19']['PID.19.1'].toString(); 

//Create string from JSON Object. 
var objjson = JSON.stringify(object); 
logger.info(objjson); 

//Create Json Object From JSON string. 
var tt = JSON.parse(objjson); 

Выход

{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"} 

HL7Message Образец

MSH|^~\&|ADT1|SHM|SHMADT|SHM|200812091126|SECURITY|ADT^A01^ADT_A01|MSG00001|P|2.5| 
EVN|A01|200812091126|| 
PID|1|1001|1001^5^M11^ADT1^MR^SHM||OHALLAHAN^COLLEEN^^||19850704|F||2106-3|1200 N ELM STREET^^NEWPORT BEACH^CA^92660-1020^US^H|OC|(949) 555-1234|(949) 555-5678||S||PATID1001^2^M10^ADT1^AN^A|123456789|U1234567^CA| 
NK1|1|OHALLAHAN^BRITTANY^M|SIS^SISTER||||N^NEXT-OF-KIN 
PV1|1|I|2000^2012^01||||001122^ZOIDBERG^JOHN^|||SUR||||1|A0| 
0

Чтобы получить JSON в качестве входа в весельем канал, установите входящий тип данных, как текст с разделителями и в процессоре предварительного канала создают JSon объект из полученного сообщения и вернуть объект json.

использовать объект json, чтобы получить информацию и сохранить в некоторых переменных и использовать запись DB для сохранения в db. Чтобы создать сообщение hl7, mirth предоставляет несколько функций, таких как createSegment (seg name, index), чтобы легко создать собственное сообщение hl7.

3

As Per @Debugger, Если кому-то нужен файл json в качестве источника ввода/источника, попробуйте это решение.

Mirth канала

  • Inbound Тип данных, как текст с разделителями

  • Исходящий DataType в Мусор

Сделать JavaScript Тип назначения и запись ниже код в трансформаторе:

//Create Json Object From JSON string. 
var objJson = JSON.parse(messageObject.getRawData()); 

logger.info(objJson.propertyName); 

Вход:

{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"} 

Выход:

logger.info(objJson.firstName); 

COLLEEN 

Примечание:

Используйте connectorMessage.getRawData() вместо messageObject.getRawData() для версии Mirth 3.0+.

5

Я разбирал эту страницу и нашел ваш код Rikin patel. Фактически, когда вы создаете объект и показываете его, он может отображаться на консоли как данные JSON, когда при просмотре вашего вывода будет нормальный формат XML. Но вместо объекта при использовании Сообщи, как показано ниже:

msg = JSON.stringify(object); //converting msg into JSON object 
logger.info("json data:" + msg); //displaying the JSOn message 

Вы найдете данные модифицируются на выходе.

+0

Не устанавливайте переменную msg, так как это системная переменная, которая содержит формат XML-типа. Если вы хотите использовать объект 'JSON', тогда создайте новую глобальную/локальную переменную, чтобы установить объект' JSON'. И еще одна вещь ваша переменная объекта должна быть объектом 'JSON' –

+0

хороший ответ ... спас мой день – Abi