DataRequirement
type: StructureDefinition
node role: treeRoot
id:
  v: DataRequirement
text:
  status:
    v: generated
  div:
    v: Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> <img src="[binary]" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> DataRequirement ΣN Element Describes a required data item Elements defined in Ancestors: id, <a href="types.html#Element" title="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.">extension #xD; type Σ 1..1 code The type of the required data Binding: All FHIR Types (Required) #xD; <img src="[binary]" alt="." style="background-color: white; background-color: inherit" title="Reference to another Resource" class="hierarchy"/> profile Σ 0..* canonical(StructureDefinition) The profile of the required data #xD; <img src="[binary]" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Choice of Types" class="hierarchy"/> subject[x] Σ 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: Participant Resource Types (Extensible) #xD; <img src="[binary]" alt="." style="background-color: white; background-color: inherit" title="Data Type" class="hierarchy"/> subjectCodeableConcept CodeableConcept #xD; <img src="[binary]" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Reference to another Resource" class="hierarchy"/> subjectReference Reference(Group) #xD; <a href="metadatatypes-definitions.html#DataRequirement.mustSupport" title="DataRequirement.mustSupport : 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 m…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: normative
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
url:
  v: http://hl7.org/fhir/StructureDefinition/DataRequirement
  l: DataRequirement
version:
  v: 6.0.0-ballot4
name:
  v: DataRequirement
status:
  v: active
experimental:
  v: false
date:
  v: 2026-04-10T21:21:03+00:00
publisher:
  v: HL7 International / FHIR Infrastructure
contact:
  telecom:
    system:
      v: url
    value:
      v: http://hl7.org/fhir
contact:
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 6.0.0-ballot4
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: complex-type
abstract:
  v: false
type:
  v: DataRequirement
  l: DataRequirement
base definition:
  v: http://hl7.org/fhir/StructureDefinition/DataType
  l: DataType
derivation:
  v: specialization
snapshot:
  element:
    id:
      v: DataRequirement
    path:
      v: DataRequirement
    short:
      v: Describes a required data item
    definition:
      v: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: DataRequirement
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: DataRequirement.id
    path:
      v: DataRequirement.id
    representation:
      v: xmlAttr
    short:
      v: Unique id for inter-element referencing
    definition:
      v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Element.id
      min:
        v: 0
      max:
        v: 1
    type:
      extension:
        value: Url
      code:
        v: http://hl7.org/fhirpath/System.String
        l: System.String
    condition:
      v: ele-1
    is modifier:
      v: false
    is summary:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: DataRequirement.extension
    path:
      v: DataRequirement.extension
    slicing:
      description:
        v: Extensions are always sliced by (at least) url
      rules:
        v: open
    short:
      v: Additional content defined by implementations
    definition:
      v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
    comment:
      v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
    alias:
      v: extensions
    alias:
      v: user content
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Element.extension
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: Extension
        l: Extension
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())

Url
v: string
l: string

v: value

v: url

v: false

v: false

identity:
  v: rim
map:
  v: n/a

id:
  v: DataRequirement.type
path:
  v: DataRequirement.type
short:
  v: The type of the required data
definition:
  v: The 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 profile.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: DataRequirement.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: List of FHIR types (resources, data types).
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: FHIRTypes
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding
      l: elementdefinition-isCommonBinding
    value: Boolean
      v: true
  strength:
    v: required
  description:
    v: List of FHIR types (resources, data types).
  value set:
    v: http://hl7.org/fhir/ValueSet/fhir-types|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/fhir-types

id:
  v: DataRequirement.profile
path:
  v: DataRequirement.profile
short:
  v: The profile of the required data
definition:
  v: The profile of the required data, specified as the uri of the profile definition.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.profile
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: canonical
    l: canonical
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/StructureDefinition
    l: StructureDefinition
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.subject[x]
path:
  v: DataRequirement.subject[x]
short:
  v: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
definition:
  v: The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
