web stats
Modify Response From Receiving System - Mirth Community

Go Back   Mirth Community > Mirth Connect > Support

Reply
 
Thread Tools Display Modes
  #1  
Old 11-04-2019, 12:57 PM
JBB JBB is offline
What's HL7?
 
Join Date: Oct 2019
Location: Saginaw, MI
Posts: 2
JBB is on a distinguished road
Default Modify Response From Receiving System

Hello, new to MIrth (2 Days).
Building a Query response connector.
How do I pull the value from PID.3.1 to another segment (See RED code ine below)?


This is the ACK from the EMR - NO PHI TEST Patient
MSH|^~\&|||||20191104140617||ADR^A19|99|T|2.3||||| |||||
MSA|AA|1182112391-00000001|
QRD|20171018|R|I|20171018161533|||1|1160005^^^^^^^ ^^^^COV|DEM
PID|1||1160005^^^COV^COV||ZZZCLIN DOC^GILBERT||19560402|M|||00000 WEST ELM^^SAGINAW^MI^48603^US^^^SAGINAW|SAGINAW|(989)99 9-9999^^7||||||000-00-0000|||||N||||||N|
PV1|1




Mirth Connect Server 3.8.1




// This script executes once after a message has been processed
// Responses returned from here will be stored as "Postprocessor" in the response map
new ACKGenerator();
var serializer = SerializerFactory.getSerializer('HL7V2');
var ack = new XML(serializer.toXML(ACKGenerator().generateAckRes ponse(message.getConnectorMessages().get(0).getRaw Data(),'AA','')));
ack.MSH['MSH.9']['MSH.9.1'] = "QBP";
ack.MSH['MSH.9']['MSH.9.2'] = "Q22";
ack.MSH['MSH.9']['MSH.9.3'] = "QBP_Q21";
ack.MSH['MSH.12']['MSH.12.1'] = "2.5";
//Build QAK - GE VC150
ack.QAK['QAK.1']['QAK.1.1'] = "EPIC721 Query";
ack.QAK['QAK.2']['QAK.2.1'] = "OK";
ack.QAK['QAK.4']['QAK.4.1'] = "1";
ack.QAK['QAK.5']['QAK.5.1'] = "1";
ack.QAK['QAK.6']['QAK.6.1'] = "0";
//Build QPD - GE VC150
ack.QPD['QPD.1']['QPD.1.1'] = "EPIC PDQ Query";
ack.QPD['QPD.2']['QPD.2.1'] = "EPIC721 Query";
ack.QPD['QPD.3']['QPD.3.1'] = "@PID.3.1";
//Can't Get This Line to Work
ack.QPD['QPD.3']['QPD.3.2'] = ack.PID['PID.3']['PID.3.1'];
Reply With Quote
  #2  
Old 11-13-2019, 11:08 AM
JBB JBB is offline
What's HL7?
 
Join Date: Oct 2019
Location: Saginaw, MI
Posts: 2
JBB is on a distinguished road
Default

Figured it out

In the Destination Response Transformer

Code:
tmp['MSH']['MSH.3']['MSH.3.1'] = msg['MSH']['MSH.3']['MSH.3.1'].toString();
tmp['MSH']['MSH.4']['MSH.4.1'] = msg['MSH']['MSH.4']['MSH.4.1'].toString();
tmp['MSH']['MSH.5']['MSH.5.1'] = msg['MSH']['MSH.5']['MSH.5.1'].toString();
tmp['MSH']['MSH.6']['MSH.6.1'] = msg['MSH']['MSH.6']['MSH.6.1'].toString();
tmp['MSH']['MSH.7']['MSH.7.1'] = msg['MSH']['MSH.7']['MSH.7.1'].toString();
tmp['MSH']['MSH.8']['MSH.8.1'] = msg['MSH']['MSH.8']['MSH.8.1'].toString();
tmp['MSH']['MSH.9']['MSH.9.1'] = "RSP";
tmp['MSH']['MSH.9']['MSH.9.2'] = "K22";
tmp['MSH']['MSH.9']['MSH.9.3'] = "RSP_K22";
tmp['MSH']['MSH.10']['MSH.10.1'] = msg['MSH']['MSH.10']['MSH.10.1'].toString(); 
tmp['MSH']['MSH.11']['MSH.11.1'] = msg['MSH']['MSH.11']['MSH.11.1'].toString();
tmp['MSH']['MSH.12']['MSH.12.1'] = msg['MSH']['MSH.12']['MSH.12.1'].toString();
//Map EPIC722 ACK MSA
tmp['MSA']['MSA.1']['MSA.1.1'] = msg['MSA']['MSA.1']['MSA.1.1'].toString();
tmp['MSA']['MSA.2']['MSA.2.1'] = msg['MSA']['MSA.2']['MSA.2.1'].toString();
//Map EPIC722 ACK QAK
tmp['QAK']['QAK.1']['QAK.1.1'] = "MPIQUERY";

