These patterns of use are described independent of OMG and HL7 standards. Linked pages include specific recommendations and implementer guidance for using available standards to represent each pattern, if applicable.
Combined use of HL7 FHIR and OMG BPM+
The concepts used in these patterns align closely with the OMG Case Management Model and Notation (CMMN) metamodel specification. Known as an Adaptive Case Management, these kinds of case models assist the decision-making process through suggestions yet keep humans firmly in the driver’s seat. Case management is centered around living information and relationships, while traditional business processes are centered around a-priori defined activity sequences. This characterization of case management aligns well with the content and structure of evidence-based clinical practice guidelines and their use in managing patient care.
Case
A clinical practice guideline is composed of one or more cases. A Case is a top-level concept that combines all elements that constitute a Case model.
Stage
A Stage represents a recursive concept (Stages can be nested within other Stages), used as a container of elements from which the plan of the case is constructed and can further evolve, and having a lifecycle that can be tracked in run-time.
Case Activity
A Case is composed of activities, where each case activity must include a trigger or condition expression that indicates when that activity should be performed. These expressions are implemented using one of the available Decision Services. Four types of case activities are available:
Case Task
A Case Task can be used to invoke another Case. The difference between using a Case Task and a Stage is that a Case Task invokes a new Case that has its own context with active data elements, whereas a Stage is in the context of the current Case, i.e., it is “embedded” in the current Case.
Decision Task
A Decision Task can be used in the Case to invoke a Decision. A corresponding Decision Service is required for each computable Decision Task.
Process Task
A Process Task can be used in a Case to call a business or clinical workflow process.
Human Task
A Human Task is a case activity that is performed by a Case worker.
Goal (or Milestone)
A Goal or Milestone represents an achievable target, defined to enable evaluation of progress of the Case. The term “Goal” will be used in this specification to include milestones for evaluation of progress. No work is directly associated with a Goal, but completion of set of tasks or the availability of key deliverables (e.g. clinical data elements for a patient) typically leads to achieving a Goal.
A Goal should specify a measurable, patient-specific target, e.g. a milestone goal with date for a patient to reduce weight by 10%, or a sustained goal for maintaining controlled blood pressure or controlled blood glucose to specific guideline levels.
Data Elements
Identifies clinical data elements required for evaluation or application of guideline recommendations, including semantic definition using standard terminologies. Examples include medications (with associated RxNorm codes), laboratory results (with specific LOINC code or a Value Set of possible codes), procedures (with SNOMED CT code or value set), etc.
Decision Service
Decision service logic may be implemented using a wide variety of languages, including the following examples:
HL7 CQL
OMG DMN and FEEL
Drools rule engine
Java or C#
Other implementation languages