PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r2.r4b-0.0.1-snapshot-2
    http://hl7.org/fhir/1.0/StructureDefinition/extension-Medication.product
description: This cross-version extension represents Medication.product from http://hl7.org/fhir/StructureDefinition/Medication|1.0.2 for use in FHIR R4B.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R2_Medication_product
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        form:
          match: {url: form}
          schema:
            short: powder | tablets | carton +
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: form}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: powder | tablets | carton +
                choices: [valueCodeableConcept]
                index: 4
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: powder | tablets | carton +
                choiceOf: value
                index: 5
            required: [url]
        ingredient:
          match: {url: ingredient}
          schema:
            short: Active or inactive ingredient
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            extensions:
              item:
                url: item
                short: The product contained
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: item}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The product contained
                    choices: [valueReference]
                    index: 11
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: The product contained
                    choiceOf: value
                    index: 12
                required: [url]
              amount:
                url: amount
                short: Quantity of ingredient present
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Quantity of ingredient present
                    choices: [valueRatio]
                    index: 16
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: Quantity of ingredient present
                    choiceOf: value
                    index: 17
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 7
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    item:
                      match: {url: item}
                      schema:
                        short: The product contained
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 8
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: item}
                            index: 9
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The product contained
                            choices: [valueReference]
                            index: 11
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: The product contained
                            choiceOf: value
                            index: 12
                        required: [url]
                    amount:
                      match: {url: amount}
                      schema:
                        short: Quantity of ingredient present
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 14
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Quantity of ingredient present
                            choices: [valueRatio]
                            index: 16
                          valueRatio:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Ratio
                            short: Quantity of ingredient present
                            choiceOf: value
                            index: 17
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: ingredient}
                index: 18
            required: [url, extension]
        batch:
          match: {url: batch}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about a group of medication produced or packaged from one production run.
            array: true
            index: 19
            extensions:
              lotNumber:
                url: lotNumber
                base: {max: '*', min: 0, path: Extension.extension}
                short: The assigned lot number of a batch of the specified product.
                index: 21
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: lotNumber}
                    index: 22
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The assigned lot number of a batch of the specified product.
                    choices: [valueString]
                    index: 24
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The assigned lot number of a batch of the specified product.
                    choiceOf: value
                    index: 25
                required: [url]
              expirationDate:
                url: expirationDate
                base: {max: '*', min: 0, path: Extension.extension}
                short: When this specific batch of product will expire.
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: expirationDate}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: When this specific batch of product will expire.
                    choices: [valueDateTime]
                    index: 29
                  valueDateTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: dateTime
                    short: When this specific batch of product will expire.
                    choiceOf: value
                    index: 30
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 20
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    lotNumber:
                      match: {url: lotNumber}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The assigned lot number of a batch of the specified product.
                        index: 21
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lotNumber}
                            index: 22
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The assigned lot number of a batch of the specified product.
                            choices: [valueString]
                            index: 24
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: The assigned lot number of a batch of the specified product.
                            choiceOf: value
                            index: 25
                        required: [url]
                    expirationDate:
                      match: {url: expirationDate}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: When this specific batch of product will expire.
                        index: 26
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: expirationDate}
                            index: 27
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: When this specific batch of product will expire.
                            choices: [valueDateTime]
                            index: 29
                          valueDateTime:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: dateTime
                            short: When this specific batch of product will expire.
                            choiceOf: value
                            index: 30
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: batch}
                index: 31
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/1.0/StructureDefinition/extension-Medication.product'}
    index: 32
package_version: r2.r4b-0.0.1-snapshot-2
extensions:
  form:
    url: form
    short: powder | tablets | carton +
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: form}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: powder | tablets | carton +
        choices: [valueCodeableConcept]
        index: 4
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: powder | tablets | carton +
        choiceOf: value
        index: 5
    required: [url]
  ingredient:
    url: ingredient
    short: Active or inactive ingredient
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    extensions:
      item:
        url: item
        short: The product contained
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 8
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: item}
            index: 9
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The product contained
            choices: [valueReference]
            index: 11
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: The product contained
            choiceOf: value
            index: 12
        required: [url]
      amount:
        url: amount
        short: Quantity of ingredient present
        base: {max: '*', min: 0, path: Extension.extension}
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: amount}
            index: 14
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Quantity of ingredient present
            choices: [valueRatio]
            index: 16
          valueRatio:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Ratio
            short: Quantity of ingredient present
            choiceOf: value
            index: 17
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 7
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            item:
              match: {url: item}
              schema:
                short: The product contained
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: item}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The product contained
                    choices: [valueReference]
                    index: 11
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: The product contained
                    choiceOf: value
                    index: 12
                required: [url]
            amount:
              match: {url: amount}
              schema:
                short: Quantity of ingredient present
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Quantity of ingredient present
                    choices: [valueRatio]
                    index: 16
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: Quantity of ingredient present
                    choiceOf: value
                    index: 17
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: ingredient}
        index: 18
    required: [url, extension]
  batch:
    url: batch
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about a group of medication produced or packaged from one production run.
    array: true
    index: 19
    extensions:
      lotNumber:
        url: lotNumber
        base: {max: '*', min: 0, path: Extension.extension}
        short: The assigned lot number of a batch of the specified product.
        index: 21
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: lotNumber}
            index: 22
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The assigned lot number of a batch of the specified product.
            choices: [valueString]
            index: 24
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: The assigned lot number of a batch of the specified product.
            choiceOf: value
            index: 25
        required: [url]
      expirationDate:
        url: expirationDate
        base: {max: '*', min: 0, path: Extension.extension}
        short: When this specific batch of product will expire.
        index: 26
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: expirationDate}
            index: 27
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: When this specific batch of product will expire.
            choices: [valueDateTime]
            index: 29
          valueDateTime:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: dateTime
            short: When this specific batch of product will expire.
            choiceOf: value
            index: 30
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 20
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            lotNumber:
              match: {url: lotNumber}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The assigned lot number of a batch of the specified product.
                index: 21
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: lotNumber}
                    index: 22
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The assigned lot number of a batch of the specified product.
                    choices: [valueString]
                    index: 24
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The assigned lot number of a batch of the specified product.
                    choiceOf: value
                    index: 25
                required: [url]
            expirationDate:
              match: {url: expirationDate}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: When this specific batch of product will expire.
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: expirationDate}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: When this specific batch of product will expire.
                    choices: [valueDateTime]
                    index: 29
                  valueDateTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: dateTime
                    short: When this specific batch of product will expire.
                    choiceOf: value
                    index: 30
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: batch}
        index: 31
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/1.0/StructureDefinition/extension-Medication.product
base: http://hl7.org/fhir/StructureDefinition/Extension|4.3.0
version: 0.0.1-snapshot-2
required: [url]