Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Work Group Clinical Decision Support iconMaturity Level: 2Standards 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:

  • Who - Which person should perform the activity, often specified as a participant role such as a provider specialty.
  • What - What type of activity should be performed, often specified simply as a category or a concept.
  • When - When the activity should be performed, often specified relative to the time the plan is applied.
  • Where - Where the activity should take place, often specified as a facility role.
  • Why - Why the activity should be performed

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:

WhoparticipantTypeSpecifies the type of participant that should perform the activity.
Whatkind and codeSpecifies the type of activity to be performed.
WhentimingSpecifies when the activity should be performed.
WherelocationSpecifies where the activity should be performed.
Whyreason, documentationSpecifies 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 icon 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:

WhotopicCould specify the category of evidence variable (eg condition, exposure); available for future uses
Whatcharacteristic.definition[x]Specifies a component of the definition of the evidence variable
Whencharacteristic.timeFromStartSubelement of characteristic to specify when the definitional component was or will be determined
WheretypeSpecifies the type of variable (eg dichotomous. Categorical, continuous, descriptive)
HowCharacteristic.methodSpecifies 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>