if (msg['MSA']['MSA.3']['MSA.3.1'].toString() == 'NO PATIENT FOUND'){
	tmp['QAK']['QAK.2']['QAK.2.1'] = msg['MSA']['MSA.3']['MSA.3.1'].toString();
	tmp['QAK']['QAK.4']['QAK.4.1'] = "0";
	tmp['QAK']['QAK.5']['QAK.5.1'] = "0";
	tmp['QAK']['QAK.6']['QAK.6.1'] = "0";
} else { 
	tmp['QAK']['QAK.2']['QAK.2.1'] = "OK";
	tmp['QAK']['QAK.4']['QAK.4.1'] = msg['QRD']['QRD.7']['QRD.7.1'].toString();
	tmp['QAK']['QAK.5']['QAK.5.1'] = msg['QRD']['QRD.7']['QRD.7.1'].toString();
	tmp['QAK']['QAK.6']['QAK.6.1'] = "0";
}

		
//tmp['QAK']['QAK.3']['QAK.3.1'] = ;
//tmp['QAK']['QAK.4']['QAK.4.1'] = ;
//tmp['QAK']['QAK.5']['QAK.5.1'] = ;
//tmp['QAK']['QAK.6']['QAK.6.1'] = ;
//Map EPIC722 ACK QPD
tmp['QPD']['QPD.1']['QPD.1.1'] = "EPIC722 MPI DEM QUERY";
tmp['QPD']['QPD.2']['QPD.2.1'] = msg['QRD']['QRD.4']['QRD.4.1'].toString();
tmp['QPD']['QPD.3']['QPD.3.1'] = "@PID.3.1";
tmp['QPD']['QPD.3']['QPD.3.2'] = msg['PID']['PID.3']['PID.3.1'].toString();
//Map EPIC722 ACK PID
tmp['PID']['PID.1']['PID.1.1'] = msg['PID']['PID.1']['PID.1.1'].toString();
tmp['PID']['PID.2']['PID.2.1'] = msg['PID']['PID.2']['PID.2.1'].toString();
tmp['PID']['PID.3']['PID.3.1'] = msg['PID']['PID.3']['PID.3.1'].toString();
//tmp['PID']['PID.4']['PID.4.1'] = ;
tmp['PID']['PID.5']['PID.5.1'] = msg['PID']['PID.5']['PID.5.1'].toString();
tmp['PID']['PID.5']['PID.5.2'] = msg['PID']['PID.5']['PID.5.2'].toString();
//tmp['PID']['PID.6']['PID.6.1'] = ;
tmp['PID']['PID.7']['PID.7.1'] = msg['PID']['PID.7']['PID.7.1'].toString();
tmp['PID']['PID.8']['PID.8.1'] = msg['PID']['PID.8']['PID.8.1'].toString();
//Map EPIC722 ACK PV1
tmp['PV1']['PV1.1']['PV1.1.1'] = msg['PV1']['PV1.1']['PV1.1.1'].toString();
tmp['PV1']['PV1.2']['PV1.2.1'] = msg['PV1']['PV1.2']['PV1.2.1'].toString();
tmp['PV1']['PV1.3']['PV1.3.2'] = msg['PV1']['PV1.3']['PV1.3.2'].toString();
tmp['PV1']['PV1.3']['PV1.3.3'] = msg['PV1']['PV1.3']['PV1.3.3'].toString();
tmp['PV1']['PV1.3']['PV1.3.4'] = msg['PV1']['PV1.3']['PV1.3.4'].toString();
tmp['PV1']['PV1.19']['PV1.19.1'] = msg['PV1']['PV1.19']['PV1.19.1'].toString();
Reply With Quote
  #3  
Old 11-15-2019, 11:22 AM
agermano agermano is offline
Mirth Guru
 
Join Date: Apr 2017
Location: Indiana, USA
Posts: 1,031
agermano is on a distinguished road
Default

Welcome to Mirth!

Unless you are intentionally excluding fields, you can remove your outbound template entirely and then msg will pass through. You can make in place changes to msg rather than needing to map each field to tmp.

If there are fields you are intentionally excluding from certain segments, you still may be able to shorten your code a bit by doing something like

Code:
tmp['MSH'] = msg['MSH'].copy();
tmp['MSH']['MSH.9']['MSH.9.1'] = "RSP";
tmp['MSH']['MSH.9']['MSH.9.2'] = "K22";
tmp['MSH']['MSH.9']['MSH.9.3'] = "RSP_K22";
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 11:58 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Mirth Corporation