PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.tools.r3@0.4.0
    http://hl7.org/fhir/tools/StructureDefinition/additional-binding
description: Extension definition for Additional Binding. Additional Bindings are in the R5 Element Definition; this extension is used in prior versions (instead of the R5 cross-version extension)
package_name: hl7.fhir.uv.tools.r3
derivation: constraint
name: AdditionalBinding
type: Extension
elements:
  extension:
    type: Extension
    short: Unique identifier so additional bindings to be matched across profiles
    index: 0
    slicing:
      slices:
        key:
          match: {}
          schema:
            type: Extension
            short: Unique identifier so additional bindings to be matched across profiles
            index: 0
            extensions: {}
            elements:
              extension: {index: 1}
              url:
                type: uri
                pattern: {type: Uri, value: purpose}
                index: 2
              value:
                choices: [valueId]
                index: 4
              valueId: {type: id, choiceOf: value, index: 5}
            required: [value, valueId]
        purpose:
          match: {}
          schema:
            type: Extension
            short: How the binding is used
            _required: true
            index: 6
            extensions: {}
            elements:
              extension: {index: 7}
              url:
                type: uri
                pattern: {type: Uri, value: purpose}
                index: 8
              value:
                choices: [valueCode]
                index: 10
              valueCode: {type: code, choiceOf: value, index: 11}
            required: [valueCode, value]
        valueSet:
          match: {}
          schema:
            type: Extension
            short: The valueSet for the binding
            _required: true
            index: 12
            extensions: {}
            elements:
              extension: {index: 13}
              url:
                type: uri
                pattern: {type: Uri, value: valueSet}
                index: 14
              value:
                choices: [valueUri]
                index: 16
              valueUri: {type: uri, choiceOf: value, index: 17}
            required: [valueUri, value]
        documentation:
          match: {}
          schema:
            type: Extension
            short: Documentation for this binding
            index: 18
            extensions: {}
            elements:
              extension: {index: 19}
              url:
                type: uri
                pattern: {type: Uri, value: documentation}
                index: 20
              value:
                choices: [valueMarkdown]
                index: 22
              valueMarkdown: {type: markdown, choiceOf: value, index: 23}
            required: [valueMarkdown, value]
        shortDoco:
          match: {}
          schema:
            type: Extension
            short: Short doco for this binding - used in dense table views
            index: 24
            extensions: {}
            elements:
              extension: {index: 25}
              url:
                type: uri
                pattern: {type: Uri, value: shortDoco}
                index: 26
              value:
                choices: [valueString]
                index: 28
              valueString: {type: string, choiceOf: value, index: 29}
            required: [valueString, value]
        usage:
          match: {}
          schema:
            short: Definition of a context in which this binding applies
            type: Extension
            array: true
            index: 30
            extensions:
              _datatype:
                url: h
                type: Extension
                short: DataType name 'UsageContext' from R5
                index: 32
                elements:
                  value:
                    pattern: {type: String, value: UsageContext}
                    choices: [valueString]
                    index: 34
                  valueString:
                    type: string
                    pattern: {type: String, value: UsageContext}
                    choiceOf: value
                    index: 35
                required: [valueString, value]
              code:
                url: code
                short: Type of context being specified
                _required: true
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: code}
                    index: 38
                  value:
                    choices: [valueCoding]
                    index: 40
                  valueCoding: {type: Coding, choiceOf: value, index: 41}
                required: [valueCoding, value]
              value[x]:
                url: value[x]
                short: Value that defines the context
                _required: true
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 44
                  value:
                    choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                    index: 46
                  valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                  valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                  valueRange: {type: Range, choiceOf: value, index: 49}
                  valueReference:
                    type: Reference
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                    index: 50
                required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
            elements:
              extension:
                array: true
                index: 31
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: DataType name 'UsageContext' from R5
                        url: h
                        index: 32
                        elements:
                          value:
                            pattern: {type: String, value: UsageContext}
                            choices: [valueString]
                            index: 34
                          valueString:
                            type: string
                            pattern: {type: String, value: UsageContext}
                            choiceOf: value
                            index: 35
                        required: [valueString, value]
                    code:
                      match: {url: code}
                      schema:
                        short: Type of context being specified
                        _required: true
                        index: 36
                        extensions: {}
                        elements:
                          extension: {index: 37}
                          url:
                            pattern: {type: Uri, value: code}
                            index: 38
                          value:
                            choices: [valueCoding]
                            index: 40
                          valueCoding: {type: Coding, choiceOf: value, index: 41}
                        required: [valueCoding, value]
                    value[x]:
                      match: {url: 'value[x]'}
                      schema:
                        short: Value that defines the context
                        _required: true
                        index: 42
                        extensions: {}
                        elements:
                          extension: {index: 43}
                          url:
                            pattern: {type: Uri, value: 'value[x]'}
                            index: 44
                          value:
                            choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                            index: 46
                          valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                          valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                          valueRange: {type: Range, choiceOf: value, index: 49}
                          valueReference:
                            type: Reference
                            choiceOf: value
                            refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                            index: 50
                        required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
              url:
                type: uri
                pattern: {type: Uri, value: usage}
                index: 57
              value:
                choices: []
                index: 59
        any:
          match: {}
          schema:
            type: Extension
            short: Whether the binding applies to all repeats, or just to any one of the repeats
            index: 60
            extensions: {}
            elements:
              extension: {index: 61}
              url:
                type: uri
                pattern: {type: Uri, value: any}
                index: 62
              value:
                choices: [valueBoolean]
                index: 64
              valueBoolean: {type: boolean, choiceOf: value, index: 65}
            required: [value, valueBoolean]
  url:
    pattern: {type: Uri, value: 'http://hl7.org/fhir/tools/StructureDefinition/additional-binding'}
    index: 66
  value:
    choices: []
    index: 68
