PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r2.r5-0.0.1-snapshot-2
    http://hl7.org/fhir/1.0/StructureDefinition/extension-DeviceComponent
description: This cross-version extension represents DeviceComponent from http://hl7.org/fhir/StructureDefinition/DeviceComponent|1.0.2 for use in FHIR R5.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R2_DeviceComponent
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 2
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 2
      slices:
        parent:
          match: {url: parent}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Parent resource link
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: parent}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Parent resource link
                choices: [valueReference]
                index: 19
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Parent resource link
                choiceOf: value
                index: 20
            required: [url]
        parameterGroup:
          match: {url: parameterGroup}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Current supported parameter group
            index: 26
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: parameterGroup}
                index: 27
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Current supported parameter group
                choices: [valueCodeableConcept]
                index: 29
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Current supported parameter group
                choiceOf: value
                index: 30
            required: [url]
        type:
          match: {url: type}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: What kind of component it is
            _required: true
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: What kind of component it is
                choices: [valueCodeableConcept]
                index: 4
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: What kind of component it is
                choiceOf: value
                index: 5
            required: [url]
        source:
          match: {url: source}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A source device of this component
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: source}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A source device of this component
                choices: [valueReference]
                index: 14
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: A source device of this component
                choiceOf: value
                index: 15
            required: [url]
        productionSpecification:
          match: {url: productionSpecification}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Production specification of the component
            array: true
            index: 36
            extensions:
              specType:
                url: specType
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specification type
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: specType}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specification type
                    choices: [valueCodeableConcept]
                    index: 41
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Specification type
                    choiceOf: value
                    index: 42
                required: [url]
              componentId:
                url: componentId
                base: {max: '*', min: 0, path: Extension.extension}
                short: Internal component unique identification
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: componentId}
                    index: 44
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Internal component unique identification
                    choices: [valueIdentifier]
                    index: 46
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Internal component unique identification
                    choiceOf: value
                    index: 47
                required: [url]
              productionSpec:
                url: productionSpec
                base: {max: '*', min: 0, path: Extension.extension}
                short: A printable string defining the component
                index: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: productionSpec}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A printable string defining the component
                    choices: [valueString]
                    index: 51
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A printable string defining the component
                    choiceOf: value
                    index: 52
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 37
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    specType:
                      match: {url: specType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Specification type
                        index: 38
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: specType}
                            index: 39
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Specification type
                            choices: [valueCodeableConcept]
                            index: 41
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Specification type
                            choiceOf: value
                            index: 42
                        required: [url]
                    componentId:
                      match: {url: componentId}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Internal component unique identification
                        index: 43
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: componentId}
                            index: 44
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Internal component unique identification
                            choices: [valueIdentifier]
                            index: 46
                          valueIdentifier:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Identifier
                            short: Internal component unique identification
                            choiceOf: value
                            index: 47
                        required: [url]
                    productionSpec:
                      match: {url: productionSpec}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A printable string defining the component
                        index: 48
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: productionSpec}
                            index: 49
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A printable string defining the component
                            choices: [valueString]
                            index: 51
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A printable string defining the component
                            choiceOf: value
                            index: 52
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: productionSpecification}
                index: 53
            required: [url]
        languageCode:
          match: {url: languageCode}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Language code for the human-readable text strings produced by the device
            index: 54
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: languageCode}
                index: 55
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Language code for the human-readable text strings produced by the device
                choices: [valueCodeableConcept]
                index: 57
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Language code for the human-readable text strings produced by the device
                choiceOf: value
                index: 58
            required: [url]
        operationalStatus:
          match: {url: operationalStatus}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Component operational status
            array: true
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: operationalStatus}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Component operational status
                choices: [valueCodeableConcept]
                index: 24
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Component operational status
                choiceOf: value
                index: 25
            required: [url]
        measurementPrinciple:
          match: {url: measurementPrinciple}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
            index: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: measurementPrinciple}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
                choices: [valueCode]
                index: 34
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
                choiceOf: value
                index: 35
            required: [url]
        lastSystemChange:
          match: {url: lastSystemChange}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Recent system change timestamp
            _required: true
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: lastSystemChange}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Recent system change timestamp
                choices: [valueInstant]
                index: 9
              valueInstant:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: instant
                short: Recent system change timestamp
                choiceOf: value
                index: 10
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/1.0/StructureDefinition/extension-DeviceComponent'}
    index: 59
