PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4b.r4@0.0.1-snapshot-2
    http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicinalProductDefinition
description: This cross-version extension represents MedicinalProductDefinition from http://hl7.org/fhir/StructureDefinition/MedicinalProductDefinition|4.3.0 for use in FHIR R4.
package_name: hl7.fhir.uv.xver-r4b.r4
derivation: constraint
name: Ext_R4B_MedicinalProductDefinition
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 1
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        description:
          match: {url: description}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: General description of this product
            index: 26
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: description}
                index: 27
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: General description of this product
                choices: [valueMarkdown]
                index: 29
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: General description of this product
                choiceOf: value
                index: 30
            required: [url]
        additionalMonitoringIndicator:
          match: {url: additionalMonitoringIndicator}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
            index: 51
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: additionalMonitoringIndicator}
                index: 52
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
                choices: [valueCodeableConcept]
                index: 54
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
                choiceOf: value
                index: 55
            required: [url]
        combinedPharmaceuticalDoseForm:
          match: {url: combinedPharmaceuticalDoseForm}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The dose form for a single part product, or combined form of a multiple part product
            index: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: combinedPharmaceuticalDoseForm}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The dose form for a single part product, or combined form of a multiple part product
                choices: [valueCodeableConcept]
                index: 34
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The dose form for a single part product, or combined form of a multiple part product
                choiceOf: value
                index: 35
            required: [url]
        clinicalTrial:
          match: {url: clinicalTrial}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Clinical trials or studies that this product is involved in
            array: true
            index: 153
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: clinicalTrial}
                index: 154
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Clinical trials or studies that this product is involved in
                choices: [valueReference]
                index: 156
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Clinical trials or studies that this product is involved in
                choiceOf: value
                index: 157
            required: [url]
        impurity:
          match: {url: impurity}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product
            array: true
            index: 113
            extensions:
              concept:
                url: concept
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a concept (by class)
                index: 115
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 116
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 118
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 119
                required: [url]
              reference:
                url: reference
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 120
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 121
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 123
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 124
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for MedicinalProductDefinition.impurity from FHIR R4B
                index: 125
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 127
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 128
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 114
                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: 115
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: concept}
                            index: 116
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a concept (by class)
                            choices: [valueCodeableConcept]
                            index: 118
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Reference to a concept (by class)
                            choiceOf: value
                            index: 119
                        required: [url]
                    reference:
                      match: {url: reference}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to a resource (by instance)
                        index: 120
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: reference}
                            index: 121
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reference to a resource (by instance)
                            choices: [valueReference]
                            index: 123
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Reference to a resource (by instance)
                            choiceOf: value
                            index: 124
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for MedicinalProductDefinition.impurity from FHIR R4B
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 125
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: CodeableReference}
                            choices: [valueString]
                            index: 127
                          valueString:
                            type: string
                            pattern: {type: String, value: CodeableReference}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 128
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: impurity}
                index: 129
            required: [url]
        indication:
          match: {url: indication}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Description of indication(s) for this product, used when structured indications are not required
            index: 41
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: indication}
                index: 42
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Description of indication(s) for this product, used when structured indications are not required
                choices: [valueMarkdown]
                index: 44
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Description of indication(s) for this product, used when structured indications are not required
                choiceOf: value
                index: 45
            required: [url]
        name:
          match: {url: name}
          schema:
            min: 1
            short: The product's name, including full name and possibly coded parts
            index: 158
            array: true
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 159
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    productName:
                      match: {url: productName}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The full product name
                        _required: true
                        index: 160
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: productName}
                            index: 161
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The full product name
                            choices: [valueString]
                            index: 163
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: The full product name
                            choiceOf: value
                            index: 164
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                        index: 165
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 166
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                            choices: [valueCodeableConcept]
                            index: 168
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                            choiceOf: value
                            index: 169
                        required: [url]
                    namePart:
                      match: {url: namePart}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Coding words or phrases of the name
                        array: true
                        index: 170
                        extensions:
                          part:
                            url: part
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A fragment of a product name
                            _required: true
                            index: 172
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: part}
                                index: 173
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A fragment of a product name
                                choices: [valueString]
                                index: 175
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A fragment of a product name
                                choiceOf: value
                                index: 176
                            required: [url]
                          type:
                            url: type
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Identifying type for this part of the name (e.g. strength part)
                            _required: true
                            index: 177
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 178
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Identifying type for this part of the name (e.g. strength part)
                                choices: [valueCodeableConcept]
                                index: 180
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Identifying type for this part of the name (e.g. strength part)
                                choiceOf: value
                                index: 181
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            min: 2
                            index: 171
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 2
                              slices:
                                part:
                                  match: {url: part}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A fragment of a product name
                                    _required: true
                                    index: 172
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: part}
                                        index: 173
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A fragment of a product name
                                        choices: [valueString]
                                        index: 175
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A fragment of a product name
                                        choiceOf: value
                                        index: 176
                                    required: [url]
                                type:
                                  match: {url: type}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Identifying type for this part of the name (e.g. strength part)
                                    _required: true
                                    index: 177
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: type}
                                        index: 178
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Identifying type for this part of the name (e.g. strength part)
                                        choices: [valueCodeableConcept]
                                        index: 180
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Identifying type for this part of the name (e.g. strength part)
                                        choiceOf: value
                                        index: 181
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: namePart}
                            index: 182
                        required: [url]
                    countryLanguage:
                      match: {url: countryLanguage}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Country and jurisdiction where the name applies
                        array: true
                        index: 183
                        extensions:
                          country:
                            url: country
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Country code for where this name applies
                            _required: true
                            index: 185
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: country}
                                index: 186
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Country code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 188
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Country code for where this name applies
                                choiceOf: value
                                index: 189
                            required: [url]
                          jurisdiction:
                            url: jurisdiction
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Jurisdiction code for where this name applies
                            index: 190
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: jurisdiction}
                                index: 191
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Jurisdiction code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 193
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Jurisdiction code for where this name applies
                                choiceOf: value
                                index: 194
                            required: [url]
                          language:
                            url: language
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Language code for this name
                            _required: true
                            index: 195
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: language}
                                index: 196
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Language code for this name
                                choices: [valueCodeableConcept]
                                index: 198
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Language code for this name
                                choiceOf: value
                                index: 199
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            min: 2
                            index: 184
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 2
                              slices:
                                country:
                                  match: {url: country}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Country code for where this name applies
                                    _required: true
                                    index: 185
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: country}
                                        index: 186
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Country code for where this name applies
                                        choices: [valueCodeableConcept]
                                        index: 188
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Country code for where this name applies
                                        choiceOf: value
                                        index: 189
                                    required: [url]
                                jurisdiction:
                                  match: {url: jurisdiction}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Jurisdiction code for where this name applies
                                    index: 190
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: jurisdiction}
                                        index: 191
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Jurisdiction code for where this name applies
                                        choices: [valueCodeableConcept]
                                        index: 193
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Jurisdiction code for where this name applies
                                        choiceOf: value
                                        index: 194
                                    required: [url]
                                language:
                                  match: {url: language}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Language code for this name
                                    _required: true
                                    index: 195
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: language}
                                        index: 196
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Language code for this name
                                        choices: [valueCodeableConcept]
                                        index: 198
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Language code for this name
                                        choiceOf: value
                                        index: 199
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: countryLanguage}
                            index: 200
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: name}
                index: 201
            _required: true
            extensions:
              productName:
                url: productName
                base: {max: '*', min: 0, path: Extension.extension}
                short: The full product name
                _required: true
                index: 160
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: productName}
                    index: 161
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The full product name
                    choices: [valueString]
                    index: 163
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The full product name
                    choiceOf: value
                    index: 164
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                index: 165
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 166
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                    choices: [valueCodeableConcept]
                    index: 168
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                    choiceOf: value
                    index: 169
                required: [url]
              namePart:
                url: namePart
                base: {max: '*', min: 0, path: Extension.extension}
                short: Coding words or phrases of the name
                array: true
                index: 170
                extensions:
                  part:
                    url: part
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: A fragment of a product name
                    _required: true
                    index: 172
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: part}
                        index: 173
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A fragment of a product name
                        choices: [valueString]
                        index: 175
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: A fragment of a product name
                        choiceOf: value
                        index: 176
                    required: [url]
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Identifying type for this part of the name (e.g. strength part)
                    _required: true
                    index: 177
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 178
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Identifying type for this part of the name (e.g. strength part)
                        choices: [valueCodeableConcept]
                        index: 180
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Identifying type for this part of the name (e.g. strength part)
                        choiceOf: value
                        index: 181
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 2
                    index: 171
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 2
                      slices:
                        part:
                          match: {url: part}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A fragment of a product name
                            _required: true
                            index: 172
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: part}
                                index: 173
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A fragment of a product name
                                choices: [valueString]
                                index: 175
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A fragment of a product name
                                choiceOf: value
                                index: 176
                            required: [url]
                        type:
                          match: {url: type}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Identifying type for this part of the name (e.g. strength part)
                            _required: true
                            index: 177
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 178
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Identifying type for this part of the name (e.g. strength part)
                                choices: [valueCodeableConcept]
                                index: 180
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Identifying type for this part of the name (e.g. strength part)
                                choiceOf: value
                                index: 181
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: namePart}
                    index: 182
                required: [url]
              countryLanguage:
                url: countryLanguage
                base: {max: '*', min: 0, path: Extension.extension}
                short: Country and jurisdiction where the name applies
                array: true
                index: 183
                extensions:
                  country:
                    url: country
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Country code for where this name applies
                    _required: true
                    index: 185
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: country}
                        index: 186
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Country code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 188
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Country code for where this name applies
                        choiceOf: value
                        index: 189
                    required: [url]
                  jurisdiction:
                    url: jurisdiction
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Jurisdiction code for where this name applies
                    index: 190
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: jurisdiction}
                        index: 191
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Jurisdiction code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 193
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Jurisdiction code for where this name applies
                        choiceOf: value
                        index: 194
                    required: [url]
                  language:
                    url: language
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Language code for this name
                    _required: true
                    index: 195
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: language}
                        index: 196
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Language code for this name
                        choices: [valueCodeableConcept]
                        index: 198
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Language code for this name
                        choiceOf: value
                        index: 199
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 2
                    index: 184
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 2
                      slices:
                        country:
                          match: {url: country}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Country code for where this name applies
                            _required: true
                            index: 185
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: country}
                                index: 186
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Country code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 188
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Country code for where this name applies
                                choiceOf: value
                                index: 189
                            required: [url]
                        jurisdiction:
                          match: {url: jurisdiction}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Jurisdiction code for where this name applies
                            index: 190
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: jurisdiction}
                                index: 191
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Jurisdiction code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 193
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Jurisdiction code for where this name applies
                                choiceOf: value
                                index: 194
                            required: [url]
                        language:
                          match: {url: language}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Language code for this name
                            _required: true
                            index: 195
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: language}
                                index: 196
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Language code for this name
                                choices: [valueCodeableConcept]
                                index: 198
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Language code for this name
                                choiceOf: value
                                index: 199
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: countryLanguage}
                    index: 200
                required: [url]
            base: {max: '*', min: 0, path: Extension.extension}
            required: [url, extension]
        masterFile:
          match: {url: masterFile}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
            array: true
            index: 135
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: masterFile}
                index: 136
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
                choices: [valueReference]
                index: 138
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
                choiceOf: value
                index: 139
            required: [url]
        operation:
          match: {url: operation}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A manufacturing or administrative process for the medicinal product
            array: true
            index: 227
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: The type of manufacturing operation e.g. manufacturing itself, re-packaging
                index: 229
                extensions:
                  concept:
                    url: concept
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a concept (by class)
                    index: 231
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 232
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 234
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 235
                    required: [url]
                  reference:
                    url: reference
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 236
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 237
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 239
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 240
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                    index: 241
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 243
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 244
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 230
                    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: 231
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 232
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 234
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 235
                            required: [url]
                        reference:
                          match: {url: reference}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 236
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 237
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 239
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 240
                            required: [url]
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 241
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 243
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 244
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 245
                required: [url]
              effectiveDate:
                url: effectiveDate
                base: {max: '*', min: 0, path: Extension.extension}
                short: Date range of applicability
                index: 246
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: effectiveDate}
                    index: 247
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Date range of applicability
                    choices: [valuePeriod]
                    index: 249
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Date range of applicability
                    choiceOf: value
                    index: 250
                required: [url]
              organization:
                url: organization
                base: {max: '*', min: 0, path: Extension.extension}
                short: The organization responsible for the particular process, e.g. the manufacturer or importer
                array: true
                index: 251
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organization}
                    index: 252
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The organization responsible for the particular process, e.g. the manufacturer or importer
                    choices: [valueReference]
                    index: 254
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: The organization responsible for the particular process, e.g. the manufacturer or importer
                    choiceOf: value
                    index: 255
                required: [url]
              confidentialityIndicator:
                url: confidentialityIndicator
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specifies whether this process is considered proprietary or confidential
                index: 256
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: confidentialityIndicator}
                    index: 257
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specifies whether this process is considered proprietary or confidential
                    choices: [valueCodeableConcept]
                    index: 259
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Specifies whether this process is considered proprietary or confidential
                    choiceOf: value
                    index: 260
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 228
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The type of manufacturing operation e.g. manufacturing itself, re-packaging
                        index: 229
                        extensions:
                          concept:
                            url: concept
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a concept (by class)
                            index: 231
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 232
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 234
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 235
                            required: [url]
                          reference:
                            url: reference
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 236
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 237
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 239
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 240
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                            index: 241
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 243
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 244
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 230
                            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: 231
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: concept}
                                        index: 232
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Reference to a concept (by class)
                                        choices: [valueCodeableConcept]
                                        index: 234
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Reference to a concept (by class)
                                        choiceOf: value
                                        index: 235
                                    required: [url]
                                reference:
                                  match: {url: reference}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference to a resource (by instance)
                                    index: 236
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: reference}
                                        index: 237
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Reference to a resource (by instance)
                                        choices: [valueReference]
                                        index: 239
                                      valueReference:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Reference
                                        short: Reference to a resource (by instance)
                                        choiceOf: value
                                        index: 240
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 241
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: CodeableReference}
                                        choices: [valueString]
                                        index: 243
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: CodeableReference}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 244
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 245
                        required: [url]
                    effectiveDate:
                      match: {url: effectiveDate}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Date range of applicability
                        index: 246
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: effectiveDate}
                            index: 247
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Date range of applicability
                            choices: [valuePeriod]
                            index: 249
                          valuePeriod:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Period
                            short: Date range of applicability
                            choiceOf: value
                            index: 250
                        required: [url]
                    organization:
                      match: {url: organization}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The organization responsible for the particular process, e.g. the manufacturer or importer
                        array: true
                        index: 251
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: organization}
                            index: 252
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The organization responsible for the particular process, e.g. the manufacturer or importer
                            choices: [valueReference]
                            index: 254
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: The organization responsible for the particular process, e.g. the manufacturer or importer
                            choiceOf: value
                            index: 255
                        required: [url]
                    confidentialityIndicator:
                      match: {url: confidentialityIndicator}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Specifies whether this process is considered proprietary or confidential
                        index: 256
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: confidentialityIndicator}
                            index: 257
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Specifies whether this process is considered proprietary or confidential
                            choices: [valueCodeableConcept]
                            index: 259
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Specifies whether this process is considered proprietary or confidential
                            choiceOf: value
                            index: 260
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: operation}
                index: 261
            required: [url]
        type:
          match: {url: type}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Regulatory type, e.g. Investigational or Authorized
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Regulatory type, e.g. Investigational or Authorized
                choices: [valueCodeableConcept]
                index: 4
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Regulatory type, e.g. Investigational or Authorized
                choiceOf: value
                index: 5
            required: [url]
        route:
          match: {url: route}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The path by which the product is taken into or makes contact with the body
            array: true
            index: 36
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: route}
                index: 37
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The path by which the product is taken into or makes contact with the body
                choices: [valueCodeableConcept]
                index: 39
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The path by which the product is taken into or makes contact with the body
                choiceOf: value
                index: 40
            required: [url]
        pediatricUseIndicator:
          match: {url: pediatricUseIndicator}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: If authorised for use in children
            index: 61
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: pediatricUseIndicator}
                index: 62
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: If authorised for use in children
                choices: [valueCodeableConcept]
                index: 64
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: If authorised for use in children
                choiceOf: value
                index: 65
            required: [url]
        classification:
          match: {url: classification}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Allows the product to be classified by various systems
            array: true
            index: 66
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: classification}
                index: 67
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Allows the product to be classified by various systems
                choices: [valueCodeableConcept]
                index: 69
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Allows the product to be classified by various systems
                choiceOf: value
                index: 70
            required: [url]
        characteristic:
          match: {url: characteristic}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Key product features such as "sugar free", "modified release"
            array: true
            index: 262
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: A code expressing the type of characteristic
                _required: true
                index: 264
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 265
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A code expressing the type of characteristic
                    choices: [valueCodeableConcept]
                    index: 267
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A code expressing the type of characteristic
                    choiceOf: value
                    index: 268
                required: [url]
              value[x]:
                url: value[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: A value for the characteristic
                index: 269
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 270
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A value for the characteristic
                    choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                    index: 272
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A value for the characteristic
                    choiceOf: value
                    index: 273
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A value for the characteristic
                    choiceOf: value
                    index: 274
                  valueDate:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: date
                    short: A value for the characteristic
                    choiceOf: value
                    index: 275
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: A value for the characteristic
                    choiceOf: value
                    index: 276
                  valueAttachment:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Attachment
                    short: A value for the characteristic
                    choiceOf: value
                    index: 277
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 263
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A code expressing the type of characteristic
                        _required: true
                        index: 264
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 265
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A code expressing the type of characteristic
                            choices: [valueCodeableConcept]
                            index: 267
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: A code expressing the type of characteristic
                            choiceOf: value
                            index: 268
                        required: [url]
                    value[x]:
                      match: {url: 'value[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A value for the characteristic
                        index: 269
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'value[x]'}
                            index: 270
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A value for the characteristic
                            choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                            index: 272
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: A value for the characteristic
                            choiceOf: value
                            index: 273
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: A value for the characteristic
                            choiceOf: value
                            index: 274
                          valueDate:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: date
                            short: A value for the characteristic
                            choiceOf: value
                            index: 275
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: A value for the characteristic
                            choiceOf: value
                            index: 276
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: A value for the characteristic
                            choiceOf: value
                            index: 277
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: characteristic}
                index: 278
            required: [url, extension]
        marketingStatus:
          match: {url: marketingStatus}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Marketing status of the medicinal product, in contrast to marketing authorization
            array: true
            index: 71
            extensions:
              country:
                url: country
                base: {max: '*', min: 0, path: Extension.extension}
                short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                index: 73
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: country}
                    index: 74
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                    choices: [valueCodeableConcept]
                    index: 76
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                    choiceOf: value
                    index: 77
                required: [url]
              jurisdiction:
                url: jurisdiction
                base: {max: '*', min: 0, path: Extension.extension}
                short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                index: 78
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: jurisdiction}
                    index: 79
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                    choices: [valueCodeableConcept]
                    index: 81
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                    choiceOf: value
                    index: 82
                required: [url]
              status:
                url: status
                base: {max: '*', min: 0, path: Extension.extension}
                short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                _required: true
                index: 83
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: status}
                    index: 84
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                    choices: [valueCodeableConcept]
                    index: 86
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                    choiceOf: value
                    index: 87
                required: [url]
              dateRange:
                url: dateRange
                base: {max: '*', min: 0, path: Extension.extension}
                short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dateRange}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choices: [valuePeriod]
                    index: 91
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choiceOf: value
                    index: 92
                required: [url]
              restoreDate:
                url: restoreDate
                base: {max: '*', min: 0, path: Extension.extension}
                short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: restoreDate}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choices: [valueDateTime]
                    index: 96
                  valueDateTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: dateTime
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choiceOf: value
                    index: 97
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for MedicinalProductDefinition.marketingStatus from FHIR R4B
                index: 98
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: MarketingStatus}
                    choices: [valueString]
                    index: 100
                  valueString:
                    type: string
                    pattern: {type: String, value: MarketingStatus}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 101
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 72
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    country:
                      match: {url: country}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                        index: 73
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: country}
                            index: 74
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                            choices: [valueCodeableConcept]
                            index: 76
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                            choiceOf: value
                            index: 77
                        required: [url]
                    jurisdiction:
                      match: {url: jurisdiction}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                        index: 78
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: jurisdiction}
                            index: 79
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                            choices: [valueCodeableConcept]
                            index: 81
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                            choiceOf: value
                            index: 82
                        required: [url]
                    status:
                      match: {url: status}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                        _required: true
                        index: 83
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: status}
                            index: 84
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                            choices: [valueCodeableConcept]
                            index: 86
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                            choiceOf: value
                            index: 87
                        required: [url]
                    dateRange:
                      match: {url: dateRange}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                        index: 88
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dateRange}
                            index: 89
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                            choices: [valuePeriod]
                            index: 91
                          valuePeriod:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Period
                            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                            choiceOf: value
                            index: 92
                        required: [url]
                    restoreDate:
                      match: {url: restoreDate}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                        index: 93
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: restoreDate}
                            index: 94
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                            choices: [valueDateTime]
                            index: 96
                          valueDateTime:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: dateTime
                            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                            choiceOf: value
                            index: 97
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for MedicinalProductDefinition.marketingStatus from FHIR R4B
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 98
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: MarketingStatus}
                            choices: [valueString]
                            index: 100
                          valueString:
                            type: string
                            pattern: {type: String, value: MarketingStatus}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 101
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: marketingStatus}
                index: 102
            required: [url, extension]
        specialMeasures:
          match: {url: specialMeasures}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Whether the Medicinal Product is subject to special measures for regulatory reasons
            array: true
            index: 56
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: specialMeasures}
                index: 57
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Whether the Medicinal Product is subject to special measures for regulatory reasons
                choices: [valueCodeableConcept]
                index: 59
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Whether the Medicinal Product is subject to special measures for regulatory reasons
                choiceOf: value
                index: 60
            required: [url]
        ingredient:
          match: {url: ingredient}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The ingredients of this medicinal product - when not detailed in other resources
            array: true
            index: 108
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: ingredient}
                index: 109
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The ingredients of this medicinal product - when not detailed in other resources
                choices: [valueCodeableConcept]
                index: 111
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The ingredients of this medicinal product - when not detailed in other resources
                choiceOf: value
                index: 112
            required: [url]
        status:
          match: {url: status}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The status within the lifecycle of this product record
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The status within the lifecycle of this product record
                choices: [valueCodeableConcept]
                index: 19
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The status within the lifecycle of this product record
                choiceOf: value
                index: 20
            required: [url]
        packagedMedicinalProduct:
          match: {url: packagedMedicinalProduct}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Package type for the product
            array: true
            index: 103
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: packagedMedicinalProduct}
                index: 104
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Package type for the product
                choices: [valueCodeableConcept]
                index: 106
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Package type for the product
                choiceOf: value
                index: 107
            required: [url]
        statusDate:
          match: {url: statusDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The date at which the given status became applicable
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: statusDate}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The date at which the given status became applicable
                choices: [valueDateTime]
                index: 24
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: The date at which the given status became applicable
                choiceOf: value
                index: 25
            required: [url]
        crossReference:
          match: {url: crossReference}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Reference to another product, e.g. for linking authorised to investigational product
            array: true
            index: 202
            extensions:
              product:
                url: product
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to another product, e.g. for linking authorised to investigational product
                _required: true
                index: 204
                extensions:
                  concept:
                    url: concept
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a concept (by class)
                    index: 206
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 207
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 209
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 210
                    required: [url]
                  reference:
                    url: reference
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 211
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 212
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 214
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 215
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                    index: 216
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 218
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 219
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 205
                    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: 206
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 207
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 209
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 210
                            required: [url]
                        reference:
                          match: {url: reference}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 211
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 212
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 214
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 215
                            required: [url]
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 216
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 218
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 219
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: product}
                    index: 220
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: The type of relationship, for instance branded to generic or virtual to actual product
                index: 221
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 222
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The type of relationship, for instance branded to generic or virtual to actual product
                    choices: [valueCodeableConcept]
                    index: 224
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The type of relationship, for instance branded to generic or virtual to actual product
                    choiceOf: value
                    index: 225
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 203
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    product:
                      match: {url: product}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference to another product, e.g. for linking authorised to investigational product
                        _required: true
                        index: 204
                        extensions:
                          concept:
                            url: concept
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a concept (by class)
                            index: 206
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 207
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 209
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 210
                            required: [url]
                          reference:
                            url: reference
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 211
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 212
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 214
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 215
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                            index: 216
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 218
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 219
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 205
                            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: 206
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: concept}
                                        index: 207
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Reference to a concept (by class)
                                        choices: [valueCodeableConcept]
                                        index: 209
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Reference to a concept (by class)
                                        choiceOf: value
                                        index: 210
                                    required: [url]
                                reference:
                                  match: {url: reference}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference to a resource (by instance)
                                    index: 211
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: reference}
                                        index: 212
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Reference to a resource (by instance)
                                        choices: [valueReference]
                                        index: 214
                                      valueReference:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Reference
                                        short: Reference to a resource (by instance)
                                        choiceOf: value
                                        index: 215
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 216
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: CodeableReference}
                                        choices: [valueString]
                                        index: 218
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: CodeableReference}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 219
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: product}
                            index: 220
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The type of relationship, for instance branded to generic or virtual to actual product
                        index: 221
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 222
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The type of relationship, for instance branded to generic or virtual to actual product
                            choices: [valueCodeableConcept]
                            index: 224
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The type of relationship, for instance branded to generic or virtual to actual product
                            choiceOf: value
                            index: 225
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: crossReference}
                index: 226
            required: [url, extension]
        attachedDocument:
          match: {url: attachedDocument}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Additional documentation about the medicinal product
            array: true
            index: 130
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: attachedDocument}
                index: 131
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Additional documentation about the medicinal product
                choices: [valueReference]
                index: 133
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Additional documentation about the medicinal product
                choiceOf: value
                index: 134
            required: [url]
        domain:
          match: {url: domain}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: If this medicine applies to human or veterinary uses
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: domain}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: If this medicine applies to human or veterinary uses
                choices: [valueCodeableConcept]
                index: 9
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: If this medicine applies to human or veterinary uses
                choiceOf: value
                index: 10
            required: [url]
        legalStatusOfSupply:
          match: {url: legalStatusOfSupply}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The legal status of supply of the medicinal product as classified by the regulator
            index: 46
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: legalStatusOfSupply}
                index: 47
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The legal status of supply of the medicinal product as classified by the regulator
                choices: [valueCodeableConcept]
                index: 49
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The legal status of supply of the medicinal product as classified by the regulator
                choiceOf: value
                index: 50
            required: [url]
        version:
          match: {url: version}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A business identifier relating to a specific version of the product
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: version}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A business identifier relating to a specific version of the product
                choices: [valueString]
                index: 14
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: A business identifier relating to a specific version of the product
                choiceOf: value
                index: 15
            required: [url]
        contact:
          match: {url: contact}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A product specific contact, person (in a role), or an organization
            array: true
            index: 140
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                index: 142
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 143
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                    choices: [valueCodeableConcept]
                    index: 145
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                    choiceOf: value
                    index: 146
                required: [url]
              contact:
                url: contact
                base: {max: '*', min: 0, path: Extension.extension}
                short: A product specific contact, person (in a role), or an organization
                _required: true
                index: 147
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: contact}
                    index: 148
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A product specific contact, person (in a role), or an organization
                    choices: [valueReference]
                    index: 150
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: A product specific contact, person (in a role), or an organization
                    choiceOf: value
                    index: 151
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 141
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                        index: 142
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 143
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                            choices: [valueCodeableConcept]
                            index: 145
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                            choiceOf: value
                            index: 146
                        required: [url]
                    contact:
                      match: {url: contact}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A product specific contact, person (in a role), or an organization
                        _required: true
                        index: 147
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: contact}
                            index: 148
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A product specific contact, person (in a role), or an organization
                            choices: [valueReference]
                            index: 150
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: A product specific contact, person (in a role), or an organization
                            choiceOf: value
                            index: 151
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: contact}
                index: 152
            required: [url, extension]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicinalProductDefinition'}
    index: 279
