Batch Transmission Pattern
The Transmission Sender (an HL7 Application) sends the initial Batch Transmission. The Transmission Receiver (another HL7 Application) performs an accept-level validation, and sends an accept-level acknowledgement Batch transmission if the Sender had requested such an acknowledgement.
The timing and delivery method of the Response Transmission depends on settings as provided by the Sender with the initial Transmission.
Notes
If one creates a more detailed scenario there are some open issues:
- The Batch Sender collects zero or more interactions and groups them by means of a Batch wrapper, and sends the Batch (MCCI_IN200100) to the Batch Receiver.
- If the sender so desires the receiver should sent a Batch Accept Acknowledgement (MCCI_IN200102, previously known as Message Adapter Batch Acknowledgement). This interaction contains zero or more Message Adapter Acknowledgements (MCCI_IN000002).
- The batch-level acknowledgement status will be reported in the Acknowledgement class associated with the Batch class. It can be used to convey information related to syntax issues or checksum issues at the batch level. Accept-level acknowledgements for rejected interactions should be contained in the response batch. Those interactions that are accepted at accept-level aren't explicitly acknowledged in the Batch Accept Ack. A batch containing zero negative acknowledgment interactions may be sent to indicate that all the HL7 interactions contained in the batch being acknowledged are implicitly acknowledged at the accept/commit level.
- The only circumstance where a batch as a whole will be rejected is if the application is concerned that the batch as a whole is corrupt; e.g. when counts (transmissionQuantity or batchTotalNumber) don't match. Receiver applications must ascertain that the batch is not corrupt prior to executing any of the requests within the batch.
- Open issue: the use of Batch accept acks is site specific. Introduce a Batch. acceptAckCode?
Application level responses to interactions contained within a batch are sent as individual message-interactions, unless there is a site agreement that all application responses related to message-interactions in a batch are contained within a single response batch (MCCI_IN200101). A receiving system shall never respond to a batch with more than one application-level response batch.
- Open issue: the use a single response Batch is site specific (may depend on Batch Type). Introduce a new attribute in the Batch class?