package_version: r2.r5-0.0.1-snapshot-2
extensions:
  parent:
    url: parent
    base: {max: '*', min: 0, path: Extension.extension}
    short: Parent resource link
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: parent}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Parent resource link
        choices: [valueReference]
        index: 19
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Parent resource link
        choiceOf: value
        index: 20
    required: [url]
  parameterGroup:
    url: parameterGroup
    base: {max: '*', min: 0, path: Extension.extension}
    short: Current supported parameter group
    index: 26
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: parameterGroup}
        index: 27
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Current supported parameter group
        choices: [valueCodeableConcept]
        index: 29
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Current supported parameter group
        choiceOf: value
        index: 30
    required: [url]
  type:
    url: type
    base: {max: '*', min: 0, path: Extension.extension}
    short: What kind of component it is
    _required: true
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: type}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: What kind of component it is
        choices: [valueCodeableConcept]
        index: 4
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: What kind of component it is
        choiceOf: value
        index: 5
    required: [url]
  source:
    url: source
    base: {max: '*', min: 0, path: Extension.extension}
    short: A source device of this component
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: source}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A source device of this component
        choices: [valueReference]
        index: 14
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: A source device of this component
        choiceOf: value
        index: 15
    required: [url]
  productionSpecification:
    url: productionSpecification
    base: {max: '*', min: 0, path: Extension.extension}
    short: Production specification of the component
    array: true
    index: 36
    extensions:
      specType:
        url: specType
        base: {max: '*', min: 0, path: Extension.extension}
        short: Specification type
        index: 38
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: specType}
            index: 39
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Specification type
            choices: [valueCodeableConcept]
            index: 41
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Specification type
            choiceOf: value
            index: 42
        required: [url]
      componentId:
        url: componentId
        base: {max: '*', min: 0, path: Extension.extension}
        short: Internal component unique identification
        index: 43
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: componentId}
            index: 44
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Internal component unique identification
            choices: [valueIdentifier]
            index: 46
          valueIdentifier:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Identifier
            short: Internal component unique identification
            choiceOf: value
            index: 47
        required: [url]
      productionSpec:
        url: productionSpec
        base: {max: '*', min: 0, path: Extension.extension}
        short: A printable string defining the component
        index: 48
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: productionSpec}
            index: 49
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A printable string defining the component
            choices: [valueString]
            index: 51
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: A printable string defining the component
            choiceOf: value
            index: 52
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 37
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            specType:
              match: {url: specType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specification type
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: specType}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specification type
                    choices: [valueCodeableConcept]
                    index: 41
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Specification type
                    choiceOf: value
                    index: 42
                required: [url]
            componentId:
              match: {url: componentId}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Internal component unique identification
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: componentId}
                    index: 44
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Internal component unique identification
                    choices: [valueIdentifier]
                    index: 46
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Internal component unique identification
                    choiceOf: value
                    index: 47
                required: [url]
            productionSpec:
              match: {url: productionSpec}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A printable string defining the component
                index: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: productionSpec}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A printable string defining the component
                    choices: [valueString]
                    index: 51
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A printable string defining the component
                    choiceOf: value
                    index: 52
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: productionSpecification}
        index: 53
    required: [url]
  languageCode:
    url: languageCode
    base: {max: '*', min: 0, path: Extension.extension}
    short: Language code for the human-readable text strings produced by the device
    index: 54
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: languageCode}
        index: 55
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Language code for the human-readable text strings produced by the device
        choices: [valueCodeableConcept]
        index: 57
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Language code for the human-readable text strings produced by the device
        choiceOf: value
        index: 58
    required: [url]
  operationalStatus:
    url: operationalStatus
    base: {max: '*', min: 0, path: Extension.extension}
    short: Component operational status
    array: true
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: operationalStatus}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Component operational status
        choices: [valueCodeableConcept]
        index: 24
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Component operational status
        choiceOf: value
        index: 25
    required: [url]
  measurementPrinciple:
    url: measurementPrinciple
    base: {max: '*', min: 0, path: Extension.extension}
    short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: measurementPrinciple}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
        choices: [valueCode]
        index: 34
      valueCode:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: code
        short: other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
        choiceOf: value
        index: 35
    required: [url]
  lastSystemChange:
    url: lastSystemChange
    base: {max: '*', min: 0, path: Extension.extension}
    short: Recent system change timestamp
    _required: true
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: lastSystemChange}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Recent system change timestamp
        choices: [valueInstant]
        index: 9
      valueInstant:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: instant
        short: Recent system change timestamp
        choiceOf: value
        index: 10
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/1.0/StructureDefinition/extension-DeviceComponent
base: http://hl7.org/fhir/StructureDefinition/Extension|5.0.0
version: 0.0.1-snapshot-2
required: [url]