PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r5.r4.r4@0.0.1-snapshot-2
    http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceDispense
description: This cross-version extension represents DeviceDispense from http://hl7.org/fhir/StructureDefinition/DeviceDispense|5.0.0 for use in FHIR R4.
package_name: hl7.fhir.uv.xver-r5.r4.r4
derivation: constraint
name: Ext_R5_DeviceDispense
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:
        category:
          match: {url: category}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Type of device dispense
            array: true
            index: 33
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: category}
                index: 34
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Type of device dispense
                choices: [valueCodeableConcept]
                index: 36
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Type of device dispense
                choiceOf: value
                index: 37
            required: [url]
        whenHandedOver:
          match: {url: whenHandedOver}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When product was given out
            index: 103
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: whenHandedOver}
                index: 104
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When product was given out
                choices: [valueDateTime]
                index: 106
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: When product was given out
                choiceOf: value
                index: 107
            required: [url]
        eventHistory:
          match: {url: eventHistory}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A list of relevant lifecycle events
            array: true
            index: 123
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: eventHistory}
                index: 124
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A list of relevant lifecycle events
                choices: [valueReference]
                index: 126
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: A list of relevant lifecycle events
                choiceOf: value
                index: 127
            required: [url]
        usageInstruction:
          match: {url: usageInstruction}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Full representation of the usage instructions
            index: 118
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: usageInstruction}
                index: 119
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Full representation of the usage instructions
                choices: [valueMarkdown]
                index: 121
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Full representation of the usage instructions
                choiceOf: value
                index: 122
            required: [url]
        encounter:
          match: {url: encounter}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Encounter associated with event
            index: 60
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: encounter}
                index: 61
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Encounter associated with event
                choices: [valueReference]
                index: 63
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Encounter associated with event
                choiceOf: value
                index: 64
            required: [url]
        preparedDate:
          match: {url: preparedDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When product was packaged and reviewed
            index: 98
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: preparedDate}
                index: 99
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When product was packaged and reviewed
                choices: [valueDateTime]
                index: 101
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: When product was packaged and reviewed
                choiceOf: value
                index: 102
            required: [url]
        type:
          match: {url: type}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Trial fill, partial fill, emergency fill, etc
            index: 88
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 89
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Trial fill, partial fill, emergency fill, etc
                choices: [valueCodeableConcept]
                index: 91
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Trial fill, partial fill, emergency fill, etc
                choiceOf: value
                index: 92
            required: [url]
        statusReason:
          match: {url: statusReason}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Why a dispense was or was not performed
            index: 16
            extensions:
              concept:
                url: concept
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a concept (by class)
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 22
                required: [url]
              reference:
                url: reference
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 26
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 27
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for DeviceDispense.statusReason from FHIR R5
                index: 28
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 30
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 31
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 17
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    concept:
                      match: {url: concept}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to a concept (by class)
                        index: 18
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: concept}
                            index: 19
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a concept (by class)
                            choices: [valueCodeableConcept]
                            index: 21
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Reference to a concept (by class)
                            choiceOf: value
                            index: 22
                        required: [url]
                    reference:
                      match: {url: reference}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to a resource (by instance)
                        index: 23
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: reference}
                            index: 24
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a resource (by instance)
                            choices: [valueReference]
                            index: 26
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Reference to a resource (by instance)
                            choiceOf: value
                            index: 27
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for DeviceDispense.statusReason from FHIR R5
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 28
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: CodeableReference}
                            choices: [valueString]
                            index: 30
                          valueString:
                            type: string
                            pattern: {type: String, value: CodeableReference}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 31
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: statusReason}
                index: 32
            required: [url]
        note:
          match: {url: note}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about the dispense
            array: true
            index: 113
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: note}
                index: 114
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Information about the dispense
                choices: [valueAnnotation]
                index: 116
              valueAnnotation:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Annotation
                short: Information about the dispense
                choiceOf: value
                index: 117
            required: [url]
        supportingInformation:
          match: {url: supportingInformation}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information that supports the dispensing of the device
            array: true
            index: 65
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: supportingInformation}
                index: 66
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Information that supports the dispensing of the device
                choices: [valueReference]
                index: 68
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Information that supports the dispensing of the device
                choiceOf: value
                index: 69
            required: [url]
        status:
          match: {url: status}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
            _required: true
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
                choices: [valueCode]
                index: 14
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
                choiceOf: value
                index: 15
            required: [url]
        device:
          match: {url: device}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: What device was supplied
            _required: true
            index: 38
            extensions:
              concept:
                url: concept
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a concept (by class)
                index: 40
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 41
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 43
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 44
                required: [url]
              reference:
                url: reference
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 45
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 46
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 48
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 49
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for DeviceDispense.device from FHIR R5
                index: 50
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 52
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 53
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 39
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    concept:
                      match: {url: concept}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to a concept (by class)
                        index: 40
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: concept}
                            index: 41
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a concept (by class)
                            choices: [valueCodeableConcept]
                            index: 43
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Reference to a concept (by class)
                            choiceOf: value
                            index: 44
                        required: [url]
                    reference:
                      match: {url: reference}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to a resource (by instance)
                        index: 45
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: reference}
                            index: 46
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a resource (by instance)
                            choices: [valueReference]
                            index: 48
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Reference to a resource (by instance)
                            choiceOf: value
                            index: 49
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for DeviceDispense.device from FHIR R5
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 50
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: CodeableReference}
                            choices: [valueString]
                            index: 52
                          valueString:
                            type: string
                            pattern: {type: String, value: CodeableReference}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 53
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: device}
                index: 54
            required: [url]
        basedOn:
          match: {url: basedOn}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The order or request that this dispense is fulfilling
            array: true
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: basedOn}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The order or request that this dispense is fulfilling
                choices: [valueReference]
                index: 4
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: The order or request that this dispense is fulfilling
                choiceOf: value
                index: 5
            required: [url]
        quantity:
          match: {url: quantity}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Amount dispensed
            index: 93
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: quantity}
                index: 94
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Amount dispensed
                choices: [valueQuantity]
                index: 96
              valueQuantity:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Quantity
                short: Amount dispensed
                choiceOf: value
                index: 97
            required: [url]
        partOf:
          match: {url: partOf}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The bigger event that this dispense is a part of
            array: true
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: partOf}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The bigger event that this dispense is a part of
                choices: [valueReference]
                index: 9
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: The bigger event that this dispense is a part of
                choiceOf: value
                index: 10
            required: [url]
        location:
          match: {url: location}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Where the dispense occurred
            index: 83
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: location}
                index: 84
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Where the dispense occurred
                choices: [valueReference]
                index: 86
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Where the dispense occurred
                choiceOf: value
                index: 87
            required: [url]
        receiver:
          match: {url: receiver}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Who collected the device or where the medication was delivered
            index: 55
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: receiver}
                index: 56
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Who collected the device or where the medication was delivered
                choices: [valueReference]
                index: 58
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Who collected the device or where the medication was delivered
                choiceOf: value
                index: 59
            required: [url]
        destination:
          match: {url: destination}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Where the device was sent or should be sent
            index: 108
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: destination}
                index: 109
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Where the device was sent or should be sent
                choices: [valueReference]
                index: 111
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Where the device was sent or should be sent
                choiceOf: value
                index: 112
            required: [url]
        performer:
          match: {url: performer}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Who performed event
            array: true
            index: 70
            extensions:
              function:
                url: function
                base: {max: '*', min: 0, path: Extension.extension}
                short: Who performed the dispense and what they did
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: function}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who performed the dispense and what they did
                    choices: [valueCodeableConcept]
                    index: 75
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Who performed the dispense and what they did
                    choiceOf: value
                    index: 76
                required: [url]
              actor:
                url: actor
                base: {max: '*', min: 0, path: Extension.extension}
                short: Individual who was performing
                _required: true
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: actor}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Individual who was performing
                    choices: [valueReference]
                    index: 80
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Individual who was performing
                    choiceOf: value
                    index: 81
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 71
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    function:
                      match: {url: function}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Who performed the dispense and what they did
                        index: 72
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: function}
                            index: 73
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Who performed the dispense and what they did
                            choices: [valueCodeableConcept]
                            index: 75
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Who performed the dispense and what they did
                            choiceOf: value
                            index: 76
                        required: [url]
                    actor:
                      match: {url: actor}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Individual who was performing
                        _required: true
                        index: 77
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: actor}
                            index: 78
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Individual who was performing
                            choices: [valueReference]
                            index: 80
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Individual who was performing
                            choiceOf: value
                            index: 81
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: performer}
                index: 82
            required: [url, extension]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceDispense'}
    index: 128
