Sun Microsystems Sun Adapter IP HL 7 User Manual
Page 134
corresponding HL7 V3 Acknowledgements. MCCI_IN000004UV01 for Immediate Mode and
MCCI_IN000006UV01 for Deferred Mode. The Collaboration works with its own internal
code and the Properties Configuration files. The outbound Collaboration assumes that it is
reading valid HL7 V3 messages, so the data flow that feeds this Collaboration must ensure this.
The Outbound Collaboration is for both immediate and deferred mode.
The following topics describe the processing logic defined in the jcdHL7V3Outbound
Collaboration:
■
“HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
of ACK Process) — Part 1” on page 134
■
“HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
of ACK Process) — Part 2” on page 136
■
“HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode
of ACK Process) — Part 3” on page 138
■
“HL7 V3 Outbound Test Collaboration” on page 139
HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate
and Deferred Mode of ACK Process) — Part 1
The Collaboration is triggered by a JMS HL7 V3 message. The Collaboration then calls the HL7
V3 User Collaboration Rule by executing the receive method. Receive is the entry point to the
HL7 V3 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)
The incoming HL7 V3 message is then validated, making sure that the message structure is
correct. Various fields in the Transmission Wrapper of the message are also validated, such as
Version Code, Processing Code, Processing Mode Code, and Interaction ID.
If the 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
enabled only for Deferred Mode). The Collaboration takes the sequence number from the
sequencing numbering file and determines the next number to use. This number is then
inserted into 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
V3 ACK message, and processes the ACK or NAK. The validation also checks the message
structure to see if the message is unmarshaled. If a valid ACK is not received, it continues to
send the HL7 V3 message up to the configured number of retries, at which time an error occurs
and the associated recourse action is taken.
About TCP/IP HL7 V3 Collaborations
Sun Adapter for TCP/IP HL7 User's Guide • October 2009
134