appdBatch Wrapper Topic
HL7 DSTU
HL7 V3 IM CI, R2
HL7 Version 3 Standard: Infrastructure Management - Message Control Infrastructure; Batch Wrappers, Release 2
HL7 Draft Standard for Trial Use - August 2012

Content Last Edited: 2011-06-22T11:39:34


Draft Standard for Trial Use Notice

Publication of this draft standard for trial use and comment has been approved by Health Level Seven International (HL7). This draft standard is not an accredited American National Standard. The comment period for use of this draft standard shall end 24 months from the date of publication. Suggestions for revision should be submitted at http://www.hl7.org/dstucomments/index.cfm.

Following this 24 month evaluation period, this draft standard, revised as necessary, will be submitted to a normative ballot in preparation for approval by ANSI as an American National Standard. Implementations of this draft standard shall be viable throughout the normative ballot process and for up to six months after publication of the relevant normative standard.

Preface

There are instances when it is convenient to transfer a batch of HL7 interactions. A common example is the transmission of a batch of financial posting detail transactions sent from an ancillary to a financial system.

Although a batch will usually consist of a single type of interaction, there is nothing in the definition that restricts a batch to only one interaction type. It should be noted that the "unit of work" of HL7 is the interaction, not the batch. Thus, it is possible that some interactions contained within the batch may be successfully processed, while others are not. Batching a mechanism that may be used ONLY as a transmission grouper, it does not group interactions for transactional purposes. Receivers of a batch should remove the batch wrapper and process the interaction contained therein as if they were received individually. Interactions contained in a batch that are addressed not to the receiver, but to another receiver SHALL be processed the same way as interactions not contained in a batch that were not addressed to the receiver.

A batch may contain zero or more interactions. (There are cases in which a system is expected to send a batch at a specific repeating point in time, e.g., 12 midnight every day. In such cases, a batch with no content is reasonable.) If an application has been configured to send a batch of financial charge interactions every morning at four, and on a particular day there is nothing to be charged, then one could send an empty batch to inform the receiving application that there was 'nothing to report'. The support of batches and the contained interactions may be described in the conformance profile of an application. Some users may wish to support batch for all interactions they support, while others may wish to be more selective.

Please note that a message based interaction (i.e. not batched) shall never result in the receiver using a batch wrapper for any of the related responses, unless the use of the batch wrapper was explicitly requested by the sender. For example, the HL7 query allows for an explicit request for a batch response by using the value 'B' in the QueryByParameter.responseModalityCode attribute of the query message.

Responding to a batch

The receiver responsibilities of an application which receives a batch are:

  1. To check for the integrity of the batch i.e. perform the same level of validation one would typically use for an Accept Acknowledgement; to send 0 or 1 Accept Acknowledgement (a.k.a. Accept-level Acknowledgement).
  2. To execute the receiver responsibilities related to individual interactions contained within the batch.

Application Responses

The way in which a receiver should deliver its receiver responsibilities, i.e. the expected dynamic behavior of the receiving application with regard to application responses, is determined by the Response Mode of the batch. The Response Mode of the batch is contained in the Batch.responseModeCode attribute.

The Response Mode of the batch can have one of the following values:

  • Immediate. The receiver is required to assume that the sender is blocking and behave appropriately by sending immediate responses to the interactions contained in the batch.
  • Deferred. The receiver may respond to interactions contained in the batch in a non-immediate manner.
  • Queue. The receiver may create responses in a non-immediate manner and shall keep any application responses in a queue until such a point in time the queue is polled.

The Response Mode as contained in the batch overrules the Response Mode as defined by individual interactions contained in the batch. Example: if the Response Mode specified at the batch level equals "Queue", then all messages contained in the batch shall be processed as if their Response Mode was set to "Queue" as well.

Context Conduction of Wrappers

The sender and receiver associations associated with the Message class are almost always equal to the sender and receiver associated with the Batch class of the Batch the message interactions are contained in. The RIM allows for automatic conduction of these associations from Batch to Message.

However, the sender and receiver are mandatory in the current message-level Transmission Wrapper which leads to duplication of data. This is a known issue which will be addressed in a future release of this domain.

Note: the current tooling doesn't support Batch Wrappers. A schema for the XML ITS will have to be manually created based on the schema for the Message Wrapper. The root element has to be renamed to Batch, additional attributes of the Batch class have to be added to the schema, and subject should be replaced with an xs:any declaration. The reader should see http://wiki.hl7.org/index.php?title=Batch_Wrapper_Schema for a detailed description.

