![]() ANSI/HL7 V3 IM, R1-2004 HL7 Version 3 Standard: Infrastructure Management: Transmission Infrastructure 10/20/2004 |
Content Last Edited: 2011-06-22T11:39:34
This topic addresses those aspects about the communications environment that are related to polling. Polling is used in those environments were messages are held on a queue on a remote system until they are released by means of a poll request. This topic includes a specification of the interrelationships in the flow of messages and the communication of significant application level exceptions or error conditions.
The Polling Message Transmission topic in the HL7 Version 3 messaging standard addresses:
The Control Query Technical Committee invites implementers with additional requirements to submit content proposals for future releases of the standard.
|
||||||||||
|
For details on the interpretation of this section, see the storyboard discussion in the Version 3 Guide.
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.
Send HL7 Poll Request for one message. If message received send accept acknowledgement and message polling session will complete.
Send Poll Request | ![]() |
Send Poll Message Payload | ![]() |
Send Poll Message Accept Acknowledgement | ![]() |
In this scenario, the HL7 Message Queue Manager Role manages a remote message queue. This service is not always available. When it is available, the HL7 Message Queue Poller Role may send a poll request message. When there is one or messages in the remote message queue the HL7 Message Queue Manager prepares and sends an HL7 composite message payload to the HL7 Message Queue Poller Role. The Message Queue Poller receives the message and responds with an accept acknowledgement message and the sequence is complete. Note the restriction on this message queue is that it must not contain any messages that require an immediate application level response.
Send HL7 Poll Request for one message. If message received send accept acknowledgement with poll request for next message.
Send Poll Request | ![]() |
Send Poll Message Payload | ![]() |
Accept Ack Poll for Next Message in Queue | ![]() |
Send Poll Message Payload | ![]() |
Accept Ack Poll for Next Message in Queue | ![]() |
Send Poll Message Payload | ![]() |
Send Poll Message Accept Acknowledgement | ![]() |
In this scenario, the HL7 Message Queue Manager Role manages a remote message queue. This service is not always available. When it is available, the HL7 Message Queue Poller Role may send a poll request message. When there are one or messages in the remote message queue the HL7 Message Queue Manager prepares and sends an HL7 composite message payload to the HL7 Message Queue Poller Role. The Message Queue Poller receives the message and responds with an accept acknowledgement message that additionally requests that the next message in the queue be sent. If there is one or messages in the remote message queue the HL7 Message Queue Manager prepares and sends an HL7 composite message payload to the HL7 Message Queue Poller Role. This sequence may continue as long as there are messages queued or until the HL7 Message Queue Poller Role responds to a received message with a simple accept acknowledgement message. Any other error in processing a poll message request will also complete the session for retrieving queued messages. Note the restriction on this message queue is that it must not contain any messages that require an immediate application level response.
Send HL7 Poll Request for one message. If a message cannot be returned from the queue, send an accept acknowledgement indicating the reason for ending the message polling session.
Send Poll Request | ![]() |
Exception Acknowledgement in Response to Poll Req | ![]() |
In this scenario, the HL7 Message Queue Manager Role manages a remote message queue. This service is not always available. When it is available, the HL7 Message Queue Poller Role may send a poll request message. When there are no messages in the remote message queue or if there is another condition which prevents the HL7 Message Queue Manager Role from returning a message from the message queue, the HL7 Message Queue Manager Role prepares and sends an HL7 acknowledgement message indicates the reason why an application message from the message queue is not being returned. Receiving such a response, the HL7 Message Queue Poller Role will discontinue the message polling session. The HL7 Message Queue Poller Role will discontinue a message polling session if the communications link to the remote HL7 Message Queue Manager Role is not available.
|
||||||||
|
For details on the interpretation of this section, see the discussion of application roles and their relationships in the Version 3 Guide.
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.
Sends HL7 poll request control message to an HL7 message queue manager. Can handle poll message errors returned by remote queue manager. Only able to handle notification HL7 message payloads or message payloads that do not require a deferred application level response.
Note: This is not a real trigger event. Common messages, as defined in the Shared Messages Introduction [COMT_DO000000] , are not used in their own right but as a reusable payload in various domains. When used in this fashion, the message is transmitted as the result of a domain interaction, and between two domain application roles.
Responds to HL7 poll request control message with next HL7 message in queue or a message queue poll error message. Requires an accept-level acknowledgement on all HL7 message payloads sent. May accept an embedded poll for next message in an accept-level message acknowledgement. Does not allow the send of an HL7 message payload that requires a deferred application level response.
|
||||||||||||||
|
For details on the interpretation of this section, see the discussion of trigger events in the Version 3 Guide.
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.
Type: | State-transition based |
State Transition: | Message (MCCI_RM100100UV01) |
The processing of a poll operation to retrieve a message from a remotely managed message queue has started.
Note: This trigger event is for communication infrastructure purposes only. Domain interactions will define the Transmission Wrapper, domain trigger events, application roles, and domain payload.
Type: | State-transition based |
State Transition: | Message (MCCI_RM100300UV01) |
An HL7 Composite Message Payload send operation has been started as a result of a poll request to a remotely managed message queue.
Note: This trigger event is for communication infrastructure purposes only. Domain interactions will define the Transmission Wrapper, domain trigger events, application roles, and domain payload.
Type: | State-transition based |
State Transition: | Message (MCCI_RM100200UV01) |
An HL7 Composite Message Payload has been accepted for guaranteed delivery as a result of a poll request to a remotely managed message queue. Simultaneously, a poll operation for the next message in the queue was started.
Note: This trigger event is for communication infrastructure for accept-level acknowledgements which are implementable as a receiver responsibility.
Type: | State-transition based |
State Transition: | Message (MCCI_RM100200UV01) |
An HL7 Composite Message Payload has been accepted for guaranteed delivery as a result of a poll request to a remotely managed message queue.
Note: This trigger event is for communication infrastructure for accept-level acknowledgements which are implementable as a receiver responsibility.
Type: | State-transition based |
State Transition: | Message (MCCI_RM000200UV01) |
The processing of a poll operation to retrieve a message from a remotely managed message queue has resulted in an error condition noted by the manager of the queue.
Note: This trigger event is for communication infrastructure for accept-level acknowledgements which are implementable as a receiver responsibility.
|
||||||||||
|
For details on the interpretation of this section, see the description of RMIMs in the Version 3 Guide.
Parent: | Transmission Infrastructure (MCCI_DM000000UV) |
Send poll request for next message in remote message queue.
Note: This will not be implemented in its own right. Domain interactions will reference the appropriate Transmission Wrapper.
Send Poll Request | MCCI_HD100100UV01 |
Parent: | Transmission Infrastructure (MCCI_DM000000UV) |
Give communication level accept acknowledgement of reception of a message while simultaneously issuing a poll request for the next message in the remote message queue.
Note: This message type is implementable as a receiver responsibility.
Accept Ack-Poll Next | MCCI_HD100200UV01 |
Parent: | Transmission Infrastructure (MCCI_DM000000UV) |
Send of next message in queue in response to poll request.
Note: This will not be implemented in its own right. Domain interactions will reference the appropriate Transmission Wrapper.
Poll Response with Message | MCCI_HD100300UV01 |
|
||||||||||
|
For details on the interpretation of this section, see the description of HMDs in the Version 3 Guide.
Send poll request for next message in remote message queue.
Note: This will not be implemented in its own right. Domain interactions will reference the appropriate Transmission Wrapper.
R_NotificationParty | COCT_MT040203UV01 |
Send Poll Request | MCCI_MT100100UV01 | ![]() ![]() ![]() |
Give communication level accept acknowledgement of reception of a message while simultaneously issuing a poll request for the next message in the remote message queue.
Note: This message type is implementable as a receiver responsibility.
R_NotificationParty | COCT_MT040203UV01 |
Send Accept Ack/Poll Next Message | MCCI_MT100200UV01 | ![]() ![]() ![]() |
Send of next message in queue in response to poll request.
Note: This will not be implemented in its own right. Domain interactions will reference the appropriate Transmission Wrapper.
R_NotificationParty | COCT_MT040203UV01 |
Send Poll Response with Message | MCCI_MT100300UV01 | ![]() ![]() ![]() |
|
||||||||||||||
|
For details on the interpretation of this section, see the definition of Interactions in the Version 3 Guide.
Communication level acknowledgement that polled message received and immediately making a poll request for the next message in the queue. Note: This interaction is invoked, where appropriate, as a receiver responsibility.
Trigger Event | Send Poll Message Accept Acknowledgement | MCCI_TE100003UV01 |
Reason | Trigger Event | Interaction |
If message waiting in queue to send. | MCCI_IN100002UV01 |
Sender | Message Queue Poller | MCCI_AR100001UV01 |
Receiver | Message Queue Manager | MCCI_AR100002UV01 |
Communication level acknowledgement indicating exception as to why message payload not returned by poll request that has been received. Note: This interaction is invoked, where appropriate, as a receiver responsibility.
Trigger Event | Send Poll Message Error | MCCI_TE100004UV01 |
Sender | Message Queue Manager | MCCI_AR100002UV01 |
Receiver | Message Queue Poller | MCCI_AR100001UV01 |
Sends next message in HL7 message queue. Note: This interaction is for communication illustration purposes only. Refer to domain defined interactions which will indicate the appropriate transmission wrapper.
Trigger Event | Send Poll Message From Poll Request | MCCI_TE100002UV01 |
Reason | Trigger Event | Interaction |
If acknowledging message received and no more polling is required. | MCCI_IN100003UV01 | |
If acknowledging message received and an additional poll request for next queued message is wanted. | MCCI_IN100004UV01 |
Sender | Message Queue Manager | MCCI_AR100002UV01 |
Receiver | Message Queue Poller | MCCI_AR100001UV01 |
Sends HL7 poll request control message to an HL7 message queue manager. Note: This interaction is for communication illustration purposes only. Refer to domain defined interactions which will indicate the appropriate transmission wrapper.
Trigger Event | Send Poll Message 1 Request | MCCI_TE100001UV01 |
Reason | Trigger Event | Interaction |
If message waiting in queue to send. | MCCI_IN100002UV01 | |
If message cannot be returned from the queue | MCCI_IN100005UV01 |
Sender | Message Queue Poller | MCCI_AR100001UV01 |
Receiver | Message Queue Manager | MCCI_AR100002UV01 |
Communication level acknowledgement that polled message received. Note: This interaction is invoked, where appropriate, as a receiver responsibility.
Trigger Event | Send Message Accept Acknowledgement | MCCI_TE000002UV01 |
Sender | Message Queue Poller | MCCI_AR100001UV01 |
Receiver | Message Queue Manager | MCCI_AR100002UV01 |
Return to top of page |