comment:
  v: The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.subject[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Group
    l: Group
meaning when missing:
  v: Patient
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SubjectType
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding
      l: elementdefinition-isCommonBinding
    value: Boolean
      v: true
  strength:
    v: extensible
  description:
    v: The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
  value set:
    v: http://hl7.org/fhir/ValueSet/participant-resource-types
    l: participant-resource-types

id:
  v: DataRequirement.mustSupport
path:
  v: DataRequirement.mustSupport
short:
  v: Indicates specific structure elements that are referenced by the knowledge module
definition:
  v: 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 available. The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.mustSupport
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.codeFilter
path:
  v: DataRequirement.codeFilter
short:
  v: What codes are expected
definition:
  v: Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.codeFilter
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: drq-1
  severity:
    v: error
  human:
    v: Either a path or a searchParam must be provided, but not both
  expression:
    v: path.exists() xor searchParam.exists()
  source:
    v: http://hl7.org/fhir/StructureDefinition/DataRequirement
    l: DataRequirement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.id
path:
  v: DataRequirement.codeFilter.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.codeFilter.extension
path:
  v: DataRequirement.codeFilter.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.codeFilter.path
path:
  v: DataRequirement.codeFilter.path
short:
  v: A code-valued attribute to filter on
definition:
  v: The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.
comment:
  v: The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.codeFilter.path
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.searchParam
path:
  v: DataRequirement.codeFilter.searchParam
short:
  v: A coded (token) parameter to search on
definition:
  v: A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.codeFilter.searchParam
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.valueSet
path:
  v: DataRequirement.codeFilter.valueSet
short:
  v: ValueSet for the filter
definition:
  v: The valueset for the code filter. The valueSet and code elements are additive. 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 valueset.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.codeFilter.valueSet
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: canonical
    l: canonical
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ValueSet
    l: ValueSet
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.code
path:
  v: DataRequirement.codeFilter.code
short:
  v: What code is expected
definition:
  v: The codes for the code filter. 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 codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.codeFilter.code
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.dateFilter
path:
  v: DataRequirement.dateFilter
short:
  v: What dates/date ranges are expected
definition:
  v: Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.dateFilter
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: drq-2
  severity:
    v: error
  human:
    v: Either a path or a searchParam must be provided, but not both
  expression:
    v: path.exists() xor searchParam.exists()
  source:
    v: http://hl7.org/fhir/StructureDefinition/DataRequirement
    l: DataRequirement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.id
path:
  v: DataRequirement.dateFilter.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.dateFilter.extension
path:
  v: DataRequirement.dateFilter.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.dateFilter.path
path:
  v: DataRequirement.dateFilter.path
short:
  v: A date-valued attribute to filter on
definition:
  v: The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.
comment:
  v: The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.dateFilter.path
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-2
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.searchParam
path:
  v: DataRequirement.dateFilter.searchParam
short:
  v: A date valued parameter to search on
definition:
  v: A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.dateFilter.searchParam
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-2
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.value[x]
path:
  v: DataRequirement.dateFilter.value[x]
short:
  v: The value of the filter, as a Period, DateTime, or Duration value
definition:
  v: 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 dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.dateFilter.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Duration
    l: Duration
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.valueFilter
path:
  v: DataRequirement.valueFilter
short:
  v: What values are expected
definition:
  v: Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.valueFilter
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.id
path:
  v: DataRequirement.valueFilter.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.valueFilter.extension
path:
  v: DataRequirement.valueFilter.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.valueFilter.path
path:
  v: DataRequirement.valueFilter.path
short:
  v: An attribute to filter on
definition:
  v: The attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.
comment:
  v: The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.valueFilter.path
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.searchParam
path:
  v: DataRequirement.valueFilter.searchParam
short:
  v: A parameter to search on
definition:
  v: A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.valueFilter.searchParam
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.comparator
path:
  v: DataRequirement.valueFilter.comparator
short:
  v: eq | gt | lt | ge | le | sa | eb
definition:
  v: The comparator to be used to determine whether the value is matching.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.valueFilter.comparator
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: Possible comparators for the valueFilter element.
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ValueFilterComparator
  strength:
    v: required
  description:
    v: Possible comparators for the valueFilter element.
  value set:
    v: http://hl7.org/fhir/ValueSet/value-filter-comparator|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/value-filter-comparator

id:
  v: DataRequirement.valueFilter.value[x]
path:
  v: DataRequirement.valueFilter.value[x]
short:
  v: The value of the filter, as a Period, DateTime, or Duration value
definition:
  v: The value of the filter.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.valueFilter.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Duration
    l: Duration
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.limit
path:
  v: DataRequirement.limit
short:
  v: Number of results
definition:
  v: Specifies a maximum number of results that are required (uses the _count search parameter).
comment:
  v: This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5".
requirements:
  v: Enables the requirement "most recent 5 results" to be expressed.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DataRequirement.limit
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.sort
path:
  v: DataRequirement.sort
short:
  v: Order of the results
definition:
  v: Specifies the order of the results to be returned.
comment:
  v: This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource.
requirements:
  v: Enables the requirement "most recent 5 results" to be expressed.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DataRequirement.sort
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children or both
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.sort.id
path:
  v: DataRequirement.sort.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
condition:
  v: ele-1
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.sort.extension
path:
  v: DataRequirement.sort.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: DataRequirement.sort.path
path:
  v: DataRequirement.sort.path
short:
  v: The name of the attribute to perform the sort
definition:
  v: The attribute of the sort. 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.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: DataRequirement.sort.path
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: DataRequirement.sort.direction
path:
  v: DataRequirement.sort.direction
short:
  v: ascending | descending
definition:
  v: The direction of the sort, ascending or descending.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: DataRequirement.sort.direction
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: The possible sort directions, ascending or descending.
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SortDirection
  strength:
    v: required
  description:
    v: The possible sort directions, ascending or descending.
  value set:
    v: http://hl7.org/fhir/ValueSet/sort-direction|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/sort-direction

element:
  id:
    v: DataRequirement
  path:
    v: DataRequirement
  short:
    v: Describes a required data item
  definition:
    v: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: DataRequirement.type
  path:
    v: DataRequirement.type
  short:
    v: The type of the required data
  definition:
    v: The 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 profile.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: code
      l: code
  is summary:
    v: true
  binding:
    extension:
      url:
        v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
        l: binding-definition
      value: Markdown
        v: List of FHIR types (resources, data types).
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
        l: elementdefinition-bindingName
      value: String
        v: FHIRTypes
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding
        l: elementdefinition-isCommonBinding
      value: Boolean
        v: true
    strength:
      v: required
    description:
      v: List of FHIR types (resources, data types).
    value set:
      v: http://hl7.org/fhir/ValueSet/fhir-types|6.0.0-ballot4
      l: http://hl7.org/fhir/ValueSet/fhir-types
element:
  id:
    v: DataRequirement.profile
  path:
    v: DataRequirement.profile
  short:
    v: The profile of the required data
  definition:
    v: The profile of the required data, specified as the uri of the profile definition.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: canonical
      l: canonical
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/StructureDefinition
      l: StructureDefinition
  is summary:
    v: true
element:
  id:
    v: DataRequirement.subject[x]
  path:
    v: DataRequirement.subject[x]
  short:
    v: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
  definition:
    v: The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
  comment:
    v: The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: CodeableConcept
      l: CodeableConcept
  type:
    code:
      v: Reference
      l: Reference
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/Group
      l: Group
  meaning when missing:
    v: Patient
  is summary:
    v: true
  binding:
    extension:
      url:
        v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
        l: binding-definition
      value: Markdown
        v: The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
        l: elementdefinition-bindingName
      value: String
        v: SubjectType
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding
        l: elementdefinition-isCommonBinding
      value: Boolean
        v: true
    strength:
      v: extensible
    description:
      v: The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).
    value set:
      v: http://hl7.org/fhir/ValueSet/participant-resource-types
      l: participant-resource-types
