PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.extensions.r3@5.3.0-ballot-tc1
    http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction
description: Allows disabling certain questionnaire options for the containing item based on evaluating expressions.
package_name: hl7.fhir.uv.extensions.r3
derivation: constraint
name: QOptionRestriction
type: Extension
elements:
  extension:
    min: 1
    short: Option to exclude
    type: Extension
    array: true
    index: 0
    slicing:
      slices:
        option:
          match: {}
          schema:
            min: 1
            short: Option to exclude
            index: 0
            type: Extension
            array: true
            elements:
              valueReference: {type: Reference, choiceOf: value, index: 10}
              valueTime: {type: time, choiceOf: value, index: 7}
              value:
                choices: [valueInteger, valueDate, valueTime, valueString, valueCoding, valueReference]
                index: 4
              valueString: {type: string, choiceOf: value, index: 8}
              valueDate: {type: date, choiceOf: value, index: 6}
              valueCoding: {type: Coding, choiceOf: value, index: 9}
              extension: {index: 1}
              url:
                type: uri
                pattern: {type: Uri, value: option}
                index: 2
              valueInteger: {type: integer, choiceOf: value, index: 5}
            _required: true
            extensions: {}
            required: [valueCoding, valueString, valueReference, value, valueDate, valueTime, valueInteger]
        expression:
          match: {}
          schema:
            type: Extension
            short: Expression to trigger exclusion
            _required: true
            index: 11
            extensions:
              _datatype:
                url: h
                type: Extension
                short: DataType name 'Expression' from R5
                index: 13
                elements:
                  value:
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 15
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    choiceOf: value
                    index: 16
                required: [valueString, value]
              description:
                url: description
                short: Natural language description of the condition
                index: 17
                extensions: {}
                elements:
                  extension: {index: 18}
                  url:
                    pattern: {type: Uri, value: description}
                    index: 19
                  value:
                    choices: [valueString]
                    index: 21
                  valueString: {type: string, choiceOf: value, index: 22}
                required: [valueString, value]
              name:
                url: name
                short: Short name assigned to expression for reuse
                index: 23
                extensions: {}
                elements:
                  extension: {index: 24}
                  url:
                    pattern: {type: Uri, value: name}
                    index: 25
                  value:
                    choices: [valueCode]
                    index: 27
                  valueCode: {type: code, choiceOf: value, index: 28}
                required: [valueCode, value]
              language:
                url: language
                short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                index: 29
                extensions: {}
                elements:
                  extension: {index: 30}
                  url:
                    pattern: {type: Uri, value: language}
                    index: 31
                  value:
                    choices: [valueCode]
                    index: 33
                  valueCode: {type: code, choiceOf: value, index: 34}
                required: [valueCode, value]
              expression:
                url: expression
                short: Expression in specified language
                index: 35
                extensions: {}
                elements:
                  extension: {index: 36}
                  url:
                    pattern: {type: Uri, value: expression}
                    index: 37
                  value:
                    choices: [valueString]
                    index: 39
                  valueString: {type: string, choiceOf: value, index: 40}
                required: [valueString, value]
              reference:
                url: reference
                short: Where the expression is found
                index: 41
                extensions: {}
                elements:
                  extension: {index: 42}
                  url:
                    pattern: {type: Uri, value: reference}
                    index: 43
                  value:
                    choices: [valueUri]
                    index: 45
                  valueUri: {type: uri, choiceOf: value, index: 46}
                required: [valueUri, value]
            elements:
              extension:
                array: true
                index: 12
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: DataType name 'Expression' from R5
                        url: h
                        index: 13
                        elements:
                          value:
                            pattern: {type: String, value: Expression}
                            choices: [valueString]
                            index: 15
                          valueString:
                            type: string
                            pattern: {type: String, value: Expression}
                            choiceOf: value
                            index: 16
                        required: [valueString, value]
                    description:
                      match: {url: description}
                      schema:
                        short: Natural language description of the condition
                        index: 17
                        extensions: {}
                        elements:
                          extension: {index: 18}
                          url:
                            pattern: {type: Uri, value: description}
                            index: 19
                          value:
                            choices: [valueString]
                            index: 21
                          valueString: {type: string, choiceOf: value, index: 22}
                        required: [valueString, value]
                    name:
                      match: {url: name}
                      schema:
                        short: Short name assigned to expression for reuse
                        index: 23
                        extensions: {}
                        elements:
                          extension: {index: 24}
                          url:
                            pattern: {type: Uri, value: name}
                            index: 25
                          value:
                            choices: [valueCode]
                            index: 27
                          valueCode: {type: code, choiceOf: value, index: 28}
                        required: [valueCode, value]
                    language:
                      match: {url: language}
                      schema:
                        short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                        index: 29
                        extensions: {}
                        elements:
                          extension: {index: 30}
                          url:
                            pattern: {type: Uri, value: language}
                            index: 31
                          value:
                            choices: [valueCode]
                            index: 33
                          valueCode: {type: code, choiceOf: value, index: 34}
                        required: [valueCode, value]
                    expression:
                      match: {url: expression}
                      schema:
                        short: Expression in specified language
                        index: 35
                        extensions: {}
                        elements:
                          extension: {index: 36}
                          url:
                            pattern: {type: Uri, value: expression}
                            index: 37
                          value:
                            choices: [valueString]
                            index: 39
                          valueString: {type: string, choiceOf: value, index: 40}
                        required: [valueString, value]
                    reference:
                      match: {url: reference}
                      schema:
                        short: Where the expression is found
                        index: 41
                        extensions: {}
                        elements:
                          extension: {index: 42}
                          url:
                            pattern: {type: Uri, value: reference}
                            index: 43
                          value:
                            choices: [valueUri]
                            index: 45
                          valueUri: {type: uri, choiceOf: value, index: 46}
                        required: [valueUri, value]
              url:
                type: uri
                pattern: {type: Uri, value: requirements}
                index: 47
              value:
                choices: []
                index: 49
  url:
    type: uri
    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction'}
    index: 50
