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

Application Role

From HL7Wiki
Revision as of 05:48, 19 April 2006 by Rene spronk (talk | contribs)
Jump to navigation Jump to search

Application Roles reflect business roles. Application Roles represent groupings of functionality that an application can do. This includes Interactions an application can send, as well as interactions it can receive.

  • An application role shall have the ability to execute the Receiver Responsibilities associated with received interactions. A receiving application role must be able to distinguish between the Receiver Responsibilities options and respond with the one that is the most appropriate for the particular interaction instance.
  • An application role shall have the ability to support all Interactions which may be returned as part of the Transmission Pattern once the application has sent an interaction.

Application Roles will form the basis for a suite of Conformance Statements, in the same manner as was originally documented in the Version 3 Statement of Principles.

Notes

  • One and the same interaction can be used by different application roles.
  • If simple stereotype roles are used these may use the stereotype names Placer, Fulfiller, Informer and Tracker.
  • An Application Role does not indicate support to all Interactions which may be returned as part of the Interaction Pattern; as a minimum all the interactions of the Transmission Pattern need to be supported.

Discussion

The answer to “what are the business application roles” is in the heads and in the implementation specifications of the many experienced (V2) implementers and implementations. We need to tap into what has already been done – not the V2 standard, but how it is implemented by most V2ers most of the time. This is how we define “application roles” in the real world all the time.

The domain committees will have to use this experience and include business role based application roles (even if only as informative material) in their ballot material. In cycles subsequent to the initial ballot, the committees will define specific specializations or instantiations of the generic application roles defined above.

Another aspect is the grouping of application roles due to their use: On the one hand they reflect the business roles, on the other they represent a hierarchy according to what needs to be implemented. It makes sense to define dependencies among different application roles, e.g. to support the "cancel admit notification tracker" only if the "revise admit notification tracker" role has been implemented/provided. The publishing database (PubsDB) currently provides a means to define the relationship between the application roles and events and interactions, but no recursive definition in form of a precondition.

If application roles are too "atomic" in nature the uptake will be low, as it leads to long lists of roles that nobody will want to browse. The IHE Technical Frameworks contain "Actors", these are high level groupings defined in terms of mandatory and optional interactions. Rene spronk 13:51, 18 Mar 2006 (CST)

Currently, the application roles are a non normative part of the V3 standard.