element:
  id:
    v: DataRequirement.mustSupport
  path:
    v: DataRequirement.mustSupport
  short:
    v: Indicates specific structure elements that are referenced by the knowledge module
  definition:
    v: 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 available. The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: string
      l: string
  is summary:
    v: true
element:
  id:
    v: DataRequirement.codeFilter
  path:
    v: DataRequirement.codeFilter
  short:
    v: What codes are expected
  definition:
    v: Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: Element
      l: Element
  constraint:
    key:
      v: drq-1
    severity:
      v: error
    human:
      v: Either a path or a searchParam must be provided, but not both
    expression:
      v: path.exists() xor searchParam.exists()
    source:
      v: http://hl7.org/fhir/StructureDefinition/DataRequirement
      l: DataRequirement
  is summary:
    v: true
element:
  id:
    v: DataRequirement.codeFilter.path
  path:
    v: DataRequirement.codeFilter.path
  short:
    v: A code-valued attribute to filter on
  definition:
    v: The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.
  comment:
    v: The path attribute contains a [Simple FHIRPath Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
  min:
    v: 0
  max:
    v: 1

code:
  v: string
  l: string

v: drq-1

v: true

id:
  v: DataRequirement.codeFilter.searchParam
path:
  v: DataRequirement.codeFilter.searchParam
short:
  v: A coded (token) parameter to search on
definition:
  v: A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-1
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.valueSet
path:
  v: DataRequirement.codeFilter.valueSet
short:
  v: ValueSet for the filter
definition:
  v: The valueset for the code filter. The valueSet and code elements are additive. 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 valueset.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: canonical
    l: canonical
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ValueSet
    l: ValueSet
is summary:
  v: true

id:
  v: DataRequirement.codeFilter.code
path:
  v: DataRequirement.codeFilter.code
short:
  v: What code is expected
definition:
  v: The codes for the code filter. 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 codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.
min:
  v: 0
max:
  v: *
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true

id:
  v: DataRequirement.dateFilter
path:
  v: DataRequirement.dateFilter
short:
  v: What dates/date ranges are expected
definition:
  v: Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.
min:
  v: 0
max:
  v: *
type:
  code:
    v: Element
    l: Element
constraint:
  key:
    v: drq-2
  severity:
    v: error
  human:
    v: Either a path or a searchParam must be provided, but not both
  expression:
    v: path.exists() xor searchParam.exists()
  source:
    v: http://hl7.org/fhir/StructureDefinition/DataRequirement
    l: DataRequirement
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.path
path:
  v: DataRequirement.dateFilter.path
short:
  v: A date-valued attribute to filter on
definition:
  v: The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.
comment:
  v: The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-2
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.searchParam
path:
  v: DataRequirement.dateFilter.searchParam
short:
  v: A date valued parameter to search on
definition:
  v: A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string
condition:
  v: drq-2
is summary:
  v: true

id:
  v: DataRequirement.dateFilter.value[x]
path:
  v: DataRequirement.dateFilter.value[x]
short:
  v: The value of the filter, as a Period, DateTime, or Duration value
definition:
  v: 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 dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Duration
    l: Duration
is summary:
  v: true

id:
  v: DataRequirement.valueFilter
path:
  v: DataRequirement.valueFilter
short:
  v: What values are expected
definition:
  v: Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).
