Handle Max
Failed Read
Retry/Take
Recourse
Action
archiveError
Message()
Handle Max
NAK Sent
condition/Take
Recourse
Action
journalHL7
Message()
Handle No
Response Error/
Take Recourse
Action
sendHL7Nak()
sends NAK
Exception due to
incomplete data?
receiveAndSend()
Gets the HL7 Message from
External and validates it and
sends Ack/Nak
receiveHL7Message()
receives the HL7 Message
from External
validateHL7Message() Validates
message and determines if it
should send ACK or NAK
sendHL7Ack()
ends ACK
YES
YES
YES
NO
NO
NO
Continue
Continued
Exception
occurred?
HL7 message
passed
validation?
Calls other
helper methods
to validate the
HL7 message
Calls other helper
methods
to makeAck() and
send it
Calls other helper
methods
to makeNak()
and send it
FIGURE10 InboundHL7 V2 Collaboration - Part 2
AboutTCP/IPHL7 V2 Collaborations
SunAdapterfor TCP/IP HL7 User's Guide 113