PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4b.r3@0.1.0
    http://hl7.org/fhir/4.3/StructureDefinition/extension-PlanDefinition.action.input
description: 'R4B: `PlanDefinition.action.input` additional types (DataRequirement) additional types from child elements (codeFilter, code, path, searchParam, valueSet, dateFilter, value[x], limit, mustSupport, profile, sort, direction, subject[x], type)'
package_name: hl7.fhir.uv.xver-r4b.r3
derivation: constraint
name: ExtensionPlanDefinition_Action_Input
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        limit:
          match: {url: limit}
          schema:
            short: 'R4B: Number of results (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 73
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: limit}
                index: 74
              value:
                short: Number of results
                choices: [valuePositiveInt]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 76
              valuePositiveInt:
                short: Number of results
                type: positiveInt
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 77
            required: [url]
        _datatype:
          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: DataType slice for a FHIR R4B `DataRequirement` value
            _required: true
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: DataRequirement}
                choices: [valueString]
                index: 4
              valueString:
                type: string
                pattern: {type: String, value: DataRequirement}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 5
            required: [url, valueString, value]
        type:
          match: {url: type}
          schema:
            short: 'R4B: type additional codes'
            _required: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 7
              value:
                short: The type of the required data
                choices: [valueCode]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 9
              valueCode:
                short: The type of the required data
                type: code
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 10
            required: [url, valueCode, value]
        mustSupport:
          match: {url: mustSupport}
          schema:
            short: 'R4B: Indicates specific structure elements that are referenced by the knowledge module'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 23
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: mustSupport}
                index: 24
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Indicates specific structure elements that are referenced by the knowledge module
                choices: [valueString]
                index: 26
              valueString:
                short: Indicates specific structure elements that are referenced by the knowledge module
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 27
            required: [url]
        codeFilter:
          match: {url: codeFilter}
          schema:
            short: 'R4B: codeFilter'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 28
            extensions:
              path:
                url: path
                short: 'R4B: A code-valued attribute to filter on'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 30
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 31
                  value:
                    short: A code-valued attribute to filter on
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 33
                  valueString:
                    short: A code-valued attribute to filter on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 34
                required: [url]
              searchParam:
                url: searchParam
                short: 'R4B: A coded (token) parameter to search on (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 35
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: searchParam}
                    index: 36
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A coded (token) parameter to search on
                    choices: [valueString]
                    index: 38
                  valueString:
                    short: A coded (token) parameter to search on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 39
                required: [url]
              valueSet:
                url: valueSet
                short: 'R4B: valueSet'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 40
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: valueSet}
                    index: 41
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Valueset for the filter
                    choices: [valueUri]
                    index: 43
                  valueUri:
                    short: Valueset for the filter
                    type: uri
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 44
                required: [url]
              code:
                url: code
                short: 'R4B: What code is expected'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 45
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: code}
                    index: 46
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: What code is expected
                    choices: [valueCoding]
                    index: 48
                  valueCoding:
                    short: What code is expected
                    type: Coding
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 49
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 29
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    path:
                      match: {url: path}
                      schema:
                        short: 'R4B: A code-valued attribute to filter on'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 30
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: path}
                            index: 31
                          value:
                            short: A code-valued attribute to filter on
                            choices: [valueString]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 33
                          valueString:
                            short: A code-valued attribute to filter on
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 34
                        required: [url]
                    searchParam:
                      match: {url: searchParam}
                      schema:
                        short: 'R4B: A coded (token) parameter to search on (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 35
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: searchParam}
                            index: 36
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A coded (token) parameter to search on
                            choices: [valueString]
                            index: 38
                          valueString:
                            short: A coded (token) parameter to search on
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 39
                        required: [url]
                    valueSet:
                      match: {url: valueSet}
                      schema:
                        short: 'R4B: valueSet'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 40
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: valueSet}
                            index: 41
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Valueset for the filter
                            choices: [valueUri]
                            index: 43
                          valueUri:
                            short: Valueset for the filter
                            type: uri
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 44
                        required: [url]
                    code:
                      match: {url: code}
                      schema:
                        short: 'R4B: What code is expected'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 45
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: code}
                            index: 46
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: What code is expected
                            choices: [valueCoding]
                            index: 48
                          valueCoding:
                            short: What code is expected
                            type: Coding
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 49
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: codeFilter}
                index: 50
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 52
            required: [url]
        subject:
          match: {url: subject}
          schema:
            short: 'R4B: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: subject}
                index: 17
              value:
                short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
                choices: [valueCodeableConcept, valueReference, valueReference]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 19
              valueCodeableConcept:
                short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 20
              valueReference:
                short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
                refers: ['http://hl7.org/fhir/4.3/StructureDefinition/profile-Group|0.1.0']
                type: Reference
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 21
            required: [url]
        dateFilter:
          match: {url: dateFilter}
          schema:
            short: 'R4B: dateFilter'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 53
            extensions:
              path:
                url: path
                short: 'R4B: A date-valued attribute to filter on'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 55
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 56
                  value:
                    short: A date-valued attribute to filter on
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 58
                  valueString:
                    short: A date-valued attribute to filter on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 59
                required: [url]
              searchParam:
                url: searchParam
                short: 'R4B: A date valued parameter to search on (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 60
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: searchParam}
                    index: 61
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A date valued parameter to search on
                    choices: [valueString]
                    index: 63
                  valueString:
                    short: A date valued parameter to search on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 64
                required: [url]
              value:
                url: value
                short: 'R4B: value additional types'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 65
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 66
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The value of the filter, as a Period, DateTime, or Duration value
                    choices: [valuePeriod]
                    index: 68
                  valuePeriod:
                    short: The value of the filter, as a Period, DateTime, or Duration value
                    type: Period
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 69
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 54
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    path:
                      match: {url: path}
                      schema:
                        short: 'R4B: A date-valued attribute to filter on'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 55
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: path}
                            index: 56
                          value:
                            short: A date-valued attribute to filter on
                            choices: [valueString]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 58
                          valueString:
                            short: A date-valued attribute to filter on
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 59
                        required: [url]
                    searchParam:
                      match: {url: searchParam}
                      schema:
                        short: 'R4B: A date valued parameter to search on (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 60
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: searchParam}
                            index: 61
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A date valued parameter to search on
                            choices: [valueString]
                            index: 63
                          valueString:
                            short: A date valued parameter to search on
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 64
                        required: [url]
                    value:
                      match: {url: value}
                      schema:
                        short: 'R4B: value additional types'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 65
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: value}
                            index: 66
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The value of the filter, as a Period, DateTime, or Duration value
                            choices: [valuePeriod]
                            index: 68
                          valuePeriod:
                            short: The value of the filter, as a Period, DateTime, or Duration value
                            type: Period
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 69
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: dateFilter}
                index: 70
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 72
            required: [url]
        sort:
          match: {url: sort}
          schema:
            short: 'R4B: Order of the results (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 78
            extensions:
              path:
                url: path
                short: 'R4B: The name of the attribute to perform the sort (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 80
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 81
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The name of the attribute to perform the sort
                    choices: [valueString]
                    index: 83
                  valueString:
                    short: The name of the attribute to perform the sort
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 84
                required: [url, valueString, value]
              direction:
                url: direction
                short: 'R4B: ascending | descending (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 85
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: direction}
                    index: 86
                  value:
                    short: ascending | descending
                    choices: [valueCode]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 88
                  valueCode:
                    short: ascending | descending
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 89
                required: [url, valueCode, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 2
                index: 79
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    path:
                      match: {url: path}
                      schema:
                        short: 'R4B: The name of the attribute to perform the sort (new)'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 80
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: path}
                            index: 81
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The name of the attribute to perform the sort
                            choices: [valueString]
                            index: 83
                          valueString:
                            short: The name of the attribute to perform the sort
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 84
                        required: [url, valueString, value]
                    direction:
                      match: {url: direction}
                      schema:
                        short: 'R4B: ascending | descending (new)'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 85
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: direction}
                            index: 86
                          value:
                            short: ascending | descending
                            choices: [valueCode]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 88
                          valueCode:
                            short: ascending | descending
                            type: code
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 89
                        required: [url, valueCode, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: sort}
                index: 90
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 92
            required: [url]
        profile:
          match: {url: profile}
          schema:
            short: 'R4B: profile'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: profile}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The profile of the required data
                choices: [valueUri]
                index: 14
              valueUri:
                short: The profile of the required data
                type: uri
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 15
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-PlanDefinition.action.input'}
    index: 93
  value:
    base: {max: '1', min: 0, path: 'Extension.value[x]'}
    choices: []
    index: 95
