This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "Trigger Event"

From HL7Wiki
Jump to navigation Jump to search
(update)
(update)
Line 2: Line 2:
  
 
The trigger event represents the “real-world” occurrence that creates a need to exchange information. Note that a given trigger event may fire multiple [[Interaction]]s.  
 
The trigger event represents the “real-world” occurrence that creates a need to exchange information. Note that a given trigger event may fire multiple [[Interaction]]s.  
 +
 +
The Trigger Event may be based on the following:
 +
*User Request - this is a query or a fulfillment request
 +
*[[State Transition]] or Unspecified - this is an unsolicited event
 +
*Interaction Based - this is a response to a fulfillment request or a query request
  
 
== Discussion ==
 
== Discussion ==

Revision as of 05:15, 30 November 2005

An Event which, when recorded or recognized by an application, indicates the need for an information flow to one or more other applications, resulting in one or more interactions.

The trigger event represents the “real-world” occurrence that creates a need to exchange information. Note that a given trigger event may fire multiple Interactions.

The Trigger Event may be based on the following:

  • User Request - this is a query or a fulfillment request
  • State Transition or Unspecified - this is an unsolicited event
  • Interaction Based - this is a response to a fulfillment request or a query request

Discussion

A pharmacy can request for a physician order to be aborted (1) , but can't cancel it themselves. A physician can abort the order (2) and request the pharmacy to fulfill that. When they do so, they're not saying "abort your promise" or "abort your event". They're saying "Do what ever you need to do to deal with the fact that this order is cancelled". That may involve contacting a delegated pharmacy, or many other things the physician system doesn't know about or care about. The state-transition of (1) and (2) is the same. The payload is the same. The semantics of the request are distinct. The pharmacy domain has to define 2 different trigger events (“Please suspend this order” and “Please Deal With the Fact that I suspended this Order”). (Dick) In V2 we used to say the Trigger Events were real-world events such as "a patient is admitted" a lab test is ordered. (Rene) And that's the way it should stay IMO. If we look at activity diagrams, then these define the circumstances and the reasons for cummication.

Adding the Notification or Fullfillment request suffixes amounts to assigning "receiver behaviour" aspects to a trigger event. We don't want this to be dealt with at that level; receiver behaviour is linked to the interaction (in the form of receiver responsibilities) or to atribute values within the message itself.