Requirements-Dynamic Model
This page documents one or more V3 Methodology Requirements
Contents
Description
The HL7 methodology includes two parts needed for communication of information between systems, the static model (information content itself and any wrappers) and the dynamic model which describes the circumstances under which that information is sent and how that exchange fits into an overall pattern of communication. "Dynamic model" refers to a set of interrelated artifacts that together define the behavioral portion of an HL7 v3 specification. The artifacts include:
- Trigger Events: When is information exchanged?
- Application Roles: Who are the participants in an exchange?
- Interactions: What are the characteristics of a single exchange, including its place in an overall communication pattern?
Requirements
Trigger Events
Requirement | There needs to be a means of defining and standardizing the definition of the 'real world' occurrences that result in a need for information to be exchanged. |
Rationale | Part of interoperability is not only what information will get shared but also the circumstances where it will be shared. A system that does not share the appropriate information at the correct time will not achieve interoperability. |
MIF | mif-model-dynamic.xsd/TriggerEvent |
Requirement | Each trigger event must have a unique name |
Rationale | The trigger events must be able to be precisely referenced in human-to-human communication. |
MIF |
|
Requirement | Each trigger event must identify, as formally as possible, the real-world occurrence that causes information to flow. |
Rationale | The purpose of a trigger event is to give a standardized label to a particular type of real-world event so that it can be referenced. If the real-world event isn't defined or is defined only loosely, the trigger event's purpose won't be met. |
Methodology | There are three categories:
|
MIF |
|
Requirement | EnvironmentalOccurrence may have a related state transition. |
Rationale | Some events that aren't directly caused by a state transition might still have an association to a transition. There are two common situations where this occurs:
In the first case, the triggering action is usually some user or system decision, but not the actual state transition (because it hasn't happened yet - it's just being asked for. For example, when a user requests info to be posted to a patient's EHR (related state transition is to 'complete' an observation) In the second case, the state transition happened some time ago (possibly seconds, possibly days). A decision has been taken to ask another system to "action" that state transition. For example, "please fill this prescription". |
MIF |
|
Requirement | Trigger Events may have a number of different types of annotations |
Rationale | See rationales for individual annotations types |
Implementation |
Interations
Requirement | HL7 v3 specifications must be able to define each possible "exchange" of information including the structure and type of information to be sent, the circumstances in which it is sent and expectations on the receiver. |
Rationale | A single exchange is the lowest possible unit of actual interoperability. While an exchange is made up of multiple components, there is no interoperability without at least one successfully completed exchange. To have interoperability, the characteristics of that exchange must be fully defined and agreed to by both parties. |
MIF | mif-model-dynamic.xsd/Interaction |
Requirement | Each interaction must have a unique name |
Rationale | Interactions must be able to be referenced in human communication |
MIF |
|
Requirement | Each interaction must include one or more static models. There are use cases where only the transport wrapper, and/or transport and control act wrapper are communicated without a 'payload' (meaning a static model or document). |
Rationale | The interactions must be able to be precisely referenced esp. as part of receiver responsibilities. Also, the receiving system needs to kn ow |
MIF |
|
Requirement | Interactions must be able to bind to a message model or a document as the payload. |
Rationale | There are two 'types' of static model content at HL7. RMIMs which represent workflow-type communications and Documents which represent point-in-time information. |
MIF |
|
Requirement | Interaction receiver responsibilities must be supported |
Rationale | Frequently in response to an interaction, one or more 'response' interactions are triggered. There can be multiple responses. For a simple, two-part example, a 'transaction' is not complete until both a request trigger event is and information is communication and it's confirm response is receiver. The confirm response is the 'receive responsibility'. These responsibilities are communicated by the sender and are intended to 'complete' a business function. |
MIF |
|
Requirement | Each interaction may include one or more receiver responsibilities |
Rationale | Frequently in response to an interaction, one or more 'response' interactions are triggered. There can be multiple responses. |
MIF |
|
Requirement | Each interaction may have an interaction type. |
Rationale | Synonymous with trigger event types. See Description above. |
MIF |
|
Requirement | Interactions may include a use type. |
Rationale | Identifies the type of content represented by the model when entered from the entry point. The contentType determines whether the model is legitimate content for a classStub (binding) from another model. |
MIF |
|
Receiver Responsibilities
Requirement | Each receiver responsibility must have a reason. |
Rationale | Indicates the conditions under which this receiver responsibility should be chosen. Should be mutually exclusive with the conditions of all other receiver responsibilities for this interaction. Also, the combined reasons for all receiver responsibilities should be complete. I.e. There should be no circumstance that doesn't fit into the reason of one and only one receiver responsibility. |
MIF |
|
Requirement | A receiver responsibility may have one or more 'response' interactions. |
Rationale | Supports acknowledgements as well as query responses. |
MIF |
|
Requirement | A receiver responsibility may have one or more 'response' trigger events. |
Rationale | Indicates that the specified trigger event should be fired, along with any interactions associated with that trigger event and supported by any of the receiving system's application roles. |
MIF |
|
Application Roles
Requirement | Interaction sender and receiver must have an application role. |
Rationale | The sending and receiving application role are necessary to know which receiver responsibilities to trigger. During a complex interaction pattern, both sending and receiving systems may trigger additional interactions based on receiver responsibilities. To support this, the sender and receiver are both assigned application roles which functionally describe their relation to each other in a business function. |
MIF |
|
Requirement | Each application role must have a unique name |
Rationale | The sending and receiving application role must be able to be precisely referenced when creating interactions. |
MIF |
|
Requirement | Each application role may have related application roles. |
Rationale | Used to build composites. |
MIF |
|
Requirement | Each application role may be either or both sending interactions and/or receiving interactions. |
Rationale | Application role is about the functional capability. Need to document for each role when the application expects to receiving information and act; or sends information. |
MIF |
|
Requirement | Each application role may either create or consume a document. |
Rationale | Application roles need to deal with documents as well as other static models. |
MIF |
|
Requirement | Interactions, Trigger Events, Application Roles and Structured Documents may have a number of different types of annotations |
Rationale | See rationales for individual annotations types |
Implementation |
Static Model References
Requirement | Structured documents have a document definition (static model) |
Rationale | Documents the primary payload model as well as any parameterized stubs within the model. |
MIF |
|
Requirement | Structured documents may not have a dynamic model. |
Rationale | Documents are a point-in-time artifact and, as such, many times have no additional instruction to sending a document to a document repository other than to 'store' the document or a link to the document. In this case, there is no state transition. |
MIF |
|
Requirement | Each static model must be able to be bound to one or more interactions, and to be bound to one or more other static models. |
Rationale | Each interaction is bound to a specific payload model, for which is bound a specific control act wrapper model which is bound to a specific transport model. This includes the binding to an appropriate parameter model for query interactions. The parameterized models are not bound until defining the interaction so that static models can be re-used in differing interactions to provide similar business function (acknowledgements, for example). |
MIF |
|
Requirement | Each static model has a content type. |
Rationale | Identifies the type of content represented by the model when entered from this entry point. The contentType determines whether the model is legitimate content for a classStub from another model. |
MIF |
|
Requirement | Naming must be driven by the binding of the static models to ensure separation of the models transparent. |
Rationale | Naming of each static model as bound still needs demarcation from the other model content. |
MIF |
|
Requirement | For each query interaction, an additional binding to the parameter list is required. Note this includes query requests as well as query responses. |
Rationale | The parameter list is required for both requests and responses. |
MIF |
|
Requirement | A parameter model is a list of passing parameters with a query request or those used to select records in a query response. Each parameter has a parameter name and may have a traversal name. |
Rationale | The parameter list is required for both requests and responses. The parameter is a unique name per parameter in the same list. The traversal name is the of the element when traversing from the association end directly to this specialized class |
MIF |
|
Future Requirements (not complete)
Note that HL7 is currently re-developing and replacing the current dynamic model methodolgy. Below are SOME of the requirements. Requirements are still being determined and documented as part of the HL7 Enterprise Architecture Framework Alpha implementation projects.
Future Requirement | Communicate conformance of receiver responsibilities. It is necessary to know which receiver responsibilities must happen (mandatory), should happen (required), may happen (optional), and must not happen (usually based on a previous elaboration of a receiver responsibility). |
Rationale | It is necessary to know which receiver responsibilities must happen (mandatory), should happen (required), may happen (optional), and must not happen (usually based on a previous elaboration of a receiver responsibility). |
MIF |
|