Multi-server is required. The HIS (Meditech) can open multiple connections at once to send out the query message.
The HIS does not get an ACK back from the interface engine when the query message is received as the ACK needs to contain the results of the query so the reply message from Passport is the ACK and Message in one.
Sample reply message from Passport going to Meditech
MSH|^~&|NE||MT||201406051639||RSP^Z23^RSP_Z23|141561638117303|P|2.4
MSA|AA|141561638117303
QAK|141561638117303|OK|Z22^find candidates^HL7nnnn|10|10|0
QPD|Z22^find candidates^HL7nnnn|141561638117303|40
PID||HNE1234567890^^^NE|G217^^^MT^PI||JUNE-TEST^TITUS||19880704|F
QRI|89
PID||HNE1234567891^^^NE|G123^^^MT^PI||JUNE-TEST^KIB||19880704|F
QRI|88
PID||HNE1234567892^^^NE|G0001234^^^MTT^MR||NIH-TEST^C||19880704|F
QRI|87
PID||HNE1234567893^^^NE|G234^^^MT^PI||AUGUST-TEST^HACKETT||19880704|F
QRI|86
PID||HNE1234567894^^^NE|G567^^^MT^PI||JUNE-TEST^ABEDRABBO||19880704|F
QRI|85
PID||HNE1234567895^^^NE|G890^^^MT^PI||JUNE-TEST^MALDONADO||19880704|F
If I have it set up as server and not multi-server it will work but if another registration happens on Meditech, the user gets a message back (on Meditech) that the server is busy when it tries to query Passport.
My thought was to try to set the DRIVERCTL values in the MSH.10 on the message out to passport. When Passport responds I can use the information in the MSH10 to route the message to the proper connection on the multi-server thread. Have not tested yet but that is the way I will continue unless I hear of a different way.