package_version: 0.0.1-snapshot-2
extensions:
  description:
    url: description
    base: {max: '*', min: 0, path: Extension.extension}
    short: General description of this product
    index: 26
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: description}
        index: 27
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: General description of this product
        choices: [valueMarkdown]
        index: 29
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: General description of this product
        choiceOf: value
        index: 30
    required: [url]
  additionalMonitoringIndicator:
    url: additionalMonitoringIndicator
    base: {max: '*', min: 0, path: Extension.extension}
    short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
    index: 51
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: additionalMonitoringIndicator}
        index: 52
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
        choices: [valueCodeableConcept]
        index: 54
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Whether the Medicinal Product is subject to additional monitoring for regulatory reasons
        choiceOf: value
        index: 55
    required: [url]
  combinedPharmaceuticalDoseForm:
    url: combinedPharmaceuticalDoseForm
    base: {max: '*', min: 0, path: Extension.extension}
    short: The dose form for a single part product, or combined form of a multiple part product
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: combinedPharmaceuticalDoseForm}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The dose form for a single part product, or combined form of a multiple part product
        choices: [valueCodeableConcept]
        index: 34
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The dose form for a single part product, or combined form of a multiple part product
        choiceOf: value
        index: 35
    required: [url]
  clinicalTrial:
    url: clinicalTrial
    base: {max: '*', min: 0, path: Extension.extension}
    short: Clinical trials or studies that this product is involved in
    array: true
    index: 153
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: clinicalTrial}
        index: 154
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Clinical trials or studies that this product is involved in
        choices: [valueReference]
        index: 156
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Clinical trials or studies that this product is involved in
        choiceOf: value
        index: 157
    required: [url]
  impurity:
    url: impurity
    base: {max: '*', min: 0, path: Extension.extension}
    short: Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product
    array: true
    index: 113
    extensions:
      concept:
        url: concept
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a concept (by class)
        index: 115
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: concept}
            index: 116
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a concept (by class)
            choices: [valueCodeableConcept]
            index: 118
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Reference to a concept (by class)
            choiceOf: value
            index: 119
        required: [url]
      reference:
        url: reference
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to a resource (by instance)
        index: 120
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: reference}
            index: 121
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reference to a resource (by instance)
            choices: [valueReference]
            index: 123
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Reference to a resource (by instance)
            choiceOf: value
            index: 124
        required: [url]
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
        type: Extension
        short: Data type name for MedicinalProductDefinition.impurity from FHIR R4B
        index: 125
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: CodeableReference}
            choices: [valueString]
            index: 127
          valueString:
            type: string
            pattern: {type: String, value: CodeableReference}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 128
        required: [valueString, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 114
        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: 115
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: concept}
                    index: 116
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a concept (by class)
                    choices: [valueCodeableConcept]
                    index: 118
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Reference to a concept (by class)
                    choiceOf: value
                    index: 119
                required: [url]
            reference:
              match: {url: reference}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to a resource (by instance)
                index: 120
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 121
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reference to a resource (by instance)
                    choices: [valueReference]
                    index: 123
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Reference to a resource (by instance)
                    choiceOf: value
                    index: 124
                required: [url]
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: Data type name for MedicinalProductDefinition.impurity from FHIR R4B
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                index: 125
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: CodeableReference}
                    choices: [valueString]
                    index: 127
                  valueString:
                    type: string
                    pattern: {type: String, value: CodeableReference}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 128
                required: [valueString, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: impurity}
        index: 129
    required: [url]
  indication:
    url: indication
    base: {max: '*', min: 0, path: Extension.extension}
    short: Description of indication(s) for this product, used when structured indications are not required
    index: 41
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: indication}
        index: 42
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Description of indication(s) for this product, used when structured indications are not required
        choices: [valueMarkdown]
        index: 44
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Description of indication(s) for this product, used when structured indications are not required
        choiceOf: value
        index: 45
    required: [url]
  name:
    min: 1
    short: The product's name, including full name and possibly coded parts
    index: 158
    array: true
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 159
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            productName:
              match: {url: productName}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The full product name
                _required: true
                index: 160
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: productName}
                    index: 161
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The full product name
                    choices: [valueString]
                    index: 163
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The full product name
                    choiceOf: value
                    index: 164
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                index: 165
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 166
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                    choices: [valueCodeableConcept]
                    index: 168
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
                    choiceOf: value
                    index: 169
                required: [url]
            namePart:
              match: {url: namePart}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Coding words or phrases of the name
                array: true
                index: 170
                extensions:
                  part:
                    url: part
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: A fragment of a product name
                    _required: true
                    index: 172
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: part}
                        index: 173
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A fragment of a product name
                        choices: [valueString]
                        index: 175
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: A fragment of a product name
                        choiceOf: value
                        index: 176
                    required: [url]
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Identifying type for this part of the name (e.g. strength part)
                    _required: true
                    index: 177
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 178
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Identifying type for this part of the name (e.g. strength part)
                        choices: [valueCodeableConcept]
                        index: 180
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Identifying type for this part of the name (e.g. strength part)
                        choiceOf: value
                        index: 181
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 2
                    index: 171
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 2
                      slices:
                        part:
                          match: {url: part}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A fragment of a product name
                            _required: true
                            index: 172
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: part}
                                index: 173
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A fragment of a product name
                                choices: [valueString]
                                index: 175
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A fragment of a product name
                                choiceOf: value
                                index: 176
                            required: [url]
                        type:
                          match: {url: type}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Identifying type for this part of the name (e.g. strength part)
                            _required: true
                            index: 177
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 178
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Identifying type for this part of the name (e.g. strength part)
                                choices: [valueCodeableConcept]
                                index: 180
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Identifying type for this part of the name (e.g. strength part)
                                choiceOf: value
                                index: 181
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: namePart}
                    index: 182
                required: [url]
            countryLanguage:
              match: {url: countryLanguage}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Country and jurisdiction where the name applies
                array: true
                index: 183
                extensions:
                  country:
                    url: country
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Country code for where this name applies
                    _required: true
                    index: 185
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: country}
                        index: 186
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Country code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 188
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Country code for where this name applies
                        choiceOf: value
                        index: 189
                    required: [url]
                  jurisdiction:
                    url: jurisdiction
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Jurisdiction code for where this name applies
                    index: 190
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: jurisdiction}
                        index: 191
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Jurisdiction code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 193
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Jurisdiction code for where this name applies
                        choiceOf: value
                        index: 194
                    required: [url]
                  language:
                    url: language
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Language code for this name
                    _required: true
                    index: 195
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: language}
                        index: 196
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Language code for this name
                        choices: [valueCodeableConcept]
                        index: 198
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Language code for this name
                        choiceOf: value
                        index: 199
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 2
                    index: 184
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 2
                      slices:
                        country:
                          match: {url: country}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Country code for where this name applies
                            _required: true
                            index: 185
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: country}
                                index: 186
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Country code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 188
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Country code for where this name applies
                                choiceOf: value
                                index: 189
                            required: [url]
                        jurisdiction:
                          match: {url: jurisdiction}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Jurisdiction code for where this name applies
                            index: 190
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: jurisdiction}
                                index: 191
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Jurisdiction code for where this name applies
                                choices: [valueCodeableConcept]
                                index: 193
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Jurisdiction code for where this name applies
                                choiceOf: value
                                index: 194
                            required: [url]
                        language:
                          match: {url: language}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Language code for this name
                            _required: true
                            index: 195
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: language}
                                index: 196
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Language code for this name
                                choices: [valueCodeableConcept]
                                index: 198
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Language code for this name
                                choiceOf: value
                                index: 199
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: countryLanguage}
                    index: 200
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: name}
        index: 201
    _required: true
    extensions:
      productName:
        url: productName
        base: {max: '*', min: 0, path: Extension.extension}
        short: The full product name
        _required: true
        index: 160
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: productName}
            index: 161
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The full product name
            choices: [valueString]
            index: 163
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: The full product name
            choiceOf: value
            index: 164
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
        index: 165
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 166
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
            choices: [valueCodeableConcept]
            index: 168
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary
            choiceOf: value
            index: 169
        required: [url]
      namePart:
        url: namePart
        base: {max: '*', min: 0, path: Extension.extension}
        short: Coding words or phrases of the name
        array: true
        index: 170
        extensions:
          part:
            url: part
            base: {max: '*', min: 0, path: Extension.extension}
            short: A fragment of a product name
            _required: true
            index: 172
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: part}
                index: 173
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A fragment of a product name
                choices: [valueString]
                index: 175
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: A fragment of a product name
                choiceOf: value
                index: 176
            required: [url]
          type:
            url: type
            base: {max: '*', min: 0, path: Extension.extension}
            short: Identifying type for this part of the name (e.g. strength part)
            _required: true
            index: 177
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 178
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Identifying type for this part of the name (e.g. strength part)
                choices: [valueCodeableConcept]
                index: 180
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Identifying type for this part of the name (e.g. strength part)
                choiceOf: value
                index: 181
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            min: 2
            index: 171
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 2
              slices:
                part:
                  match: {url: part}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: A fragment of a product name
                    _required: true
                    index: 172
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: part}
                        index: 173
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A fragment of a product name
                        choices: [valueString]
                        index: 175
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: A fragment of a product name
                        choiceOf: value
                        index: 176
                    required: [url]
                type:
                  match: {url: type}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Identifying type for this part of the name (e.g. strength part)
                    _required: true
                    index: 177
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 178
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Identifying type for this part of the name (e.g. strength part)
                        choices: [valueCodeableConcept]
                        index: 180
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Identifying type for this part of the name (e.g. strength part)
                        choiceOf: value
                        index: 181
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: namePart}
            index: 182
        required: [url]
      countryLanguage:
        url: countryLanguage
        base: {max: '*', min: 0, path: Extension.extension}
        short: Country and jurisdiction where the name applies
        array: true
        index: 183
        extensions:
          country:
            url: country
            base: {max: '*', min: 0, path: Extension.extension}
            short: Country code for where this name applies
            _required: true
            index: 185
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: country}
                index: 186
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Country code for where this name applies
                choices: [valueCodeableConcept]
                index: 188
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Country code for where this name applies
                choiceOf: value
                index: 189
            required: [url]
          jurisdiction:
            url: jurisdiction
            base: {max: '*', min: 0, path: Extension.extension}
            short: Jurisdiction code for where this name applies
            index: 190
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: jurisdiction}
                index: 191
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Jurisdiction code for where this name applies
                choices: [valueCodeableConcept]
                index: 193
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Jurisdiction code for where this name applies
                choiceOf: value
                index: 194
            required: [url]
          language:
            url: language
            base: {max: '*', min: 0, path: Extension.extension}
            short: Language code for this name
            _required: true
            index: 195
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: language}
                index: 196
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Language code for this name
                choices: [valueCodeableConcept]
                index: 198
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Language code for this name
                choiceOf: value
                index: 199
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            min: 2
            index: 184
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 2
              slices:
                country:
                  match: {url: country}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Country code for where this name applies
                    _required: true
                    index: 185
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: country}
                        index: 186
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Country code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 188
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Country code for where this name applies
                        choiceOf: value
                        index: 189
                    required: [url]
                jurisdiction:
                  match: {url: jurisdiction}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Jurisdiction code for where this name applies
                    index: 190
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: jurisdiction}
                        index: 191
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Jurisdiction code for where this name applies
                        choices: [valueCodeableConcept]
                        index: 193
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Jurisdiction code for where this name applies
                        choiceOf: value
                        index: 194
                    required: [url]
                language:
                  match: {url: language}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Language code for this name
                    _required: true
                    index: 195
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: language}
                        index: 196
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Language code for this name
                        choices: [valueCodeableConcept]
                        index: 198
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Language code for this name
                        choiceOf: value
                        index: 199
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: countryLanguage}
            index: 200
        required: [url]
    url: name
    base: {max: '*', min: 0, path: Extension.extension}
    required: [url, extension]
  masterFile:
    url: masterFile
    base: {max: '*', min: 0, path: Extension.extension}
    short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
    array: true
    index: 135
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: masterFile}
        index: 136
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
        choices: [valueReference]
        index: 138
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: A master file for the medicinal product (e.g. Pharmacovigilance System Master File)
        choiceOf: value
        index: 139
    required: [url]
  operation:
    url: operation
    base: {max: '*', min: 0, path: Extension.extension}
    short: A manufacturing or administrative process for the medicinal product
    array: true
    index: 227
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: The type of manufacturing operation e.g. manufacturing itself, re-packaging
        index: 229
        extensions:
          concept:
            url: concept
            base: {max: '*', min: 0, path: Extension.extension}
            short: Reference to a concept (by class)
            index: 231
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: concept}
                index: 232
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Reference to a concept (by class)
                choices: [valueCodeableConcept]
                index: 234
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Reference to a concept (by class)
                choiceOf: value
                index: 235
            required: [url]
          reference:
            url: reference
            base: {max: '*', min: 0, path: Extension.extension}
            short: Reference to a resource (by instance)
            index: 236
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: reference}
                index: 237
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Reference to a resource (by instance)
                choices: [valueReference]
                index: 239
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Reference to a resource (by instance)
                choiceOf: value
                index: 240
            required: [url]
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
            type: Extension
            short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
            index: 241
            elements:
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: CodeableReference}
                choices: [valueString]
                index: 243
              valueString:
                type: string
                pattern: {type: String, value: CodeableReference}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 244
            required: [valueString, value]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 230
            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: 231
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 232
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 234
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 235
                    required: [url]
                reference:
                  match: {url: reference}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 236
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 237
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 239
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 240
                    required: [url]
                _datatype:
                  match: {url: null}
                  schema:
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    index: 241
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 243
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 244
                    required: [valueString, value]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 245
        required: [url]
      effectiveDate:
        url: effectiveDate
        base: {max: '*', min: 0, path: Extension.extension}
        short: Date range of applicability
        index: 246
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: effectiveDate}
            index: 247
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Date range of applicability
            choices: [valuePeriod]
            index: 249
          valuePeriod:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Period
            short: Date range of applicability
            choiceOf: value
            index: 250
        required: [url]
      organization:
        url: organization
        base: {max: '*', min: 0, path: Extension.extension}
        short: The organization responsible for the particular process, e.g. the manufacturer or importer
        array: true
        index: 251
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: organization}
            index: 252
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The organization responsible for the particular process, e.g. the manufacturer or importer
            choices: [valueReference]
            index: 254
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: The organization responsible for the particular process, e.g. the manufacturer or importer
            choiceOf: value
            index: 255
        required: [url]
      confidentialityIndicator:
        url: confidentialityIndicator
        base: {max: '*', min: 0, path: Extension.extension}
        short: Specifies whether this process is considered proprietary or confidential
        index: 256
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: confidentialityIndicator}
            index: 257
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Specifies whether this process is considered proprietary or confidential
            choices: [valueCodeableConcept]
            index: 259
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Specifies whether this process is considered proprietary or confidential
            choiceOf: value
            index: 260
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 228
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The type of manufacturing operation e.g. manufacturing itself, re-packaging
                index: 229
                extensions:
                  concept:
                    url: concept
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a concept (by class)
                    index: 231
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 232
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 234
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 235
                    required: [url]
                  reference:
                    url: reference
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 236
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 237
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 239
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 240
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                    index: 241
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 243
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 244
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 230
                    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: 231
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 232
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 234
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 235
                            required: [url]
                        reference:
                          match: {url: reference}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 236
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 237
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 239
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 240
                            required: [url]
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.operation.type from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 241
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 243
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 244
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 245
                required: [url]
            effectiveDate:
              match: {url: effectiveDate}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Date range of applicability
                index: 246
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: effectiveDate}
                    index: 247
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Date range of applicability
                    choices: [valuePeriod]
                    index: 249
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Date range of applicability
                    choiceOf: value
                    index: 250
                required: [url]
            organization:
              match: {url: organization}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The organization responsible for the particular process, e.g. the manufacturer or importer
                array: true
                index: 251
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organization}
                    index: 252
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The organization responsible for the particular process, e.g. the manufacturer or importer
                    choices: [valueReference]
                    index: 254
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: The organization responsible for the particular process, e.g. the manufacturer or importer
                    choiceOf: value
                    index: 255
                required: [url]
            confidentialityIndicator:
              match: {url: confidentialityIndicator}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specifies whether this process is considered proprietary or confidential
                index: 256
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: confidentialityIndicator}
                    index: 257
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specifies whether this process is considered proprietary or confidential
                    choices: [valueCodeableConcept]
                    index: 259
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Specifies whether this process is considered proprietary or confidential
                    choiceOf: value
                    index: 260
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: operation}
        index: 261
    required: [url]
  type:
    url: type
    base: {max: '*', min: 0, path: Extension.extension}
    short: Regulatory type, e.g. Investigational or Authorized
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: type}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Regulatory type, e.g. Investigational or Authorized
        choices: [valueCodeableConcept]
        index: 4
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Regulatory type, e.g. Investigational or Authorized
        choiceOf: value
        index: 5
    required: [url]
  route:
    url: route
    base: {max: '*', min: 0, path: Extension.extension}
    short: The path by which the product is taken into or makes contact with the body
    array: true
    index: 36
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: route}
        index: 37
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The path by which the product is taken into or makes contact with the body
        choices: [valueCodeableConcept]
        index: 39
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The path by which the product is taken into or makes contact with the body
        choiceOf: value
        index: 40
    required: [url]
  pediatricUseIndicator:
    url: pediatricUseIndicator
    base: {max: '*', min: 0, path: Extension.extension}
    short: If authorised for use in children
    index: 61
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: pediatricUseIndicator}
        index: 62
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: If authorised for use in children
        choices: [valueCodeableConcept]
        index: 64
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: If authorised for use in children
        choiceOf: value
        index: 65
    required: [url]
  classification:
    url: classification
    base: {max: '*', min: 0, path: Extension.extension}
    short: Allows the product to be classified by various systems
    array: true
    index: 66
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: classification}
        index: 67
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Allows the product to be classified by various systems
        choices: [valueCodeableConcept]
        index: 69
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Allows the product to be classified by various systems
        choiceOf: value
        index: 70
    required: [url]
  characteristic:
    url: characteristic
    base: {max: '*', min: 0, path: Extension.extension}
    short: Key product features such as "sugar free", "modified release"
    array: true
    index: 262
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: A code expressing the type of characteristic
        _required: true
        index: 264
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 265
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A code expressing the type of characteristic
            choices: [valueCodeableConcept]
            index: 267
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: A code expressing the type of characteristic
            choiceOf: value
            index: 268
        required: [url]
      value[x]:
        url: value[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: A value for the characteristic
        index: 269
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'value[x]'}
            index: 270
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A value for the characteristic
            choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
            index: 272
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: A value for the characteristic
            choiceOf: value
            index: 273
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: A value for the characteristic
            choiceOf: value
            index: 274
          valueDate:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: date
            short: A value for the characteristic
            choiceOf: value
            index: 275
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: A value for the characteristic
            choiceOf: value
            index: 276
          valueAttachment:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Attachment
            short: A value for the characteristic
            choiceOf: value
            index: 277
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 263
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A code expressing the type of characteristic
                _required: true
                index: 264
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 265
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A code expressing the type of characteristic
                    choices: [valueCodeableConcept]
                    index: 267
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A code expressing the type of characteristic
                    choiceOf: value
                    index: 268
                required: [url]
            value[x]:
              match: {url: 'value[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A value for the characteristic
                index: 269
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 270
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A value for the characteristic
                    choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                    index: 272
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A value for the characteristic
                    choiceOf: value
                    index: 273
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A value for the characteristic
                    choiceOf: value
                    index: 274
                  valueDate:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: date
                    short: A value for the characteristic
                    choiceOf: value
                    index: 275
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: A value for the characteristic
                    choiceOf: value
                    index: 276
                  valueAttachment:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Attachment
                    short: A value for the characteristic
                    choiceOf: value
                    index: 277
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: characteristic}
        index: 278
    required: [url, extension]
  marketingStatus:
    url: marketingStatus
    base: {max: '*', min: 0, path: Extension.extension}
    short: Marketing status of the medicinal product, in contrast to marketing authorization
    array: true
    index: 71
    extensions:
      country:
        url: country
        base: {max: '*', min: 0, path: Extension.extension}
        short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
        index: 73
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: country}
            index: 74
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
            choices: [valueCodeableConcept]
            index: 76
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
            choiceOf: value
            index: 77
        required: [url]
      jurisdiction:
        url: jurisdiction
        base: {max: '*', min: 0, path: Extension.extension}
        short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
        index: 78
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: jurisdiction}
            index: 79
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
            choices: [valueCodeableConcept]
            index: 81
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
            choiceOf: value
            index: 82
        required: [url]
      status:
        url: status
        base: {max: '*', min: 0, path: Extension.extension}
        short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
        _required: true
        index: 83
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: status}
            index: 84
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
            choices: [valueCodeableConcept]
            index: 86
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
            choiceOf: value
            index: 87
        required: [url]
      dateRange:
        url: dateRange
        base: {max: '*', min: 0, path: Extension.extension}
        short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
        index: 88
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: dateRange}
            index: 89
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
            choices: [valuePeriod]
            index: 91
          valuePeriod:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Period
            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
            choiceOf: value
            index: 92
        required: [url]
      restoreDate:
        url: restoreDate
        base: {max: '*', min: 0, path: Extension.extension}
        short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
        index: 93
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: restoreDate}
            index: 94
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
            choices: [valueDateTime]
            index: 96
          valueDateTime:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: dateTime
            short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
            choiceOf: value
            index: 97
        required: [url]
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
        type: Extension
        short: Data type name for MedicinalProductDefinition.marketingStatus from FHIR R4B
        index: 98
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: MarketingStatus}
            choices: [valueString]
            index: 100
          valueString:
            type: string
            pattern: {type: String, value: MarketingStatus}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 101
        required: [valueString, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 72
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            country:
              match: {url: country}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                index: 73
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: country}
                    index: 74
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                    choices: [valueCodeableConcept]
                    index: 76
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements
                    choiceOf: value
                    index: 77
                required: [url]
            jurisdiction:
              match: {url: jurisdiction}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                index: 78
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: jurisdiction}
                    index: 79
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                    choices: [valueCodeableConcept]
                    index: 81
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified
                    choiceOf: value
                    index: 82
                required: [url]
            status:
              match: {url: status}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                _required: true
                index: 83
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: status}
                    index: 84
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                    choices: [valueCodeableConcept]
                    index: 86
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples
                    choiceOf: value
                    index: 87
                required: [url]
            dateRange:
              match: {url: dateRange}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dateRange}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choices: [valuePeriod]
                    index: 91
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choiceOf: value
                    index: 92
                required: [url]
            restoreDate:
              match: {url: restoreDate}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: restoreDate}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choices: [valueDateTime]
                    index: 96
                  valueDateTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: dateTime
                    short: The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain
                    choiceOf: value
                    index: 97
                required: [url]
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: Data type name for MedicinalProductDefinition.marketingStatus from FHIR R4B
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                index: 98
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: MarketingStatus}
                    choices: [valueString]
                    index: 100
                  valueString:
                    type: string
                    pattern: {type: String, value: MarketingStatus}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 101
                required: [valueString, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: marketingStatus}
        index: 102
    required: [url, extension]
  specialMeasures:
    url: specialMeasures
    base: {max: '*', min: 0, path: Extension.extension}
    short: Whether the Medicinal Product is subject to special measures for regulatory reasons
    array: true
    index: 56
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: specialMeasures}
        index: 57
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Whether the Medicinal Product is subject to special measures for regulatory reasons
        choices: [valueCodeableConcept]
        index: 59
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Whether the Medicinal Product is subject to special measures for regulatory reasons
        choiceOf: value
        index: 60
    required: [url]
  ingredient:
    url: ingredient
    base: {max: '*', min: 0, path: Extension.extension}
    short: The ingredients of this medicinal product - when not detailed in other resources
    array: true
    index: 108
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: ingredient}
        index: 109
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The ingredients of this medicinal product - when not detailed in other resources
        choices: [valueCodeableConcept]
        index: 111
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The ingredients of this medicinal product - when not detailed in other resources
        choiceOf: value
        index: 112
    required: [url]
  status:
    url: status
    base: {max: '*', min: 0, path: Extension.extension}
    short: The status within the lifecycle of this product record
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: status}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The status within the lifecycle of this product record
        choices: [valueCodeableConcept]
        index: 19
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The status within the lifecycle of this product record
        choiceOf: value
        index: 20
    required: [url]
  packagedMedicinalProduct:
    url: packagedMedicinalProduct
    base: {max: '*', min: 0, path: Extension.extension}
    short: Package type for the product
    array: true
    index: 103
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: packagedMedicinalProduct}
        index: 104
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Package type for the product
        choices: [valueCodeableConcept]
        index: 106
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Package type for the product
        choiceOf: value
        index: 107
    required: [url]
  statusDate:
    url: statusDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: The date at which the given status became applicable
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: statusDate}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The date at which the given status became applicable
        choices: [valueDateTime]
        index: 24
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: The date at which the given status became applicable
        choiceOf: value
        index: 25
    required: [url]
  crossReference:
    url: crossReference
    base: {max: '*', min: 0, path: Extension.extension}
    short: Reference to another product, e.g. for linking authorised to investigational product
    array: true
    index: 202
    extensions:
      product:
        url: product
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reference to another product, e.g. for linking authorised to investigational product
        _required: true
        index: 204
        extensions:
          concept:
            url: concept
            base: {max: '*', min: 0, path: Extension.extension}
            short: Reference to a concept (by class)
            index: 206
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: concept}
                index: 207
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Reference to a concept (by class)
                choices: [valueCodeableConcept]
                index: 209
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Reference to a concept (by class)
                choiceOf: value
                index: 210
            required: [url]
          reference:
            url: reference
            base: {max: '*', min: 0, path: Extension.extension}
            short: Reference to a resource (by instance)
            index: 211
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: reference}
                index: 212
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Reference to a resource (by instance)
                choices: [valueReference]
                index: 214
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Reference to a resource (by instance)
                choiceOf: value
                index: 215
            required: [url]
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
            type: Extension
            short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
            index: 216
            elements:
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: CodeableReference}
                choices: [valueString]
                index: 218
              valueString:
                type: string
                pattern: {type: String, value: CodeableReference}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 219
            required: [valueString, value]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 205
            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: 206
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 207
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 209
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 210
                    required: [url]
                reference:
                  match: {url: reference}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 211
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 212
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 214
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 215
                    required: [url]
                _datatype:
                  match: {url: null}
                  schema:
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    index: 216
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 218
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 219
                    required: [valueString, value]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: product}
            index: 220
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: The type of relationship, for instance branded to generic or virtual to actual product
        index: 221
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 222
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The type of relationship, for instance branded to generic or virtual to actual product
            choices: [valueCodeableConcept]
            index: 224
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The type of relationship, for instance branded to generic or virtual to actual product
            choiceOf: value
            index: 225
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 203
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            product:
              match: {url: product}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference to another product, e.g. for linking authorised to investigational product
                _required: true
                index: 204
                extensions:
                  concept:
                    url: concept
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a concept (by class)
                    index: 206
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: concept}
                        index: 207
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a concept (by class)
                        choices: [valueCodeableConcept]
                        index: 209
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Reference to a concept (by class)
                        choiceOf: value
                        index: 210
                    required: [url]
                  reference:
                    url: reference
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference to a resource (by instance)
                    index: 211
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: reference}
                        index: 212
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Reference to a resource (by instance)
                        choices: [valueReference]
                        index: 214
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: Reference to a resource (by instance)
                        choiceOf: value
                        index: 215
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                    index: 216
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: CodeableReference}
                        choices: [valueString]
                        index: 218
                      valueString:
                        type: string
                        pattern: {type: String, value: CodeableReference}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 219
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 205
                    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: 206
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: concept}
                                index: 207
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a concept (by class)
                                choices: [valueCodeableConcept]
                                index: 209
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Reference to a concept (by class)
                                choiceOf: value
                                index: 210
                            required: [url]
                        reference:
                          match: {url: reference}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference to a resource (by instance)
                            index: 211
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: reference}
                                index: 212
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Reference to a resource (by instance)
                                choices: [valueReference]
                                index: 214
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: Reference to a resource (by instance)
                                choiceOf: value
                                index: 215
                            required: [url]
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for MedicinalProductDefinition.crossReference.product from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 216
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: CodeableReference}
                                choices: [valueString]
                                index: 218
                              valueString:
                                type: string
                                pattern: {type: String, value: CodeableReference}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 219
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: product}
                    index: 220
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The type of relationship, for instance branded to generic or virtual to actual product
                index: 221
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 222
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The type of relationship, for instance branded to generic or virtual to actual product
                    choices: [valueCodeableConcept]
                    index: 224
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The type of relationship, for instance branded to generic or virtual to actual product
                    choiceOf: value
                    index: 225
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: crossReference}
        index: 226
    required: [url, extension]
  attachedDocument:
    url: attachedDocument
    base: {max: '*', min: 0, path: Extension.extension}
    short: Additional documentation about the medicinal product
    array: true
    index: 130
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: attachedDocument}
        index: 131
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Additional documentation about the medicinal product
        choices: [valueReference]
        index: 133
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Additional documentation about the medicinal product
        choiceOf: value
        index: 134
    required: [url]
  domain:
    url: domain
    base: {max: '*', min: 0, path: Extension.extension}
    short: If this medicine applies to human or veterinary uses
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: domain}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: If this medicine applies to human or veterinary uses
        choices: [valueCodeableConcept]
        index: 9
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: If this medicine applies to human or veterinary uses
        choiceOf: value
        index: 10
    required: [url]
  legalStatusOfSupply:
    url: legalStatusOfSupply
    base: {max: '*', min: 0, path: Extension.extension}
    short: The legal status of supply of the medicinal product as classified by the regulator
    index: 46
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: legalStatusOfSupply}
        index: 47
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The legal status of supply of the medicinal product as classified by the regulator
        choices: [valueCodeableConcept]
        index: 49
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The legal status of supply of the medicinal product as classified by the regulator
        choiceOf: value
        index: 50
    required: [url]
  version:
    url: version
    base: {max: '*', min: 0, path: Extension.extension}
    short: A business identifier relating to a specific version of the product
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: version}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A business identifier relating to a specific version of the product
        choices: [valueString]
        index: 14
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: A business identifier relating to a specific version of the product
        choiceOf: value
        index: 15
    required: [url]
  contact:
    url: contact
    base: {max: '*', min: 0, path: Extension.extension}
    short: A product specific contact, person (in a role), or an organization
    array: true
    index: 140
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
        index: 142
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 143
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
            choices: [valueCodeableConcept]
            index: 145
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
            choiceOf: value
            index: 146
        required: [url]
      contact:
        url: contact
        base: {max: '*', min: 0, path: Extension.extension}
        short: A product specific contact, person (in a role), or an organization
        _required: true
        index: 147
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: contact}
            index: 148
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A product specific contact, person (in a role), or an organization
            choices: [valueReference]
            index: 150
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: A product specific contact, person (in a role), or an organization
            choiceOf: value
            index: 151
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 141
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                index: 142
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 143
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                    choices: [valueCodeableConcept]
                    index: 145
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
                    choiceOf: value
                    index: 146
                required: [url]
            contact:
              match: {url: contact}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A product specific contact, person (in a role), or an organization
                _required: true
                index: 147
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: contact}
                    index: 148
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A product specific contact, person (in a role), or an organization
                    choices: [valueReference]
                    index: 150
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: A product specific contact, person (in a role), or an organization
                    choiceOf: value
                    index: 151
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: contact}
        index: 152
    required: [url, extension]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicinalProductDefinition
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.0.1-snapshot-2
required: [url, extension]