This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Work Group Clinical Decision Support | Maturity Level: 2 | Standards Status: Trial Use |
Part of defining knowledge artifacts such as order sets, protocols, and decision support rules is describing in a patient- or context-independent way the activities to be performed. For example, when defining an order set, the orderable items must be described with enough detail to enable the creation of the items when the order set is applied. These descriptions can be thought of as templates for the creation of patient- or context-specific resources and are often referred to as definitional resources, to distinguish them from intent resources (that signal an intention to take some action for a specific patient), as well as event resources (that signal that some action has actually been taken for a patient).
In the most general case, these definitional resources only need to describe the most basic aspects of the activity to be performed, such as:
However, this level of conceptual description often does not carry enough information to enable computable description of activities. For example, medication activities will often involve specific drug and dosage information that must be captured as part of the definition. Further, it is often the case that the values for the elements of resources to be created cannot be specified exactly as part of the definition, but must be specified using a formula that allows for the calculation to be based on patient- or context-specific information.
Note to implementers: Although there are currently very few definitional resources defined (ActivityDefinition, ObservationDefinition, SpecimenDefinition), the concept is general, and this is a deliberate design decision to avoid the overhead of defining and maintaining a different definitional resource for every category of request. We anticipate that as the use cases of ActivityDefinition require more specialized elements to be added, additional definitional resources may be defined.
The ActivityDefinition resource supports the description of definitional resources within FHIR:
Who | participantType | Specifies the type of participant that should perform the activity. |
What | kind and code | Specifies the type of activity to be performed. |
When | timing | Specifies when the activity should be performed. |
Where | location | Specifies where the activity should be performed. |
Why | reason, documentation | Specifies why the activity should be performed. |
For example, the following fragment illustrates a definition to create a referral request:
<ActivityDefinition>
<description value="refer to primary care mental-health integrated care program for evaluation and treatment
of mental health conditions now"/>
<kind value="ServiceRequest"/>
<code>
<coding>
<system value="http://snomed.info/sct"/>
<code value="306206005"/>
</coding>
</code>
<timingTiming>
<event>
<extension url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql"/>
<expression value="Now()"/>
</valueExpression>
</extension>
</event>
</timingTiming>
<participantType value="practitioner"/>
</ActivityDefinition>
Note the use of an expression to represent the value of the timing element as Now()
.
For medication activities, the ActivityDefinition resource has some basic elements such as the product
and quantity
, and dosageInstruction
but there are cases where elements that need to be set on the resulting MedicationRequest are not present on the ActivityDefinition (such as dispenseRequest
). In those cases, the dynamicValue
expression elements can be used to describe the values for elements that are present on the target resource, but not in the definitional resource. For example:
<ActivityDefinition>
<id value="citalopramPrescription"/>
<status value="draft"/>
<category value="drug"/>
<productReference>
<reference value="#citalopramMedication"/>
</productReference>
<dynamicValue>
<path value="dispenseRequest.numberOfRepeatsAllowed"/>
<expression>
<language value="text/cql"/>
<expression value="3"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="dispenseRequest.quantity"/>
<expression>
<language value="text/cql"/>
<expression value="30 '{tbl}'"/>
</expression>
</dynamicValue>
</ActivityDefinition>
The ObservationDefinition resource supports the definition of an observation to be taken.
The SpecimenDefinition resource supports the definition of a specimen to be collected.
The MessageDefinition resource supports the definition of a message to be communicated. NOTE: This is a system-level message, as opposed to a human-to-human message, which would be modeled using the CommunicationRequest and Communication resources.
The Questionnaire resource can be used to directly support describing information to be collected as part of a process. The Structured Data Capture implementation guide provides detailed information for supporting this use case.
Note that the ActivityDefinition resource is specifically designed to support request resources, typically with an intent of proposal to ensure that clinician interaction can be part of interpreting the results of any automated reasoning processes. However, it is possible to construct event resources as part of the reasoning process, such as Observations, Procedures, RiskAssessments, DetectedIssues, etc. To support this case, implementations should make use of a Task resource with proposal intent, where the focus
of the Task would be the computed event resource.
The EvidenceVariable resource supports the description of definitional resources for variables to be referenced from an Evidence resource:
Who | topic | Could specify the category of evidence variable (eg condition, exposure); available for future uses |
What | characteristic.definition[x] | Specifies a component of the definition of the evidence variable |
When | characteristic.timeFromStart | Subelement of characteristic to specify when the definitional component was or will be determined |
Where | type | Specifies the type of variable (eg dichotomous. Categorical, continuous, descriptive) |
How | Characteristic.method | Specifies how the definitional component was or will be determined |
For example, the following fragment illustrates a definition of "intracranial hemorrhage within 7 days" as a characteristic from an EvidenceVariable instance:
<characteristic>
<description value="intracranial hemorrhage within 7 days"/>
<definitionCodeableConcept>
<coding>
<system value="http://snomed.info/sct"/>
<code value="1386000"/>
<display value="Intracranial hemorrhage (disorder)"/>
</coding>
</definitionCodeableConcept>
<timeFromStart>
<description value="within 7 days"/>
<range>
<low>
<value value="0"/>
<unit value="day"/>
<system value="http://unitsofmeasure.org"/>
<code value="d"/>
</low>
<high>
<value value="7"/>
<unit value="day"/>
<system value="http://unitsofmeasure.org"/>
<code value="d"/>
</high>
</range>
</timeFromStart>
</characteristic>