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 Option Restriction

Official URL: http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction Version: 5.3.0-ballot-tc1
Standards status: Trial-use Maturity Level: 2 Computable Name: QOptionRestriction
Other Identifiers: OID:2.16.840.1.113883.4.642.5.1252

Allows disabling certain questionnaire options for the containing item based on evaluating expressions.

Context of Use

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

In addition, the extension can only be used when this FHIRPath expression is true:

ofType(ElementDefinition).binding.where(strength='required').exists() or where(%resource.is(Questionnaire)).exists(answerValueSet.exists() or answerOption.exists())

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 resource metadata has changed (status)
  • 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

    Simple Extension with the type base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, Dosage, Meta: Allows disabling certain questionnaire options for the containing item based on evaluating expressions.

    Maturity: 2

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension 0..* Extension Constraint
    ... Slices for extension Content/Rules for all slices
    .... extension:option 1..* Extension Option to exclude
    ..... extension 0..0
    ..... url 1..1 uri "option"
    ..... value[x] 1..1 Value of extension
    ...... valueInteger integer
    ...... valueDate date
    ...... valueTime time
    ...... valueString string
    ...... valueCoding Coding
    ...... valueReference Reference(Any)
    .... extension:expression 1..1 Extension Expression to trigger exclusion
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction"

    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 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:option 1..* Extension Option to exclude
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "option"
    ..... value[x] 1..1 Value of extension
    ...... valueInteger integer
    ...... valueDate date
    ...... valueTime time
    ...... valueString string
    ...... valueCoding Coding
    ...... valueReference Reference(Any)
    .... extension:expression 1..1 Extension Expression to trigger exclusion
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction"
    .... valueBase64Binary base64Binary
    .... valueBoolean boolean
    .... valueCanonical canonical(Any)
    .... valueCode code
    .... valueDate date
    .... valueDateTime dateTime
    .... valueDecimal decimal
    .... valueId id
    .... valueInstant instant
    .... valueInteger integer
    .... valueInteger64 integer64
    .... valueMarkdown markdown
    .... valueOid oid
    .... valuePositiveInt positiveInt
    .... valueString string
    .... valueTime time
    .... valueUnsignedInt unsignedInt
    .... valueUri uri
    .... valueUrl url
    .... valueUuid uuid
    .... valueAddress Address
    .... valueAge Age
    .... valueAnnotation Annotation
    .... valueAttachment Attachment
    .... valueCodeableConcept CodeableConcept
    .... valueCodeableReference CodeableReference
    .... valueCoding Coding
    .... valueContactPoint ContactPoint
    .... valueCount Count
    .... valueDistance Distance
    .... valueDuration Duration
    .... valueHumanName HumanName
    .... valueIdentifier Identifier
    .... valueMoney Money
    .... valuePeriod Period
    .... valueQuantity Quantity
    .... valueRange Range
    .... valueRatio Ratio
    .... valueRatioRange RatioRange
    .... valueReference Reference(Any)
    .... valueSampledData SampledData
    .... valueSignature Signature
    .... valueTiming Timing
    .... valueContactDetail ContactDetail
    .... valueDataRequirement DataRequirement
    .... valueExpression Expression
    .... valueParameterDefinition ParameterDefinition
    .... valueRelatedArtifact RelatedArtifact
    .... valueTriggerDefinition TriggerDefinition
    .... valueUsageContext UsageContext
    .... valueAvailability Availability
    .... valueExtendedContactDetail ExtendedContactDetail
    .... valueDosage Dosage
    .... valueMeta Meta

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Simple Extension with the type base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, Dosage, Meta: Allows disabling certain questionnaire options for the containing item based on evaluating expressions.

    Maturity: 2

    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:option 1..* Extension Option to exclude
    ..... extension 0..0
    ..... url 1..1 uri "option"
    ..... value[x] 1..1 Value of extension
    ...... valueInteger integer
    ...... valueDate date
    ...... valueTime time
    ...... valueString string
    ...... valueCoding Coding
    ...... valueReference Reference(Any)
    .... extension:expression 1..1 Extension Expression to trigger exclusion
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction"

    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 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:option 1..* Extension Option to exclude
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "option"
    ..... value[x] 1..1 Value of extension
    ...... valueInteger integer
    ...... valueDate date
    ...... valueTime time
    ...... valueString string
    ...... valueCoding Coding
    ...... valueReference Reference(Any)
    .... extension:expression 1..1 Extension Expression to trigger exclusion
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction"
    .... valueBase64Binary base64Binary
    .... valueBoolean boolean
    .... valueCanonical canonical(Any)
    .... valueCode code
    .... valueDate date
    .... valueDateTime dateTime
    .... valueDecimal decimal
    .... valueId id
    .... valueInstant instant
    .... valueInteger integer
    .... valueInteger64 integer64
    .... valueMarkdown markdown
    .... valueOid oid
    .... valuePositiveInt positiveInt
    .... valueString string
    .... valueTime time
    .... valueUnsignedInt unsignedInt
    .... valueUri uri
    .... valueUrl url
    .... valueUuid uuid
    .... valueAddress Address
    .... valueAge Age
    .... valueAnnotation Annotation
    .... valueAttachment Attachment
    .... valueCodeableConcept CodeableConcept
    .... valueCodeableReference CodeableReference
    .... valueCoding Coding
    .... valueContactPoint ContactPoint
    .... valueCount Count
    .... valueDistance Distance
    .... valueDuration Duration
    .... valueHumanName HumanName
    .... valueIdentifier Identifier
    .... valueMoney Money
    .... valuePeriod Period
    .... valueQuantity Quantity
    .... valueRange Range
    .... valueRatio Ratio
    .... valueRatioRange RatioRange
    .... valueReference Reference(Any)
    .... valueSampledData SampledData
    .... valueSignature Signature
    .... valueTiming Timing
    .... valueContactDetail ContactDetail
    .... valueDataRequirement DataRequirement
    .... valueExpression Expression
    .... valueParameterDefinition ParameterDefinition
    .... valueRelatedArtifact RelatedArtifact
    .... valueTriggerDefinition TriggerDefinition
    .... valueUsageContext UsageContext
    .... valueAvailability Availability
    .... valueExtendedContactDetail ExtendedContactDetail
    .... valueDosage Dosage
    .... valueMeta Meta

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    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 represented a little differently in R3:

    • Replace the type Expression with a set of extensions for the content of the type along with the _datatype extension
    • Note: Extensions that have been modified for R3 are still draft while real-world experience is collected
    Name Flags Card. Type Description & Constraints      Filter: Filters doco
    . . Extension 0..* Extension Constraint
    . . . Slices for extension Content/Rules for all slices
    . . . . extension:option 1..* Extension Option to exclude
    . . . . . extension 0 .. 0
    . . . . . url 1 .. 1 uri "option"
    . . . . . value[x] 1.. 1 Value of extension
    . . . . . . valueInteger integer
    . . . . . . valueDate date
    . . . . . . valueTime time
    . . . . . . valueString string
    . . . . . . valueCoding Coding
    . . . . . . valueReference Reference (Any)
    . . . . extension:expression 1..1 Extension Expression to trigger exclusion
    . . . . . Slices for extension 0 ..* Extension Extension
    Slice: Unordered, Open by value:url
    . . . . . . extension:_datatype 1..1 (Complex) DataType name 'Expression' from R5
    URL: http://hl7.org/fhir/StructureDefinition/_datatype
    . . . . . . . value[x] 1.. 1 string Value of extension
    Fixed Value: Expression
    . . . . . . extension:description 0..1 Extension Natural language description of the condition
    . . . . . . . extension 0 .. 0
    . . . . . . . url 1 .. 1 uri "description"
    . . . . . . . value[x] 1.. 1 string Value of extension
    . . . . . . extension:name 0..1 Extension Short name assigned to expression for reuse
    . . . . . . . extension 0 .. 0
    . . . . . . . url 1 .. 1 uri "name"
    . . . . . . . value[x] 1.. 1 code Value of extension
    . . . . . . extension:language 0..1 Extension text/cql | text/fhirpath | application/x-fhir-query | etc.
    . . . . . . . extension 0 .. 0
    . . . . . . . url 1 .. 1 uri "language"
    . . . . . . . value[x] 1.. 1 code Value of extension
    Binding: ExpressionLanguage ( extensible ) : The media type of the expression language.
    Additional Bindings Purpose
    MimeTypes Max Binding
    . . . . . . extension:expression 0..1 Extension Expression in specified language
    . . . . . . . extension 0 .. 0
    . . . . . . . url 1 .. 1 uri "expression"
    . . . . . . . value[x] 1.. 1 string Value of extension
    . . . . . . extension:reference 0..1 Extension Where the expression is found
    . . . . . . . extension 0 .. 0
    . . . . . . . url 1 .. 1 uri "reference"
    . . . . . . . value[x] 1.. 1 uri Value of extension
    . . . . . url 1 .. 1 uri "requirements"
    . . . . . value[x] 0 .. 0
    . . . url 1 .. 1 uri "http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction"

    doco Documentation for this format

    Search Parameters for this Extension

    (none found)