package_version: 0.0.1-snapshot-2
extensions:
  category:
    url: category
    base: {max: '*', min: 0, path: Extension.extension}
    short: Type of device dispense
    array: true
    index: 33
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: category}
        index: 34
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Type of device dispense
        choices: [valueCodeableConcept]
        index: 36
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Type of device dispense
        choiceOf: value
        index: 37
    required: [url]
  whenHandedOver:
    url: whenHandedOver
    base: {max: '*', min: 0, path: Extension.extension}
    short: When product was given out
    index: 103
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: whenHandedOver}
        index: 104
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When product was given out
        choices: [valueDateTime]
        index: 106
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: When product was given out
        choiceOf: value
        index: 107
    required: [url]
  eventHistory:
    url: eventHistory
    base: {max: '*', min: 0, path: Extension.extension}
    short: A list of relevant lifecycle events
    array: true
    index: 123
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: eventHistory}
        index: 124
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A list of relevant lifecycle events
        choices: [valueReference]
        index: 126
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: A list of relevant lifecycle events
        choiceOf: value
        index: 127
    required: [url]
  usageInstruction:
    url: usageInstruction
    base: {max: '*', min: 0, path: Extension.extension}
    short: Full representation of the usage instructions
    index: 118
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: usageInstruction}
        index: 119
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Full representation of the usage instructions
        choices: [valueMarkdown]
        index: 121
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Full representation of the usage instructions
        choiceOf: value
        index: 122
    required: [url]
  encounter:
    url: encounter
    base: {max: '*', min: 0, path: Extension.extension}
    short: Encounter associated with event
    index: 60
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: encounter}
        index: 61
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Encounter associated with event
        choices: [valueReference]
        index: 63
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Encounter associated with event
        choiceOf: value
        index: 64
    required: [url]
  preparedDate:
    url: preparedDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: When product was packaged and reviewed
    index: 98
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: preparedDate}
        index: 99
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When product was packaged and reviewed
        choices: [valueDateTime]
        index: 101
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: When product was packaged and reviewed
        choiceOf: value
        index: 102
    required: [url]
  type:
    url: type
    base: {max: '*', min: 0, path: Extension.extension}
    short: Trial fill, partial fill, emergency fill, etc
    index: 88
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: type}
        index: 89
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Trial fill, partial fill, emergency fill, etc
        choices: [valueCodeableConcept]
        index: 91
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Trial fill, partial fill, emergency fill, etc
        choiceOf: value
        index: 92
    required: [url]
  statusReason:
    url: statusReason
    base: {max: '*', min: 0, path: Extension.extension}
    short: Why a dispense was or was not performed
    index: 16
    extensions:
      concept:
        url: concept
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a concept (by class)
        index: 18
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: concept}
            index: 19
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a concept (by class)
            choices: [valueCodeableConcept]
            index: 21
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Reference to a concept (by class)
            choiceOf: value
            index: 22
        required: [url]
      reference:
        url: reference
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a resource (by instance)
        index: 23
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: reference}
            index: 24
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a resource (by instance)
            choices: [valueReference]
            index: 26
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Reference to a resource (by instance)
            choiceOf: value
            index: 27
        required: [url]
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
        type: Extension
        short: Data type name for DeviceDispense.statusReason from FHIR R5
        index: 28
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: CodeableReference}
            choices: [valueString]
            index: 30
          valueString:
            type: string
            pattern: {type: String, value: CodeableReference}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 31
        required: [valueString, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 17
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            concept:
              match: {url: concept}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a concept (by class)
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 22
                required: [url]
            reference:
              match: {url: reference}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 26
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 27
                required: [url]
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: Data type name for DeviceDispense.statusReason from FHIR R5
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                index: 28
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 30
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 31
                required: [valueString, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: statusReason}
        index: 32
    required: [url]
  note:
    url: note
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about the dispense
    array: true
    index: 113
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: note}
        index: 114
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Information about the dispense
        choices: [valueAnnotation]
        index: 116
      valueAnnotation:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Annotation
        short: Information about the dispense
        choiceOf: value
        index: 117
    required: [url]
  supportingInformation:
    url: supportingInformation
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information that supports the dispensing of the device
    array: true
    index: 65
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: supportingInformation}
        index: 66
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Information that supports the dispensing of the device
        choices: [valueReference]
        index: 68
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Information that supports the dispensing of the device
        choiceOf: value
        index: 69
    required: [url]
  status:
    url: status
    base: {max: '*', min: 0, path: Extension.extension}
    short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
    _required: true
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: status}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
        choices: [valueCode]
        index: 14
      valueCode:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: code
        short: preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
        choiceOf: value
        index: 15
    required: [url]
  device:
    url: device
    base: {max: '*', min: 0, path: Extension.extension}
    short: What device was supplied
    _required: true
    index: 38
    extensions:
      concept:
        url: concept
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a concept (by class)
        index: 40
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: concept}
            index: 41
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a concept (by class)
            choices: [valueCodeableConcept]
            index: 43
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Reference to a concept (by class)
            choiceOf: value
            index: 44
        required: [url]
      reference:
        url: reference
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a resource (by instance)
        index: 45
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: reference}
            index: 46
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a resource (by instance)
            choices: [valueReference]
            index: 48
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Reference to a resource (by instance)
            choiceOf: value
            index: 49
        required: [url]
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
        type: Extension
        short: Data type name for DeviceDispense.device from FHIR R5
        index: 50
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: CodeableReference}
            choices: [valueString]
            index: 52
          valueString:
            type: string
            pattern: {type: String, value: CodeableReference}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 53
        required: [valueString, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 39
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            concept:
              match: {url: concept}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a concept (by class)
                index: 40
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 41
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 43
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 44
                required: [url]
            reference:
              match: {url: reference}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 45
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 46
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 48
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 49
                required: [url]
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: Data type name for DeviceDispense.device from FHIR R5
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                index: 50
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 52
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 53
                required: [valueString, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: device}
        index: 54
    required: [url]
  basedOn:
    url: basedOn
    base: {max: '*', min: 0, path: Extension.extension}
    short: The order or request that this dispense is fulfilling
    array: true
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: basedOn}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The order or request that this dispense is fulfilling
        choices: [valueReference]
        index: 4
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: The order or request that this dispense is fulfilling
        choiceOf: value
        index: 5
    required: [url]
  quantity:
    url: quantity
    base: {max: '*', min: 0, path: Extension.extension}
    short: Amount dispensed
    index: 93
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: quantity}
        index: 94
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Amount dispensed
        choices: [valueQuantity]
        index: 96
      valueQuantity:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Quantity
        short: Amount dispensed
        choiceOf: value
        index: 97
    required: [url]
  partOf:
    url: partOf
    base: {max: '*', min: 0, path: Extension.extension}
    short: The bigger event that this dispense is a part of
    array: true
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: partOf}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The bigger event that this dispense is a part of
        choices: [valueReference]
        index: 9
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: The bigger event that this dispense is a part of
        choiceOf: value
        index: 10
    required: [url]
  location:
    url: location
    base: {max: '*', min: 0, path: Extension.extension}
    short: Where the dispense occurred
    index: 83
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: location}
        index: 84
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Where the dispense occurred
        choices: [valueReference]
        index: 86
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Where the dispense occurred
        choiceOf: value
        index: 87
    required: [url]
  receiver:
    url: receiver
    base: {max: '*', min: 0, path: Extension.extension}
    short: Who collected the device or where the medication was delivered
    index: 55
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: receiver}
        index: 56
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Who collected the device or where the medication was delivered
        choices: [valueReference]
        index: 58
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Who collected the device or where the medication was delivered
        choiceOf: value
        index: 59
    required: [url]
  destination:
    url: destination
    base: {max: '*', min: 0, path: Extension.extension}
    short: Where the device was sent or should be sent
    index: 108
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: destination}
        index: 109
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Where the device was sent or should be sent
        choices: [valueReference]
        index: 111
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Where the device was sent or should be sent
        choiceOf: value
        index: 112
    required: [url]
  performer:
    url: performer
    base: {max: '*', min: 0, path: Extension.extension}
    short: Who performed event
    array: true
    index: 70
    extensions:
      function:
        url: function
        base: {max: '*', min: 0, path: Extension.extension}
        short: Who performed the dispense and what they did
        index: 72
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: function}
            index: 73
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Who performed the dispense and what they did
            choices: [valueCodeableConcept]
            index: 75
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Who performed the dispense and what they did
            choiceOf: value
            index: 76
        required: [url]
      actor:
        url: actor
        base: {max: '*', min: 0, path: Extension.extension}
        short: Individual who was performing
        _required: true
        index: 77
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: actor}
            index: 78
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Individual who was performing
            choices: [valueReference]
            index: 80
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Individual who was performing
            choiceOf: value
            index: 81
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 71
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            function:
              match: {url: function}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Who performed the dispense and what they did
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: function}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who performed the dispense and what they did
                    choices: [valueCodeableConcept]
                    index: 75
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Who performed the dispense and what they did
                    choiceOf: value
                    index: 76
                required: [url]
            actor:
              match: {url: actor}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Individual who was performing
                _required: true
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: actor}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Individual who was performing
                    choices: [valueReference]
                    index: 80
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Individual who was performing
                    choiceOf: value
                    index: 81
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: performer}
        index: 82
    required: [url, extension]
class: extension
kind: complex-type
url: http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceDispense
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.0.1-snapshot-2
required: [url]