PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r5.r4b@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 R4B.
package_name: hl7.fhir.uv.xver-r5.r4b
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: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: category}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Type of device dispense
                choices: [valueCodeableConcept]
                index: 24
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Type of device dispense
                choiceOf: value
                index: 25
            required: [url]
        whenHandedOver:
          match: {url: whenHandedOver}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When product was given out
            index: 79
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: whenHandedOver}
                index: 80
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When product was given out
                choices: [valueDateTime]
                index: 82
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: When product was given out
                choiceOf: value
                index: 83
            required: [url]
        eventHistory:
          match: {url: eventHistory}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A list of relevant lifecycle events
            array: true
            index: 99
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: eventHistory}
                index: 100
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A list of relevant lifecycle events
                choices: [valueReference]
                index: 102
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: A list of relevant lifecycle events
                choiceOf: value
                index: 103
            required: [url]
        usageInstruction:
          match: {url: usageInstruction}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Full representation of the usage instructions
            index: 94
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: usageInstruction}
                index: 95
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Full representation of the usage instructions
                choices: [valueMarkdown]
                index: 97
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Full representation of the usage instructions
                choiceOf: value
                index: 98
            required: [url]
        encounter:
          match: {url: encounter}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Encounter associated with event
            index: 36
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: encounter}
                index: 37
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Encounter associated with event
                choices: [valueReference]
                index: 39
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Encounter associated with event
                choiceOf: value
                index: 40
            required: [url]
        preparedDate:
          match: {url: preparedDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When product was packaged and reviewed
            index: 74
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: preparedDate}
                index: 75
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When product was packaged and reviewed
                choices: [valueDateTime]
                index: 77
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: When product was packaged and reviewed
                choiceOf: value
                index: 78
            required: [url]
        type:
          match: {url: type}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Trial fill, partial fill, emergency fill, etc
            index: 64
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 65
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Trial fill, partial fill, emergency fill, etc
                choices: [valueCodeableConcept]
                index: 67
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Trial fill, partial fill, emergency fill, etc
                choiceOf: value
                index: 68
            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
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: statusReason}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Why a dispense was or was not performed
                choices: [valueCodeableReference]
                index: 19
              valueCodeableReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableReference
                short: Why a dispense was or was not performed
                choiceOf: value
                index: 20
            required: [url]
        note:
          match: {url: note}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about the dispense
            array: true
            index: 89
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: note}
                index: 90
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Information about the dispense
                choices: [valueAnnotation]
                index: 92
              valueAnnotation:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Annotation
                short: Information about the dispense
                choiceOf: value
                index: 93
            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: 41
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: supportingInformation}
                index: 42
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Information that supports the dispensing of the device
                choices: [valueReference]
                index: 44
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Information that supports the dispensing of the device
                choiceOf: value
                index: 45
            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: 26
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: device}
                index: 27
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: What device was supplied
                choices: [valueCodeableReference]
                index: 29
              valueCodeableReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableReference
                short: What device was supplied
                choiceOf: value
                index: 30
            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: 69
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: quantity}
                index: 70
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Amount dispensed
                choices: [valueQuantity]
                index: 72
              valueQuantity:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Quantity
                short: Amount dispensed
                choiceOf: value
                index: 73
            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: 59
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: location}
                index: 60
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Where the dispense occurred
                choices: [valueReference]
                index: 62
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Where the dispense occurred
                choiceOf: value
                index: 63
            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: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: receiver}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Who collected the device or where the medication was delivered
                choices: [valueReference]
                index: 34
              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: 35
            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: 84
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: destination}
                index: 85
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Where the device was sent or should be sent
                choices: [valueReference]
                index: 87
              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: 88
            required: [url]
        performer:
          match: {url: performer}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Who performed event
            array: true
            index: 46
            extensions:
              function:
                url: function
                base: {max: '*', min: 0, path: Extension.extension}
                short: Who performed the dispense and what they did
                index: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: function}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who performed the dispense and what they did
                    choices: [valueCodeableConcept]
                    index: 51
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Who performed the dispense and what they did
                    choiceOf: value
                    index: 52
                required: [url]
              actor:
                url: actor
                base: {max: '*', min: 0, path: Extension.extension}
                short: Individual who was performing
                _required: true
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: actor}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Individual who was performing
                    choices: [valueReference]
                    index: 56
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Individual who was performing
                    choiceOf: value
                    index: 57
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 47
                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: 48
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: function}
                            index: 49
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Who performed the dispense and what they did
                            choices: [valueCodeableConcept]
                            index: 51
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Who performed the dispense and what they did
                            choiceOf: value
                            index: 52
                        required: [url]
                    actor:
                      match: {url: actor}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Individual who was performing
                        _required: true
                        index: 53
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: actor}
                            index: 54
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Individual who was performing
                            choices: [valueReference]
                            index: 56
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Individual who was performing
                            choiceOf: value
                            index: 57
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: performer}
                index: 58
            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: 104
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: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: category}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Type of device dispense
        choices: [valueCodeableConcept]
        index: 24
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Type of device dispense
        choiceOf: value
        index: 25
    required: [url]
  whenHandedOver:
    url: whenHandedOver
    base: {max: '*', min: 0, path: Extension.extension}
    short: When product was given out
    index: 79
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: whenHandedOver}
        index: 80
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When product was given out
        choices: [valueDateTime]
        index: 82
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: When product was given out
        choiceOf: value
        index: 83
    required: [url]
  eventHistory:
    url: eventHistory
    base: {max: '*', min: 0, path: Extension.extension}
    short: A list of relevant lifecycle events
    array: true
    index: 99
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: eventHistory}
        index: 100
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A list of relevant lifecycle events
        choices: [valueReference]
        index: 102
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: A list of relevant lifecycle events
        choiceOf: value
        index: 103
    required: [url]
  usageInstruction:
    url: usageInstruction
    base: {max: '*', min: 0, path: Extension.extension}
    short: Full representation of the usage instructions
    index: 94
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: usageInstruction}
        index: 95
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Full representation of the usage instructions
        choices: [valueMarkdown]
        index: 97
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Full representation of the usage instructions
        choiceOf: value
        index: 98
    required: [url]
  encounter:
    url: encounter
    base: {max: '*', min: 0, path: Extension.extension}
    short: Encounter associated with event
    index: 36
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: encounter}
        index: 37
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Encounter associated with event
        choices: [valueReference]
        index: 39
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Encounter associated with event
        choiceOf: value
        index: 40
    required: [url]
  preparedDate:
    url: preparedDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: When product was packaged and reviewed
    index: 74
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: preparedDate}
        index: 75
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When product was packaged and reviewed
        choices: [valueDateTime]
        index: 77
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: When product was packaged and reviewed
        choiceOf: value
        index: 78
    required: [url]
  type:
    url: type
    base: {max: '*', min: 0, path: Extension.extension}
    short: Trial fill, partial fill, emergency fill, etc
    index: 64
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: type}
        index: 65
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Trial fill, partial fill, emergency fill, etc
        choices: [valueCodeableConcept]
        index: 67
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Trial fill, partial fill, emergency fill, etc
        choiceOf: value
        index: 68
    required: [url]
  statusReason:
    url: statusReason
    base: {max: '*', min: 0, path: Extension.extension}
    short: Why a dispense was or was not performed
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: statusReason}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Why a dispense was or was not performed
        choices: [valueCodeableReference]
        index: 19
      valueCodeableReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableReference
        short: Why a dispense was or was not performed
        choiceOf: value
        index: 20
    required: [url]
  note:
    url: note
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about the dispense
    array: true
    index: 89
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: note}
        index: 90
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Information about the dispense
        choices: [valueAnnotation]
        index: 92
      valueAnnotation:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Annotation
        short: Information about the dispense
        choiceOf: value
        index: 93
    required: [url]
  supportingInformation:
    url: supportingInformation
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information that supports the dispensing of the device
    array: true
    index: 41
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: supportingInformation}
        index: 42
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Information that supports the dispensing of the device
        choices: [valueReference]
        index: 44
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Information that supports the dispensing of the device
        choiceOf: value
        index: 45
    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: 26
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: device}
        index: 27
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: What device was supplied
        choices: [valueCodeableReference]
        index: 29
      valueCodeableReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableReference
        short: What device was supplied
        choiceOf: value
        index: 30
    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: 69
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: quantity}
        index: 70
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Amount dispensed
        choices: [valueQuantity]
        index: 72
      valueQuantity:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Quantity
        short: Amount dispensed
        choiceOf: value
        index: 73
    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: 59
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: location}
        index: 60
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Where the dispense occurred
        choices: [valueReference]
        index: 62
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Where the dispense occurred
        choiceOf: value
        index: 63
    required: [url]
  receiver:
    url: receiver
    base: {max: '*', min: 0, path: Extension.extension}
    short: Who collected the device or where the medication was delivered
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: receiver}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Who collected the device or where the medication was delivered
        choices: [valueReference]
        index: 34
      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: 35
    required: [url]
  destination:
    url: destination
    base: {max: '*', min: 0, path: Extension.extension}
    short: Where the device was sent or should be sent
    index: 84
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: destination}
        index: 85
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Where the device was sent or should be sent
        choices: [valueReference]
        index: 87
      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: 88
    required: [url]
  performer:
    url: performer
    base: {max: '*', min: 0, path: Extension.extension}
    short: Who performed event
    array: true
    index: 46
    extensions:
      function:
        url: function
        base: {max: '*', min: 0, path: Extension.extension}
        short: Who performed the dispense and what they did
        index: 48
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: function}
            index: 49
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Who performed the dispense and what they did
            choices: [valueCodeableConcept]
            index: 51
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Who performed the dispense and what they did
            choiceOf: value
            index: 52
        required: [url]
      actor:
        url: actor
        base: {max: '*', min: 0, path: Extension.extension}
        short: Individual who was performing
        _required: true
        index: 53
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: actor}
            index: 54
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Individual who was performing
            choices: [valueReference]
            index: 56
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Individual who was performing
            choiceOf: value
            index: 57
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 47
        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: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: function}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who performed the dispense and what they did
                    choices: [valueCodeableConcept]
                    index: 51
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Who performed the dispense and what they did
                    choiceOf: value
                    index: 52
                required: [url]
            actor:
              match: {url: actor}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Individual who was performing
                _required: true
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: actor}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Individual who was performing
                    choices: [valueReference]
                    index: 56
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Individual who was performing
                    choiceOf: value
                    index: 57
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: performer}
        index: 58
    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.3.0
version: 0.0.1-snapshot-2
required: [url]