Trigger Event
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.
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.