PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r4b.r4-0.0.1-snapshot-2
    http://hl7.org/fhir/4.3/StructureDefinition/extension-SubstanceDefinition
description: This cross-version extension represents SubstanceDefinition from http://hl7.org/fhir/StructureDefinition/SubstanceDefinition|4.3.0 for use in FHIR R4.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R4B_SubstanceDefinition
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        description:
          match: {url: description}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Textual description of the substance
            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: Textual description of the substance
                choices: [valueMarkdown]
                index: 29
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Textual description of the substance
                choiceOf: value
                index: 30
            required: [url]
        supplier:
          match: {url: supplier}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: An entity that is the source for the substance. It may be different from the manufacturer
            array: true
            index: 46
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: supplier}
                index: 47
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: An entity that is the source for the substance. It may be different from the manufacturer
                choices: [valueReference]
                index: 49
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: An entity that is the source for the substance. It may be different from the manufacturer
                choiceOf: value
                index: 50
            required: [url]
        property:
          match: {url: property}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: General specifications for this substance
            array: true
            index: 95
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: A code expressing the type of property
                _required: true
                index: 97
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 98
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A code expressing the type of property
                    choices: [valueCodeableConcept]
                    index: 100
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A code expressing the type of property
                    choiceOf: value
                    index: 101
                required: [url]
              value[x]:
                url: value[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: A value for the property
                index: 102
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 103
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A value for the property
                    choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                    index: 105
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A value for the property
                    choiceOf: value
                    index: 106
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A value for the property
                    choiceOf: value
                    index: 107
                  valueDate:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: date
                    short: A value for the property
                    choiceOf: value
                    index: 108
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: A value for the property
                    choiceOf: value
                    index: 109
                  valueAttachment:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Attachment
                    short: A value for the property
                    choiceOf: value
                    index: 110
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 96
                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 property
                        _required: true
                        index: 97
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 98
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A code expressing the type of property
                            choices: [valueCodeableConcept]
                            index: 100
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: A code expressing the type of property
                            choiceOf: value
                            index: 101
                        required: [url]
                    value[x]:
                      match: {url: 'value[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A value for the property
                        index: 102
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'value[x]'}
                            index: 103
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A value for the property
                            choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                            index: 105
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: A value for the property
                            choiceOf: value
                            index: 106
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: A value for the property
                            choiceOf: value
                            index: 107
                          valueDate:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: date
                            short: A value for the property
                            choiceOf: value
                            index: 108
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: A value for the property
                            choiceOf: value
                            index: 109
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: A value for the property
                            choiceOf: value
                            index: 110
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: property}
                index: 111
            required: [url, extension]
        name:
          match: {url: name}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Names applicable to this substance
            array: true
            index: 193
            extensions:
              official:
                url: official
                base: {max: '*', min: 0, path: Extension.extension}
                short: Details of the official nature of this name
                array: true
                index: 244
                extensions:
                  authority:
                    url: authority
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Which authority uses this official name
                    index: 246
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: authority}
                        index: 247
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Which authority uses this official name
                        choices: [valueCodeableConcept]
                        index: 249
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Which authority uses this official name
                        choiceOf: value
                        index: 250
                    required: [url]
                  status:
                    url: status
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The status of the official name, for example 'draft', 'active'
                    index: 251
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: status}
                        index: 252
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The status of the official name, for example 'draft', 'active'
                        choices: [valueCodeableConcept]
                        index: 254
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The status of the official name, for example 'draft', 'active'
                        choiceOf: value
                        index: 255
                    required: [url]
                  date:
                    url: date
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Date of official name change
                    index: 256
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: date}
                        index: 257
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Date of official name change
                        choices: [valueDateTime]
                        index: 259
                      valueDateTime:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: dateTime
                        short: Date of official name change
                        choiceOf: value
                        index: 260
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 245
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        authority:
                          match: {url: authority}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Which authority uses this official name
                            index: 246
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: authority}
                                index: 247
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Which authority uses this official name
                                choices: [valueCodeableConcept]
                                index: 249
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Which authority uses this official name
                                choiceOf: value
                                index: 250
                            required: [url]
                        status:
                          match: {url: status}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The status of the official name, for example 'draft', 'active'
                            index: 251
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: status}
                                index: 252
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The status of the official name, for example 'draft', 'active'
                                choices: [valueCodeableConcept]
                                index: 254
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The status of the official name, for example 'draft', 'active'
                                choiceOf: value
                                index: 255
                            required: [url]
                        date:
                          match: {url: date}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Date of official name change
                            index: 256
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: date}
                                index: 257
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Date of official name change
                                choices: [valueDateTime]
                                index: 259
                              valueDateTime:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: dateTime
                                short: Date of official name change
                                choiceOf: value
                                index: 260
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: official}
                    index: 261
                required: [url]
              jurisdiction:
                url: jurisdiction
                base: {max: '*', min: 0, path: Extension.extension}
                short: The jurisdiction where this name applies
                array: true
                index: 225
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: jurisdiction}
                    index: 226
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The jurisdiction where this name applies
                    choices: [valueCodeableConcept]
                    index: 228
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The jurisdiction where this name applies
                    choiceOf: value
                    index: 229
                required: [url]
              name:
                url: name
                base: {max: '*', min: 0, path: Extension.extension}
                short: The actual name
                _required: true
                index: 195
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 196
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The actual name
                    choices: [valueString]
                    index: 198
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The actual name
                    choiceOf: value
                    index: 199
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Name type e.g. 'systematic',  'scientific, 'brand'
                index: 200
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 201
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Name type e.g. 'systematic',  'scientific, 'brand'
                    choices: [valueCodeableConcept]
                    index: 203
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Name type e.g. 'systematic',  'scientific, 'brand'
                    choiceOf: value
                    index: 204
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Supporting literature
                array: true
                index: 262
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 263
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Supporting literature
                    choices: [valueReference]
                    index: 265
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Supporting literature
                    choiceOf: value
                    index: 266
                required: [url]
              status:
                url: status
                base: {max: '*', min: 0, path: Extension.extension}
                short: The status of the name e.g. 'current', 'proposed'
                index: 205
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: status}
                    index: 206
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The status of the name e.g. 'current', 'proposed'
                    choices: [valueCodeableConcept]
                    index: 208
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The status of the name e.g. 'current', 'proposed'
                    choiceOf: value
                    index: 209
                required: [url]
              language:
                url: language
                base: {max: '*', min: 0, path: Extension.extension}
                short: Human language that the name is written in
                array: true
                index: 215
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: language}
                    index: 216
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Human language that the name is written in
                    choices: [valueCodeableConcept]
                    index: 218
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Human language that the name is written in
                    choiceOf: value
                    index: 219
                required: [url]
              synonym:
                url: synonym
                base: {max: '*', min: 0, path: Extension.extension}
                short: A synonym of this particular name, by which the substance is also known
                array: true
                index: 230
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                    index: 232
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 234
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 235
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 231
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 232
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 234
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 235
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: synonym}
                    index: 236
                required: [url]
              translation:
                url: translation
                base: {max: '*', min: 0, path: Extension.extension}
                short: A translation for this name into another human language
                array: true
                index: 237
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                    index: 239
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 241
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 242
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 238
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 239
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 241
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 242
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: translation}
                    index: 243
                required: [url]
              preferred:
                url: preferred
                base: {max: '*', min: 0, path: Extension.extension}
                short: If this is the preferred name for this substance
                index: 210
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: preferred}
                    index: 211
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: If this is the preferred name for this substance
                    choices: [valueBoolean]
                    index: 213
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: If this is the preferred name for this substance
                    choiceOf: value
                    index: 214
                required: [url]
              domain:
                url: domain
                base: {max: '*', min: 0, path: Extension.extension}
                short: The use context of this name e.g. as an active ingredient or as a food colour additive
                array: true
                index: 220
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: domain}
                    index: 221
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The use context of this name e.g. as an active ingredient or as a food colour additive
                    choices: [valueCodeableConcept]
                    index: 223
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The use context of this name e.g. as an active ingredient or as a food colour additive
                    choiceOf: value
                    index: 224
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 194
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    official:
                      match: {url: official}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Details of the official nature of this name
                        array: true
                        index: 244
                        extensions:
                          authority:
                            url: authority
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Which authority uses this official name
                            index: 246
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: authority}
                                index: 247
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Which authority uses this official name
                                choices: [valueCodeableConcept]
                                index: 249
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Which authority uses this official name
                                choiceOf: value
                                index: 250
                            required: [url]
                          status:
                            url: status
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The status of the official name, for example 'draft', 'active'
                            index: 251
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: status}
                                index: 252
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The status of the official name, for example 'draft', 'active'
                                choices: [valueCodeableConcept]
                                index: 254
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The status of the official name, for example 'draft', 'active'
                                choiceOf: value
                                index: 255
                            required: [url]
                          date:
                            url: date
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Date of official name change
                            index: 256
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: date}
                                index: 257
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Date of official name change
                                choices: [valueDateTime]
                                index: 259
                              valueDateTime:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: dateTime
                                short: Date of official name change
                                choiceOf: value
                                index: 260
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 245
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                authority:
                                  match: {url: authority}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Which authority uses this official name
                                    index: 246
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: authority}
                                        index: 247
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Which authority uses this official name
                                        choices: [valueCodeableConcept]
                                        index: 249
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Which authority uses this official name
                                        choiceOf: value
                                        index: 250
                                    required: [url]
                                status:
                                  match: {url: status}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: The status of the official name, for example 'draft', 'active'
                                    index: 251
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: status}
                                        index: 252
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: The status of the official name, for example 'draft', 'active'
                                        choices: [valueCodeableConcept]
                                        index: 254
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: The status of the official name, for example 'draft', 'active'
                                        choiceOf: value
                                        index: 255
                                    required: [url]
                                date:
                                  match: {url: date}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Date of official name change
                                    index: 256
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: date}
                                        index: 257
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Date of official name change
                                        choices: [valueDateTime]
                                        index: 259
                                      valueDateTime:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: dateTime
                                        short: Date of official name change
                                        choiceOf: value
                                        index: 260
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: official}
                            index: 261
                        required: [url]
                    jurisdiction:
                      match: {url: jurisdiction}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The jurisdiction where this name applies
                        array: true
                        index: 225
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: jurisdiction}
                            index: 226
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The jurisdiction where this name applies
                            choices: [valueCodeableConcept]
                            index: 228
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The jurisdiction where this name applies
                            choiceOf: value
                            index: 229
                        required: [url]
                    name:
                      match: {url: name}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The actual name
                        _required: true
                        index: 195
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 196
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The actual name
                            choices: [valueString]
                            index: 198
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: The actual name
                            choiceOf: value
                            index: 199
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Name type e.g. 'systematic',  'scientific, 'brand'
                        index: 200
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 201
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Name type e.g. 'systematic',  'scientific, 'brand'
                            choices: [valueCodeableConcept]
                            index: 203
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Name type e.g. 'systematic',  'scientific, 'brand'
                            choiceOf: value
                            index: 204
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Supporting literature
                        array: true
                        index: 262
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 263
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Supporting literature
                            choices: [valueReference]
                            index: 265
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Supporting literature
                            choiceOf: value
                            index: 266
                        required: [url]
                    status:
                      match: {url: status}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The status of the name e.g. 'current', 'proposed'
                        index: 205
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: status}
                            index: 206
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The status of the name e.g. 'current', 'proposed'
                            choices: [valueCodeableConcept]
                            index: 208
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The status of the name e.g. 'current', 'proposed'
                            choiceOf: value
                            index: 209
                        required: [url]
                    language:
                      match: {url: language}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Human language that the name is written in
                        array: true
                        index: 215
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: language}
                            index: 216
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Human language that the name is written in
                            choices: [valueCodeableConcept]
                            index: 218
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Human language that the name is written in
                            choiceOf: value
                            index: 219
                        required: [url]
                    synonym:
                      match: {url: synonym}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A synonym of this particular name, by which the substance is also known
                        array: true
                        index: 230
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                            index: 232
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 234
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 235
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 231
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 232
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceDefinition.name}
                                        choices: [valueString]
                                        index: 234
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceDefinition.name}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 235
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: synonym}
                            index: 236
                        required: [url]
                    translation:
                      match: {url: translation}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A translation for this name into another human language
                        array: true
                        index: 237
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                            index: 239
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 241
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 242
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 238
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 239
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceDefinition.name}
                                        choices: [valueString]
                                        index: 241
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceDefinition.name}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 242
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: translation}
                            index: 243
                        required: [url]
                    preferred:
                      match: {url: preferred}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: If this is the preferred name for this substance
                        index: 210
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: preferred}
                            index: 211
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: If this is the preferred name for this substance
                            choices: [valueBoolean]
                            index: 213
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: If this is the preferred name for this substance
                            choiceOf: value
                            index: 214
                        required: [url]
                    domain:
                      match: {url: domain}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The use context of this name e.g. as an active ingredient or as a food colour additive
                        array: true
                        index: 220
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: domain}
                            index: 221
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The use context of this name e.g. as an active ingredient or as a food colour additive
                            choices: [valueCodeableConcept]
                            index: 223
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The use context of this name e.g. as an active ingredient or as a food colour additive
                            choiceOf: value
                            index: 224
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: name}
                index: 267
            required: [url, extension]
        relationship:
          match: {url: relationship}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A link between this substance and another
            array: true
            index: 268
            extensions:
              substanceDefinition[x]:
                url: substanceDefinition[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: A pointer to another substance, as a resource or a representational code
                index: 270
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'substanceDefinition[x]'}
                    index: 271
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A pointer to another substance, as a resource or a representational code
                    choices: [valueReference, valueCodeableConcept]
                    index: 273
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: A pointer to another substance, as a resource or a representational code
                    choiceOf: value
                    index: 274
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A pointer to another substance, as a resource or a representational code
                    choiceOf: value
                    index: 275
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: For example "salt to parent", "active moiety"
                _required: true
                index: 276
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 277
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For example "salt to parent", "active moiety"
                    choices: [valueCodeableConcept]
                    index: 279
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: For example "salt to parent", "active moiety"
                    choiceOf: value
                    index: 280
                required: [url]
              isDefining:
                url: isDefining
                base: {max: '*', min: 0, path: Extension.extension}
                short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                index: 281
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: isDefining}
                    index: 282
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                    choices: [valueBoolean]
                    index: 284
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                    choiceOf: value
                    index: 285
                required: [url]
              amount[x]:
                url: amount[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                index: 286
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 287
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choices: [valueQuantity, valueRatio, valueString]
                    index: 289
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 290
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 291
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 292
                required: [url]
              ratioHighLimitAmount:
                url: ratioHighLimitAmount
                base: {max: '*', min: 0, path: Extension.extension}
                short: For use when the numeric has an uncertain range
                index: 293
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: ratioHighLimitAmount}
                    index: 294
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For use when the numeric has an uncertain range
                    choices: [valueRatio]
                    index: 296
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: For use when the numeric has an uncertain range
                    choiceOf: value
                    index: 297
                required: [url]
              comparator:
                url: comparator
                base: {max: '*', min: 0, path: Extension.extension}
                short: An operator for the amount, for example "average", "approximately", "less than"
                index: 298
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: comparator}
                    index: 299
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: An operator for the amount, for example "average", "approximately", "less than"
                    choices: [valueCodeableConcept]
                    index: 301
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: An operator for the amount, for example "average", "approximately", "less than"
                    choiceOf: value
                    index: 302
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Supporting literature
                array: true
                index: 303
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 304
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Supporting literature
                    choices: [valueReference]
                    index: 306
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Supporting literature
                    choiceOf: value
                    index: 307
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 269
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    substanceDefinition[x]:
                      match: {url: 'substanceDefinition[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A pointer to another substance, as a resource or a representational code
                        index: 270
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'substanceDefinition[x]'}
                            index: 271
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A pointer to another substance, as a resource or a representational code
                            choices: [valueReference, valueCodeableConcept]
                            index: 273
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: A pointer to another substance, as a resource or a representational code
                            choiceOf: value
                            index: 274
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: A pointer to another substance, as a resource or a representational code
                            choiceOf: value
                            index: 275
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: For example "salt to parent", "active moiety"
                        _required: true
                        index: 276
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 277
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: For example "salt to parent", "active moiety"
                            choices: [valueCodeableConcept]
                            index: 279
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: For example "salt to parent", "active moiety"
                            choiceOf: value
                            index: 280
                        required: [url]
                    isDefining:
                      match: {url: isDefining}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                        index: 281
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: isDefining}
                            index: 282
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                            choices: [valueBoolean]
                            index: 284
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                            choiceOf: value
                            index: 285
                        required: [url]
                    amount[x]:
                      match: {url: 'amount[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                        index: 286
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 287
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                            choices: [valueQuantity, valueRatio, valueString]
                            index: 289
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                            choiceOf: value
                            index: 290
                          valueRatio:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Ratio
                            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                            choiceOf: value
                            index: 291
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                            choiceOf: value
                            index: 292
                        required: [url]
                    ratioHighLimitAmount:
                      match: {url: ratioHighLimitAmount}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: For use when the numeric has an uncertain range
                        index: 293
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: ratioHighLimitAmount}
                            index: 294
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: For use when the numeric has an uncertain range
                            choices: [valueRatio]
                            index: 296
                          valueRatio:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Ratio
                            short: For use when the numeric has an uncertain range
                            choiceOf: value
                            index: 297
                        required: [url]
                    comparator:
                      match: {url: comparator}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: An operator for the amount, for example "average", "approximately", "less than"
                        index: 298
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: comparator}
                            index: 299
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: An operator for the amount, for example "average", "approximately", "less than"
                            choices: [valueCodeableConcept]
                            index: 301
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: An operator for the amount, for example "average", "approximately", "less than"
                            choiceOf: value
                            index: 302
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Supporting literature
                        array: true
                        index: 303
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 304
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Supporting literature
                            choices: [valueReference]
                            index: 306
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Supporting literature
                            choiceOf: value
                            index: 307
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: relationship}
                index: 308
            required: [url, extension]
        moiety:
          match: {url: moiety}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Moiety, for structural modifications
            array: true
            index: 51
            extensions:
              role:
                url: role
                base: {max: '*', min: 0, path: Extension.extension}
                short: Role that the moiety is playing
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: role}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Role that the moiety is playing
                    choices: [valueCodeableConcept]
                    index: 56
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Role that the moiety is playing
                    choiceOf: value
                    index: 57
                required: [url]
              identifier:
                url: identifier
                base: {max: '*', min: 0, path: Extension.extension}
                short: Identifier by which this moiety substance is known
                index: 58
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: identifier}
                    index: 59
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Identifier by which this moiety substance is known
                    choices: [valueIdentifier]
                    index: 61
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Identifier by which this moiety substance is known
                    choiceOf: value
                    index: 62
                required: [url]
              name:
                url: name
                base: {max: '*', min: 0, path: Extension.extension}
                short: Textual name for this moiety substance
                index: 63
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 64
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Textual name for this moiety substance
                    choices: [valueString]
                    index: 66
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Textual name for this moiety substance
                    choiceOf: value
                    index: 67
                required: [url]
              stereochemistry:
                url: stereochemistry
                base: {max: '*', min: 0, path: Extension.extension}
                short: Stereochemistry type
                index: 68
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: stereochemistry}
                    index: 69
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Stereochemistry type
                    choices: [valueCodeableConcept]
                    index: 71
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Stereochemistry type
                    choiceOf: value
                    index: 72
                required: [url]
              opticalActivity:
                url: opticalActivity
                base: {max: '*', min: 0, path: Extension.extension}
                short: Optical activity type
                index: 73
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: opticalActivity}
                    index: 74
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Optical activity type
                    choices: [valueCodeableConcept]
                    index: 76
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Optical activity type
                    choiceOf: value
                    index: 77
                required: [url]
              molecularFormula:
                url: molecularFormula
                base: {max: '*', min: 0, path: Extension.extension}
                short: Molecular formula for this moiety (e.g. with the Hill system)
                index: 78
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormula}
                    index: 79
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Molecular formula for this moiety (e.g. with the Hill system)
                    choices: [valueString]
                    index: 81
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Molecular formula for this moiety (e.g. with the Hill system)
                    choiceOf: value
                    index: 82
                required: [url]
              amount[x]:
                url: amount[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: Quantitative value for this moiety
                index: 83
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 84
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Quantitative value for this moiety
                    choices: [valueQuantity, valueString]
                    index: 86
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Quantitative value for this moiety
                    choiceOf: value
                    index: 87
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Quantitative value for this moiety
                    choiceOf: value
                    index: 88
                required: [url]
              measurementType:
                url: measurementType
                base: {max: '*', min: 0, path: Extension.extension}
                short: The measurement type of the quantitative value
                index: 89
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: measurementType}
                    index: 90
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The measurement type of the quantitative value
                    choices: [valueCodeableConcept]
                    index: 92
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The measurement type of the quantitative value
                    choiceOf: value
                    index: 93
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 52
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    role:
                      match: {url: role}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Role that the moiety is playing
                        index: 53
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: role}
                            index: 54
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Role that the moiety is playing
                            choices: [valueCodeableConcept]
                            index: 56
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Role that the moiety is playing
                            choiceOf: value
                            index: 57
                        required: [url]
                    identifier:
                      match: {url: identifier}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Identifier by which this moiety substance is known
                        index: 58
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: identifier}
                            index: 59
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Identifier by which this moiety substance is known
                            choices: [valueIdentifier]
                            index: 61
                          valueIdentifier:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Identifier
                            short: Identifier by which this moiety substance is known
                            choiceOf: value
                            index: 62
                        required: [url]
                    name:
                      match: {url: name}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Textual name for this moiety substance
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 64
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Textual name for this moiety substance
                            choices: [valueString]
                            index: 66
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Textual name for this moiety substance
                            choiceOf: value
                            index: 67
                        required: [url]
                    stereochemistry:
                      match: {url: stereochemistry}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Stereochemistry type
                        index: 68
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: stereochemistry}
                            index: 69
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Stereochemistry type
                            choices: [valueCodeableConcept]
                            index: 71
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Stereochemistry type
                            choiceOf: value
                            index: 72
                        required: [url]
                    opticalActivity:
                      match: {url: opticalActivity}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Optical activity type
                        index: 73
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: opticalActivity}
                            index: 74
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Optical activity type
                            choices: [valueCodeableConcept]
                            index: 76
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Optical activity type
                            choiceOf: value
                            index: 77
                        required: [url]
                    molecularFormula:
                      match: {url: molecularFormula}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Molecular formula for this moiety (e.g. with the Hill system)
                        index: 78
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: molecularFormula}
                            index: 79
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Molecular formula for this moiety (e.g. with the Hill system)
                            choices: [valueString]
                            index: 81
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Molecular formula for this moiety (e.g. with the Hill system)
                            choiceOf: value
                            index: 82
                        required: [url]
                    amount[x]:
                      match: {url: 'amount[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Quantitative value for this moiety
                        index: 83
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 84
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Quantitative value for this moiety
                            choices: [valueQuantity, valueString]
                            index: 86
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Quantitative value for this moiety
                            choiceOf: value
                            index: 87
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Quantitative value for this moiety
                            choiceOf: value
                            index: 88
                        required: [url]
                    measurementType:
                      match: {url: measurementType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The measurement type of the quantitative value
                        index: 89
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: measurementType}
                            index: 90
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The measurement type of the quantitative value
                            choices: [valueCodeableConcept]
                            index: 92
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The measurement type of the quantitative value
                            choiceOf: value
                            index: 93
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: moiety}
                index: 94
            required: [url]
        classification:
          match: {url: classification}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
            array: true
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: classification}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
                choices: [valueCodeableConcept]
                index: 14
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
                choiceOf: value
                index: 15
            required: [url]
        note:
          match: {url: note}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Textual comment about the substance's catalogue or registry record
            array: true
            index: 36
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: note}
                index: 37
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Textual comment about the substance's catalogue or registry record
                choices: [valueAnnotation]
                index: 39
              valueAnnotation:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Annotation
                short: Textual comment about the substance's catalogue or registry record
                choiceOf: value
                index: 40
            required: [url]
        grade:
          match: {url: grade}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
            array: true
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: grade}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
                choices: [valueCodeableConcept]
                index: 24
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
                choiceOf: value
                index: 25
            required: [url]
        structure:
          match: {url: structure}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Structural information
            index: 130
            extensions:
              stereochemistry:
                url: stereochemistry
                base: {max: '*', min: 0, path: Extension.extension}
                short: Stereochemistry type
                index: 132
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: stereochemistry}
                    index: 133
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Stereochemistry type
                    choices: [valueCodeableConcept]
                    index: 135
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Stereochemistry type
                    choiceOf: value
                    index: 136
                required: [url]
              opticalActivity:
                url: opticalActivity
                base: {max: '*', min: 0, path: Extension.extension}
                short: Optical activity type
                index: 137
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: opticalActivity}
                    index: 138
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Optical activity type
                    choices: [valueCodeableConcept]
                    index: 140
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Optical activity type
                    choiceOf: value
                    index: 141
                required: [url]
              molecularFormula:
                url: molecularFormula
                base: {max: '*', min: 0, path: Extension.extension}
                short: Molecular formula (e.g. using the Hill system)
                index: 142
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormula}
                    index: 143
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Molecular formula (e.g. using the Hill system)
                    choices: [valueString]
                    index: 145
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Molecular formula (e.g. using the Hill system)
                    choiceOf: value
                    index: 146
                required: [url]
              molecularFormulaByMoiety:
                url: molecularFormulaByMoiety
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specified per moiety according to the Hill system
                index: 147
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormulaByMoiety}
                    index: 148
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specified per moiety according to the Hill system
                    choices: [valueString]
                    index: 150
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Specified per moiety according to the Hill system
                    choiceOf: value
                    index: 151
                required: [url]
              molecularWeight:
                url: molecularWeight
                base: {max: '*', min: 0, path: Extension.extension}
                short: The molecular weight or weight range
                index: 152
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                    index: 154
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        choices: [valueString]
                        index: 156
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 157
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 153
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 154
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                choices: [valueString]
                                index: 156
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 157
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularWeight}
                    index: 158
                required: [url]
              technique:
                url: technique
                base: {max: '*', min: 0, path: Extension.extension}
                short: The method used to find the structure e.g. X-ray, NMR
                array: true
                index: 159
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: technique}
                    index: 160
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The method used to find the structure e.g. X-ray, NMR
                    choices: [valueCodeableConcept]
                    index: 162
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The method used to find the structure e.g. X-ray, NMR
                    choiceOf: value
                    index: 163
                required: [url]
              sourceDocument:
                url: sourceDocument
                base: {max: '*', min: 0, path: Extension.extension}
                short: Source of information for the structure
                array: true
                index: 164
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: sourceDocument}
                    index: 165
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Source of information for the structure
                    choices: [valueReference]
                    index: 167
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Source of information for the structure
                    choiceOf: value
                    index: 168
                required: [url]
              representation:
                url: representation
                base: {max: '*', min: 0, path: Extension.extension}
                short: A depiction of the structure or characterization of the substance
                array: true
                index: 169
                extensions:
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The kind of structural representation (e.g. full, partial)
                    index: 171
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 172
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The kind of structural representation (e.g. full, partial)
                        choices: [valueCodeableConcept]
                        index: 174
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The kind of structural representation (e.g. full, partial)
                        choiceOf: value
                        index: 175
                    required: [url]
                  representation:
                    url: representation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The structural representation or characterization as a text string in a standard format
                    index: 176
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 177
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The structural representation or characterization as a text string in a standard format
                        choices: [valueString]
                        index: 179
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: The structural representation or characterization as a text string in a standard format
                        choiceOf: value
                        index: 180
                    required: [url]
                  format:
                    url: format
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                    index: 181
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: format}
                        index: 182
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choices: [valueCodeableConcept]
                        index: 184
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choiceOf: value
                        index: 185
                    required: [url]
                  document:
                    url: document
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                    index: 186
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: document}
                        index: 187
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choices: [valueReference]
                        index: 189
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choiceOf: value
                        index: 190
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 170
                    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 kind of structural representation (e.g. full, partial)
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The kind of structural representation (e.g. full, partial)
                                choices: [valueCodeableConcept]
                                index: 174
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The kind of structural representation (e.g. full, partial)
                                choiceOf: value
                                index: 175
                            required: [url]
                        representation:
                          match: {url: representation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The structural representation or characterization as a text string in a standard format
                            index: 176
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 177
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The structural representation or characterization as a text string in a standard format
                                choices: [valueString]
                                index: 179
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: The structural representation or characterization as a text string in a standard format
                                choiceOf: value
                                index: 180
                            required: [url]
                        format:
                          match: {url: format}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                            index: 181
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: format}
                                index: 182
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choices: [valueCodeableConcept]
                                index: 184
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choiceOf: value
                                index: 185
                            required: [url]
                        document:
                          match: {url: document}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                            index: 186
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: document}
                                index: 187
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choices: [valueReference]
                                index: 189
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choiceOf: value
                                index: 190
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: representation}
                    index: 191
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 131
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    stereochemistry:
                      match: {url: stereochemistry}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Stereochemistry type
                        index: 132
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: stereochemistry}
                            index: 133
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Stereochemistry type
                            choices: [valueCodeableConcept]
                            index: 135
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Stereochemistry type
                            choiceOf: value
                            index: 136
                        required: [url]
                    opticalActivity:
                      match: {url: opticalActivity}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Optical activity type
                        index: 137
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: opticalActivity}
                            index: 138
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Optical activity type
                            choices: [valueCodeableConcept]
                            index: 140
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Optical activity type
                            choiceOf: value
                            index: 141
                        required: [url]
                    molecularFormula:
                      match: {url: molecularFormula}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Molecular formula (e.g. using the Hill system)
                        index: 142
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: molecularFormula}
                            index: 143
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Molecular formula (e.g. using the Hill system)
                            choices: [valueString]
                            index: 145
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Molecular formula (e.g. using the Hill system)
                            choiceOf: value
                            index: 146
                        required: [url]
                    molecularFormulaByMoiety:
                      match: {url: molecularFormulaByMoiety}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Specified per moiety according to the Hill system
                        index: 147
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: molecularFormulaByMoiety}
                            index: 148
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Specified per moiety according to the Hill system
                            choices: [valueString]
                            index: 150
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Specified per moiety according to the Hill system
                            choiceOf: value
                            index: 151
                        required: [url]
                    molecularWeight:
                      match: {url: molecularWeight}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The molecular weight or weight range
                        index: 152
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                            index: 154
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                choices: [valueString]
                                index: 156
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 157
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 153
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 154
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                        choices: [valueString]
                                        index: 156
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 157
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: molecularWeight}
                            index: 158
                        required: [url]
                    technique:
                      match: {url: technique}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The method used to find the structure e.g. X-ray, NMR
                        array: true
                        index: 159
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: technique}
                            index: 160
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The method used to find the structure e.g. X-ray, NMR
                            choices: [valueCodeableConcept]
                            index: 162
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The method used to find the structure e.g. X-ray, NMR
                            choiceOf: value
                            index: 163
                        required: [url]
                    sourceDocument:
                      match: {url: sourceDocument}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Source of information for the structure
                        array: true
                        index: 164
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: sourceDocument}
                            index: 165
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Source of information for the structure
                            choices: [valueReference]
                            index: 167
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Source of information for the structure
                            choiceOf: value
                            index: 168
                        required: [url]
                    representation:
                      match: {url: representation}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A depiction of the structure or characterization of the substance
                        array: true
                        index: 169
                        extensions:
                          type:
                            url: type
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The kind of structural representation (e.g. full, partial)
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The kind of structural representation (e.g. full, partial)
                                choices: [valueCodeableConcept]
                                index: 174
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The kind of structural representation (e.g. full, partial)
                                choiceOf: value
                                index: 175
                            required: [url]
                          representation:
                            url: representation
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The structural representation or characterization as a text string in a standard format
                            index: 176
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 177
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The structural representation or characterization as a text string in a standard format
                                choices: [valueString]
                                index: 179
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: The structural representation or characterization as a text string in a standard format
                                choiceOf: value
                                index: 180
                            required: [url]
                          format:
                            url: format
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                            index: 181
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: format}
                                index: 182
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choices: [valueCodeableConcept]
                                index: 184
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choiceOf: value
                                index: 185
                            required: [url]
                          document:
                            url: document
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                            index: 186
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: document}
                                index: 187
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choices: [valueReference]
                                index: 189
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choiceOf: value
                                index: 190
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 170
                            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 kind of structural representation (e.g. full, partial)
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: type}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: The kind of structural representation (e.g. full, partial)
                                        choices: [valueCodeableConcept]
                                        index: 174
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: The kind of structural representation (e.g. full, partial)
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                representation:
                                  match: {url: representation}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: The structural representation or characterization as a text string in a standard format
                                    index: 176
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: representation}
                                        index: 177
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: The structural representation or characterization as a text string in a standard format
                                        choices: [valueString]
                                        index: 179
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: The structural representation or characterization as a text string in a standard format
                                        choiceOf: value
                                        index: 180
                                    required: [url]
                                format:
                                  match: {url: format}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                    index: 181
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: format}
                                        index: 182
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                        choices: [valueCodeableConcept]
                                        index: 184
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                        choiceOf: value
                                        index: 185
                                    required: [url]
                                document:
                                  match: {url: document}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                    index: 186
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: document}
                                        index: 187
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                        choices: [valueReference]
                                        index: 189
                                      valueReference:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Reference
                                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                        choiceOf: value
                                        index: 190
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: representation}
                            index: 191
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: structure}
                index: 192
            required: [url]
        status:
          match: {url: status}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Status of substance within the catalogue e.g. active, retired
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Status of substance within the catalogue e.g. active, retired
                choices: [valueCodeableConcept]
                index: 9
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Status of substance within the catalogue e.g. active, retired
                choiceOf: value
                index: 10
            required: [url]
        molecularWeight:
          match: {url: molecularWeight}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The molecular weight or weight range
            array: true
            index: 112
            extensions:
              method:
                url: method
                base: {max: '*', min: 0, path: Extension.extension}
                short: The method by which the weight was determined
                index: 114
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: method}
                    index: 115
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The method by which the weight was determined
                    choices: [valueCodeableConcept]
                    index: 117
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The method by which the weight was determined
                    choiceOf: value
                    index: 118
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Type of molecular weight e.g. exact, average, weight average
                index: 119
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 120
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of molecular weight e.g. exact, average, weight average
                    choices: [valueCodeableConcept]
                    index: 122
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Type of molecular weight e.g. exact, average, weight average
                    choiceOf: value
                    index: 123
                required: [url]
              amount:
                url: amount
                base: {max: '*', min: 0, path: Extension.extension}
                short: Used to capture quantitative values for a variety of elements
                _required: true
                index: 124
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 125
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Used to capture quantitative values for a variety of elements
                    choices: [valueQuantity]
                    index: 127
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Used to capture quantitative values for a variety of elements
                    choiceOf: value
                    index: 128
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 113
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    method:
                      match: {url: method}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The method by which the weight was determined
                        index: 114
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: method}
                            index: 115
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The method by which the weight was determined
                            choices: [valueCodeableConcept]
                            index: 117
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The method by which the weight was determined
                            choiceOf: value
                            index: 118
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Type of molecular weight e.g. exact, average, weight average
                        index: 119
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 120
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Type of molecular weight e.g. exact, average, weight average
                            choices: [valueCodeableConcept]
                            index: 122
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Type of molecular weight e.g. exact, average, weight average
                            choiceOf: value
                            index: 123
                        required: [url]
                    amount:
                      match: {url: amount}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements
                        _required: true
                        index: 124
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 125
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements
                            choices: [valueQuantity]
                            index: 127
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements
                            choiceOf: value
                            index: 128
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: molecularWeight}
                index: 129
            required: [url, extension]
        manufacturer:
          match: {url: manufacturer}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The entity that creates, makes, produces or fabricates the substance
            array: true
            index: 41
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: manufacturer}
                index: 42
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The entity that creates, makes, produces or fabricates the substance
                choices: [valueReference]
                index: 44
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: The entity that creates, makes, produces or fabricates the substance
                choiceOf: value
                index: 45
            required: [url]
        domain:
          match: {url: domain}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: If the substance applies to human or veterinary use
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: domain}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: If the substance applies to human or veterinary use
                choices: [valueCodeableConcept]
                index: 19
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: If the substance applies to human or veterinary use
                choiceOf: value
                index: 20
            required: [url]
        version:
          match: {url: version}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A business level version identifier of the substance
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: version}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A business level version identifier of the substance
                choices: [valueString]
                index: 4
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: A business level version identifier of the substance
                choiceOf: value
                index: 5
            required: [url]
        informationSource:
          match: {url: informationSource}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Supporting literature
            array: true
            index: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: informationSource}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Supporting literature
                choices: [valueReference]
                index: 34
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Supporting literature
                choiceOf: value
                index: 35
            required: [url]
        sourceMaterial:
          match: {url: sourceMaterial}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Material or taxonomic/anatomical source
            index: 309
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                index: 311
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 312
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                    choices: [valueCodeableConcept]
                    index: 314
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                    choiceOf: value
                    index: 315
                required: [url]
              genus:
                url: genus
                base: {max: '*', min: 0, path: Extension.extension}
                short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                index: 316
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: genus}
                    index: 317
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                    choices: [valueCodeableConcept]
                    index: 319
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                    choiceOf: value
                    index: 320
                required: [url]
              species:
                url: species
                base: {max: '*', min: 0, path: Extension.extension}
                short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                index: 321
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: species}
                    index: 322
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                    choices: [valueCodeableConcept]
                    index: 324
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                    choiceOf: value
                    index: 325
                required: [url]
              part:
                url: part
                base: {max: '*', min: 0, path: Extension.extension}
                short: An anatomical origin of the source material within an organism
                index: 326
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: part}
                    index: 327
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: An anatomical origin of the source material within an organism
                    choices: [valueCodeableConcept]
                    index: 329
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: An anatomical origin of the source material within an organism
                    choiceOf: value
                    index: 330
                required: [url]
              countryOfOrigin:
                url: countryOfOrigin
                base: {max: '*', min: 0, path: Extension.extension}
                short: The country or countries where the material is harvested
                array: true
                index: 331
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: countryOfOrigin}
                    index: 332
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The country or countries where the material is harvested
                    choices: [valueCodeableConcept]
                    index: 334
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The country or countries where the material is harvested
                    choiceOf: value
                    index: 335
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 310
                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: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                        index: 311
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 312
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                            choices: [valueCodeableConcept]
                            index: 314
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                            choiceOf: value
                            index: 315
                        required: [url]
                    genus:
                      match: {url: genus}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                        index: 316
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: genus}
                            index: 317
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                            choices: [valueCodeableConcept]
                            index: 319
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                            choiceOf: value
                            index: 320
                        required: [url]
                    species:
                      match: {url: species}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                        index: 321
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: species}
                            index: 322
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                            choices: [valueCodeableConcept]
                            index: 324
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                            choiceOf: value
                            index: 325
                        required: [url]
                    part:
                      match: {url: part}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: An anatomical origin of the source material within an organism
                        index: 326
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: part}
                            index: 327
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: An anatomical origin of the source material within an organism
                            choices: [valueCodeableConcept]
                            index: 329
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: An anatomical origin of the source material within an organism
                            choiceOf: value
                            index: 330
                        required: [url]
                    countryOfOrigin:
                      match: {url: countryOfOrigin}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: The country or countries where the material is harvested
                        array: true
                        index: 331
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: countryOfOrigin}
                            index: 332
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The country or countries where the material is harvested
                            choices: [valueCodeableConcept]
                            index: 334
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The country or countries where the material is harvested
                            choiceOf: value
                            index: 335
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: sourceMaterial}
                index: 336
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-SubstanceDefinition'}
    index: 337