package_version: 5.3.0-ballot-tc1
extensions:
  option:
    min: 1
    short: Option to exclude
    index: 0
    type: Extension
    array: true
    elements:
      valueReference: {type: Reference, choiceOf: value, index: 10}
      valueTime: {type: time, choiceOf: value, index: 7}
      value:
        choices: [valueInteger, valueDate, valueTime, valueString, valueCoding, valueReference]
        index: 4
      valueString: {type: string, choiceOf: value, index: 8}
      valueDate: {type: date, choiceOf: value, index: 6}
      valueCoding: {type: Coding, choiceOf: value, index: 9}
      extension: {index: 1}
      url:
        type: uri
        pattern: {type: Uri, value: option}
        index: 2
      valueInteger: {type: integer, choiceOf: value, index: 5}
    _required: true
    extensions: {}
    url: null
    required: [valueCoding, valueString, valueReference, value, valueDate, valueTime, valueInteger]
  expression:
    url: null
    type: Extension
    short: Expression to trigger exclusion
    _required: true
    index: 11
    extensions:
      _datatype:
        url: h
        type: Extension
        short: DataType name 'Expression' from R5
        index: 13
        elements:
          value:
            pattern: {type: String, value: Expression}
            choices: [valueString]
            index: 15
          valueString:
            type: string
            pattern: {type: String, value: Expression}
            choiceOf: value
            index: 16
        required: [valueString, value]
      description:
        url: description
        short: Natural language description of the condition
        index: 17
        extensions: {}
        elements:
          extension: {index: 18}
          url:
            pattern: {type: Uri, value: description}
            index: 19
          value:
            choices: [valueString]
            index: 21
          valueString: {type: string, choiceOf: value, index: 22}
        required: [valueString, value]
      name:
        url: name
        short: Short name assigned to expression for reuse
        index: 23
        extensions: {}
        elements:
          extension: {index: 24}
          url:
            pattern: {type: Uri, value: name}
            index: 25
          value:
            choices: [valueCode]
            index: 27
          valueCode: {type: code, choiceOf: value, index: 28}
        required: [valueCode, value]
      language:
        url: language
        short: text/cql | text/fhirpath | application/x-fhir-query | etc.
        index: 29
        extensions: {}
        elements:
          extension: {index: 30}
          url:
            pattern: {type: Uri, value: language}
            index: 31
          value:
            choices: [valueCode]
            index: 33
          valueCode: {type: code, choiceOf: value, index: 34}
        required: [valueCode, value]
      expression:
        url: expression
        short: Expression in specified language
        index: 35
        extensions: {}
        elements:
          extension: {index: 36}
          url:
            pattern: {type: Uri, value: expression}
            index: 37
          value:
            choices: [valueString]
            index: 39
          valueString: {type: string, choiceOf: value, index: 40}
        required: [valueString, value]
      reference:
        url: reference
        short: Where the expression is found
        index: 41
        extensions: {}
        elements:
          extension: {index: 42}
          url:
            pattern: {type: Uri, value: reference}
            index: 43
          value:
            choices: [valueUri]
            index: 45
          valueUri: {type: uri, choiceOf: value, index: 46}
        required: [valueUri, value]
    elements:
      extension:
        array: true
        index: 12
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: DataType name 'Expression' from R5
                url: h
                index: 13
                elements:
                  value:
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 15
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    choiceOf: value
                    index: 16
                required: [valueString, value]
            description:
              match: {url: description}
              schema:
                short: Natural language description of the condition
                index: 17
                extensions: {}
                elements:
                  extension: {index: 18}
                  url:
                    pattern: {type: Uri, value: description}
                    index: 19
                  value:
                    choices: [valueString]
                    index: 21
                  valueString: {type: string, choiceOf: value, index: 22}
                required: [valueString, value]
            name:
              match: {url: name}
              schema:
                short: Short name assigned to expression for reuse
                index: 23
                extensions: {}
                elements:
                  extension: {index: 24}
                  url:
                    pattern: {type: Uri, value: name}
                    index: 25
                  value:
                    choices: [valueCode]
                    index: 27
                  valueCode: {type: code, choiceOf: value, index: 28}
                required: [valueCode, value]
            language:
              match: {url: language}
              schema:
                short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                index: 29
                extensions: {}
                elements:
                  extension: {index: 30}
                  url:
                    pattern: {type: Uri, value: language}
                    index: 31
                  value:
                    choices: [valueCode]
                    index: 33
                  valueCode: {type: code, choiceOf: value, index: 34}
                required: [valueCode, value]
            expression:
              match: {url: expression}
              schema:
                short: Expression in specified language
                index: 35
                extensions: {}
                elements:
                  extension: {index: 36}
                  url:
                    pattern: {type: Uri, value: expression}
                    index: 37
                  value:
                    choices: [valueString]
                    index: 39
                  valueString: {type: string, choiceOf: value, index: 40}
                required: [valueString, value]
            reference:
              match: {url: reference}
              schema:
                short: Where the expression is found
                index: 41
                extensions: {}
                elements:
                  extension: {index: 42}
                  url:
                    pattern: {type: Uri, value: reference}
                    index: 43
                  value:
                    choices: [valueUri]
                    index: 45
                  valueUri: {type: uri, choiceOf: value, index: 46}
                required: [valueUri, value]
      url:
        type: uri
        pattern: {type: Uri, value: requirements}
        index: 47
      value:
        choices: []
        index: 49
class: extension
kind: complex-type
url: http://hl7.org/fhir/StructureDefinition/questionnaire-optionRestriction
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 5.3.0-ballot-tc1
required: [extension]