min:
  v: 0
max:
  v: *
type:
  code:
    v: Element
    l: Element
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.path
path:
  v: DataRequirement.valueFilter.path
short:
  v: An attribute to filter on
definition:
  v: The attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.
comment:
  v: The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.searchParam
path:
  v: DataRequirement.valueFilter.searchParam
short:
  v: A parameter to search on
definition:
  v: A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: DataRequirement.valueFilter.comparator
path:
  v: DataRequirement.valueFilter.comparator
short:
  v: eq | gt | lt | ge | le | sa | eb
definition:
  v: The comparator to be used to determine whether the value is matching.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: Possible comparators for the valueFilter element.
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ValueFilterComparator
  strength:
    v: required
  description:
    v: Possible comparators for the valueFilter element.
  value set:
    v: http://hl7.org/fhir/ValueSet/value-filter-comparator|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/value-filter-comparator

id:
  v: DataRequirement.valueFilter.value[x]
path:
  v: DataRequirement.valueFilter.value[x]
short:
  v: The value of the filter, as a Period, DateTime, or Duration value
definition:
  v: The value of the filter.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Duration
    l: Duration
is summary:
  v: true

id:
  v: DataRequirement.limit
path:
  v: DataRequirement.limit
short:
  v: Number of results
definition:
  v: Specifies a maximum number of results that are required (uses the _count search parameter).
comment:
  v: This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5".
requirements:
  v: Enables the requirement "most recent 5 results" to be expressed.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
is summary:
  v: true

id:
  v: DataRequirement.sort
path:
  v: DataRequirement.sort
short:
  v: Order of the results
definition:
  v: Specifies the order of the results to be returned.
comment:
  v: This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource.
requirements:
  v: Enables the requirement "most recent 5 results" to be expressed.
min:
  v: 0
max:
  v: *
type:
  code:
    v: Element
    l: Element
is summary:
  v: true

id:
  v: DataRequirement.sort.path
path:
  v: DataRequirement.sort.path
short:
  v: The name of the attribute to perform the sort
definition:
  v: The attribute of the sort. 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.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: DataRequirement.sort.direction
path:
  v: DataRequirement.sort.direction
short:
  v: ascending | descending
definition:
  v: The direction of the sort, ascending or descending.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/binding-definition
      l: binding-definition
    value: Markdown
      v: The possible sort directions, ascending or descending.
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SortDirection
  strength:
    v: required
  description:
    v: The possible sort directions, ascending or descending.
  value set:
    v: http://hl7.org/fhir/ValueSet/sort-direction|6.0.0-ballot4
    l: http://hl7.org/fhir/ValueSet/sort-direction