PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4.r5@0.0.1-snapshot-2
    http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer
description: This cross-version extension represents SubstancePolymer from http://hl7.org/fhir/StructureDefinition/SubstancePolymer|4.0.1 for use in FHIR R5.
package_name: hl7.fhir.uv.xver-r4.r5
derivation: constraint
name: Ext_R4_SubstancePolymer
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:
        class:
          match: {url: class}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: class}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 4
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 5
            required: [url]
        geometry:
          match: {url: geometry}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: geometry}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 9
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 10
            required: [url]
        copolymerConnectivity:
          match: {url: copolymerConnectivity}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: copolymerConnectivity}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 14
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 15
            required: [url]
        modification:
          match: {url: modification}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: modification}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 19
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Todo
                choiceOf: value
                index: 20
            required: [url]
        monomerSet:
          match: {url: monomerSet}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 21
            extensions:
              ratioType:
                url: ratioType
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: ratioType}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 26
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 27
                required: [url]
              startingMaterial:
                url: startingMaterial
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 28
                extensions:
                  material:
                    url: material
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: material}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 33
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 34
                    required: [url]
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 38
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 39
                    required: [url]
                  isDefining:
                    url: isDefining
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: isDefining}
                        index: 41
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 43
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 44
                    required: [url]
                  amount:
                    url: amount
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 45
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 47
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 48
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 50
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 51
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 52
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 53
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 57
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 58
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 62
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 63
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 64
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 66
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 67
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 69
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 70
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 71
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 72
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 74
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 75
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 65
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 76
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 77
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 79
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 80
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 46
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 81
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 29
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        material:
                          match: {url: material}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: material}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 33
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 34
                            required: [url]
                        type:
                          match: {url: type}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 38
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 39
                            required: [url]
                        isDefining:
                          match: {url: isDefining}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: isDefining}
                                index: 41
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 43
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 44
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 45
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 46
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 47
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 48
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 50
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 51
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 52
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 53
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 57
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 62
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 64
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 65
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 66
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 67
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 69
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 70
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 71
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 72
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 74
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 75
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 76
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 77
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 79
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 80
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 81
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: startingMaterial}
                    index: 82
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 22
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    ratioType:
                      match: {url: ratioType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 23
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: ratioType}
                            index: 24
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 26
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 27
                        required: [url]
                    startingMaterial:
                      match: {url: startingMaterial}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 28
                        extensions:
                          material:
                            url: material
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: material}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 33
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 34
                            required: [url]
                          type:
                            url: type
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 38
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 39
                            required: [url]
                          isDefining:
                            url: isDefining
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: isDefining}
                                index: 41
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 43
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 44
                            required: [url]
                          amount:
                            url: amount
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 45
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 46
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 47
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 48
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 50
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 51
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 52
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 53
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 57
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 62
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 64
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 65
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 66
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 67
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 69
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 70
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 71
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 72
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 74
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 75
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 76
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 77
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 79
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 80
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 81
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 29
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                material:
                                  match: {url: material}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 30
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: material}
                                        index: 31
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 33
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 34
                                    required: [url]
                                type:
                                  match: {url: type}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 35
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: type}
                                        index: 36
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 38
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 39
                                    required: [url]
                                isDefining:
                                  match: {url: isDefining}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 40
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: isDefining}
                                        index: 41
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueBoolean]
                                        index: 43
                                      valueBoolean:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: boolean
                                        short: Todo
                                        choiceOf: value
                                        index: 44
                                    required: [url]
                                amount:
                                  match: {url: amount}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 45
                                    extensions:
                                      amount[x]:
                                        url: amount[x]
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 47
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 48
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 50
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 51
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 52
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 53
                                        required: [url]
                                      amountType:
                                        url: amountType
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 57
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                      amountText:
                                        url: amountText
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 62
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                                      referenceRange:
                                        url: referenceRange
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 64
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 65
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 66
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 67
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 69
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 70
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 71
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 72
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 74
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 75
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 76
                                        required: [url]
                                      _datatype:
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        index: 77
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 79
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 80
                                        required: [valueString, value]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 46
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            amount[x]:
                                              match: {url: 'amount[x]'}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                index: 47
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: 'amount[x]'}
                                                    index: 48
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choices: [valueQuantity, valueRange, valueString]
                                                    index: 50
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 51
                                                  valueRange:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Range
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 52
                                                  valueString:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: string
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 53
                                                required: [url]
                                            amountType:
                                              match: {url: amountType}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                index: 54
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountType}
                                                    index: 55
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    choices: [valueCodeableConcept]
                                                    index: 57
                                                  valueCodeableConcept:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    choiceOf: value
                                                    index: 58
                                                required: [url]
                                            amountText:
                                              match: {url: amountText}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: A textual comment on a numeric value
                                                index: 59
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountText}
                                                    index: 60
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: A textual comment on a numeric value
                                                    choices: [valueString]
                                                    index: 62
                                                  valueString:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: string
                                                    short: A textual comment on a numeric value
                                                    choiceOf: value
                                                    index: 63
                                                required: [url]
                                            referenceRange:
                                              match: {url: referenceRange}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Reference range of possible or expected values
                                                index: 64
                                                extensions:
                                                  lowLimit:
                                                    url: lowLimit
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 66
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 67
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 69
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 70
                                                    required: [url]
                                                  highLimit:
                                                    url: highLimit
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 71
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 72
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 74
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 75
                                                    required: [url]
                                                elements:
                                                  extension:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    array: true
                                                    index: 65
                                                    slicing:
                                                      rules: closed
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        lowLimit:
                                                          match: {url: lowLimit}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Lower limit possible or expected
                                                            index: 66
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: lowLimit}
                                                                index: 67
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Lower limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 69
                                                              valueQuantity:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Lower limit possible or expected
                                                                choiceOf: value
                                                                index: 70
                                                            required: [url]
                                                        highLimit:
                                                          match: {url: highLimit}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Upper limit possible or expected
                                                            index: 71
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: highLimit}
                                                                index: 72
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Upper limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 74
                                                              valueQuantity:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Upper limit possible or expected
                                                                choiceOf: value
                                                                index: 75
                                                            required: [url]
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: referenceRange}
                                                    index: 76
                                                required: [url]
                                            _datatype:
                                              match: {url: null}
                                              schema:
                                                type: Extension
                                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                index: 77
                                                elements:
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    choices: [valueString]
                                                    index: 79
                                                  valueString:
                                                    type: string
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 80
                                                required: [valueString, value]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amount}
                                        index: 81
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: startingMaterial}
                            index: 82
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: monomerSet}
                index: 83
            required: [url]
        repeat:
          match: {url: repeat}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 84
            extensions:
              numberOfUnits:
                url: numberOfUnits
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 86
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: numberOfUnits}
                    index: 87
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueInteger]
                    index: 89
                  valueInteger:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: integer
                    short: Todo
                    choiceOf: value
                    index: 90
                required: [url]
              averageMolecularFormula:
                url: averageMolecularFormula
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 91
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: averageMolecularFormula}
                    index: 92
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 94
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 95
                required: [url]
              repeatUnitAmountType:
                url: repeatUnitAmountType
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 96
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnitAmountType}
                    index: 97
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 99
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 100
                required: [url]
              repeatUnit:
                url: repeatUnit
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 101
                extensions:
                  orientationOfPolymerisation:
                    url: orientationOfPolymerisation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 103
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: orientationOfPolymerisation}
                        index: 104
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 106
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 107
                    required: [url]
                  repeatUnit:
                    url: repeatUnit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 108
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: repeatUnit}
                        index: 109
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 111
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 112
                    required: [url]
                  amount:
                    url: amount
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 113
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 115
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 116
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 118
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 119
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 120
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 121
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 122
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 123
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 125
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 126
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 127
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 128
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 130
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 131
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 132
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 137
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 138
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 139
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 140
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 142
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 143
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 133
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 144
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 145
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 147
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 148
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 114
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 149
                    required: [url]
                  degreeOfPolymerisation:
                    url: degreeOfPolymerisation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 150
                    extensions:
                      degree:
                        url: degree
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 152
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: degree}
                            index: 153
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 155
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 156
                        required: [url]
                      amount:
                        url: amount
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 157
                        extensions:
                          amount[x]:
                            url: amount[x]
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            index: 159
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'amount[x]'}
                                index: 160
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 162
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 163
                              valueRange:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Range
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 164
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 165
                            required: [url]
                          amountType:
                            url: amountType
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            index: 166
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 167
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 169
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choiceOf: value
                                index: 170
                            required: [url]
                          amountText:
                            url: amountText
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A textual comment on a numeric value
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 174
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 175
                            required: [url]
                          referenceRange:
                            url: referenceRange
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference range of possible or expected values
                            index: 176
                            extensions:
                              lowLimit:
                                url: lowLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                              highLimit:
                                url: highLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 177
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 188
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 189
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 191
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 192
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 158
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                amount[x]:
                                  match: {url: 'amount[x]'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                amountType:
                                  match: {url: amountType}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                amountText:
                                  match: {url: amountText}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                referenceRange:
                                  match: {url: referenceRange}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 193
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 151
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: degree}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                            amount:
                              match: {url: amount}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degreeOfPolymerisation}
                        index: 194
                    required: [url]
                  structuralRepresentation:
                    url: structuralRepresentation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 195
                    extensions:
                      type:
                        url: type
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 197
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 198
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 200
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 201
                        required: [url]
                      representation:
                        url: representation
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 202
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: representation}
                            index: 203
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 205
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 206
                        required: [url]
                      attachment:
                        url: attachment
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 207
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: attachment}
                            index: 208
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 210
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 211
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 196
                        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: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                            representation:
                              match: {url: representation}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                            attachment:
                              match: {url: attachment}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: structuralRepresentation}
                        index: 212
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 102
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        orientationOfPolymerisation:
                          match: {url: orientationOfPolymerisation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: orientationOfPolymerisation}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 106
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 107
                            required: [url]
                        repeatUnit:
                          match: {url: repeatUnit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: repeatUnit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 111
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 112
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 113
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 114
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 115
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 116
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 118
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 119
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 120
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 121
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 122
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 123
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 125
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 126
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 127
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 128
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 130
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 131
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 132
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 133
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 134
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 135
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 137
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 138
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 139
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 140
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 142
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 143
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 144
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 145
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 147
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 148
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 149
                            required: [url]
                        degreeOfPolymerisation:
                          match: {url: degreeOfPolymerisation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 150
                            extensions:
                              degree:
                                url: degree
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                              amount:
                                url: amount
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 151
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: degree}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 152
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: degree}
                                            index: 153
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 155
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 156
                                        required: [url]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 157
                                        extensions:
                                          amount[x]:
                                            url: amount[x]
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                          amountType:
                                            url: amountType
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                          amountText:
                                            url: amountText
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                          referenceRange:
                                            url: referenceRange
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 158
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                amount[x]:
                                                  match: {url: 'amount[x]'}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    index: 159
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: 'amount[x]'}
                                                        index: 160
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choices: [valueQuantity, valueRange, valueString]
                                                        index: 162
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 163
                                                      valueRange:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Range
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 164
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 165
                                                    required: [url]
                                                amountType:
                                                  match: {url: amountType}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    index: 166
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountType}
                                                        index: 167
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choices: [valueCodeableConcept]
                                                        index: 169
                                                      valueCodeableConcept:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: CodeableConcept
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choiceOf: value
                                                        index: 170
                                                    required: [url]
                                                amountText:
                                                  match: {url: amountText}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: A textual comment on a numeric value
                                                    index: 171
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountText}
                                                        index: 172
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 174
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 175
                                                    required: [url]
                                                referenceRange:
                                                  match: {url: referenceRange}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Reference range of possible or expected values
                                                    index: 176
                                                    extensions:
                                                      lowLimit:
                                                        url: lowLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                      highLimit:
                                                        url: highLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                                    elements:
                                                      extension:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        array: true
                                                        index: 177
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: lowLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                            highLimit:
                                                              match: {url: highLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: referenceRange}
                                                        index: 188
                                                    required: [url]
                                                _datatype:
                                                  match: {url: null}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                    index: 189
                                                    elements:
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        index: 191
                                                      valueString:
                                                        type: string
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 192
                                                    required: [valueString, value]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 193
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degreeOfPolymerisation}
                                index: 194
                            required: [url]
                        structuralRepresentation:
                          match: {url: structuralRepresentation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 195
                            extensions:
                              type:
                                url: type
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                              representation:
                                url: representation
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                              attachment:
                                url: attachment
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 196
                                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: Todo
                                        index: 197
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 198
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 200
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 201
                                        required: [url]
                                    representation:
                                      match: {url: representation}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 202
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: representation}
                                            index: 203
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 205
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 206
                                        required: [url]
                                    attachment:
                                      match: {url: attachment}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 207
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: attachment}
                                            index: 208
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 210
                                          valueAttachment:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 211
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: structuralRepresentation}
                                index: 212
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnit}
                    index: 213
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 85
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    numberOfUnits:
                      match: {url: numberOfUnits}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 86
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: numberOfUnits}
                            index: 87
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueInteger]
                            index: 89
                          valueInteger:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: integer
                            short: Todo
                            choiceOf: value
                            index: 90
                        required: [url]
                    averageMolecularFormula:
                      match: {url: averageMolecularFormula}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 91
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: averageMolecularFormula}
                            index: 92
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 94
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 95
                        required: [url]
                    repeatUnitAmountType:
                      match: {url: repeatUnitAmountType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 96
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: repeatUnitAmountType}
                            index: 97
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 99
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 100
                        required: [url]
                    repeatUnit:
                      match: {url: repeatUnit}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 101
                        extensions:
                          orientationOfPolymerisation:
                            url: orientationOfPolymerisation
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: orientationOfPolymerisation}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 106
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 107
                            required: [url]
                          repeatUnit:
                            url: repeatUnit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: repeatUnit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 111
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 112
                            required: [url]
                          amount:
                            url: amount
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 113
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 114
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 115
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 116
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 118
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 119
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 120
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 121
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 122
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 123
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 125
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 126
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 127
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 128
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 130
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 131
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 132
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 133
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 134
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 135
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 137
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 138
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 139
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 140
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 142
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 143
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 144
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 145
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 147
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 148
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 149
                            required: [url]
                          degreeOfPolymerisation:
                            url: degreeOfPolymerisation
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 150
                            extensions:
                              degree:
                                url: degree
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                              amount:
                                url: amount
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 151
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: degree}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 152
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: degree}
                                            index: 153
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 155
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 156
                                        required: [url]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 157
                                        extensions:
                                          amount[x]:
                                            url: amount[x]
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                          amountType:
                                            url: amountType
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                          amountText:
                                            url: amountText
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                          referenceRange:
                                            url: referenceRange
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 158
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                amount[x]:
                                                  match: {url: 'amount[x]'}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    index: 159
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: 'amount[x]'}
                                                        index: 160
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choices: [valueQuantity, valueRange, valueString]
                                                        index: 162
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 163
                                                      valueRange:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Range
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 164
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 165
                                                    required: [url]
                                                amountType:
                                                  match: {url: amountType}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    index: 166
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountType}
                                                        index: 167
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choices: [valueCodeableConcept]
                                                        index: 169
                                                      valueCodeableConcept:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: CodeableConcept
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choiceOf: value
                                                        index: 170
                                                    required: [url]
                                                amountText:
                                                  match: {url: amountText}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: A textual comment on a numeric value
                                                    index: 171
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountText}
                                                        index: 172
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 174
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 175
                                                    required: [url]
                                                referenceRange:
                                                  match: {url: referenceRange}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Reference range of possible or expected values
                                                    index: 176
                                                    extensions:
                                                      lowLimit:
                                                        url: lowLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                      highLimit:
                                                        url: highLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                                    elements:
                                                      extension:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        array: true
                                                        index: 177
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: lowLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                            highLimit:
                                                              match: {url: highLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: referenceRange}
                                                        index: 188
                                                    required: [url]
                                                _datatype:
                                                  match: {url: null}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                    index: 189
                                                    elements:
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        index: 191
                                                      valueString:
                                                        type: string
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 192
                                                    required: [valueString, value]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 193
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degreeOfPolymerisation}
                                index: 194
                            required: [url]
                          structuralRepresentation:
                            url: structuralRepresentation
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 195
                            extensions:
                              type:
                                url: type
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                              representation:
                                url: representation
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                              attachment:
                                url: attachment
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 196
                                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: Todo
                                        index: 197
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 198
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 200
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 201
                                        required: [url]
                                    representation:
                                      match: {url: representation}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 202
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: representation}
                                            index: 203
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 205
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 206
                                        required: [url]
                                    attachment:
                                      match: {url: attachment}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 207
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: attachment}
                                            index: 208
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 210
                                          valueAttachment:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 211
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: structuralRepresentation}
                                index: 212
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 102
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                orientationOfPolymerisation:
                                  match: {url: orientationOfPolymerisation}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: orientationOfPolymerisation}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 106
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                repeatUnit:
                                  match: {url: repeatUnit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: repeatUnit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueString]
                                        index: 111
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Todo
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                amount:
                                  match: {url: amount}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    index: 113
                                    extensions:
                                      amount[x]:
                                        url: amount[x]
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 115
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 116
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 118
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 119
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 120
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 121
                                        required: [url]
                                      amountType:
                                        url: amountType
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 122
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 123
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 125
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 126
                                        required: [url]
                                      amountText:
                                        url: amountText
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 127
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 128
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 130
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 131
                                        required: [url]
                                      referenceRange:
                                        url: referenceRange
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 132
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 133
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 134
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 135
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 137
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 138
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 139
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 140
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 142
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 143
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 144
                                        required: [url]
                                      _datatype:
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        index: 145
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 147
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 148
                                        required: [valueString, value]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 114
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            amount[x]:
                                              match: {url: 'amount[x]'}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                index: 115
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: 'amount[x]'}
                                                    index: 116
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choices: [valueQuantity, valueRange, valueString]
                                                    index: 118
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 119
                                                  valueRange:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Range
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 120
                                                  valueString:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: string
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choiceOf: value
                                                    index: 121
                                                required: [url]
                                            amountType:
                                              match: {url: amountType}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                index: 122
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountType}
                                                    index: 123
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    choices: [valueCodeableConcept]
                                                    index: 125
                                                  valueCodeableConcept:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    choiceOf: value
                                                    index: 126
                                                required: [url]
                                            amountText:
                                              match: {url: amountText}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: A textual comment on a numeric value
                                                index: 127
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountText}
                                                    index: 128
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: A textual comment on a numeric value
                                                    choices: [valueString]
                                                    index: 130
                                                  valueString:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: string
                                                    short: A textual comment on a numeric value
                                                    choiceOf: value
                                                    index: 131
                                                required: [url]
                                            referenceRange:
                                              match: {url: referenceRange}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Reference range of possible or expected values
                                                index: 132
                                                extensions:
                                                  lowLimit:
                                                    url: lowLimit
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 134
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 135
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 137
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 138
                                                    required: [url]
                                                  highLimit:
                                                    url: highLimit
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 139
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 140
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 142
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 143
                                                    required: [url]
                                                elements:
                                                  extension:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    array: true
                                                    index: 133
                                                    slicing:
                                                      rules: closed
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        lowLimit:
                                                          match: {url: lowLimit}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Lower limit possible or expected
                                                            index: 134
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: lowLimit}
                                                                index: 135
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Lower limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 137
                                                              valueQuantity:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Lower limit possible or expected
                                                                choiceOf: value
                                                                index: 138
                                                            required: [url]
                                                        highLimit:
                                                          match: {url: highLimit}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Upper limit possible or expected
                                                            index: 139
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: highLimit}
                                                                index: 140
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Upper limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 142
                                                              valueQuantity:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Upper limit possible or expected
                                                                choiceOf: value
                                                                index: 143
                                                            required: [url]
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: referenceRange}
                                                    index: 144
                                                required: [url]
                                            _datatype:
                                              match: {url: null}
                                              schema:
                                                type: Extension
                                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                index: 145
                                                elements:
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    choices: [valueString]
                                                    index: 147
                                                  valueString:
                                                    type: string
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 148
                                                required: [valueString, value]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amount}
                                        index: 149
                                    required: [url]
                                degreeOfPolymerisation:
                                  match: {url: degreeOfPolymerisation}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    array: true
                                    index: 150
                                    extensions:
                                      degree:
                                        url: degree
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 152
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: degree}
                                            index: 153
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 155
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 156
                                        required: [url]
                                      amount:
                                        url: amount
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 157
                                        extensions:
                                          amount[x]:
                                            url: amount[x]
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                          amountType:
                                            url: amountType
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                          amountText:
                                            url: amountText
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                          referenceRange:
                                            url: referenceRange
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 158
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                amount[x]:
                                                  match: {url: 'amount[x]'}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    index: 159
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: 'amount[x]'}
                                                        index: 160
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choices: [valueQuantity, valueRange, valueString]
                                                        index: 162
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 163
                                                      valueRange:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Range
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 164
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 165
                                                    required: [url]
                                                amountType:
                                                  match: {url: amountType}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    index: 166
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountType}
                                                        index: 167
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choices: [valueCodeableConcept]
                                                        index: 169
                                                      valueCodeableConcept:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: CodeableConcept
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choiceOf: value
                                                        index: 170
                                                    required: [url]
                                                amountText:
                                                  match: {url: amountText}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: A textual comment on a numeric value
                                                    index: 171
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountText}
                                                        index: 172
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 174
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 175
                                                    required: [url]
                                                referenceRange:
                                                  match: {url: referenceRange}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Reference range of possible or expected values
                                                    index: 176
                                                    extensions:
                                                      lowLimit:
                                                        url: lowLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                      highLimit:
                                                        url: highLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                                    elements:
                                                      extension:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        array: true
                                                        index: 177
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: lowLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                            highLimit:
                                                              match: {url: highLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: referenceRange}
                                                        index: 188
                                                    required: [url]
                                                _datatype:
                                                  match: {url: null}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                    index: 189
                                                    elements:
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        index: 191
                                                      valueString:
                                                        type: string
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 192
                                                    required: [valueString, value]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 193
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 151
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            degree:
                                              match: {url: degree}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Todo
                                                index: 152
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: degree}
                                                    index: 153
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueCodeableConcept]
                                                    index: 155
                                                  valueCodeableConcept:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 156
                                                required: [url]
                                            amount:
                                              match: {url: amount}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Todo
                                                index: 157
                                                extensions:
                                                  amount[x]:
                                                    url: amount[x]
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    index: 159
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: 'amount[x]'}
                                                        index: 160
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choices: [valueQuantity, valueRange, valueString]
                                                        index: 162
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 163
                                                      valueRange:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Range
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 164
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 165
                                                    required: [url]
                                                  amountType:
                                                    url: amountType
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    index: 166
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountType}
                                                        index: 167
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choices: [valueCodeableConcept]
                                                        index: 169
                                                      valueCodeableConcept:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: CodeableConcept
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choiceOf: value
                                                        index: 170
                                                    required: [url]
                                                  amountText:
                                                    url: amountText
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: A textual comment on a numeric value
                                                    index: 171
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountText}
                                                        index: 172
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 174
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 175
                                                    required: [url]
                                                  referenceRange:
                                                    url: referenceRange
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Reference range of possible or expected values
                                                    index: 176
                                                    extensions:
                                                      lowLimit:
                                                        url: lowLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                      highLimit:
                                                        url: highLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                                    elements:
                                                      extension:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        array: true
                                                        index: 177
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: lowLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                            highLimit:
                                                              match: {url: highLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: referenceRange}
                                                        index: 188
                                                    required: [url]
                                                  _datatype:
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    index: 189
                                                    elements:
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        index: 191
                                                      valueString:
                                                        type: string
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 192
                                                    required: [valueString, value]
                                                elements:
                                                  extension:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    array: true
                                                    index: 158
                                                    slicing:
                                                      rules: closed
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        amount[x]:
                                                          match: {url: 'amount[x]'}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                            index: 159
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: 'amount[x]'}
                                                                index: 160
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                                choices: [valueQuantity, valueRange, valueString]
                                                                index: 162
                                                              valueQuantity:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                                choiceOf: value
                                                                index: 163
                                                              valueRange:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: Range
                                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                                choiceOf: value
                                                                index: 164
                                                              valueString:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: string
                                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                                choiceOf: value
                                                                index: 165
                                                            required: [url]
                                                        amountType:
                                                          match: {url: amountType}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                            index: 166
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: amountType}
                                                                index: 167
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                                choices: [valueCodeableConcept]
                                                                index: 169
                                                              valueCodeableConcept:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: CodeableConcept
                                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                                choiceOf: value
                                                                index: 170
                                                            required: [url]
                                                        amountText:
                                                          match: {url: amountText}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: A textual comment on a numeric value
                                                            index: 171
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: amountText}
                                                                index: 172
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: A textual comment on a numeric value
                                                                choices: [valueString]
                                                                index: 174
                                                              valueString:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                type: string
                                                                short: A textual comment on a numeric value
                                                                choiceOf: value
                                                                index: 175
                                                            required: [url]
                                                        referenceRange:
                                                          match: {url: referenceRange}
                                                          schema:
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            short: Reference range of possible or expected values
                                                            index: 176
                                                            extensions:
                                                              lowLimit:
                                                                url: lowLimit
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                              highLimit:
                                                                url: highLimit
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                            elements:
                                                              extension:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                array: true
                                                                index: 177
                                                                slicing:
                                                                  rules: closed
                                                                  ordered: false
                                                                  discriminator:
                                                                  - {path: url, type: value}
                                                                  min: 0
                                                                  slices:
                                                                    lowLimit:
                                                                      match: {url: lowLimit}
                                                                      schema:
                                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                                        short: Lower limit possible or expected
                                                                        index: 178
                                                                        elements:
                                                                          url:
                                                                            base: {max: '1', min: 1, path: Extension.url}
                                                                            pattern: {type: Uri, value: lowLimit}
                                                                            index: 179
                                                                          value:
                                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                            short: Lower limit possible or expected
                                                                            choices: [valueQuantity]
                                                                            index: 181
                                                                          valueQuantity:
                                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                            type: Quantity
                                                                            short: Lower limit possible or expected
                                                                            choiceOf: value
                                                                            index: 182
                                                                        required: [url]
                                                                    highLimit:
                                                                      match: {url: highLimit}
                                                                      schema:
                                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                                        short: Upper limit possible or expected
                                                                        index: 183
                                                                        elements:
                                                                          url:
                                                                            base: {max: '1', min: 1, path: Extension.url}
                                                                            pattern: {type: Uri, value: highLimit}
                                                                            index: 184
                                                                          value:
                                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                            short: Upper limit possible or expected
                                                                            choices: [valueQuantity]
                                                                            index: 186
                                                                          valueQuantity:
                                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                            type: Quantity
                                                                            short: Upper limit possible or expected
                                                                            choiceOf: value
                                                                            index: 187
                                                                        required: [url]
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: referenceRange}
                                                                index: 188
                                                            required: [url]
                                                        _datatype:
                                                          match: {url: null}
                                                          schema:
                                                            type: Extension
                                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                            index: 189
                                                            elements:
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                pattern: {type: String, value: SubstanceAmount}
                                                                choices: [valueString]
                                                                index: 191
                                                              valueString:
                                                                type: string
                                                                pattern: {type: String, value: SubstanceAmount}
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                choiceOf: value
                                                                index: 192
                                                            required: [valueString, value]
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amount}
                                                    index: 193
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: degreeOfPolymerisation}
                                        index: 194
                                    required: [url]
                                structuralRepresentation:
                                  match: {url: structuralRepresentation}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Todo
                                    array: true
                                    index: 195
                                    extensions:
                                      type:
                                        url: type
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 197
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 198
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 200
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 201
                                        required: [url]
                                      representation:
                                        url: representation
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 202
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: representation}
                                            index: 203
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 205
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 206
                                        required: [url]
                                      attachment:
                                        url: attachment
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 207
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: attachment}
                                            index: 208
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 210
                                          valueAttachment:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 211
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 196
                                        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: Todo
                                                index: 197
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: type}
                                                    index: 198
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueCodeableConcept]
                                                    index: 200
                                                  valueCodeableConcept:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 201
                                                required: [url]
                                            representation:
                                              match: {url: representation}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Todo
                                                index: 202
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: representation}
                                                    index: 203
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueString]
                                                    index: 205
                                                  valueString:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: string
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 206
                                                required: [url]
                                            attachment:
                                              match: {url: attachment}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Todo
                                                index: 207
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: attachment}
                                                    index: 208
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueAttachment]
                                                    index: 210
                                                  valueAttachment:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Attachment
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 211
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: structuralRepresentation}
                                        index: 212
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: repeatUnit}
                            index: 213
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: repeat}
                index: 214
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer'}
    index: 215
