correspondingHL7 V3 Acknowledgements. MCCI_IN000004UV01 for Immediate Mode and
MCCI_IN000006UV01for Deferred Mode. The Collaboration works with its own internal
codeand the Properties Conguration les. The outbound Collaboration assumes that it is
readingvalid HL7 V3 messages, so the data ow that feeds this Collaboration must ensure this.
TheOutbound Collaboration is for both immediate and deferred mode.
Thefollowing topics describe the processing logic dened in the jcdHL7V3Outbound
Collaboration:
“HL7V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
ofACK Process) — Part 1” on page 134
“HL7V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
ofACK Process) — Part 2” on page 136
“HL7V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
ofACK Process) — Part 3” on page 138
“HL7V3 Outbound Test Collaboration” on page 139
HL7V3 Standard Outbound Message Mode Data Flow (For Immediate
andDeferred Mode of ACK Process) — Part 1
TheCollaboration is triggered by a JMS HL7 V3 message. The Collaboration then calls the HL7
V3User Collaboration Rule by executing the receive method. Receive is the entry point to the
HL7V3 User Collaboration, with the following signature:
receive (input, otdHL7eWay_1, otdJMS_JOURNAL, otdJMS_ERROR, otd_MCCI_IN000004UV01_1,
otd_MCCI_IN000006UV01_1, otd_PRPA_IN403001UV01_1)
Theincoming HL7 V3 message is then validated, making sure that the message structure is
correct.Various elds in the Transmission Wrapper of the message are also validated, such as
VersionCode, Processing Code, Processing Mode Code, and Interaction ID.
Ifthe message does not pass validation, an error occurs and the associated recourse action is
applied.If the HL7 V3 message passes validation, the message moves on to
processInitialHandshake()to receive a sequence number (if sequences numbering is
enabledonly for Deferred Mode). The Collaboration takes the sequence number from the
sequencingnumbering le and determines the next number to use. This number is then
insertedinto the HL7 V3 message.
Next,the message moves on to processMessage(), which calls the helper method,
sendAndReceive().The sendAndReceive method sends the HL7 V3 message, waits for an HL7
V3ACK message, and processes the ACK or NAK. The validation also checks the message
structureto see if the message is unmarshaled. If a valid ACK is not received, it continues to
sendthe HL7 V3 message up to the congured number of retries, at which time an error occurs
andthe associated recourse action is taken.
AboutTCP/IPHL7 V3 Collaborations
SunAdapterfor TCP/IP HL7 User's Guide • Oc tober 2009134