STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

1.24.0 Data Requirement

Clinical Decision Support Work GroupMaturity Level: N/ABallot Status: DSTU 2

The DataRequirement structure defines a general data requirement for a knowledge asset such as a decision support rule or quality measure.

A DataRequirement differs from a parameter in that it specifies the data to be returned in terms of the type of data, and specific filters on code-valued and/or date-valued attributes. Data requirements are not named because they are referenced by type within the evaluation context.

Data requirements are used by knowledge modules to communicate the set of required data to a consumer in a way that is computable (as opposed to a set of named parameters which must be integrated by hand based on the meaning of the parameter as communicated through the documentation).

DataRequirements are typically used to communicate patient-dependent information such as MedicationStatements and Encounters, whereas Parameters are typically used to communicate patient-independent information such as configuration values

1.24.0.1 Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DataRequirement ΣElementDescribes a required data item
... type Σ1..1codeThe type of the required data
FHIRAllTypes (Required)
... profile Σ0..1Reference(StructureDefinition)The profile of the required data
... mustSupport Σ0..*stringIndicates that specific structure elements are referenced by the knowledge module
... codeFilter Σ0..*ElementCode filters for the data
.... path Σ1..1stringThe code-valued attribute of the filter
.... valueSet[x] Σ0..1Valueset for the filter
..... valueSetStringstring
..... valueSetReferenceReference(ValueSet)
.... valueCode Σ0..*codeCode value of the filter
.... valueCoding Σ0..*CodingCoding value of the filter
.... valueCodeableConcept Σ0..*CodeableConceptCodeableConcept value of the filter
... dateFilter Σ0..*ElementDate filters for the data
.... path Σ1..1stringThe date-valued attribute of the filter
.... value[x] Σ0..1The value of the filter, as a Period or dateTime value
..... valueDateTimedateTime
..... valuePeriodPeriod

doco Documentation for this format

UML Diagram

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DataRequirementThe type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profiletype : code [1..1] « Either an abstract type, a resource or a data type. (Strength=Required)FHIRAllTypes! »The profile of the required data, specified as the uri of the profile definitionprofile : Reference [0..1] « StructureDefinition »Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are availablemustSupport : string [0..*]CodeFilterThe code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConceptpath : string [1..1]The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valuesetvalueSet[x] : Type [0..1] « string|Reference(ValueSet) »The codes for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codesvalueCode : code [0..*]The Codings for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodingsvalueCoding : Coding [0..*]The CodeableConcepts for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodeableConceptsvalueCodeableConcept : CodeableConcept [0..*]DateFilterThe date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timingpath : string [1..1]The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTimevalue[x] : Type [0..1] « dateTime|Period »Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the datacodeFilter[0..*]Date filters specify additional constraints on the data in terms of the applicable date range for specific elementsdateFilter[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 The type of the required data -->
 <profile><!-- 0..1 Reference(StructureDefinition) The profile of the required data --></profile>
 <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module -->
 <codeFilter>  <!-- 0..* Code filters for the data -->
  <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter -->
  <valueSet[x]><!-- 0..1 string|Reference(ValueSet) Valueset for the filter --></valueSet[x]>
  <valueCode value="[code]"/><!-- 0..* Code value of the filter -->
  <valueCoding><!-- 0..* Coding Coding value of the filter --></valueCoding>
  <valueCodeableConcept><!-- 0..* CodeableConcept CodeableConcept value of the filter --></valueCodeableConcept>
 </codeFilter>
 <dateFilter>  <!-- 0..* Date filters for the data -->
  <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter -->
  <value[x]><!-- 0..1 dateTime|Period The value of the filter, as a Period or dateTime value --></value[x]>
 </dateFilter>
</[name]>

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DataRequirement ΣElementDescribes a required data item
... type Σ1..1codeThe type of the required data
FHIRAllTypes (Required)
... profile Σ0..1Reference(StructureDefinition)The profile of the required data
... mustSupport Σ0..*stringIndicates that specific structure elements are referenced by the knowledge module
... codeFilter Σ0..*ElementCode filters for the data
.... path Σ1..1stringThe code-valued attribute of the filter
.... valueSet[x] Σ0..1Valueset for the filter
..... valueSetStringstring
..... valueSetReferenceReference(ValueSet)
.... valueCode Σ0..*codeCode value of the filter
.... valueCoding Σ0..*CodingCoding value of the filter
.... valueCodeableConcept Σ0..*CodeableConceptCodeableConcept value of the filter
... dateFilter Σ0..*ElementDate filters for the data
.... path Σ1..1stringThe date-valued attribute of the filter
.... value[x] Σ0..1The value of the filter, as a Period or dateTime value
..... valueDateTimedateTime
..... valuePeriodPeriod

doco Documentation for this format

UML Diagram

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DataRequirementThe type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profiletype : code [1..1] « Either an abstract type, a resource or a data type. (Strength=Required)FHIRAllTypes! »The profile of the required data, specified as the uri of the profile definitionprofile : Reference [0..1] « StructureDefinition »Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are availablemustSupport : string [0..*]CodeFilterThe code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConceptpath : string [1..1]The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valuesetvalueSet[x] : Type [0..1] « string|Reference(ValueSet) »The codes for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codesvalueCode : code [0..*]The Codings for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodingsvalueCoding : Coding [0..*]The CodeableConcepts for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodeableConceptsvalueCodeableConcept : CodeableConcept [0..*]DateFilterThe date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timingpath : string [1..1]The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTimevalue[x] : Type [0..1] « dateTime|Period »Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the datacodeFilter[0..*]Date filters specify additional constraints on the data in terms of the applicable date range for specific elementsdateFilter[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 The type of the required data -->
 <profile><!-- 0..1 Reference(StructureDefinition) The profile of the required data --></profile>
 <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module -->
 <codeFilter>  <!-- 0..* Code filters for the data -->
  <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter -->
  <valueSet[x]><!-- 0..1 string|Reference(ValueSet) Valueset for the filter --></valueSet[x]>
  <valueCode value="[code]"/><!-- 0..* Code value of the filter -->
  <valueCoding><!-- 0..* Coding Coding value of the filter --></valueCoding>
  <valueCodeableConcept><!-- 0..* CodeableConcept CodeableConcept value of the filter --></valueCodeableConcept>
 </codeFilter>
 <dateFilter>  <!-- 0..* Date filters for the data -->
  <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter -->
  <value[x]><!-- 0..1 dateTime|Period The value of the filter, as a Period or dateTime value --></value[x]>
 </dateFilter>
</[name]>

Constraints