Go To Top

 Storyboards (Sorted by Title)
 Storyboards (Sorted by Display Order)
 
pointer Batch with optional response interactions (MCCI_ST200001UV01
pointer Response Batch based on Message (MCCI_ST200002UV01
Reference

For details on the interpretation of this section, see the storyboard discussion in the Version 3 Guide.

Introduction

The reader is referred to the introduction of this domain for a detailed discussion regarding use cases and to the state-based storyboards.

Note: The examples can be combined into more complex scenarios as needed by a domain.

Purpose

A system may have a use case where it is convenient to transfer a batch of HL7 interactions (messages). An example would be a batch of financial posting detail transactions sent from an ancillary to a financial system. The Batch Sender (MCCI_AR200001) collects zero or more interactions and groups them by means of a Batch wrapper, and sends the Batch (MCCI_IN200100) to the Batch Receiver (MCCI_AR200002).

The Batch Receiver subsequently processes the message-interactions received within the Batch. If any of these interactions have receiver responsibilities associated with them, then the interaction will be responded as if it was received without an encapsulating Batch.

Application level responses to interactions contained within a batch are sent as individual message-interactions.

Note: The message-based responses may have receiver responsibilities associated with them, and they may have to be responded to by an Accept Acknowledgement (MCCI_IN000002). These are neither shown in the storyboard diagram nor discussed in this section. See the Message topic for details of the use of Accept Acknowledgements.

Diagram
Activity Diagram
Interaction List
Send Batch Schema View MCCI_IN200100UV01
Send Response Batch Schema View MCCI_IN200101UV01
Purpose

A message based interaction (i.e. not batched) may explicitly request that the receiver uses a batch wrapper for the related responses. For example, the HL7 query allows for an explicit request for a batch response by using the value 'B' in the QueryByParameter. responseModalityCode attribute of the query message.

The Message Sender sends a message-interaction to the Message Receiver; the interaction explicitly requests that the application responses should be grouped by means of a Batch. The Message Receiver (in its role as a Batch Response Sender) sends a Response Batch (MCCI_IN200101) to the Message Sender (in its role as a Batch Response Receiver).

As detailed in the Query Infrastructure (QUQI) Domain, a Query Continuation/Cancel interaction (QUQI_IN000003) can be used to query for the next set of application responses. The initial query requested that all responses be Batched, which means that the Query Continuation/Cancel interaction (QUQI_IN000003) will also result in a Batch Response.

Diagram
Activity Diagram
Interaction List
Send Batch Schema View MCCI_IN200100UV01
Send Response Batch Schema View MCCI_IN200101UV01

Go To Top

 Application Roles (Sorted by Artifact Code)
 Application Roles (Sorted by Display Order)
 
pointer Response Batch Receiver (MCCI_AR200004UV01
pointer Batch Sender (MCCI_AR200001UV01
pointer Batch Receiver (MCCI_AR200002UV01
pointer Response Batch Sender (MCCI_AR200003UV01
Reference

For details on the interpretation of this section, see the discussion of application roles and their relationships in the Version 3 Guide.

Introduction

The justification for HL7 Communication Roles for Version 3 message control comes from a need to formalize the expectations of HL7 Application Roles for messaging communication services. Application Roles specify the expected message handling behavior for a set of interactions. The HL7 Message Development Framework has led to the creation of numerous Application Roles by the technical committees that are developing HL7 Version 3 messaging interactions. Communication Roles are intended to specify a core set of messaging communication services that can support the messaging communication requirements of HL7 Application Roles.

Note: These application roles are not used in their own right except for the inplementable interactions in this domain. Accept-level acknowledgements fall into this category. Domain interactions will define, and reference, two domain application roles.

Description View InteractionsReceive Response Batch with 0 or more Messages.
Description View InteractionsSend Batch Transmission.
Description View InteractionsReceive Batch Tramission.
Description View InteractionsSend Response Batch with 0 or more Messages.

Go To Top

 Trigger Events (Sorted by Title)
 Trigger Events (Sorted by Display Order)
 
pointer Send Batch (MCCI_TE200001UV01
pointer Send Response Batch (MCCI_TE200002UV01
Reference

For details on the interpretation of this section, see the discussion of trigger events in the Version 3 Guide.

Introduction

Communication level message control in HL7 Version 3 is defined by the handling of the events and state transitions identified in the Version 3 HL7 Message Control state diagram. Refer to domain interactions for domain trigger events.

Description View Interactions
Type: 
The processing of a send operation on a Batch has started.
Description View Interactions
Type:  Interaction based
The processing of a send operation on a Response Batch has started. This trigger event typically occurs after having processed a Batch or a Message which explicitly requested that application responses be communicated as a Batch.

Go To Top

 Refined Message Information Models (Sorted by Title)
 Refined Message Information Models (Sorted by Display Order)
 
pointer Batch RMIM (MCCI_RM200100UV
pointer Response Batch (MCCI_RM200101UV
Reference

For details on the interpretation of this section, see the description of RMIMs in the Version 3 Guide.

Diagram
T-MCCI_RM200100UV.png
Parent:  Transmission Infrastructure (MCCI_DM000000UV)
Description

The Batch class functions in similar way to the Message class in an individual V3 message. The reader is referred to the D-MIM walkthrough - associated with the Transmission Infrastructure Domain - for a description of the various classes associated with the Batch class; they have the exact same functionality as the classes associated with the Message class.

The batch class has the following associations:

  • message: a Batch is associated with zero or more Messages. These Messages represent the payload of the Batch.
  • sender, receiver, attentionLine and respondTo: see the D-MIM walkthrough for a description of these classes.
Contained Hierarchical Message Descriptions
Batch Wrapper MCCI_HD200100UV
Diagram
T-MCCI_RM200101UV.png
Parent:  Transmission Infrastructure (MCCI_DM000000UV)
Description

A Response Batch can be used for (1) batches of accept acknowledgements, (2) batches of application responses. The only difference between this R-MIM and the Batch R-MIM is the fact that it contains a mandatory Acknowledgement class. In a Response Batch, the batch class has the following mandatory associations:

  • Acknowledgement:(mandatory) identifies via its associated classes the identifier of the message/batch for which this is the acknowledgment, as well as the acknowledgement status. see the D-MIM walkthrough for a description of the Acknowledgement class and its associated classes.
  • message: A Batch is associated with zero or more Messages. These Messages represent the payload of the Batch.
  • sender, receiver, attentionLine and respondTo: See the D-MIM walkthrough - associated with the Transmission Infrastructure Domain - for a description of these classes.
Contained Hierarchical Message Descriptions
Response Batch Wrapper MCCI_HD200101UV

Go To Top

 Hierarchical Message Descriptions (Sorted by Title)
 Hierarchical Message Descriptions (Sorted by Display Order)
 
pointer Batch Wrapper Event New (MCCI_HD200100UV
pointer Batch Wrapper Response Batch (MCCI_HD200101UV
Reference

For details on the interpretation of this section, see the description of HMDs in the Version 3 Guide.

Description
Batch Wrapper HMD
Common Message Element Types Used
R_NotificationPartyContact COCT_MT040203UV09
Base Hierarchical Message Description Goto RMIM Table View Excel View
Message Type List
Batch Wrapper message MCCI_MT200100UV
Description
Batch Wrapper Response HMD
Common Message Element Types Used
R_NotificationPartyContact COCT_MT040203UV09
Base Hierarchical Message Description Goto RMIM Table View Excel View
Message Type List
Batch Wrapper event response message MCCI_MT200101UV

Go To Top

 Interactions (Sorted by Title)
 Interactions (Sorted by Display Order)
 
pointer Send Batch (MCCI_IN200100UV01
pointer Send Response Batch (MCCI_IN200101UV01
Reference

For details on the interpretation of this section, see the definition of Interactions in the Version 3 Guide.

Description Schema View
Sends a Batch, which groups 0 or more Messages for communication purposes.
Trigger Event Send Batch MCCI_TE200001UV01
Receiver Responsibilities
Reason Trigger Event Interaction
MCCI_TE200002UV01 MCCI_IN200101UV01
Sending and Receiving Roles
Sender Batch Sender MCCI_AR200001UV01
Receiver Batch Receiver MCCI_AR200002UV01
Description Schema View

Send a Batch, which groups 0 or more Application level Messages into a Batch for communication purposes; sent as a response to either a Batch, or as a response to a Message which explicitly requested a Batched response.

Trigger Event Send Response Batch MCCI_TE200002UV01
Sending and Receiving Roles
Sender Response Batch Sender MCCI_AR200003UV01
Receiver Response Batch Receiver MCCI_AR200004UV01

Return to top of page