FHIR Extensions Pack
5.3.0-ballot-tc1 - (September 2025 Ballot) International flag

This page is part of the FHIR Core Extensions Registry (v5.3.0-ballot-tc1: Release 5.3) based on FHIR (HL7® FHIR® Standard) v5.0.0. This version is a pre-release. The current official version is 5.2.0. For a full list of available versions, see the Directory of published versions

Extension: Questionnaire Constraint

Official URL: http://hl7.org/fhir/StructureDefinition/questionnaire-constraint Version: 5.3.0-ballot-tc1
Standards status: Deprecated Maturity Level: 3 Computable Name: QConstraint
Other Identifiers: OID:2.16.840.1.113883.4.642.5.1247

DEPRECATED: Use the targetConstraint extension instead. An invariant that must be satisfied before responses to the questionnaire can be considered "complete".

Context of Use

This extension is deprecated and should no longer be used

Use the targetConstraint extension instead. An invariant that must be satisfied before responses to the questionnaire can be considered "complete"

This extension may be used on the following element(s)

Usage info

Usages:

  • This Extension is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Changes since version 5.2.0:

  • The data elements list has changed
  • One or more text definitions, invariants or bindings have changed
  • Formal Views of Extension Content

    Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

    This structure is derived from Extension

    Summary

    Complex Extension: DEPRECATED: Use the targetConstraint extension instead. An invariant that must be satisfied before responses to the questionnaire can be considered "complete".

    • key: id: Unique id for the constraint within the questionnaire.
    • requirements: string: An explanation of why this extension is required (for documentation purposes).
    • severity: code: Indicates how serious violating the invariant is.
    • expression: string: The FHIRPath expression of the rule for computable interpretation.
    • human: string: A free text expression of the rule to display to the user if the rule is violated.
    • location: string: Relative paths to the questions this rule is enforced against.

    Maturity: 3

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Constraint
    ... Slices for extension Content/Rules for all slices
    .... extension:key 1..1 Extension Unique identifier
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why needed
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error|warning
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required): How important the invariant is.
    .... extension:expression 1..1 Extension Formal rule
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 string Value of extension
    .... extension:human 1..1 Extension Human-readable rule
    ..... extension 0..0
    ..... url 1..1 uri "human"
    ..... value[x] 1..1 string Value of extension
    .... extension:location 0..* Extension Relative path to elements
    ..... extension 0..0
    ..... url 1..1 uri "location"
    ..... value[x] 1..1 string Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"
    ... value[x] 0..0

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Constraint
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 4..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:key 1..1 Extension Unique identifier
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why needed
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error|warning
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required): How important the invariant is.
    .... extension:expression 1..1 Extension Formal rule
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 string Value of extension
    .... extension:human 1..1 Extension Human-readable rule
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "human"
    ..... value[x] 1..1 string Value of extension
    .... extension:location 0..* Extension Relative path to elements
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "location"
    ..... value[x] 1..1 string Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: DEPRECATED: Use the targetConstraint extension instead. An invariant that must be satisfied before responses to the questionnaire can be considered "complete".

    • key: id: Unique id for the constraint within the questionnaire.
    • requirements: string: An explanation of why this extension is required (for documentation purposes).
    • severity: code: Indicates how serious violating the invariant is.
    • expression: string: The FHIRPath expression of the rule for computable interpretation.
    • human: string: A free text expression of the rule to display to the user if the rule is violated.
    • location: string: Relative paths to the questions this rule is enforced against.

    Maturity: 3

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Constraint
    ... Slices for extension Content/Rules for all slices
    .... extension:key 1..1 Extension Unique identifier
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why needed
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error|warning
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required): How important the invariant is.
    .... extension:expression 1..1 Extension Formal rule
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 string Value of extension
    .... extension:human 1..1 Extension Human-readable rule
    ..... extension 0..0
    ..... url 1..1 uri "human"
    ..... value[x] 1..1 string Value of extension
    .... extension:location 0..* Extension Relative path to elements
    ..... extension 0..0
    ..... url 1..1 uri "location"
    ..... value[x] 1..1 string Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"
    ... value[x] 0..0

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Constraint
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 4..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:key 1..1 Extension Unique identifier
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why needed
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error|warning
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required): How important the invariant is.
    .... extension:expression 1..1 Extension Formal rule
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 string Value of extension
    .... extension:human 1..1 Extension Human-readable rule
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "human"
    ..... value[x] 1..1 string Value of extension
    .... extension:location 0..* Extension Relative path to elements
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "location"
    ..... value[x] 1..1 string Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Terminology Bindings

    PathConformanceValueSetURI
    Extension.extension:severity.value[x]requiredConstraintSeverity
    http://hl7.org/fhir/ValueSet/constraint-severity
    From the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()

    R4B

    The extension is unchanged in R4B

    R4

    The extension is unchanged in R4

    R3

    The extension is unchanged in R3

    Search Parameters for this Extension

    (none found)