package_version: r4b.r4-0.0.1-snapshot-2
extensions:
  description:
    url: description
    base: {max: '*', min: 0, path: Extension.extension}
    short: Textual description of the substance
    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: Textual description of the substance
        choices: [valueMarkdown]
        index: 29
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Textual description of the substance
        choiceOf: value
        index: 30
    required: [url]
  supplier:
    url: supplier
    base: {max: '*', min: 0, path: Extension.extension}
    short: An entity that is the source for the substance. It may be different from the manufacturer
    array: true
    index: 46
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: supplier}
        index: 47
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: An entity that is the source for the substance. It may be different from the manufacturer
        choices: [valueReference]
        index: 49
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: An entity that is the source for the substance. It may be different from the manufacturer
        choiceOf: value
        index: 50
    required: [url]
  property:
    url: property
    base: {max: '*', min: 0, path: Extension.extension}
    short: General specifications for this substance
    array: true
    index: 95
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: A code expressing the type of property
        _required: true
        index: 97
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 98
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A code expressing the type of property
            choices: [valueCodeableConcept]
            index: 100
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: A code expressing the type of property
            choiceOf: value
            index: 101
        required: [url]
      value[x]:
        url: value[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: A value for the property
        index: 102
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'value[x]'}
            index: 103
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A value for the property
            choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
            index: 105
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: A value for the property
            choiceOf: value
            index: 106
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: A value for the property
            choiceOf: value
            index: 107
          valueDate:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: date
            short: A value for the property
            choiceOf: value
            index: 108
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: A value for the property
            choiceOf: value
            index: 109
          valueAttachment:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Attachment
            short: A value for the property
            choiceOf: value
            index: 110
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 96
        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 property
                _required: true
                index: 97
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 98
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A code expressing the type of property
                    choices: [valueCodeableConcept]
                    index: 100
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A code expressing the type of property
                    choiceOf: value
                    index: 101
                required: [url]
            value[x]:
              match: {url: 'value[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A value for the property
                index: 102
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 103
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A value for the property
                    choices: [valueCodeableConcept, valueQuantity, valueDate, valueBoolean, valueAttachment]
                    index: 105
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A value for the property
                    choiceOf: value
                    index: 106
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A value for the property
                    choiceOf: value
                    index: 107
                  valueDate:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: date
                    short: A value for the property
                    choiceOf: value
                    index: 108
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: A value for the property
                    choiceOf: value
                    index: 109
                  valueAttachment:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Attachment
                    short: A value for the property
                    choiceOf: value
                    index: 110
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: property}
        index: 111
    required: [url, extension]
  name:
    url: name
    base: {max: '*', min: 0, path: Extension.extension}
    short: Names applicable to this substance
    array: true
    index: 193
    extensions:
      official:
        url: official
        base: {max: '*', min: 0, path: Extension.extension}
        short: Details of the official nature of this name
        array: true
        index: 244
        extensions:
          authority:
            url: authority
            base: {max: '*', min: 0, path: Extension.extension}
            short: Which authority uses this official name
            index: 246
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: authority}
                index: 247
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Which authority uses this official name
                choices: [valueCodeableConcept]
                index: 249
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Which authority uses this official name
                choiceOf: value
                index: 250
            required: [url]
          status:
            url: status
            base: {max: '*', min: 0, path: Extension.extension}
            short: The status of the official name, for example 'draft', 'active'
            index: 251
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 252
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The status of the official name, for example 'draft', 'active'
                choices: [valueCodeableConcept]
                index: 254
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The status of the official name, for example 'draft', 'active'
                choiceOf: value
                index: 255
            required: [url]
          date:
            url: date
            base: {max: '*', min: 0, path: Extension.extension}
            short: Date of official name change
            index: 256
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: date}
                index: 257
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Date of official name change
                choices: [valueDateTime]
                index: 259
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: Date of official name change
                choiceOf: value
                index: 260
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 245
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                authority:
                  match: {url: authority}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Which authority uses this official name
                    index: 246
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: authority}
                        index: 247
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Which authority uses this official name
                        choices: [valueCodeableConcept]
                        index: 249
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Which authority uses this official name
                        choiceOf: value
                        index: 250
                    required: [url]
                status:
                  match: {url: status}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The status of the official name, for example 'draft', 'active'
                    index: 251
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: status}
                        index: 252
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The status of the official name, for example 'draft', 'active'
                        choices: [valueCodeableConcept]
                        index: 254
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The status of the official name, for example 'draft', 'active'
                        choiceOf: value
                        index: 255
                    required: [url]
                date:
                  match: {url: date}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Date of official name change
                    index: 256
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: date}
                        index: 257
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Date of official name change
                        choices: [valueDateTime]
                        index: 259
                      valueDateTime:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: dateTime
                        short: Date of official name change
                        choiceOf: value
                        index: 260
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: official}
            index: 261
        required: [url]
      jurisdiction:
        url: jurisdiction
        base: {max: '*', min: 0, path: Extension.extension}
        short: The jurisdiction where this name applies
        array: true
        index: 225
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: jurisdiction}
            index: 226
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The jurisdiction where this name applies
            choices: [valueCodeableConcept]
            index: 228
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The jurisdiction where this name applies
            choiceOf: value
            index: 229
        required: [url]
      name:
        url: name
        base: {max: '*', min: 0, path: Extension.extension}
        short: The actual name
        _required: true
        index: 195
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 196
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The actual name
            choices: [valueString]
            index: 198
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: The actual name
            choiceOf: value
            index: 199
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Name type e.g. 'systematic',  'scientific, 'brand'
        index: 200
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 201
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Name type e.g. 'systematic',  'scientific, 'brand'
            choices: [valueCodeableConcept]
            index: 203
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Name type e.g. 'systematic',  'scientific, 'brand'
            choiceOf: value
            index: 204
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Supporting literature
        array: true
        index: 262
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 263
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Supporting literature
            choices: [valueReference]
            index: 265
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Supporting literature
            choiceOf: value
            index: 266
        required: [url]
      status:
        url: status
        base: {max: '*', min: 0, path: Extension.extension}
        short: The status of the name e.g. 'current', 'proposed'
        index: 205
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: status}
            index: 206
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The status of the name e.g. 'current', 'proposed'
            choices: [valueCodeableConcept]
            index: 208
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The status of the name e.g. 'current', 'proposed'
            choiceOf: value
            index: 209
        required: [url]
      language:
        url: language
        base: {max: '*', min: 0, path: Extension.extension}
        short: Human language that the name is written in
        array: true
        index: 215
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: language}
            index: 216
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Human language that the name is written in
            choices: [valueCodeableConcept]
            index: 218
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Human language that the name is written in
            choiceOf: value
            index: 219
        required: [url]
      synonym:
        url: synonym
        base: {max: '*', min: 0, path: Extension.extension}
        short: A synonym of this particular name, by which the substance is also known
        array: true
        index: 230
        extensions:
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
            type: Extension
            short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
            index: 232
            elements:
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: SubstanceDefinition.name}
                choices: [valueString]
                index: 234
              valueString:
                type: string
                pattern: {type: String, value: SubstanceDefinition.name}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 235
            required: [valueString, value]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 231
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                _datatype:
                  match: {url: null}
                  schema:
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    index: 232
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 234
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 235
                    required: [valueString, value]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: synonym}
            index: 236
        required: [url]
      translation:
        url: translation
        base: {max: '*', min: 0, path: Extension.extension}
        short: A translation for this name into another human language
        array: true
        index: 237
        extensions:
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
            type: Extension
            short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
            index: 239
            elements:
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: SubstanceDefinition.name}
                choices: [valueString]
                index: 241
              valueString:
                type: string
                pattern: {type: String, value: SubstanceDefinition.name}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 242
            required: [valueString, value]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 238
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                _datatype:
                  match: {url: null}
                  schema:
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    index: 239
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 241
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 242
                    required: [valueString, value]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: translation}
            index: 243
        required: [url]
      preferred:
        url: preferred
        base: {max: '*', min: 0, path: Extension.extension}
        short: If this is the preferred name for this substance
        index: 210
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: preferred}
            index: 211
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: If this is the preferred name for this substance
            choices: [valueBoolean]
            index: 213
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: If this is the preferred name for this substance
            choiceOf: value
            index: 214
        required: [url]
      domain:
        url: domain
        base: {max: '*', min: 0, path: Extension.extension}
        short: The use context of this name e.g. as an active ingredient or as a food colour additive
        array: true
        index: 220
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: domain}
            index: 221
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The use context of this name e.g. as an active ingredient or as a food colour additive
            choices: [valueCodeableConcept]
            index: 223
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The use context of this name e.g. as an active ingredient or as a food colour additive
            choiceOf: value
            index: 224
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 194
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            official:
              match: {url: official}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Details of the official nature of this name
                array: true
                index: 244
                extensions:
                  authority:
                    url: authority
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Which authority uses this official name
                    index: 246
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: authority}
                        index: 247
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Which authority uses this official name
                        choices: [valueCodeableConcept]
                        index: 249
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Which authority uses this official name
                        choiceOf: value
                        index: 250
                    required: [url]
                  status:
                    url: status
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The status of the official name, for example 'draft', 'active'
                    index: 251
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: status}
                        index: 252
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The status of the official name, for example 'draft', 'active'
                        choices: [valueCodeableConcept]
                        index: 254
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The status of the official name, for example 'draft', 'active'
                        choiceOf: value
                        index: 255
                    required: [url]
                  date:
                    url: date
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Date of official name change
                    index: 256
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: date}
                        index: 257
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Date of official name change
                        choices: [valueDateTime]
                        index: 259
                      valueDateTime:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: dateTime
                        short: Date of official name change
                        choiceOf: value
                        index: 260
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 245
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        authority:
                          match: {url: authority}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Which authority uses this official name
                            index: 246
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: authority}
                                index: 247
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Which authority uses this official name
                                choices: [valueCodeableConcept]
                                index: 249
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Which authority uses this official name
                                choiceOf: value
                                index: 250
                            required: [url]
                        status:
                          match: {url: status}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The status of the official name, for example 'draft', 'active'
                            index: 251
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: status}
                                index: 252
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The status of the official name, for example 'draft', 'active'
                                choices: [valueCodeableConcept]
                                index: 254
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The status of the official name, for example 'draft', 'active'
                                choiceOf: value
                                index: 255
                            required: [url]
                        date:
                          match: {url: date}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Date of official name change
                            index: 256
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: date}
                                index: 257
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Date of official name change
                                choices: [valueDateTime]
                                index: 259
                              valueDateTime:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: dateTime
                                short: Date of official name change
                                choiceOf: value
                                index: 260
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: official}
                    index: 261
                required: [url]
            jurisdiction:
              match: {url: jurisdiction}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The jurisdiction where this name applies
                array: true
                index: 225
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: jurisdiction}
                    index: 226
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The jurisdiction where this name applies
                    choices: [valueCodeableConcept]
                    index: 228
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The jurisdiction where this name applies
                    choiceOf: value
                    index: 229
                required: [url]
            name:
              match: {url: name}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The actual name
                _required: true
                index: 195
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 196
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The actual name
                    choices: [valueString]
                    index: 198
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: The actual name
                    choiceOf: value
                    index: 199
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Name type e.g. 'systematic',  'scientific, 'brand'
                index: 200
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 201
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Name type e.g. 'systematic',  'scientific, 'brand'
                    choices: [valueCodeableConcept]
                    index: 203
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Name type e.g. 'systematic',  'scientific, 'brand'
                    choiceOf: value
                    index: 204
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Supporting literature
                array: true
                index: 262
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 263
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Supporting literature
                    choices: [valueReference]
                    index: 265
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Supporting literature
                    choiceOf: value
                    index: 266
                required: [url]
            status:
              match: {url: status}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The status of the name e.g. 'current', 'proposed'
                index: 205
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: status}
                    index: 206
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The status of the name e.g. 'current', 'proposed'
                    choices: [valueCodeableConcept]
                    index: 208
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The status of the name e.g. 'current', 'proposed'
                    choiceOf: value
                    index: 209
                required: [url]
            language:
              match: {url: language}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Human language that the name is written in
                array: true
                index: 215
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: language}
                    index: 216
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Human language that the name is written in
                    choices: [valueCodeableConcept]
                    index: 218
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Human language that the name is written in
                    choiceOf: value
                    index: 219
                required: [url]
            synonym:
              match: {url: synonym}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A synonym of this particular name, by which the substance is also known
                array: true
                index: 230
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                    index: 232
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 234
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 235
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 231
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.synonym from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 232
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 234
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 235
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: synonym}
                    index: 236
                required: [url]
            translation:
              match: {url: translation}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A translation for this name into another human language
                array: true
                index: 237
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                    index: 239
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.name}
                        choices: [valueString]
                        index: 241
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.name}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 242
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 238
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.name.translation from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 239
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.name}
                                choices: [valueString]
                                index: 241
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.name}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 242
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: translation}
                    index: 243
                required: [url]
            preferred:
              match: {url: preferred}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: If this is the preferred name for this substance
                index: 210
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: preferred}
                    index: 211
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: If this is the preferred name for this substance
                    choices: [valueBoolean]
                    index: 213
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: If this is the preferred name for this substance
                    choiceOf: value
                    index: 214
                required: [url]
            domain:
              match: {url: domain}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The use context of this name e.g. as an active ingredient or as a food colour additive
                array: true
                index: 220
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: domain}
                    index: 221
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The use context of this name e.g. as an active ingredient or as a food colour additive
                    choices: [valueCodeableConcept]
                    index: 223
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The use context of this name e.g. as an active ingredient or as a food colour additive
                    choiceOf: value
                    index: 224
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: name}
        index: 267
    required: [url, extension]
  relationship:
    url: relationship
    base: {max: '*', min: 0, path: Extension.extension}
    short: A link between this substance and another
    array: true
    index: 268
    extensions:
      substanceDefinition[x]:
        url: substanceDefinition[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: A pointer to another substance, as a resource or a representational code
        index: 270
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'substanceDefinition[x]'}
            index: 271
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A pointer to another substance, as a resource or a representational code
            choices: [valueReference, valueCodeableConcept]
            index: 273
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: A pointer to another substance, as a resource or a representational code
            choiceOf: value
            index: 274
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: A pointer to another substance, as a resource or a representational code
            choiceOf: value
            index: 275
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: For example "salt to parent", "active moiety"
        _required: true
        index: 276
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 277
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: For example "salt to parent", "active moiety"
            choices: [valueCodeableConcept]
            index: 279
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: For example "salt to parent", "active moiety"
            choiceOf: value
            index: 280
        required: [url]
      isDefining:
        url: isDefining
        base: {max: '*', min: 0, path: Extension.extension}
        short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
        index: 281
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: isDefining}
            index: 282
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
            choices: [valueBoolean]
            index: 284
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
            choiceOf: value
            index: 285
        required: [url]
      amount[x]:
        url: amount[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
        index: 286
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'amount[x]'}
            index: 287
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
            choices: [valueQuantity, valueRatio, valueString]
            index: 289
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
            choiceOf: value
            index: 290
          valueRatio:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Ratio
            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
            choiceOf: value
            index: 291
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
            choiceOf: value
            index: 292
        required: [url]
      ratioHighLimitAmount:
        url: ratioHighLimitAmount
        base: {max: '*', min: 0, path: Extension.extension}
        short: For use when the numeric has an uncertain range
        index: 293
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: ratioHighLimitAmount}
            index: 294
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: For use when the numeric has an uncertain range
            choices: [valueRatio]
            index: 296
          valueRatio:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Ratio
            short: For use when the numeric has an uncertain range
            choiceOf: value
            index: 297
        required: [url]
      comparator:
        url: comparator
        base: {max: '*', min: 0, path: Extension.extension}
        short: An operator for the amount, for example "average", "approximately", "less than"
        index: 298
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: comparator}
            index: 299
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: An operator for the amount, for example "average", "approximately", "less than"
            choices: [valueCodeableConcept]
            index: 301
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: An operator for the amount, for example "average", "approximately", "less than"
            choiceOf: value
            index: 302
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Supporting literature
        array: true
        index: 303
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 304
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Supporting literature
            choices: [valueReference]
            index: 306
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Supporting literature
            choiceOf: value
            index: 307
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 269
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            substanceDefinition[x]:
              match: {url: 'substanceDefinition[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A pointer to another substance, as a resource or a representational code
                index: 270
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'substanceDefinition[x]'}
                    index: 271
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A pointer to another substance, as a resource or a representational code
                    choices: [valueReference, valueCodeableConcept]
                    index: 273
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: A pointer to another substance, as a resource or a representational code
                    choiceOf: value
                    index: 274
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: A pointer to another substance, as a resource or a representational code
                    choiceOf: value
                    index: 275
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: For example "salt to parent", "active moiety"
                _required: true
                index: 276
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 277
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For example "salt to parent", "active moiety"
                    choices: [valueCodeableConcept]
                    index: 279
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: For example "salt to parent", "active moiety"
                    choiceOf: value
                    index: 280
                required: [url]
            isDefining:
              match: {url: isDefining}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                index: 281
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: isDefining}
                    index: 282
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                    choices: [valueBoolean]
                    index: 284
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
                    choiceOf: value
                    index: 285
                required: [url]
            amount[x]:
              match: {url: 'amount[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                index: 286
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 287
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choices: [valueQuantity, valueRatio, valueString]
                    index: 289
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 290
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 291
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
                    choiceOf: value
                    index: 292
                required: [url]
            ratioHighLimitAmount:
              match: {url: ratioHighLimitAmount}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: For use when the numeric has an uncertain range
                index: 293
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: ratioHighLimitAmount}
                    index: 294
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: For use when the numeric has an uncertain range
                    choices: [valueRatio]
                    index: 296
                  valueRatio:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Ratio
                    short: For use when the numeric has an uncertain range
                    choiceOf: value
                    index: 297
                required: [url]
            comparator:
              match: {url: comparator}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: An operator for the amount, for example "average", "approximately", "less than"
                index: 298
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: comparator}
                    index: 299
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: An operator for the amount, for example "average", "approximately", "less than"
                    choices: [valueCodeableConcept]
                    index: 301
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: An operator for the amount, for example "average", "approximately", "less than"
                    choiceOf: value
                    index: 302
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Supporting literature
                array: true
                index: 303
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 304
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Supporting literature
                    choices: [valueReference]
                    index: 306
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Supporting literature
                    choiceOf: value
                    index: 307
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: relationship}
        index: 308
    required: [url, extension]
  moiety:
    url: moiety
    base: {max: '*', min: 0, path: Extension.extension}
    short: Moiety, for structural modifications
    array: true
    index: 51
    extensions:
      role:
        url: role
        base: {max: '*', min: 0, path: Extension.extension}
        short: Role that the moiety is playing
        index: 53
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: role}
            index: 54
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Role that the moiety is playing
            choices: [valueCodeableConcept]
            index: 56
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Role that the moiety is playing
            choiceOf: value
            index: 57
        required: [url]
      identifier:
        url: identifier
        base: {max: '*', min: 0, path: Extension.extension}
        short: Identifier by which this moiety substance is known
        index: 58
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: identifier}
            index: 59
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Identifier by which this moiety substance is known
            choices: [valueIdentifier]
            index: 61
          valueIdentifier:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Identifier
            short: Identifier by which this moiety substance is known
            choiceOf: value
            index: 62
        required: [url]
      name:
        url: name
        base: {max: '*', min: 0, path: Extension.extension}
        short: Textual name for this moiety substance
        index: 63
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 64
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Textual name for this moiety substance
            choices: [valueString]
            index: 66
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Textual name for this moiety substance
            choiceOf: value
            index: 67
        required: [url]
      stereochemistry:
        url: stereochemistry
        base: {max: '*', min: 0, path: Extension.extension}
        short: Stereochemistry type
        index: 68
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: stereochemistry}
            index: 69
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Stereochemistry type
            choices: [valueCodeableConcept]
            index: 71
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Stereochemistry type
            choiceOf: value
            index: 72
        required: [url]
      opticalActivity:
        url: opticalActivity
        base: {max: '*', min: 0, path: Extension.extension}
        short: Optical activity type
        index: 73
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: opticalActivity}
            index: 74
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Optical activity type
            choices: [valueCodeableConcept]
            index: 76
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Optical activity type
            choiceOf: value
            index: 77
        required: [url]
      molecularFormula:
        url: molecularFormula
        base: {max: '*', min: 0, path: Extension.extension}
        short: Molecular formula for this moiety (e.g. with the Hill system)
        index: 78
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: molecularFormula}
            index: 79
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Molecular formula for this moiety (e.g. with the Hill system)
            choices: [valueString]
            index: 81
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Molecular formula for this moiety (e.g. with the Hill system)
            choiceOf: value
            index: 82
        required: [url]
      amount[x]:
        url: amount[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: Quantitative value for this moiety
        index: 83
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'amount[x]'}
            index: 84
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Quantitative value for this moiety
            choices: [valueQuantity, valueString]
            index: 86
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: Quantitative value for this moiety
            choiceOf: value
            index: 87
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Quantitative value for this moiety
            choiceOf: value
            index: 88
        required: [url]
      measurementType:
        url: measurementType
        base: {max: '*', min: 0, path: Extension.extension}
        short: The measurement type of the quantitative value
        index: 89
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: measurementType}
            index: 90
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The measurement type of the quantitative value
            choices: [valueCodeableConcept]
            index: 92
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The measurement type of the quantitative value
            choiceOf: value
            index: 93
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 52
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            role:
              match: {url: role}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Role that the moiety is playing
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: role}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Role that the moiety is playing
                    choices: [valueCodeableConcept]
                    index: 56
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Role that the moiety is playing
                    choiceOf: value
                    index: 57
                required: [url]
            identifier:
              match: {url: identifier}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Identifier by which this moiety substance is known
                index: 58
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: identifier}
                    index: 59
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Identifier by which this moiety substance is known
                    choices: [valueIdentifier]
                    index: 61
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Identifier by which this moiety substance is known
                    choiceOf: value
                    index: 62
                required: [url]
            name:
              match: {url: name}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Textual name for this moiety substance
                index: 63
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 64
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Textual name for this moiety substance
                    choices: [valueString]
                    index: 66
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Textual name for this moiety substance
                    choiceOf: value
                    index: 67
                required: [url]
            stereochemistry:
              match: {url: stereochemistry}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Stereochemistry type
                index: 68
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: stereochemistry}
                    index: 69
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Stereochemistry type
                    choices: [valueCodeableConcept]
                    index: 71
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Stereochemistry type
                    choiceOf: value
                    index: 72
                required: [url]
            opticalActivity:
              match: {url: opticalActivity}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Optical activity type
                index: 73
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: opticalActivity}
                    index: 74
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Optical activity type
                    choices: [valueCodeableConcept]
                    index: 76
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Optical activity type
                    choiceOf: value
                    index: 77
                required: [url]
            molecularFormula:
              match: {url: molecularFormula}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Molecular formula for this moiety (e.g. with the Hill system)
                index: 78
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormula}
                    index: 79
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Molecular formula for this moiety (e.g. with the Hill system)
                    choices: [valueString]
                    index: 81
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Molecular formula for this moiety (e.g. with the Hill system)
                    choiceOf: value
                    index: 82
                required: [url]
            amount[x]:
              match: {url: 'amount[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Quantitative value for this moiety
                index: 83
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 84
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Quantitative value for this moiety
                    choices: [valueQuantity, valueString]
                    index: 86
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Quantitative value for this moiety
                    choiceOf: value
                    index: 87
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Quantitative value for this moiety
                    choiceOf: value
                    index: 88
                required: [url]
            measurementType:
              match: {url: measurementType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The measurement type of the quantitative value
                index: 89
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: measurementType}
                    index: 90
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The measurement type of the quantitative value
                    choices: [valueCodeableConcept]
                    index: 92
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The measurement type of the quantitative value
                    choiceOf: value
                    index: 93
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: moiety}
        index: 94
    required: [url]
  classification:
    url: classification
    base: {max: '*', min: 0, path: Extension.extension}
    short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
    array: true
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: classification}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
        choices: [valueCodeableConcept]
        index: 14
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
        choiceOf: value
        index: 15
    required: [url]
  note:
    url: note
    base: {max: '*', min: 0, path: Extension.extension}
    short: Textual comment about the substance's catalogue or registry record
    array: true
    index: 36
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: note}
        index: 37
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Textual comment about the substance's catalogue or registry record
        choices: [valueAnnotation]
        index: 39
      valueAnnotation:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Annotation
        short: Textual comment about the substance's catalogue or registry record
        choiceOf: value
        index: 40
    required: [url]
  grade:
    url: grade
    base: {max: '*', min: 0, path: Extension.extension}
    short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
    array: true
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: grade}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
        choices: [valueCodeableConcept]
        index: 24
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
        choiceOf: value
        index: 25
    required: [url]
  structure:
    url: structure
    base: {max: '*', min: 0, path: Extension.extension}
    short: Structural information
    index: 130
    extensions:
      stereochemistry:
        url: stereochemistry
        base: {max: '*', min: 0, path: Extension.extension}
        short: Stereochemistry type
        index: 132
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: stereochemistry}
            index: 133
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Stereochemistry type
            choices: [valueCodeableConcept]
            index: 135
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Stereochemistry type
            choiceOf: value
            index: 136
        required: [url]
      opticalActivity:
        url: opticalActivity
        base: {max: '*', min: 0, path: Extension.extension}
        short: Optical activity type
        index: 137
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: opticalActivity}
            index: 138
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Optical activity type
            choices: [valueCodeableConcept]
            index: 140
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Optical activity type
            choiceOf: value
            index: 141
        required: [url]
      molecularFormula:
        url: molecularFormula
        base: {max: '*', min: 0, path: Extension.extension}
        short: Molecular formula (e.g. using the Hill system)
        index: 142
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: molecularFormula}
            index: 143
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Molecular formula (e.g. using the Hill system)
            choices: [valueString]
            index: 145
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Molecular formula (e.g. using the Hill system)
            choiceOf: value
            index: 146
        required: [url]
      molecularFormulaByMoiety:
        url: molecularFormulaByMoiety
        base: {max: '*', min: 0, path: Extension.extension}
        short: Specified per moiety according to the Hill system
        index: 147
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: molecularFormulaByMoiety}
            index: 148
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Specified per moiety according to the Hill system
            choices: [valueString]
            index: 150
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Specified per moiety according to the Hill system
            choiceOf: value
            index: 151
        required: [url]
      molecularWeight:
        url: molecularWeight
        base: {max: '*', min: 0, path: Extension.extension}
        short: The molecular weight or weight range
        index: 152
        extensions:
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
            type: Extension
            short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
            index: 154
            elements:
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                choices: [valueString]
                index: 156
              valueString:
                type: string
                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 157
            required: [valueString, value]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 153
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                _datatype:
                  match: {url: null}
                  schema:
                    type: Extension
                    short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    index: 154
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        choices: [valueString]
                        index: 156
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 157
                    required: [valueString, value]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: molecularWeight}
            index: 158
        required: [url]
      technique:
        url: technique
        base: {max: '*', min: 0, path: Extension.extension}
        short: The method used to find the structure e.g. X-ray, NMR
        array: true
        index: 159
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: technique}
            index: 160
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The method used to find the structure e.g. X-ray, NMR
            choices: [valueCodeableConcept]
            index: 162
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The method used to find the structure e.g. X-ray, NMR
            choiceOf: value
            index: 163
        required: [url]
      sourceDocument:
        url: sourceDocument
        base: {max: '*', min: 0, path: Extension.extension}
        short: Source of information for the structure
        array: true
        index: 164
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: sourceDocument}
            index: 165
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Source of information for the structure
            choices: [valueReference]
            index: 167
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Source of information for the structure
            choiceOf: value
            index: 168
        required: [url]
      representation:
        url: representation
        base: {max: '*', min: 0, path: Extension.extension}
        short: A depiction of the structure or characterization of the substance
        array: true
        index: 169
        extensions:
          type:
            url: type
            base: {max: '*', min: 0, path: Extension.extension}
            short: The kind of structural representation (e.g. full, partial)
            index: 171
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 172
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The kind of structural representation (e.g. full, partial)
                choices: [valueCodeableConcept]
                index: 174
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The kind of structural representation (e.g. full, partial)
                choiceOf: value
                index: 175
            required: [url]
          representation:
            url: representation
            base: {max: '*', min: 0, path: Extension.extension}
            short: The structural representation or characterization as a text string in a standard format
            index: 176
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: representation}
                index: 177
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The structural representation or characterization as a text string in a standard format
                choices: [valueString]
                index: 179
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: The structural representation or characterization as a text string in a standard format
                choiceOf: value
                index: 180
            required: [url]
          format:
            url: format
            base: {max: '*', min: 0, path: Extension.extension}
            short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
            index: 181
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: format}
                index: 182
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                choices: [valueCodeableConcept]
                index: 184
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                choiceOf: value
                index: 185
            required: [url]
          document:
            url: document
            base: {max: '*', min: 0, path: Extension.extension}
            short: An attachment with the structural representation e.g. a structure graphic or AnIML file
            index: 186
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: document}
                index: 187
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                choices: [valueReference]
                index: 189
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                choiceOf: value
                index: 190
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 170
            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 kind of structural representation (e.g. full, partial)
                    index: 171
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 172
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The kind of structural representation (e.g. full, partial)
                        choices: [valueCodeableConcept]
                        index: 174
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The kind of structural representation (e.g. full, partial)
                        choiceOf: value
                        index: 175
                    required: [url]
                representation:
                  match: {url: representation}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The structural representation or characterization as a text string in a standard format
                    index: 176
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 177
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The structural representation or characterization as a text string in a standard format
                        choices: [valueString]
                        index: 179
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: The structural representation or characterization as a text string in a standard format
                        choiceOf: value
                        index: 180
                    required: [url]
                format:
                  match: {url: format}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                    index: 181
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: format}
                        index: 182
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choices: [valueCodeableConcept]
                        index: 184
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choiceOf: value
                        index: 185
                    required: [url]
                document:
                  match: {url: document}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                    index: 186
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: document}
                        index: 187
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choices: [valueReference]
                        index: 189
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choiceOf: value
                        index: 190
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: representation}
            index: 191
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 131
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            stereochemistry:
              match: {url: stereochemistry}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Stereochemistry type
                index: 132
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: stereochemistry}
                    index: 133
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Stereochemistry type
                    choices: [valueCodeableConcept]
                    index: 135
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Stereochemistry type
                    choiceOf: value
                    index: 136
                required: [url]
            opticalActivity:
              match: {url: opticalActivity}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Optical activity type
                index: 137
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: opticalActivity}
                    index: 138
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Optical activity type
                    choices: [valueCodeableConcept]
                    index: 140
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Optical activity type
                    choiceOf: value
                    index: 141
                required: [url]
            molecularFormula:
              match: {url: molecularFormula}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Molecular formula (e.g. using the Hill system)
                index: 142
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormula}
                    index: 143
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Molecular formula (e.g. using the Hill system)
                    choices: [valueString]
                    index: 145
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Molecular formula (e.g. using the Hill system)
                    choiceOf: value
                    index: 146
                required: [url]
            molecularFormulaByMoiety:
              match: {url: molecularFormulaByMoiety}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Specified per moiety according to the Hill system
                index: 147
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularFormulaByMoiety}
                    index: 148
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specified per moiety according to the Hill system
                    choices: [valueString]
                    index: 150
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Specified per moiety according to the Hill system
                    choiceOf: value
                    index: 151
                required: [url]
            molecularWeight:
              match: {url: molecularWeight}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The molecular weight or weight range
                index: 152
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                    index: 154
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        choices: [valueString]
                        index: 156
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 157
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 153
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstanceDefinition.structure.molecularWeight from FHIR R4B
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 154
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                choices: [valueString]
                                index: 156
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceDefinition.molecularWeight}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 157
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: molecularWeight}
                    index: 158
                required: [url]
            technique:
              match: {url: technique}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The method used to find the structure e.g. X-ray, NMR
                array: true
                index: 159
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: technique}
                    index: 160
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The method used to find the structure e.g. X-ray, NMR
                    choices: [valueCodeableConcept]
                    index: 162
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The method used to find the structure e.g. X-ray, NMR
                    choiceOf: value
                    index: 163
                required: [url]
            sourceDocument:
              match: {url: sourceDocument}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Source of information for the structure
                array: true
                index: 164
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: sourceDocument}
                    index: 165
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Source of information for the structure
                    choices: [valueReference]
                    index: 167
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Source of information for the structure
                    choiceOf: value
                    index: 168
                required: [url]
            representation:
              match: {url: representation}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: A depiction of the structure or characterization of the substance
                array: true
                index: 169
                extensions:
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The kind of structural representation (e.g. full, partial)
                    index: 171
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 172
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The kind of structural representation (e.g. full, partial)
                        choices: [valueCodeableConcept]
                        index: 174
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: The kind of structural representation (e.g. full, partial)
                        choiceOf: value
                        index: 175
                    required: [url]
                  representation:
                    url: representation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: The structural representation or characterization as a text string in a standard format
                    index: 176
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 177
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The structural representation or characterization as a text string in a standard format
                        choices: [valueString]
                        index: 179
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: The structural representation or characterization as a text string in a standard format
                        choiceOf: value
                        index: 180
                    required: [url]
                  format:
                    url: format
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                    index: 181
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: format}
                        index: 182
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choices: [valueCodeableConcept]
                        index: 184
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                        choiceOf: value
                        index: 185
                    required: [url]
                  document:
                    url: document
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                    index: 186
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: document}
                        index: 187
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choices: [valueReference]
                        index: 189
                      valueReference:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Reference
                        short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                        choiceOf: value
                        index: 190
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 170
                    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 kind of structural representation (e.g. full, partial)
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The kind of structural representation (e.g. full, partial)
                                choices: [valueCodeableConcept]
                                index: 174
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: The kind of structural representation (e.g. full, partial)
                                choiceOf: value
                                index: 175
                            required: [url]
                        representation:
                          match: {url: representation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: The structural representation or characterization as a text string in a standard format
                            index: 176
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 177
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The structural representation or characterization as a text string in a standard format
                                choices: [valueString]
                                index: 179
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: The structural representation or characterization as a text string in a standard format
                                choiceOf: value
                                index: 180
                            required: [url]
                        format:
                          match: {url: format}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                            index: 181
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: format}
                                index: 182
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choices: [valueCodeableConcept]
                                index: 184
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)'
                                choiceOf: value
                                index: 185
                            required: [url]
                        document:
                          match: {url: document}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                            index: 186
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: document}
                                index: 187
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choices: [valueReference]
                                index: 189
                              valueReference:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Reference
                                short: An attachment with the structural representation e.g. a structure graphic or AnIML file
                                choiceOf: value
                                index: 190
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: representation}
                    index: 191
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: structure}
        index: 192
    required: [url]
  status:
    url: status
    base: {max: '*', min: 0, path: Extension.extension}
    short: Status of substance within the catalogue e.g. active, retired
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: status}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Status of substance within the catalogue e.g. active, retired
        choices: [valueCodeableConcept]
        index: 9
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Status of substance within the catalogue e.g. active, retired
        choiceOf: value
        index: 10
    required: [url]
  molecularWeight:
    url: molecularWeight
    base: {max: '*', min: 0, path: Extension.extension}
    short: The molecular weight or weight range
    array: true
    index: 112
    extensions:
      method:
        url: method
        base: {max: '*', min: 0, path: Extension.extension}
        short: The method by which the weight was determined
        index: 114
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: method}
            index: 115
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The method by which the weight was determined
            choices: [valueCodeableConcept]
            index: 117
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The method by which the weight was determined
            choiceOf: value
            index: 118
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Type of molecular weight e.g. exact, average, weight average
        index: 119
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 120
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Type of molecular weight e.g. exact, average, weight average
            choices: [valueCodeableConcept]
            index: 122
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Type of molecular weight e.g. exact, average, weight average
            choiceOf: value
            index: 123
        required: [url]
      amount:
        url: amount
        base: {max: '*', min: 0, path: Extension.extension}
        short: Used to capture quantitative values for a variety of elements
        _required: true
        index: 124
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: amount}
            index: 125
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Used to capture quantitative values for a variety of elements
            choices: [valueQuantity]
            index: 127
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: Used to capture quantitative values for a variety of elements
            choiceOf: value
            index: 128
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 113
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            method:
              match: {url: method}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The method by which the weight was determined
                index: 114
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: method}
                    index: 115
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The method by which the weight was determined
                    choices: [valueCodeableConcept]
                    index: 117
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The method by which the weight was determined
                    choiceOf: value
                    index: 118
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Type of molecular weight e.g. exact, average, weight average
                index: 119
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 120
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of molecular weight e.g. exact, average, weight average
                    choices: [valueCodeableConcept]
                    index: 122
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Type of molecular weight e.g. exact, average, weight average
                    choiceOf: value
                    index: 123
                required: [url]
            amount:
              match: {url: amount}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Used to capture quantitative values for a variety of elements
                _required: true
                index: 124
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 125
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Used to capture quantitative values for a variety of elements
                    choices: [valueQuantity]
                    index: 127
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Used to capture quantitative values for a variety of elements
                    choiceOf: value
                    index: 128
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: molecularWeight}
        index: 129
    required: [url, extension]
  manufacturer:
    url: manufacturer
    base: {max: '*', min: 0, path: Extension.extension}
    short: The entity that creates, makes, produces or fabricates the substance
    array: true
    index: 41
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: manufacturer}
        index: 42
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The entity that creates, makes, produces or fabricates the substance
        choices: [valueReference]
        index: 44
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: The entity that creates, makes, produces or fabricates the substance
        choiceOf: value
        index: 45
    required: [url]
  domain:
    url: domain
    base: {max: '*', min: 0, path: Extension.extension}
    short: If the substance applies to human or veterinary use
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: domain}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: If the substance applies to human or veterinary use
        choices: [valueCodeableConcept]
        index: 19
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: If the substance applies to human or veterinary use
        choiceOf: value
        index: 20
    required: [url]
  version:
    url: version
    base: {max: '*', min: 0, path: Extension.extension}
    short: A business level version identifier of the substance
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: version}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: A business level version identifier of the substance
        choices: [valueString]
        index: 4
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: A business level version identifier of the substance
        choiceOf: value
        index: 5
    required: [url]
  informationSource:
    url: informationSource
    base: {max: '*', min: 0, path: Extension.extension}
    short: Supporting literature
    array: true
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: informationSource}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Supporting literature
        choices: [valueReference]
        index: 34
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Supporting literature
        choiceOf: value
        index: 35
    required: [url]
  sourceMaterial:
    url: sourceMaterial
    base: {max: '*', min: 0, path: Extension.extension}
    short: Material or taxonomic/anatomical source
    index: 309
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
        index: 311
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 312
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
            choices: [valueCodeableConcept]
            index: 314
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
            choiceOf: value
            index: 315
        required: [url]
      genus:
        url: genus
        base: {max: '*', min: 0, path: Extension.extension}
        short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
        index: 316
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: genus}
            index: 317
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
            choices: [valueCodeableConcept]
            index: 319
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
            choiceOf: value
            index: 320
        required: [url]
      species:
        url: species
        base: {max: '*', min: 0, path: Extension.extension}
        short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
        index: 321
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: species}
            index: 322
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
            choices: [valueCodeableConcept]
            index: 324
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
            choiceOf: value
            index: 325
        required: [url]
      part:
        url: part
        base: {max: '*', min: 0, path: Extension.extension}
        short: An anatomical origin of the source material within an organism
        index: 326
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: part}
            index: 327
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: An anatomical origin of the source material within an organism
            choices: [valueCodeableConcept]
            index: 329
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: An anatomical origin of the source material within an organism
            choiceOf: value
            index: 330
        required: [url]
      countryOfOrigin:
        url: countryOfOrigin
        base: {max: '*', min: 0, path: Extension.extension}
        short: The country or countries where the material is harvested
        array: true
        index: 331
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: countryOfOrigin}
            index: 332
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The country or countries where the material is harvested
            choices: [valueCodeableConcept]
            index: 334
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The country or countries where the material is harvested
            choiceOf: value
            index: 335
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 310
        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: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                index: 311
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 312
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                    choices: [valueCodeableConcept]
                    index: 314
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Classification of the origin of the raw material. e.g. cat hair is an Animal source type
                    choiceOf: value
                    index: 315
                required: [url]
            genus:
              match: {url: genus}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                index: 316
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: genus}
                    index: 317
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                    choices: [valueCodeableConcept]
                    index: 319
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
                    choiceOf: value
                    index: 320
                required: [url]
            species:
              match: {url: species}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                index: 321
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: species}
                    index: 322
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                    choices: [valueCodeableConcept]
                    index: 324
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The species of an organism e.g. the Latin epithet of the species of the plant/animal
                    choiceOf: value
                    index: 325
                required: [url]
            part:
              match: {url: part}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: An anatomical origin of the source material within an organism
                index: 326
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: part}
                    index: 327
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: An anatomical origin of the source material within an organism
                    choices: [valueCodeableConcept]
                    index: 329
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: An anatomical origin of the source material within an organism
                    choiceOf: value
                    index: 330
                required: [url]
            countryOfOrigin:
              match: {url: countryOfOrigin}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: The country or countries where the material is harvested
                array: true
                index: 331
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: countryOfOrigin}
                    index: 332
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The country or countries where the material is harvested
                    choices: [valueCodeableConcept]
                    index: 334
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The country or countries where the material is harvested
                    choiceOf: value
                    index: 335
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: sourceMaterial}
        index: 336
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-SubstanceDefinition
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.0.1-snapshot-2
required: [url]