Configuring Connectors / Mirth Connect for Mindray |
This topic describes the transformers and its mapping information.
The below table lists the transformers name, type, and its mapping information:
Name of Transformer | Type | Mapping |
---|---|---|
SendingApplication | Mapper | msg['MSH']['MSH.3']['MSH.3.1'].toString() |
SendingFacility | Mapper | msg['MSH']['MSH.4']['MSH.4.1'].toString() |
DateTimeOfMessage | JavaScript | var datestring = DateUtil.convertDate("yyyyMMddHHmmss","MM/dd/yyyy HH:mm:ss", msg["MSH"]["MSH.7"]["MSH.7.1"].toString()); channelMap.put("DateTimeOfMessage", datestring); |
PointOfCare | Mapper | msg['PV1']['PV1.3']['PV1.3.1'].toString() |
Bed | Mapper | msg['PV1']['PV1.3']['PV1.3.3'].toString() |
UniversalSerialIndetifier | Mapper | try { var USI1 = msg['OBR']['OBR.4']['OBR.4.1'].toString();
var USI2 = msg['OBR']['OBR.4']['OBR.4.2'].toString();
var OBXForACK = msg['OBX'][4]['OBX.2']['OBX.2.1'].toString();
var AlarmAction = msg['OBX'][2]['OBX.5']['OBX.5.1'].toString();
var AcknowledgeFromMonitor = "";
if ( OBXForACK.toUpperCase() == 'CWE' ) //Coded With Exceptions { AcknowledgeFromMonitor = msg['OBX'][4]['OBX.5']['OBX.5.2'].toString();
if ( AcknowledgeFromMonitor.toUpperCase() == "ACKNOWLEDGED") { AlarmAction = "END"; } }
if ( ( USI1.toUpperCase() == "ALARM") || ( USI2.toUpperCase() == "MDC_EVT_ALARM")) { // check the alarm end condition if ( AlarmAction.toUpperCase() == "START" ) { channelMap.put('UniversalServiceIdentifier', "Alarm-Start"); } else if ( AlarmAction.toUpperCase() == "END" ) { channelMap.put('UniversalServiceIdentifier', "Alarm-End"); }
}
} catch(err) { channelMap.put('UniversalServiceIdentifier', ""); } |
AlarmLevel | Mapper | msg['OBX'][5]['OBX.5']['OBX.5.1'].toString() |
AlarmReason | JavaScript | // Get the alarm event var AlarmEvent = msg['OBX'][0]['OBX.5']['OBX.5.2'].toString();
// Get the observation var Observation = msg['OBX'][1]['OBX.3']['OBX.3.2'].toString();
// Get the required alarm reason from global map var RequiredAlarmReason = globalMap.get("RequiredAlarmReason");
// Get the required alarm reason expanded name from global map var RequiredAlarmReason_Expansion = globalMap.get("RequiredAlarmReason_Expansion");
// Get the observation code from global map var ObservationCode = globalMap.get("ObservationCode");
// Get the observation code expansion from global map var ObservationCode_Expansion = globalMap.get("ObservationCode_Expansion");
//Variable to hold alarm reason var AlarmReason = "";
if ( AlarmEvent == "MDC_EVT_LO_VAL_LT_LIM" ) { var ArrIndex = ObservationCode.indexOf(Observation);
if ( ArrIndex >= 0 ) { AlarmReason = "Low " + ObservationCode_Expansion[ArrIndex] ; } else { logger.info('Warning : Observation code not found in ObservationCode array.'); } } else if ( AlarmEvent == "MDC_EVT_HI_VAL_GT_LIM" ) { var ArrIndex = ObservationCode.indexOf(Observation);
if ( ArrIndex >= 0 ) { AlarmReason = "High " + ObservationCode_Expansion[ArrIndex] ; } else { logger.info('Warning : Observation code not found in ObservationCode array.'); } } else if ( AlarmEvent == "MNDRY_EVT_VAL_OUTSIDE_LIM") { var ArrIndex = ObservationCode.indexOf(Observation);
if ( ArrIndex >= 0 ) { AlarmReason = "Outside limit " + ObservationCode_Expansion[ArrIndex] ; } else { logger.info('Warning : Observation code not found in ObservationCode array.'); }
} //else if ( AlarmEvent == "MNDRY_EVT_PHYS_ALM_UNKNOWN_CHANNEL") //{ //TBD //} else { var ArrIndex = RequiredAlarmReason.indexOf(AlarmEvent); AlarmReason = RequiredAlarmReason_Expansion[ArrIndex]; } channelMap.put('AlarmReason', AlarmReason); |
Action | JavaScript | try { var AlarmAction = msg['OBX'][2]['OBX.5']['OBX.5.1'].toString();
var OBXForACK = msg['OBX'][4]['OBX.2']['OBX.2.1'].toString();
var AcknowledgeFromMonitor = "";
if ( OBXForACK.toUpperCase() == 'CWE' ) //Coded With Exceptions { AcknowledgeFromMonitor = msg['OBX'][4]['OBX.5']['OBX.5.2'].toString();
if ( AcknowledgeFromMonitor.toUpperCase() == "ACKNOWLEDGED") { AlarmAction = "END";
logger.info('Alarm acknowledgement received from monitor.'); } }
// check the alarm end condition if ( AlarmAction.toUpperCase() == "END" ) { channelMap.put('Action', 'Cancel'); } else { channelMap.put('Action', ''); } } catch(err) { channelMap.put('Action', ''); logger.error("Alarm end action not found."); } |
Vital | JavaScript | //variable to hold param value var paramValue = "";
try { // check if there is any vital ( numeric )value if ( msg['OBX'][1]['OBX.2']['OBX.2.1'].toString().toUpperCase() == "NM") { paramValue = " " +msg['OBX'][1]['OBX.5']['OBX.5.1'].toString(); }
channelMap.put('Vital', paramValue); } catch(err) { logger.error('Vital' + err.message); } |
Site | JavaScript | var Site = "";
try { // Get site (sending facility)from the MSH segment var MSHSendingFacility = msg['MSH']['MSH.4']['MSH.4.1'].toString();
//logger.info('MSHSendingFacility =>' + MSHSendingFacility);
if ( MSHSendingFacility != null && MSHSendingFacility.length > 0 ) { Site = MSHSendingFacility.trim(); }
// Get site (sending facility)from the PV1 segment var PV1SendingFacility = msg['PV1']['PV1.3']['PV1.3.4'].toString();
// Try to get site name from PV1 segment if ( PV1SendingFacility != null && PV1SendingFacility.length > 0 ) { Site = PV1SendingFacility.trim(); } //logger.info('PV1SendingFacility =>' + Site);
channelMap.put('Site', Site); } catch(err) { logger.error('message' + err.message);
channelMap.put('Site', Site); } |