I would like to have a single HL7 variant per system/vendor that Cloverleaf (6.1.1) connects to. In this instance I am creating one for Epic using 2.3 as the base. My issue is that I have 3 different interfaces that process ORU messages (incoming lab results, outgoing results, incoming/outgoing radiology results). I defined 3 different copies of ORU (ORU_LAB, ORU_RAD, and ORU) to set up my translations since each interface has a different format. Unfortunately, Cloverleaf will not use the variant spec that was defined in the XLATE for processing the translation. Instead it is using the default ORU and is truncating various segments.
It seems like it should work, but for some reason Cloverleaf is refusing to use the defined translation. I thought that the whole purpose of setting up a route/TRXID was to determine the XLATE that I want to process the message. Instead, Cloverleaf is overriding my wishes. I really dont want to have 3 different HL7 v2.3 variants just to process my Epic messages. Is there a better solution to this? I also have the same issue with ORM and ADT messages.
I’ve checked the forums for answers and the only thread I came across was: Multiple Variants. I do not agree with the “solutions” in the thread as they do not solve the underlying issue. Currently I have every ADT message type definition set to the same definition which also seems cumbersome…instead of just defining a default ADT message type once and routing all TRXIDs through that one XLATE regardless of MSH-9 (again, that value was already used to determine the correct XLATE to use).