package_version: 0.1.0
extensions:
  limit:
    url: limit
    short: 'R4B: Number of results (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 73
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: limit}
        index: 74
      value:
        short: Number of results
        choices: [valuePositiveInt]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 76
      valuePositiveInt:
        short: Number of results
        type: positiveInt
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 77
    required: [url]
  _datatype:
    url: http://hl7.org/fhir/StructureDefinition/_datatype
    base: {max: '*', min: 0, path: Extension.extension}
    short: DataType slice for a FHIR R4B `DataRequirement` value
    _required: true
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        pattern: {type: String, value: DataRequirement}
        choices: [valueString]
        index: 4
      valueString:
        type: string
        pattern: {type: String, value: DataRequirement}
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 5
    required: [url, valueString, value]
  type:
    url: type
    short: 'R4B: type additional codes'
    _required: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: type}
        index: 7
      value:
        short: The type of the required data
        choices: [valueCode]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 9
      valueCode:
        short: The type of the required data
        type: code
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 10
    required: [url, valueCode, value]
  mustSupport:
    url: mustSupport
    short: 'R4B: Indicates specific structure elements that are referenced by the knowledge module'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 23
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: mustSupport}
        index: 24
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Indicates specific structure elements that are referenced by the knowledge module
        choices: [valueString]
        index: 26
      valueString:
        short: Indicates specific structure elements that are referenced by the knowledge module
        type: string
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 27
    required: [url]
  codeFilter:
    url: codeFilter
    short: 'R4B: codeFilter'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 28
    extensions:
      path:
        url: path
        short: 'R4B: A code-valued attribute to filter on'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 30
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: path}
            index: 31
          value:
            short: A code-valued attribute to filter on
            choices: [valueString]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 33
          valueString:
            short: A code-valued attribute to filter on
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 34
        required: [url]
      searchParam:
        url: searchParam
        short: 'R4B: A coded (token) parameter to search on (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 35
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: searchParam}
            index: 36
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A coded (token) parameter to search on
            choices: [valueString]
            index: 38
          valueString:
            short: A coded (token) parameter to search on
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 39
        required: [url]
      valueSet:
        url: valueSet
        short: 'R4B: valueSet'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 40
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: valueSet}
            index: 41
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Valueset for the filter
            choices: [valueUri]
            index: 43
          valueUri:
            short: Valueset for the filter
            type: uri
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 44
        required: [url]
      code:
        url: code
        short: 'R4B: What code is expected'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 45
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: code}
            index: 46
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: What code is expected
            choices: [valueCoding]
            index: 48
          valueCoding:
            short: What code is expected
            type: Coding
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 49
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 29
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            path:
              match: {url: path}
              schema:
                short: 'R4B: A code-valued attribute to filter on'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 30
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 31
                  value:
                    short: A code-valued attribute to filter on
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 33
                  valueString:
                    short: A code-valued attribute to filter on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 34
                required: [url]
            searchParam:
              match: {url: searchParam}
              schema:
                short: 'R4B: A coded (token) parameter to search on (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 35
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: searchParam}
                    index: 36
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A coded (token) parameter to search on
                    choices: [valueString]
                    index: 38
                  valueString:
                    short: A coded (token) parameter to search on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 39
                required: [url]
            valueSet:
              match: {url: valueSet}
              schema:
                short: 'R4B: valueSet'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 40
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: valueSet}
                    index: 41
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Valueset for the filter
                    choices: [valueUri]
                    index: 43
                  valueUri:
                    short: Valueset for the filter
                    type: uri
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 44
                required: [url]
            code:
              match: {url: code}
              schema:
                short: 'R4B: What code is expected'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 45
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: code}
                    index: 46
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: What code is expected
                    choices: [valueCoding]
                    index: 48
                  valueCoding:
                    short: What code is expected
                    type: Coding
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 49
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: codeFilter}
        index: 50
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 52
    required: [url]
  subject:
    url: subject
    short: 'R4B: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: subject}
        index: 17
      value:
        short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
        choices: [valueCodeableConcept, valueReference, valueReference]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 19
      valueCodeableConcept:
        short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
        type: CodeableConcept
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 20
      valueReference:
        short: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
        refers: ['http://hl7.org/fhir/4.3/StructureDefinition/profile-Group|0.1.0']
        type: Reference
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 21
    required: [url]
  dateFilter:
    url: dateFilter
    short: 'R4B: dateFilter'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 53
    extensions:
      path:
        url: path
        short: 'R4B: A date-valued attribute to filter on'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 55
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: path}
            index: 56
          value:
            short: A date-valued attribute to filter on
            choices: [valueString]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 58
          valueString:
            short: A date-valued attribute to filter on
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 59
        required: [url]
      searchParam:
        url: searchParam
        short: 'R4B: A date valued parameter to search on (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 60
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: searchParam}
            index: 61
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A date valued parameter to search on
            choices: [valueString]
            index: 63
          valueString:
            short: A date valued parameter to search on
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 64
        required: [url]
      value:
        url: value
        short: 'R4B: value additional types'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 65
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: value}
            index: 66
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The value of the filter, as a Period, DateTime, or Duration value
            choices: [valuePeriod]
            index: 68
          valuePeriod:
            short: The value of the filter, as a Period, DateTime, or Duration value
            type: Period
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 69
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 54
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            path:
              match: {url: path}
              schema:
                short: 'R4B: A date-valued attribute to filter on'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 55
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 56
                  value:
                    short: A date-valued attribute to filter on
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 58
                  valueString:
                    short: A date-valued attribute to filter on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 59
                required: [url]
            searchParam:
              match: {url: searchParam}
              schema:
                short: 'R4B: A date valued parameter to search on (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 60
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: searchParam}
                    index: 61
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A date valued parameter to search on
                    choices: [valueString]
                    index: 63
                  valueString:
                    short: A date valued parameter to search on
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 64
                required: [url]
            value:
              match: {url: value}
              schema:
                short: 'R4B: value additional types'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 65
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 66
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The value of the filter, as a Period, DateTime, or Duration value
                    choices: [valuePeriod]
                    index: 68
                  valuePeriod:
                    short: The value of the filter, as a Period, DateTime, or Duration value
                    type: Period
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 69
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: dateFilter}
        index: 70
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 72
    required: [url]
  sort:
    url: sort
    short: 'R4B: Order of the results (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 78
    extensions:
      path:
        url: path
        short: 'R4B: The name of the attribute to perform the sort (new)'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 80
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: path}
            index: 81
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The name of the attribute to perform the sort
            choices: [valueString]
            index: 83
          valueString:
            short: The name of the attribute to perform the sort
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 84
        required: [url, valueString, value]
      direction:
        url: direction
        short: 'R4B: ascending | descending (new)'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 85
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: direction}
            index: 86
          value:
            short: ascending | descending
            choices: [valueCode]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 88
          valueCode:
            short: ascending | descending
            type: code
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 89
        required: [url, valueCode, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 2
        index: 79
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            path:
              match: {url: path}
              schema:
                short: 'R4B: The name of the attribute to perform the sort (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 80
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: path}
                    index: 81
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The name of the attribute to perform the sort
                    choices: [valueString]
                    index: 83
                  valueString:
                    short: The name of the attribute to perform the sort
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 84
                required: [url, valueString, value]
            direction:
              match: {url: direction}
              schema:
                short: 'R4B: ascending | descending (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 85
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: direction}
                    index: 86
                  value:
                    short: ascending | descending
                    choices: [valueCode]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 88
                  valueCode:
                    short: ascending | descending
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 89
                required: [url, valueCode, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: sort}
        index: 90
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 92
    required: [url]
  profile:
    url: profile
    short: 'R4B: profile'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: profile}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The profile of the required data
        choices: [valueUri]
        index: 14
      valueUri:
        short: The profile of the required data
        type: uri
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 15
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-PlanDefinition.action.input
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.1.0
required: [url]