package_version: 0.4.0
extensions:
  key:
    url: null
    type: Extension
    short: Unique identifier so additional bindings to be matched across profiles
    index: 0
    extensions: {}
    elements:
      extension: {index: 1}
      url:
        type: uri
        pattern: {type: Uri, value: purpose}
        index: 2
      value:
        choices: [valueId]
        index: 4
      valueId: {type: id, choiceOf: value, index: 5}
    required: [value, valueId]
  purpose:
    url: null
    type: Extension
    short: How the binding is used
    _required: true
    index: 6
    extensions: {}
    elements:
      extension: {index: 7}
      url:
        type: uri
        pattern: {type: Uri, value: purpose}
        index: 8
      value:
        choices: [valueCode]
        index: 10
      valueCode: {type: code, choiceOf: value, index: 11}
    required: [valueCode, value]
  valueSet:
    url: null
    type: Extension
    short: The valueSet for the binding
    _required: true
    index: 12
    extensions: {}
    elements:
      extension: {index: 13}
      url:
        type: uri
        pattern: {type: Uri, value: valueSet}
        index: 14
      value:
        choices: [valueUri]
        index: 16
      valueUri: {type: uri, choiceOf: value, index: 17}
    required: [valueUri, value]
  documentation:
    url: null
    type: Extension
    short: Documentation for this binding
    index: 18
    extensions: {}
    elements:
      extension: {index: 19}
      url:
        type: uri
        pattern: {type: Uri, value: documentation}
        index: 20
      value:
        choices: [valueMarkdown]
        index: 22
      valueMarkdown: {type: markdown, choiceOf: value, index: 23}
    required: [valueMarkdown, value]
  shortDoco:
    url: null
    type: Extension
    short: Short doco for this binding - used in dense table views
    index: 24
    extensions: {}
    elements:
      extension: {index: 25}
      url:
        type: uri
        pattern: {type: Uri, value: shortDoco}
        index: 26
      value:
        choices: [valueString]
        index: 28
      valueString: {type: string, choiceOf: value, index: 29}
    required: [valueString, value]
  usage:
    url: null
    short: Definition of a context in which this binding applies
    type: Extension
    array: true
    index: 30
    extensions:
      _datatype:
        url: h
        type: Extension
        short: DataType name 'UsageContext' from R5
        index: 32
        elements:
          value:
            pattern: {type: String, value: UsageContext}
            choices: [valueString]
            index: 34
          valueString:
            type: string
            pattern: {type: String, value: UsageContext}
            choiceOf: value
            index: 35
        required: [valueString, value]
      code:
        url: code
        short: Type of context being specified
        _required: true
        index: 36
        extensions: {}
        elements:
          extension: {index: 37}
          url:
            pattern: {type: Uri, value: code}
            index: 38
          value:
            choices: [valueCoding]
            index: 40
          valueCoding: {type: Coding, choiceOf: value, index: 41}
        required: [valueCoding, value]
      value[x]:
        url: value[x]
        short: Value that defines the context
        _required: true
        index: 42
        extensions: {}
        elements:
          extension: {index: 43}
          url:
            pattern: {type: Uri, value: 'value[x]'}
            index: 44
          value:
            choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
            index: 46
          valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
          valueQuantity: {type: Quantity, choiceOf: value, index: 48}
          valueRange: {type: Range, choiceOf: value, index: 49}
          valueReference:
            type: Reference
            choiceOf: value
            refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
            index: 50
        required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
    elements:
      extension:
        array: true
        index: 31
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: DataType name 'UsageContext' from R5
                url: h
                index: 32
                elements:
                  value:
                    pattern: {type: String, value: UsageContext}
                    choices: [valueString]
                    index: 34
                  valueString:
                    type: string
                    pattern: {type: String, value: UsageContext}
                    choiceOf: value
                    index: 35
                required: [valueString, value]
            code:
              match: {url: code}
              schema:
                short: Type of context being specified
                _required: true
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: code}
                    index: 38
                  value:
                    choices: [valueCoding]
                    index: 40
                  valueCoding: {type: Coding, choiceOf: value, index: 41}
                required: [valueCoding, value]
            value[x]:
              match: {url: 'value[x]'}
              schema:
                short: Value that defines the context
                _required: true
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 44
                  value:
                    choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                    index: 46
                  valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                  valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                  valueRange: {type: Range, choiceOf: value, index: 49}
                  valueReference:
                    type: Reference
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                    index: 50
                required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
      url:
        type: uri
        pattern: {type: Uri, value: usage}
        index: 57
      value:
        choices: []
        index: 59
  any:
    url: null
    type: Extension
    short: Whether the binding applies to all repeats, or just to any one of the repeats
    index: 60
    extensions: {}
    elements:
      extension: {index: 61}
      url:
        type: uri
        pattern: {type: Uri, value: any}
        index: 62
      value:
        choices: [valueBoolean]
        index: 64
      valueBoolean: {type: boolean, choiceOf: value, index: 65}
    required: [value, valueBoolean]
class: extension
kind: complex-type
url: http://hl7.org/fhir/tools/StructureDefinition/additional-binding
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.4.0