package_version: 0.0.1-snapshot-2
extensions:
  class:
    url: class
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: class}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 4
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 5
    required: [url]
  geometry:
    url: geometry
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: geometry}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 9
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 10
    required: [url]
  copolymerConnectivity:
    url: copolymerConnectivity
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: copolymerConnectivity}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 14
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 15
    required: [url]
  modification:
    url: modification
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: modification}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueString]
        index: 19
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Todo
        choiceOf: value
        index: 20
    required: [url]
  monomerSet:
    url: monomerSet
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 21
    extensions:
      ratioType:
        url: ratioType
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 23
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: ratioType}
            index: 24
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 26
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 27
        required: [url]
      startingMaterial:
        url: startingMaterial
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 28
        extensions:
          material:
            url: material
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 30
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: material}
                index: 31
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 33
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 34
            required: [url]
          type:
            url: type
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 35
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 36
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 38
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 39
            required: [url]
          isDefining:
            url: isDefining
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 40
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: isDefining}
                index: 41
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueBoolean]
                index: 43
              valueBoolean:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: boolean
                short: Todo
                choiceOf: value
                index: 44
            required: [url]
          amount:
            url: amount
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 45
            extensions:
              amount[x]:
                url: amount[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                index: 47
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 48
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choices: [valueQuantity, valueRange, valueString]
                    index: 50
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 51
                  valueRange:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Range
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 52
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 53
                required: [url]
              amountType:
                url: amountType
                base: {max: '*', min: 0, path: Extension.extension}
                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                index: 54
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountType}
                    index: 55
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    choices: [valueCodeableConcept]
                    index: 57
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    choiceOf: value
                    index: 58
                required: [url]
              amountText:
                url: amountText
                base: {max: '*', min: 0, path: Extension.extension}
                short: A textual comment on a numeric value
                index: 59
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountText}
                    index: 60
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A textual comment on a numeric value
                    choices: [valueString]
                    index: 62
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A textual comment on a numeric value
                    choiceOf: value
                    index: 63
                required: [url]
              referenceRange:
                url: referenceRange
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference range of possible or expected values
                index: 64
                extensions:
                  lowLimit:
                    url: lowLimit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Lower limit possible or expected
                    index: 66
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: lowLimit}
                        index: 67
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Lower limit possible or expected
                        choices: [valueQuantity]
                        index: 69
                      valueQuantity:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Quantity
                        short: Lower limit possible or expected
                        choiceOf: value
                        index: 70
                    required: [url]
                  highLimit:
                    url: highLimit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Upper limit possible or expected
                    index: 71
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: highLimit}
                        index: 72
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit possible or expected
                        choices: [valueQuantity]
                        index: 74
                      valueQuantity:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Quantity
                        short: Upper limit possible or expected
                        choiceOf: value
                        index: 75
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 65
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        lowLimit:
                          match: {url: lowLimit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 66
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 67
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 69
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 70
                            required: [url]
                        highLimit:
                          match: {url: highLimit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 71
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 72
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 74
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 75
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: referenceRange}
                    index: 76
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                index: 77
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: SubstanceAmount}
                    choices: [valueString]
                    index: 79
                  valueString:
                    type: string
                    pattern: {type: String, value: SubstanceAmount}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 80
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 46
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    amount[x]:
                      match: {url: 'amount[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 47
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 48
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 50
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 51
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 52
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 53
                        required: [url]
                    amountType:
                      match: {url: amountType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 57
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 58
                        required: [url]
                    amountText:
                      match: {url: amountText}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 62
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 63
                        required: [url]
                    referenceRange:
                      match: {url: referenceRange}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 64
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 66
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 67
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 69
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 70
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 71
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 72
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 74
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 75
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 65
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 76
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 77
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 79
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 80
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amount}
                index: 81
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 29
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                material:
                  match: {url: material}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: material}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 33
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 34
                    required: [url]
                type:
                  match: {url: type}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 38
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 39
                    required: [url]
                isDefining:
                  match: {url: isDefining}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: isDefining}
                        index: 41
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 43
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 44
                    required: [url]
                amount:
                  match: {url: amount}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 45
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 47
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 48
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 50
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 51
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 52
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 53
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 57
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 58
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 62
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 63
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 64
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 66
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 67
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 69
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 70
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 71
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 72
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 74
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 75
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 65
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 76
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 77
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 79
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 80
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 46
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 81
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: startingMaterial}
            index: 82
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 22
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            ratioType:
              match: {url: ratioType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: ratioType}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 26
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 27
                required: [url]
            startingMaterial:
              match: {url: startingMaterial}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 28
                extensions:
                  material:
                    url: material
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: material}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 33
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 34
                    required: [url]
                  type:
                    url: type
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 38
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 39
                    required: [url]
                  isDefining:
                    url: isDefining
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: isDefining}
                        index: 41
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 43
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 44
                    required: [url]
                  amount:
                    url: amount
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 45
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 47
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 48
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 50
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 51
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 52
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 53
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 57
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 58
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 62
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 63
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 64
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 66
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 67
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 69
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 70
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 71
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 72
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 74
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 75
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 65
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 76
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 77
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 79
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 80
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 46
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 81
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 29
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        material:
                          match: {url: material}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: material}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 33
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 34
                            required: [url]
                        type:
                          match: {url: type}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 38
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 39
                            required: [url]
                        isDefining:
                          match: {url: isDefining}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: isDefining}
                                index: 41
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 43
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 44
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 45
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 47
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 48
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 50
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 51
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 52
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 53
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 57
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 62
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 63
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 64
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 66
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 67
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 69
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 70
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 71
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 72
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 74
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 75
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 65
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 76
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 77
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 79
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 80
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 46
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 47
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 48
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 50
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 51
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 52
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 53
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 57
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 62
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 64
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 66
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 67
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 69
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 70
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 71
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 72
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 74
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 75
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 65
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 66
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 67
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 69
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 70
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 71
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 72
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 74
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 75
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 76
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 77
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 79
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 80
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 81
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: startingMaterial}
                    index: 82
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: monomerSet}
        index: 83
    required: [url]
  repeat:
    url: repeat
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 84
    extensions:
      numberOfUnits:
        url: numberOfUnits
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 86
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: numberOfUnits}
            index: 87
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueInteger]
            index: 89
          valueInteger:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: integer
            short: Todo
            choiceOf: value
            index: 90
        required: [url]
      averageMolecularFormula:
        url: averageMolecularFormula
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 91
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: averageMolecularFormula}
            index: 92
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueString]
            index: 94
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Todo
            choiceOf: value
            index: 95
        required: [url]
      repeatUnitAmountType:
        url: repeatUnitAmountType
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 96
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: repeatUnitAmountType}
            index: 97
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 99
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 100
        required: [url]
      repeatUnit:
        url: repeatUnit
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 101
        extensions:
          orientationOfPolymerisation:
            url: orientationOfPolymerisation
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 103
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: orientationOfPolymerisation}
                index: 104
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 106
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 107
            required: [url]
          repeatUnit:
            url: repeatUnit
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 108
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: repeatUnit}
                index: 109
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 111
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Todo
                choiceOf: value
                index: 112
            required: [url]
          amount:
            url: amount
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 113
            extensions:
              amount[x]:
                url: amount[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                index: 115
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 116
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choices: [valueQuantity, valueRange, valueString]
                    index: 118
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 119
                  valueRange:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Range
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 120
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choiceOf: value
                    index: 121
                required: [url]
              amountType:
                url: amountType
                base: {max: '*', min: 0, path: Extension.extension}
                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                index: 122
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountType}
                    index: 123
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    choices: [valueCodeableConcept]
                    index: 125
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    choiceOf: value
                    index: 126
                required: [url]
              amountText:
                url: amountText
                base: {max: '*', min: 0, path: Extension.extension}
                short: A textual comment on a numeric value
                index: 127
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountText}
                    index: 128
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A textual comment on a numeric value
                    choices: [valueString]
                    index: 130
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: A textual comment on a numeric value
                    choiceOf: value
                    index: 131
                required: [url]
              referenceRange:
                url: referenceRange
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reference range of possible or expected values
                index: 132
                extensions:
                  lowLimit:
                    url: lowLimit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Lower limit possible or expected
                    index: 134
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: lowLimit}
                        index: 135
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Lower limit possible or expected
                        choices: [valueQuantity]
                        index: 137
                      valueQuantity:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Quantity
                        short: Lower limit possible or expected
                        choiceOf: value
                        index: 138
                    required: [url]
                  highLimit:
                    url: highLimit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Upper limit possible or expected
                    index: 139
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: highLimit}
                        index: 140
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit possible or expected
                        choices: [valueQuantity]
                        index: 142
                      valueQuantity:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Quantity
                        short: Upper limit possible or expected
                        choiceOf: value
                        index: 143
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 133
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        lowLimit:
                          match: {url: lowLimit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 137
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 138
                            required: [url]
                        highLimit:
                          match: {url: highLimit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 139
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 140
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 142
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 143
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: referenceRange}
                    index: 144
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                index: 145
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: SubstanceAmount}
                    choices: [valueString]
                    index: 147
                  valueString:
                    type: string
                    pattern: {type: String, value: SubstanceAmount}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 148
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 114
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    amount[x]:
                      match: {url: 'amount[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 115
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 116
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 118
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 119
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 120
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 121
                        required: [url]
                    amountType:
                      match: {url: amountType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 122
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 123
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 125
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 126
                        required: [url]
                    amountText:
                      match: {url: amountText}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 127
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 128
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 130
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 131
                        required: [url]
                    referenceRange:
                      match: {url: referenceRange}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 132
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 137
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 138
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 139
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 140
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 142
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 143
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 133
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 144
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 145
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 147
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 148
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amount}
                index: 149
            required: [url]
          degreeOfPolymerisation:
            url: degreeOfPolymerisation
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 150
            extensions:
              degree:
                url: degree
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 152
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: degree}
                    index: 153
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 155
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 156
                required: [url]
              amount:
                url: amount
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 157
                extensions:
                  amount[x]:
                    url: amount[x]
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    index: 159
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'amount[x]'}
                        index: 160
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choices: [valueQuantity, valueRange, valueString]
                        index: 162
                      valueQuantity:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Quantity
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choiceOf: value
                        index: 163
                      valueRange:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: Range
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choiceOf: value
                        index: 164
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choiceOf: value
                        index: 165
                    required: [url]
                  amountType:
                    url: amountType
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    index: 166
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountType}
                        index: 167
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        choices: [valueCodeableConcept]
                        index: 169
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        choiceOf: value
                        index: 170
                    required: [url]
                  amountText:
                    url: amountText
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: A textual comment on a numeric value
                    index: 171
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountText}
                        index: 172
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A textual comment on a numeric value
                        choices: [valueString]
                        index: 174
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: A textual comment on a numeric value
                        choiceOf: value
                        index: 175
                    required: [url]
                  referenceRange:
                    url: referenceRange
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Reference range of possible or expected values
                    index: 176
                    extensions:
                      lowLimit:
                        url: lowLimit
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Lower limit possible or expected
                        index: 178
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lowLimit}
                            index: 179
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 181
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Lower limit possible or expected
                            choiceOf: value
                            index: 182
                        required: [url]
                      highLimit:
                        url: highLimit
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Upper limit possible or expected
                        index: 183
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: highLimit}
                            index: 184
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 186
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Upper limit possible or expected
                            choiceOf: value
                            index: 187
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 177
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            lowLimit:
                              match: {url: lowLimit}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                            highLimit:
                              match: {url: highLimit}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: referenceRange}
                        index: 188
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                    type: Extension
                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                    index: 189
                    elements:
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceAmount}
                        choices: [valueString]
                        index: 191
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceAmount}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 192
                    required: [valueString, value]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 158
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        amount[x]:
                          match: {url: 'amount[x]'}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            index: 159
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'amount[x]'}
                                index: 160
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 162
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 163
                              valueRange:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Range
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 164
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 165
                            required: [url]
                        amountType:
                          match: {url: amountType}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            index: 166
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 167
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 169
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choiceOf: value
                                index: 170
                            required: [url]
                        amountText:
                          match: {url: amountText}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A textual comment on a numeric value
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 174
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 175
                            required: [url]
                        referenceRange:
                          match: {url: referenceRange}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference range of possible or expected values
                            index: 176
                            extensions:
                              lowLimit:
                                url: lowLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                              highLimit:
                                url: highLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 177
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 188
                            required: [url]
                        _datatype:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            index: 189
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 191
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 192
                            required: [valueString, value]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 193
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 151
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    degree:
                      match: {url: degree}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 152
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: degree}
                            index: 153
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 155
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 156
                        required: [url]
                    amount:
                      match: {url: amount}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 157
                        extensions:
                          amount[x]:
                            url: amount[x]
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            index: 159
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'amount[x]'}
                                index: 160
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 162
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 163
                              valueRange:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Range
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 164
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 165
                            required: [url]
                          amountType:
                            url: amountType
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            index: 166
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 167
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 169
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choiceOf: value
                                index: 170
                            required: [url]
                          amountText:
                            url: amountText
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A textual comment on a numeric value
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 174
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 175
                            required: [url]
                          referenceRange:
                            url: referenceRange
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference range of possible or expected values
                            index: 176
                            extensions:
                              lowLimit:
                                url: lowLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                              highLimit:
                                url: highLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 177
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 188
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 189
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 191
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 192
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 158
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                amount[x]:
                                  match: {url: 'amount[x]'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                amountType:
                                  match: {url: amountType}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                amountText:
                                  match: {url: amountText}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                referenceRange:
                                  match: {url: referenceRange}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 193
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: degreeOfPolymerisation}
                index: 194
            required: [url]
          structuralRepresentation:
            url: structuralRepresentation
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 195
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 197
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 198
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 200
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 201
                required: [url]
              representation:
                url: representation
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 202
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: representation}
                    index: 203
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 205
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 206
                required: [url]
              attachment:
                url: attachment
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 207
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: attachment}
                    index: 208
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueAttachment]
                    index: 210
                  valueAttachment:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Attachment
                    short: Todo
                    choiceOf: value
                    index: 211
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 196
                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: Todo
                        index: 197
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 198
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 200
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 201
                        required: [url]
                    representation:
                      match: {url: representation}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 202
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: representation}
                            index: 203
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 205
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 206
                        required: [url]
                    attachment:
                      match: {url: attachment}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 207
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: attachment}
                            index: 208
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 210
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 211
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: structuralRepresentation}
                index: 212
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 102
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                orientationOfPolymerisation:
                  match: {url: orientationOfPolymerisation}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 103
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: orientationOfPolymerisation}
                        index: 104
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 106
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 107
                    required: [url]
                repeatUnit:
                  match: {url: repeatUnit}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 108
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: repeatUnit}
                        index: 109
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 111
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 112
                    required: [url]
                amount:
                  match: {url: amount}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 113
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 115
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 116
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 118
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 119
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 120
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 121
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 122
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 123
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 125
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 126
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 127
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 128
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 130
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 131
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 132
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 137
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 138
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 139
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 140
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 142
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 143
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 133
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 144
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 145
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 147
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 148
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 114
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 149
                    required: [url]
                degreeOfPolymerisation:
                  match: {url: degreeOfPolymerisation}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 150
                    extensions:
                      degree:
                        url: degree
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 152
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: degree}
                            index: 153
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 155
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 156
                        required: [url]
                      amount:
                        url: amount
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 157
                        extensions:
                          amount[x]:
                            url: amount[x]
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            index: 159
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'amount[x]'}
                                index: 160
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 162
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 163
                              valueRange:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Range
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 164
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 165
                            required: [url]
                          amountType:
                            url: amountType
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            index: 166
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 167
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 169
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choiceOf: value
                                index: 170
                            required: [url]
                          amountText:
                            url: amountText
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A textual comment on a numeric value
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 174
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 175
                            required: [url]
                          referenceRange:
                            url: referenceRange
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference range of possible or expected values
                            index: 176
                            extensions:
                              lowLimit:
                                url: lowLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                              highLimit:
                                url: highLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 177
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 188
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 189
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 191
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 192
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 158
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                amount[x]:
                                  match: {url: 'amount[x]'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                amountType:
                                  match: {url: amountType}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                amountText:
                                  match: {url: amountText}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                referenceRange:
                                  match: {url: referenceRange}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 193
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 151
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: degree}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                            amount:
                              match: {url: amount}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degreeOfPolymerisation}
                        index: 194
                    required: [url]
                structuralRepresentation:
                  match: {url: structuralRepresentation}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 195
                    extensions:
                      type:
                        url: type
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 197
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 198
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 200
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 201
                        required: [url]
                      representation:
                        url: representation
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 202
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: representation}
                            index: 203
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 205
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 206
                        required: [url]
                      attachment:
                        url: attachment
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 207
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: attachment}
                            index: 208
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 210
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 211
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 196
                        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: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                            representation:
                              match: {url: representation}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                            attachment:
                              match: {url: attachment}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: structuralRepresentation}
                        index: 212
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: repeatUnit}
            index: 213
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 85
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            numberOfUnits:
              match: {url: numberOfUnits}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 86
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: numberOfUnits}
                    index: 87
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueInteger]
                    index: 89
                  valueInteger:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: integer
                    short: Todo
                    choiceOf: value
                    index: 90
                required: [url]
            averageMolecularFormula:
              match: {url: averageMolecularFormula}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 91
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: averageMolecularFormula}
                    index: 92
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 94
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 95
                required: [url]
            repeatUnitAmountType:
              match: {url: repeatUnitAmountType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 96
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnitAmountType}
                    index: 97
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 99
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 100
                required: [url]
            repeatUnit:
              match: {url: repeatUnit}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 101
                extensions:
                  orientationOfPolymerisation:
                    url: orientationOfPolymerisation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 103
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: orientationOfPolymerisation}
                        index: 104
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 106
                      valueCodeableConcept:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 107
                    required: [url]
                  repeatUnit:
                    url: repeatUnit
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 108
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: repeatUnit}
                        index: 109
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 111
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 112
                    required: [url]
                  amount:
                    url: amount
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    index: 113
                    extensions:
                      amount[x]:
                        url: amount[x]
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        index: 115
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 116
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 118
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 119
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 120
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choiceOf: value
                            index: 121
                        required: [url]
                      amountType:
                        url: amountType
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        index: 122
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 123
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 125
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choiceOf: value
                            index: 126
                        required: [url]
                      amountText:
                        url: amountText
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: A textual comment on a numeric value
                        index: 127
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 128
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 130
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 131
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reference range of possible or expected values
                        index: 132
                        extensions:
                          lowLimit:
                            url: lowLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Lower limit possible or expected
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 137
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 138
                            required: [url]
                          highLimit:
                            url: highLimit
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Upper limit possible or expected
                            index: 139
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 140
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 142
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 143
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 133
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 144
                        required: [url]
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 145
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 147
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 148
                        required: [valueString, value]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 114
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            amount[x]:
                              match: {url: 'amount[x]'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                            _datatype:
                              match: {url: null}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 149
                    required: [url]
                  degreeOfPolymerisation:
                    url: degreeOfPolymerisation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 150
                    extensions:
                      degree:
                        url: degree
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 152
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: degree}
                            index: 153
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 155
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 156
                        required: [url]
                      amount:
                        url: amount
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 157
                        extensions:
                          amount[x]:
                            url: amount[x]
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            index: 159
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'amount[x]'}
                                index: 160
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 162
                              valueQuantity:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Quantity
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 163
                              valueRange:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: Range
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 164
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choiceOf: value
                                index: 165
                            required: [url]
                          amountType:
                            url: amountType
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            index: 166
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 167
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 169
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choiceOf: value
                                index: 170
                            required: [url]
                          amountText:
                            url: amountText
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: A textual comment on a numeric value
                            index: 171
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 172
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 174
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 175
                            required: [url]
                          referenceRange:
                            url: referenceRange
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Reference range of possible or expected values
                            index: 176
                            extensions:
                              lowLimit:
                                url: lowLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Lower limit possible or expected
                                index: 178
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 179
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 181
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 182
                                required: [url]
                              highLimit:
                                url: highLimit
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Upper limit possible or expected
                                index: 183
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 184
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 186
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 187
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 177
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 188
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 189
                            elements:
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 191
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 192
                            required: [valueString, value]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 158
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                amount[x]:
                                  match: {url: 'amount[x]'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                amountType:
                                  match: {url: amountType}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                amountText:
                                  match: {url: amountText}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                referenceRange:
                                  match: {url: referenceRange}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                _datatype:
                                  match: {url: null}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 193
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 151
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: degree}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                            amount:
                              match: {url: amount}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degreeOfPolymerisation}
                        index: 194
                    required: [url]
                  structuralRepresentation:
                    url: structuralRepresentation
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Todo
                    array: true
                    index: 195
                    extensions:
                      type:
                        url: type
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 197
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 198
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 200
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 201
                        required: [url]
                      representation:
                        url: representation
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 202
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: representation}
                            index: 203
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 205
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 206
                        required: [url]
                      attachment:
                        url: attachment
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 207
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: attachment}
                            index: 208
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 210
                          valueAttachment:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 211
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 196
                        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: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                            representation:
                              match: {url: representation}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                            attachment:
                              match: {url: attachment}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: structuralRepresentation}
                        index: 212
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 102
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        orientationOfPolymerisation:
                          match: {url: orientationOfPolymerisation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: orientationOfPolymerisation}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 106
                              valueCodeableConcept:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 107
                            required: [url]
                        repeatUnit:
                          match: {url: repeatUnit}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: repeatUnit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 111
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 112
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            index: 113
                            extensions:
                              amount[x]:
                                url: amount[x]
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                index: 115
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'amount[x]'}
                                    index: 116
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 118
                                  valueQuantity:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 119
                                  valueRange:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Range
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 120
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choiceOf: value
                                    index: 121
                                required: [url]
                              amountType:
                                url: amountType
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                index: 122
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 123
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 125
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choiceOf: value
                                    index: 126
                                required: [url]
                              amountText:
                                url: amountText
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: A textual comment on a numeric value
                                index: 127
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 128
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 130
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 131
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Reference range of possible or expected values
                                index: 132
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Lower limit possible or expected
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 137
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Upper limit possible or expected
                                    index: 139
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 140
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 142
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 143
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 133
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 144
                                required: [url]
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 145
                                elements:
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 147
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 148
                                required: [valueString, value]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 114
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    amount[x]:
                                      match: {url: 'amount[x]'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        index: 115
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'amount[x]'}
                                            index: 116
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 118
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 119
                                          valueRange:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Range
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 120
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choiceOf: value
                                            index: 121
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        index: 122
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 123
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 125
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choiceOf: value
                                            index: 126
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: A textual comment on a numeric value
                                        index: 127
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 128
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 130
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 131
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Reference range of possible or expected values
                                        index: 132
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Lower limit possible or expected
                                            index: 134
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 135
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 137
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 138
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Upper limit possible or expected
                                            index: 139
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 140
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 142
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 143
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 133
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Lower limit possible or expected
                                                    index: 134
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 135
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 137
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 138
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Upper limit possible or expected
                                                    index: 139
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 140
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 142
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 143
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 144
                                        required: [url]
                                    _datatype:
                                      match: {url: null}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                        index: 145
                                        elements:
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 147
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 148
                                        required: [valueString, value]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 149
                            required: [url]
                        degreeOfPolymerisation:
                          match: {url: degreeOfPolymerisation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 150
                            extensions:
                              degree:
                                url: degree
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 152
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: degree}
                                    index: 153
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 155
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 156
                                required: [url]
                              amount:
                                url: amount
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 157
                                extensions:
                                  amount[x]:
                                    url: amount[x]
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    index: 159
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'amount[x]'}
                                        index: 160
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 162
                                      valueQuantity:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 163
                                      valueRange:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: Range
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 164
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choiceOf: value
                                        index: 165
                                    required: [url]
                                  amountType:
                                    url: amountType
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    index: 166
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 167
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 169
                                      valueCodeableConcept:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choiceOf: value
                                        index: 170
                                    required: [url]
                                  amountText:
                                    url: amountText
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: A textual comment on a numeric value
                                    index: 171
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 172
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 174
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 175
                                    required: [url]
                                  referenceRange:
                                    url: referenceRange
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Reference range of possible or expected values
                                    index: 176
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Lower limit possible or expected
                                        index: 178
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 179
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 181
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 182
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Upper limit possible or expected
                                        index: 183
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 184
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 186
                                          valueQuantity:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 187
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 177
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 188
                                    required: [url]
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 189
                                    elements:
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 191
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 192
                                    required: [valueString, value]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 158
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        amount[x]:
                                          match: {url: 'amount[x]'}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                        amountType:
                                          match: {url: amountType}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                        amountText:
                                          match: {url: amountText}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                        referenceRange:
                                          match: {url: referenceRange}
                                          schema:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                        _datatype:
                                          match: {url: null}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 193
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 151
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: degree}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 152
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: degree}
                                            index: 153
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 155
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 156
                                        required: [url]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 157
                                        extensions:
                                          amount[x]:
                                            url: amount[x]
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            index: 159
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: 'amount[x]'}
                                                index: 160
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choices: [valueQuantity, valueRange, valueString]
                                                index: 162
                                              valueQuantity:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 163
                                              valueRange:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: Range
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 164
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                choiceOf: value
                                                index: 165
                                            required: [url]
                                          amountType:
                                            url: amountType
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            index: 166
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountType}
                                                index: 167
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choices: [valueCodeableConcept]
                                                index: 169
                                              valueCodeableConcept:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: CodeableConcept
                                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                choiceOf: value
                                                index: 170
                                            required: [url]
                                          amountText:
                                            url: amountText
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: A textual comment on a numeric value
                                            index: 171
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: amountText}
                                                index: 172
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 174
                                              valueString:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 175
                                            required: [url]
                                          referenceRange:
                                            url: referenceRange
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            short: Reference range of possible or expected values
                                            index: 176
                                            extensions:
                                              lowLimit:
                                                url: lowLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Lower limit possible or expected
                                                index: 178
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 179
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 181
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 182
                                                required: [url]
                                              highLimit:
                                                url: highLimit
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: Upper limit possible or expected
                                                index: 183
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 184
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 186
                                                  valueQuantity:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 187
                                                required: [url]
                                            elements:
                                              extension:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                array: true
                                                index: 177
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: lowLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                    highLimit:
                                                      match: {url: highLimit}
                                                      schema:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: referenceRange}
                                                index: 188
                                            required: [url]
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 189
                                            elements:
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                pattern: {type: String, value: SubstanceAmount}
                                                choices: [valueString]
                                                index: 191
                                              valueString:
                                                type: string
                                                pattern: {type: String, value: SubstanceAmount}
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 192
                                            required: [valueString, value]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 158
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                amount[x]:
                                                  match: {url: 'amount[x]'}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    index: 159
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: 'amount[x]'}
                                                        index: 160
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choices: [valueQuantity, valueRange, valueString]
                                                        index: 162
                                                      valueQuantity:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 163
                                                      valueRange:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: Range
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 164
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                        choiceOf: value
                                                        index: 165
                                                    required: [url]
                                                amountType:
                                                  match: {url: amountType}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    index: 166
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountType}
                                                        index: 167
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choices: [valueCodeableConcept]
                                                        index: 169
                                                      valueCodeableConcept:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: CodeableConcept
                                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                        choiceOf: value
                                                        index: 170
                                                    required: [url]
                                                amountText:
                                                  match: {url: amountText}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: A textual comment on a numeric value
                                                    index: 171
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: amountText}
                                                        index: 172
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 174
                                                      valueString:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 175
                                                    required: [url]
                                                referenceRange:
                                                  match: {url: referenceRange}
                                                  schema:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    short: Reference range of possible or expected values
                                                    index: 176
                                                    extensions:
                                                      lowLimit:
                                                        url: lowLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Lower limit possible or expected
                                                        index: 178
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: lowLimit}
                                                            index: 179
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 181
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 182
                                                        required: [url]
                                                      highLimit:
                                                        url: highLimit
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        short: Upper limit possible or expected
                                                        index: 183
                                                        elements:
                                                          url:
                                                            base: {max: '1', min: 1, path: Extension.url}
                                                            pattern: {type: Uri, value: highLimit}
                                                            index: 184
                                                          value:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 186
                                                          valueQuantity:
                                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 187
                                                        required: [url]
                                                    elements:
                                                      extension:
                                                        base: {max: '*', min: 0, path: Extension.extension}
                                                        array: true
                                                        index: 177
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: lowLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Lower limit possible or expected
                                                                index: 178
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: lowLimit}
                                                                    index: 179
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 181
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 182
                                                                required: [url]
                                                            highLimit:
                                                              match: {url: highLimit}
                                                              schema:
                                                                base: {max: '*', min: 0, path: Extension.extension}
                                                                short: Upper limit possible or expected
                                                                index: 183
                                                                elements:
                                                                  url:
                                                                    base: {max: '1', min: 1, path: Extension.url}
                                                                    pattern: {type: Uri, value: highLimit}
                                                                    index: 184
                                                                  value:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 186
                                                                  valueQuantity:
                                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 187
                                                                required: [url]
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: referenceRange}
                                                        index: 188
                                                    required: [url]
                                                _datatype:
                                                  match: {url: null}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                                                    index: 189
                                                    elements:
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        index: 191
                                                      valueString:
                                                        type: string
                                                        pattern: {type: String, value: SubstanceAmount}
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 192
                                                    required: [valueString, value]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 193
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degreeOfPolymerisation}
                                index: 194
                            required: [url]
                        structuralRepresentation:
                          match: {url: structuralRepresentation}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Todo
                            array: true
                            index: 195
                            extensions:
                              type:
                                url: type
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 197
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 198
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 200
                                  valueCodeableConcept:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 201
                                required: [url]
                              representation:
                                url: representation
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 202
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: representation}
                                    index: 203
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 205
                                  valueString:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 206
                                required: [url]
                              attachment:
                                url: attachment
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: Todo
                                index: 207
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: attachment}
                                    index: 208
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 210
                                  valueAttachment:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 211
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 196
                                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: Todo
                                        index: 197
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 198
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 200
                                          valueCodeableConcept:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 201
                                        required: [url]
                                    representation:
                                      match: {url: representation}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 202
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: representation}
                                            index: 203
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 205
                                          valueString:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 206
                                        required: [url]
                                    attachment:
                                      match: {url: attachment}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: Todo
                                        index: 207
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: attachment}
                                            index: 208
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 210
                                          valueAttachment:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 211
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: structuralRepresentation}
                                index: 212
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnit}
                    index: 213
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: repeat}
        index: 214
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer
base: http://hl7.org/fhir/StructureDefinition/Extension|5.0.0
version: 0.0.1-snapshot-2
required: [url]