PackagesCanonicalsLogsProblems
    Packages
    rs/hl7.fhir.uv.xver@r4.r5-0.0.1-snapshot-1
    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: rs/hl7.fhir.uv.xver
derivation: constraint
name: ext_R4_SubstancePolymer
type: Extension
elements:
  extension:
    array: true
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        class:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            index: 1
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 3
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 4
        geometry:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            index: 5
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 7
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 8
        copolymerConnectivity:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            array: true
            index: 9
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 11
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 12
        modification:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            array: true
            index: 13
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 15
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Todo
                choiceOf: value
                index: 16
        monomerSet:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            array: true
            index: 17
            extensions:
              ratioType:
                url: null
                short: Todo
                isModifier: false
                index: 19
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 22
              startingMaterial:
                url: null
                short: Todo
                isModifier: false
                array: true
                index: 23
                extensions:
                  material:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 25
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 27
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 28
                  type:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 29
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 31
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 32
                  isDefining:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 33
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 35
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 36
                  amount:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 37
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 38
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 40
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 41
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 42
                        elements:
                          value:
                            base: {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: 44
                          valueQuantity:
                            base: {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: 45
                          valueRange:
                            base: {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: 46
                          valueString:
                            base: {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: 47
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 48
                        elements:
                          value:
                            base: {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: 50
                          valueCodeableConcept:
                            base: {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: 51
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 52
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 54
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 55
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 56
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 58
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 60
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 61
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 62
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 64
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 65
                        elements:
                          extension:
                            array: true
                            index: 57
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 38
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                elements:
                  extension:
                    array: true
                    index: 24
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        material:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 25
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 27
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 28
                        type:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 29
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 31
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 32
                        isDefining:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 33
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 35
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 36
                        amount:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 37
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 38
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 40
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 41
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 42
                                        elements:
                                          value:
                                            base: {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: 44
                                          valueQuantity:
                                            base: {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: 45
                                          valueRange:
                                            base: {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: 46
                                          valueString:
                                            base: {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: 47
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 48
                                        elements:
                                          value:
                                            base: {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: 50
                                          valueCodeableConcept:
                                            base: {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: 51
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 52
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 54
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 55
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 56
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                                        elements:
                                          extension:
                                            array: true
                                            index: 57
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 58
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 60
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 61
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 62
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 64
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 65
            elements:
              extension:
                array: true
                index: 18
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    ratioType:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 19
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 21
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 22
                    startingMaterial:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        array: true
                        index: 23
                        extensions:
                          material:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 25
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 27
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 28
                          type:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 29
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 31
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 32
                          isDefining:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 33
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 35
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 36
                          amount:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 37
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 38
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 40
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 41
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 42
                                        elements:
                                          value:
                                            base: {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: 44
                                          valueQuantity:
                                            base: {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: 45
                                          valueRange:
                                            base: {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: 46
                                          valueString:
                                            base: {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: 47
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 48
                                        elements:
                                          value:
                                            base: {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: 50
                                          valueCodeableConcept:
                                            base: {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: 51
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 52
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 54
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 55
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 56
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                                        elements:
                                          extension:
                                            array: true
                                            index: 57
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 58
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 60
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 61
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 62
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 64
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 65
                        elements:
                          extension:
                            array: true
                            index: 24
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                material:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 25
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 27
                                      valueCodeableConcept:
                                        base: {path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 28
                                type:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 29
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 31
                                      valueCodeableConcept:
                                        base: {path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 32
                                isDefining:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 33
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueBoolean]
                                        index: 35
                                      valueBoolean:
                                        base: {path: 'Extension.value[x]'}
                                        type: boolean
                                        short: Todo
                                        choiceOf: value
                                        index: 36
                                amount:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 37
                                    extensions:
                                      _datatype:
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        index: 38
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 40
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 41
                                        required: [value, valueString]
                                      amount[x]:
                                        url: null
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 42
                                        elements:
                                          value:
                                            base: {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: 44
                                          valueQuantity:
                                            base: {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: 45
                                          valueRange:
                                            base: {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: 46
                                          valueString:
                                            base: {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: 47
                                      amountType:
                                        url: null
                                        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'
                                        isModifier: false
                                        index: 48
                                        elements:
                                          value:
                                            base: {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: 50
                                          valueCodeableConcept:
                                            base: {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: 51
                                      amountText:
                                        url: null
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 52
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 54
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 55
                                      referenceRange:
                                        url: null
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 56
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                                        elements:
                                          extension:
                                            array: true
                                            index: 57
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 58
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 60
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 61
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 62
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 64
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 65
                                    elements:
                                      extension:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 38
                                        slicing:
                                          slices:
                                            _datatype:
                                              match: {}
                                              schema:
                                                type: Extension
                                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                index: 38
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    pattern: {type: string, value: SubstanceAmount}
                                                    choices: [valueString]
                                                    type: string
                                                    index: 40
                                                  valueString:
                                                    type: string
                                                    pattern: {type: string, value: SubstanceAmount}
                                                    base: {path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 41
                                                required: [value, valueString]
                                            amount[x]:
                                              match: {}
                                              schema:
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                isModifier: false
                                                index: 42
                                                elements:
                                                  value:
                                                    base: {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: 44
                                                  valueQuantity:
                                                    base: {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: 45
                                                  valueRange:
                                                    base: {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: 46
                                                  valueString:
                                                    base: {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: 47
                                            amountType:
                                              match: {}
                                              schema:
                                                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'
                                                isModifier: false
                                                index: 48
                                                elements:
                                                  value:
                                                    base: {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: 50
                                                  valueCodeableConcept:
                                                    base: {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: 51
                                            amountText:
                                              match: {}
                                              schema:
                                                short: A textual comment on a numeric value
                                                isModifier: false
                                                index: 52
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: A textual comment on a numeric value
                                                    choices: [valueString]
                                                    index: 54
                                                  valueString:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: string
                                                    short: A textual comment on a numeric value
                                                    choiceOf: value
                                                    index: 55
                                            referenceRange:
                                              match: {}
                                              schema:
                                                short: Reference range of possible or expected values
                                                isModifier: false
                                                index: 56
                                                extensions:
                                                  lowLimit:
                                                    url: null
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 58
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 60
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 61
                                                  highLimit:
                                                    url: null
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 62
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 64
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 65
                                                elements:
                                                  extension:
                                                    array: true
                                                    index: 57
                                                    slicing:
                                                      rules: closed
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        lowLimit:
                                                          match: {url: null}
                                                          schema:
                                                            short: Lower limit possible or expected
                                                            isModifier: false
                                                            index: 58
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                short: Lower limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 60
                                                              valueQuantity:
                                                                base: {path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Lower limit possible or expected
                                                                choiceOf: value
                                                                index: 61
                                                        highLimit:
                                                          match: {url: null}
                                                          schema:
                                                            short: Upper limit possible or expected
                                                            isModifier: false
                                                            index: 62
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                short: Upper limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 64
                                                              valueQuantity:
                                                                base: {path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Upper limit possible or expected
                                                                choiceOf: value
                                                                index: 65
        repeat:
          match: {url: null}
          schema:
            short: Todo
            isModifier: false
            array: true
            index: 66
            extensions:
              numberOfUnits:
                url: null
                short: Todo
                isModifier: false
                index: 68
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueInteger]
                    index: 70
                  valueInteger:
                    base: {path: 'Extension.value[x]'}
                    type: integer
                    short: Todo
                    choiceOf: value
                    index: 71
              averageMolecularFormula:
                url: null
                short: Todo
                isModifier: false
                index: 72
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 74
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 75
              repeatUnitAmountType:
                url: null
                short: Todo
                isModifier: false
                index: 76
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 78
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 79
              repeatUnit:
                url: null
                short: Todo
                isModifier: false
                array: true
                index: 80
                extensions:
                  orientationOfPolymerisation:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 82
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 84
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 85
                  repeatUnit:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 86
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 88
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 89
                  amount:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 90
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 91
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 93
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 94
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 95
                        elements:
                          value:
                            base: {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: 97
                          valueQuantity:
                            base: {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: 98
                          valueRange:
                            base: {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: 99
                          valueString:
                            base: {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: 100
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 101
                        elements:
                          value:
                            base: {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: 103
                          valueCodeableConcept:
                            base: {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: 104
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 105
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 107
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 108
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 109
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 111
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 113
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 114
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 115
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 117
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 118
                        elements:
                          extension:
                            array: true
                            index: 110
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 91
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                  degreeOfPolymerisation:
                    url: null
                    short: Todo
                    isModifier: false
                    array: true
                    index: 119
                    extensions:
                      degree:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 121
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 123
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 124
                      amount:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 125
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 126
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                pattern: {type: string, value: SubstanceAmount}
                                choices: [valueString]
                                type: string
                                index: 128
                              valueString:
                                type: string
                                pattern: {type: string, value: SubstanceAmount}
                                base: {path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 129
                            required: [value, valueString]
                          amount[x]:
                            url: null
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            isModifier: false
                            index: 130
                            elements:
                              value:
                                base: {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: 132
                              valueQuantity:
                                base: {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: 133
                              valueRange:
                                base: {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: 134
                              valueString:
                                base: {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: 135
                          amountType:
                            url: null
                            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'
                            isModifier: false
                            index: 136
                            elements:
                              value:
                                base: {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: 138
                              valueCodeableConcept:
                                base: {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: 139
                          amountText:
                            url: null
                            short: A textual comment on a numeric value
                            isModifier: false
                            index: 140
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 142
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 143
                          referenceRange:
                            url: null
                            short: Reference range of possible or expected values
                            isModifier: false
                            index: 144
                            extensions:
                              lowLimit:
                                url: null
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                              highLimit:
                                url: null
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                            elements:
                              extension:
                                array: true
                                index: 145
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: null}
                                      schema:
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                    highLimit:
                                      match: {url: null}
                                      schema:
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                        elements:
                          extension:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            index: 126
                            slicing:
                              slices:
                                _datatype:
                                  match: {}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                amount[x]:
                                  match: {}
                                  schema:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                amountType:
                                  match: {}
                                  schema:
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                amountText:
                                  match: {}
                                  schema:
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                referenceRange:
                                  match: {}
                                  schema:
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                    elements:
                      extension:
                        array: true
                        index: 120
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                            amount:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                  structuralRepresentation:
                    url: null
                    short: Todo
                    isModifier: false
                    array: true
                    index: 154
                    extensions:
                      type:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 156
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 158
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 159
                      representation:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 160
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 162
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 163
                      attachment:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 164
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 166
                          valueAttachment:
                            base: {path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 167
                    elements:
                      extension:
                        array: true
                        index: 155
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                            representation:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                            attachment:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
                elements:
                  extension:
                    array: true
                    index: 81
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        orientationOfPolymerisation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 82
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 84
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 85
                        repeatUnit:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 86
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 88
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 89
                        amount:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 90
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 91
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 93
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 94
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 95
                                        elements:
                                          value:
                                            base: {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: 97
                                          valueQuantity:
                                            base: {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: 98
                                          valueRange:
                                            base: {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: 99
                                          valueString:
                                            base: {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: 100
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 101
                                        elements:
                                          value:
                                            base: {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: 103
                                          valueCodeableConcept:
                                            base: {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: 104
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 105
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 107
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 108
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 109
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                                        elements:
                                          extension:
                                            array: true
                                            index: 110
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 111
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 113
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 114
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 115
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 117
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 118
                        degreeOfPolymerisation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            array: true
                            index: 119
                            extensions:
                              degree:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                              amount:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                            elements:
                              extension:
                                array: true
                                index: 120
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 121
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 123
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 124
                                    amount:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 125
                                        extensions:
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                          amount[x]:
                                            url: null
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                          amountType:
                                            url: null
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                          amountText:
                                            url: null
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                          referenceRange:
                                            url: null
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                        elements:
                                          extension:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            slicing:
                                              slices:
                                                _datatype:
                                                  match: {}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    index: 126
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        type: string
                                                        index: 128
                                                      valueString:
                                                        type: string
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        base: {path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 129
                                                    required: [value, valueString]
                                                amount[x]:
                                                  match: {}
                                                  schema:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    isModifier: false
                                                    index: 130
                                                    elements:
                                                      value:
                                                        base: {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: 132
                                                      valueQuantity:
                                                        base: {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: 133
                                                      valueRange:
                                                        base: {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: 134
                                                      valueString:
                                                        base: {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: 135
                                                amountType:
                                                  match: {}
                                                  schema:
                                                    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'
                                                    isModifier: false
                                                    index: 136
                                                    elements:
                                                      value:
                                                        base: {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: 138
                                                      valueCodeableConcept:
                                                        base: {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: 139
                                                amountText:
                                                  match: {}
                                                  schema:
                                                    short: A textual comment on a numeric value
                                                    isModifier: false
                                                    index: 140
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 142
                                                      valueString:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 143
                                                referenceRange:
                                                  match: {}
                                                  schema:
                                                    short: Reference range of possible or expected values
                                                    isModifier: false
                                                    index: 144
                                                    extensions:
                                                      lowLimit:
                                                        url: null
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                      highLimit:
                                                        url: null
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                                    elements:
                                                      extension:
                                                        array: true
                                                        index: 145
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                            highLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                        structuralRepresentation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            array: true
                            index: 154
                            extensions:
                              type:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                              representation:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                              attachment:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
                            elements:
                              extension:
                                array: true
                                index: 155
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 156
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 158
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 159
                                    representation:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 160
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 162
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 163
                                    attachment:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 164
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 166
                                          valueAttachment:
                                            base: {path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 167
            elements:
              extension:
                array: true
                index: 67
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    numberOfUnits:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 68
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueInteger]
                            index: 70
                          valueInteger:
                            base: {path: 'Extension.value[x]'}
                            type: integer
                            short: Todo
                            choiceOf: value
                            index: 71
                    averageMolecularFormula:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 72
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 74
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 75
                    repeatUnitAmountType:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 76
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 78
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 79
                    repeatUnit:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        array: true
                        index: 80
                        extensions:
                          orientationOfPolymerisation:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 82
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 84
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 85
                          repeatUnit:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 86
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 88
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 89
                          amount:
                            url: null
                            short: Todo
                            isModifier: false
                            index: 90
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 91
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 93
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 94
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 95
                                        elements:
                                          value:
                                            base: {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: 97
                                          valueQuantity:
                                            base: {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: 98
                                          valueRange:
                                            base: {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: 99
                                          valueString:
                                            base: {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: 100
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 101
                                        elements:
                                          value:
                                            base: {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: 103
                                          valueCodeableConcept:
                                            base: {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: 104
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 105
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 107
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 108
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 109
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                                        elements:
                                          extension:
                                            array: true
                                            index: 110
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 111
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 113
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 114
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 115
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 117
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 118
                          degreeOfPolymerisation:
                            url: null
                            short: Todo
                            isModifier: false
                            array: true
                            index: 119
                            extensions:
                              degree:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                              amount:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                            elements:
                              extension:
                                array: true
                                index: 120
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 121
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 123
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 124
                                    amount:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 125
                                        extensions:
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                          amount[x]:
                                            url: null
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                          amountType:
                                            url: null
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                          amountText:
                                            url: null
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                          referenceRange:
                                            url: null
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                        elements:
                                          extension:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            slicing:
                                              slices:
                                                _datatype:
                                                  match: {}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    index: 126
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        type: string
                                                        index: 128
                                                      valueString:
                                                        type: string
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        base: {path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 129
                                                    required: [value, valueString]
                                                amount[x]:
                                                  match: {}
                                                  schema:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    isModifier: false
                                                    index: 130
                                                    elements:
                                                      value:
                                                        base: {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: 132
                                                      valueQuantity:
                                                        base: {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: 133
                                                      valueRange:
                                                        base: {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: 134
                                                      valueString:
                                                        base: {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: 135
                                                amountType:
                                                  match: {}
                                                  schema:
                                                    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'
                                                    isModifier: false
                                                    index: 136
                                                    elements:
                                                      value:
                                                        base: {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: 138
                                                      valueCodeableConcept:
                                                        base: {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: 139
                                                amountText:
                                                  match: {}
                                                  schema:
                                                    short: A textual comment on a numeric value
                                                    isModifier: false
                                                    index: 140
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 142
                                                      valueString:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 143
                                                referenceRange:
                                                  match: {}
                                                  schema:
                                                    short: Reference range of possible or expected values
                                                    isModifier: false
                                                    index: 144
                                                    extensions:
                                                      lowLimit:
                                                        url: null
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                      highLimit:
                                                        url: null
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                                    elements:
                                                      extension:
                                                        array: true
                                                        index: 145
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                            highLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                          structuralRepresentation:
                            url: null
                            short: Todo
                            isModifier: false
                            array: true
                            index: 154
                            extensions:
                              type:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                              representation:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                              attachment:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
                            elements:
                              extension:
                                array: true
                                index: 155
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 156
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 158
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 159
                                    representation:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 160
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 162
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 163
                                    attachment:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 164
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 166
                                          valueAttachment:
                                            base: {path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 167
                        elements:
                          extension:
                            array: true
                            index: 81
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                orientationOfPolymerisation:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 82
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 84
                                      valueCodeableConcept:
                                        base: {path: 'Extension.value[x]'}
                                        type: CodeableConcept
                                        short: Todo
                                        choiceOf: value
                                        index: 85
                                repeatUnit:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 86
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueString]
                                        index: 88
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: Todo
                                        choiceOf: value
                                        index: 89
                                amount:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    index: 90
                                    extensions:
                                      _datatype:
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        index: 91
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 93
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 94
                                        required: [value, valueString]
                                      amount[x]:
                                        url: null
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 95
                                        elements:
                                          value:
                                            base: {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: 97
                                          valueQuantity:
                                            base: {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: 98
                                          valueRange:
                                            base: {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: 99
                                          valueString:
                                            base: {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: 100
                                      amountType:
                                        url: null
                                        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'
                                        isModifier: false
                                        index: 101
                                        elements:
                                          value:
                                            base: {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: 103
                                          valueCodeableConcept:
                                            base: {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: 104
                                      amountText:
                                        url: null
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 105
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 107
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 108
                                      referenceRange:
                                        url: null
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 109
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                                        elements:
                                          extension:
                                            array: true
                                            index: 110
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 111
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 113
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 114
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 115
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 117
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 118
                                    elements:
                                      extension:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 91
                                        slicing:
                                          slices:
                                            _datatype:
                                              match: {}
                                              schema:
                                                type: Extension
                                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                index: 91
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    pattern: {type: string, value: SubstanceAmount}
                                                    choices: [valueString]
                                                    type: string
                                                    index: 93
                                                  valueString:
                                                    type: string
                                                    pattern: {type: string, value: SubstanceAmount}
                                                    base: {path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 94
                                                required: [value, valueString]
                                            amount[x]:
                                              match: {}
                                              schema:
                                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                isModifier: false
                                                index: 95
                                                elements:
                                                  value:
                                                    base: {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: 97
                                                  valueQuantity:
                                                    base: {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: 98
                                                  valueRange:
                                                    base: {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: 99
                                                  valueString:
                                                    base: {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: 100
                                            amountType:
                                              match: {}
                                              schema:
                                                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'
                                                isModifier: false
                                                index: 101
                                                elements:
                                                  value:
                                                    base: {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: 103
                                                  valueCodeableConcept:
                                                    base: {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: 104
                                            amountText:
                                              match: {}
                                              schema:
                                                short: A textual comment on a numeric value
                                                isModifier: false
                                                index: 105
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: A textual comment on a numeric value
                                                    choices: [valueString]
                                                    index: 107
                                                  valueString:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: string
                                                    short: A textual comment on a numeric value
                                                    choiceOf: value
                                                    index: 108
                                            referenceRange:
                                              match: {}
                                              schema:
                                                short: Reference range of possible or expected values
                                                isModifier: false
                                                index: 109
                                                extensions:
                                                  lowLimit:
                                                    url: null
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 111
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 113
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 114
                                                  highLimit:
                                                    url: null
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 115
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 117
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 118
                                                elements:
                                                  extension:
                                                    array: true
                                                    index: 110
                                                    slicing:
                                                      rules: closed
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        lowLimit:
                                                          match: {url: null}
                                                          schema:
                                                            short: Lower limit possible or expected
                                                            isModifier: false
                                                            index: 111
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                short: Lower limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 113
                                                              valueQuantity:
                                                                base: {path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Lower limit possible or expected
                                                                choiceOf: value
                                                                index: 114
                                                        highLimit:
                                                          match: {url: null}
                                                          schema:
                                                            short: Upper limit possible or expected
                                                            isModifier: false
                                                            index: 115
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                short: Upper limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 117
                                                              valueQuantity:
                                                                base: {path: 'Extension.value[x]'}
                                                                type: Quantity
                                                                short: Upper limit possible or expected
                                                                choiceOf: value
                                                                index: 118
                                degreeOfPolymerisation:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    array: true
                                    index: 119
                                    extensions:
                                      degree:
                                        url: null
                                        short: Todo
                                        isModifier: false
                                        index: 121
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 123
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 124
                                      amount:
                                        url: null
                                        short: Todo
                                        isModifier: false
                                        index: 125
                                        extensions:
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                          amount[x]:
                                            url: null
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                          amountType:
                                            url: null
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                          amountText:
                                            url: null
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                          referenceRange:
                                            url: null
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                        elements:
                                          extension:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            slicing:
                                              slices:
                                                _datatype:
                                                  match: {}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    index: 126
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        type: string
                                                        index: 128
                                                      valueString:
                                                        type: string
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        base: {path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 129
                                                    required: [value, valueString]
                                                amount[x]:
                                                  match: {}
                                                  schema:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    isModifier: false
                                                    index: 130
                                                    elements:
                                                      value:
                                                        base: {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: 132
                                                      valueQuantity:
                                                        base: {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: 133
                                                      valueRange:
                                                        base: {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: 134
                                                      valueString:
                                                        base: {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: 135
                                                amountType:
                                                  match: {}
                                                  schema:
                                                    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'
                                                    isModifier: false
                                                    index: 136
                                                    elements:
                                                      value:
                                                        base: {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: 138
                                                      valueCodeableConcept:
                                                        base: {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: 139
                                                amountText:
                                                  match: {}
                                                  schema:
                                                    short: A textual comment on a numeric value
                                                    isModifier: false
                                                    index: 140
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 142
                                                      valueString:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 143
                                                referenceRange:
                                                  match: {}
                                                  schema:
                                                    short: Reference range of possible or expected values
                                                    isModifier: false
                                                    index: 144
                                                    extensions:
                                                      lowLimit:
                                                        url: null
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                      highLimit:
                                                        url: null
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                                    elements:
                                                      extension:
                                                        array: true
                                                        index: 145
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                            highLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 120
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            degree:
                                              match: {url: null}
                                              schema:
                                                short: Todo
                                                isModifier: false
                                                index: 121
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueCodeableConcept]
                                                    index: 123
                                                  valueCodeableConcept:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 124
                                            amount:
                                              match: {url: null}
                                              schema:
                                                short: Todo
                                                isModifier: false
                                                index: 125
                                                extensions:
                                                  _datatype:
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    index: 126
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        type: string
                                                        index: 128
                                                      valueString:
                                                        type: string
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        base: {path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 129
                                                    required: [value, valueString]
                                                  amount[x]:
                                                    url: null
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    isModifier: false
                                                    index: 130
                                                    elements:
                                                      value:
                                                        base: {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: 132
                                                      valueQuantity:
                                                        base: {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: 133
                                                      valueRange:
                                                        base: {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: 134
                                                      valueString:
                                                        base: {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: 135
                                                  amountType:
                                                    url: null
                                                    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'
                                                    isModifier: false
                                                    index: 136
                                                    elements:
                                                      value:
                                                        base: {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: 138
                                                      valueCodeableConcept:
                                                        base: {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: 139
                                                  amountText:
                                                    url: null
                                                    short: A textual comment on a numeric value
                                                    isModifier: false
                                                    index: 140
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 142
                                                      valueString:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 143
                                                  referenceRange:
                                                    url: null
                                                    short: Reference range of possible or expected values
                                                    isModifier: false
                                                    index: 144
                                                    extensions:
                                                      lowLimit:
                                                        url: null
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                      highLimit:
                                                        url: null
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                                    elements:
                                                      extension:
                                                        array: true
                                                        index: 145
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                            highLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                                                elements:
                                                  extension:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    index: 126
                                                    slicing:
                                                      slices:
                                                        _datatype:
                                                          match: {}
                                                          schema:
                                                            type: Extension
                                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                            index: 126
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                pattern: {type: string, value: SubstanceAmount}
                                                                choices: [valueString]
                                                                type: string
                                                                index: 128
                                                              valueString:
                                                                type: string
                                                                pattern: {type: string, value: SubstanceAmount}
                                                                base: {path: 'Extension.value[x]'}
                                                                choiceOf: value
                                                                index: 129
                                                            required: [value, valueString]
                                                        amount[x]:
                                                          match: {}
                                                          schema:
                                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                            isModifier: false
                                                            index: 130
                                                            elements:
                                                              value:
                                                                base: {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: 132
                                                              valueQuantity:
                                                                base: {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: 133
                                                              valueRange:
                                                                base: {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: 134
                                                              valueString:
                                                                base: {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: 135
                                                        amountType:
                                                          match: {}
                                                          schema:
                                                            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'
                                                            isModifier: false
                                                            index: 136
                                                            elements:
                                                              value:
                                                                base: {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: 138
                                                              valueCodeableConcept:
                                                                base: {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: 139
                                                        amountText:
                                                          match: {}
                                                          schema:
                                                            short: A textual comment on a numeric value
                                                            isModifier: false
                                                            index: 140
                                                            elements:
                                                              value:
                                                                base: {path: 'Extension.value[x]'}
                                                                short: A textual comment on a numeric value
                                                                choices: [valueString]
                                                                index: 142
                                                              valueString:
                                                                base: {path: 'Extension.value[x]'}
                                                                type: string
                                                                short: A textual comment on a numeric value
                                                                choiceOf: value
                                                                index: 143
                                                        referenceRange:
                                                          match: {}
                                                          schema:
                                                            short: Reference range of possible or expected values
                                                            isModifier: false
                                                            index: 144
                                                            extensions:
                                                              lowLimit:
                                                                url: null
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                              highLimit:
                                                                url: null
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                                                            elements:
                                                              extension:
                                                                array: true
                                                                index: 145
                                                                slicing:
                                                                  rules: closed
                                                                  ordered: false
                                                                  discriminator:
                                                                  - {path: url, type: value}
                                                                  min: 0
                                                                  slices:
                                                                    lowLimit:
                                                                      match: {url: null}
                                                                      schema:
                                                                        short: Lower limit possible or expected
                                                                        isModifier: false
                                                                        index: 146
                                                                        elements:
                                                                          value:
                                                                            base: {path: 'Extension.value[x]'}
                                                                            short: Lower limit possible or expected
                                                                            choices: [valueQuantity]
                                                                            index: 148
                                                                          valueQuantity:
                                                                            base: {path: 'Extension.value[x]'}
                                                                            type: Quantity
                                                                            short: Lower limit possible or expected
                                                                            choiceOf: value
                                                                            index: 149
                                                                    highLimit:
                                                                      match: {url: null}
                                                                      schema:
                                                                        short: Upper limit possible or expected
                                                                        isModifier: false
                                                                        index: 150
                                                                        elements:
                                                                          value:
                                                                            base: {path: 'Extension.value[x]'}
                                                                            short: Upper limit possible or expected
                                                                            choices: [valueQuantity]
                                                                            index: 152
                                                                          valueQuantity:
                                                                            base: {path: 'Extension.value[x]'}
                                                                            type: Quantity
                                                                            short: Upper limit possible or expected
                                                                            choiceOf: value
                                                                            index: 153
                                structuralRepresentation:
                                  match: {url: null}
                                  schema:
                                    short: Todo
                                    isModifier: false
                                    array: true
                                    index: 154
                                    extensions:
                                      type:
                                        url: null
                                        short: Todo
                                        isModifier: false
                                        index: 156
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 158
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 159
                                      representation:
                                        url: null
                                        short: Todo
                                        isModifier: false
                                        index: 160
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 162
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 163
                                      attachment:
                                        url: null
                                        short: Todo
                                        isModifier: false
                                        index: 164
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 166
                                          valueAttachment:
                                            base: {path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 167
                                    elements:
                                      extension:
                                        array: true
                                        index: 155
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            type:
                                              match: {url: null}
                                              schema:
                                                short: Todo
                                                isModifier: false
                                                index: 156
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueCodeableConcept]
                                                    index: 158
                                                  valueCodeableConcept:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: CodeableConcept
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 159
                                            representation:
                                              match: {url: null}
                                              schema:
                                                short: Todo
                                                isModifier: false
                                                index: 160
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueString]
                                                    index: 162
                                                  valueString:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: string
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 163
                                            attachment:
                                              match: {url: null}
                                              schema:
                                                short: Todo
                                                isModifier: false
                                                index: 164
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Todo
                                                    choices: [valueAttachment]
                                                    index: 166
                                                  valueAttachment:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Attachment
                                                    short: Todo
                                                    choiceOf: value
                                                    index: 167
  url:
    pattern: {type: uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer'}
    type: uri
    index: 168
package_version: r4.r5-0.0.1-snapshot-1
extensions:
  class:
    url: null
    short: Todo
    isModifier: false
    index: 1
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 3
      valueCodeableConcept:
        base: {path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 4
  geometry:
    url: null
    short: Todo
    isModifier: false
    index: 5
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 7
      valueCodeableConcept:
        base: {path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 8
  copolymerConnectivity:
    url: null
    short: Todo
    isModifier: false
    array: true
    index: 9
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 11
      valueCodeableConcept:
        base: {path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Todo
        choiceOf: value
        index: 12
  modification:
    url: null
    short: Todo
    isModifier: false
    array: true
    index: 13
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Todo
        choices: [valueString]
        index: 15
      valueString:
        base: {path: 'Extension.value[x]'}
        type: string
        short: Todo
        choiceOf: value
        index: 16
  monomerSet:
    url: null
    short: Todo
    isModifier: false
    array: true
    index: 17
    extensions:
      ratioType:
        url: null
        short: Todo
        isModifier: false
        index: 19
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 21
          valueCodeableConcept:
            base: {path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 22
      startingMaterial:
        url: null
        short: Todo
        isModifier: false
        array: true
        index: 23
        extensions:
          material:
            url: null
            short: Todo
            isModifier: false
            index: 25
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 27
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 28
          type:
            url: null
            short: Todo
            isModifier: false
            index: 29
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 31
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 32
          isDefining:
            url: null
            short: Todo
            isModifier: false
            index: 33
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueBoolean]
                index: 35
              valueBoolean:
                base: {path: 'Extension.value[x]'}
                type: boolean
                short: Todo
                choiceOf: value
                index: 36
          amount:
            url: null
            short: Todo
            isModifier: false
            index: 37
            extensions:
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                type: Extension
                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                index: 38
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    pattern: {type: string, value: SubstanceAmount}
                    choices: [valueString]
                    type: string
                    index: 40
                  valueString:
                    type: string
                    pattern: {type: string, value: SubstanceAmount}
                    base: {path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 41
                required: [value, valueString]
              amount[x]:
                url: null
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                isModifier: false
                index: 42
                elements:
                  value:
                    base: {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: 44
                  valueQuantity:
                    base: {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: 45
                  valueRange:
                    base: {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: 46
                  valueString:
                    base: {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: 47
              amountType:
                url: null
                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'
                isModifier: false
                index: 48
                elements:
                  value:
                    base: {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: 50
                  valueCodeableConcept:
                    base: {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: 51
              amountText:
                url: null
                short: A textual comment on a numeric value
                isModifier: false
                index: 52
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: A textual comment on a numeric value
                    choices: [valueString]
                    index: 54
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: A textual comment on a numeric value
                    choiceOf: value
                    index: 55
              referenceRange:
                url: null
                short: Reference range of possible or expected values
                isModifier: false
                index: 56
                extensions:
                  lowLimit:
                    url: null
                    short: Lower limit possible or expected
                    isModifier: false
                    index: 58
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Lower limit possible or expected
                        choices: [valueQuantity]
                        index: 60
                      valueQuantity:
                        base: {path: 'Extension.value[x]'}
                        type: Quantity
                        short: Lower limit possible or expected
                        choiceOf: value
                        index: 61
                  highLimit:
                    url: null
                    short: Upper limit possible or expected
                    isModifier: false
                    index: 62
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Upper limit possible or expected
                        choices: [valueQuantity]
                        index: 64
                      valueQuantity:
                        base: {path: 'Extension.value[x]'}
                        type: Quantity
                        short: Upper limit possible or expected
                        choiceOf: value
                        index: 65
                elements:
                  extension:
                    array: true
                    index: 57
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        lowLimit:
                          match: {url: null}
                          schema:
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 58
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 60
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 61
                        highLimit:
                          match: {url: null}
                          schema:
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 62
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 64
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 65
            elements:
              extension:
                type: Extension
                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                index: 38
                slicing:
                  slices:
                    _datatype:
                      match: {}
                      schema:
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 38
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 40
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 41
                        required: [value, valueString]
                    amount[x]:
                      match: {}
                      schema:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 42
                        elements:
                          value:
                            base: {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: 44
                          valueQuantity:
                            base: {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: 45
                          valueRange:
                            base: {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: 46
                          valueString:
                            base: {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: 47
                    amountType:
                      match: {}
                      schema:
                        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'
                        isModifier: false
                        index: 48
                        elements:
                          value:
                            base: {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: 50
                          valueCodeableConcept:
                            base: {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: 51
                    amountText:
                      match: {}
                      schema:
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 52
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 54
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 55
                    referenceRange:
                      match: {}
                      schema:
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 56
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 58
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 60
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 61
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 62
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 64
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 65
                        elements:
                          extension:
                            array: true
                            index: 57
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
        elements:
          extension:
            array: true
            index: 24
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                material:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 25
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 27
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 28
                type:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 29
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 31
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 32
                isDefining:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 33
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 35
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 36
                amount:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 37
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 38
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 40
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 41
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 42
                        elements:
                          value:
                            base: {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: 44
                          valueQuantity:
                            base: {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: 45
                          valueRange:
                            base: {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: 46
                          valueString:
                            base: {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: 47
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 48
                        elements:
                          value:
                            base: {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: 50
                          valueCodeableConcept:
                            base: {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: 51
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 52
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 54
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 55
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 56
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 58
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 60
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 61
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 62
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 64
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 65
                        elements:
                          extension:
                            array: true
                            index: 57
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 38
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
    elements:
      extension:
        array: true
        index: 18
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            ratioType:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                index: 19
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 22
            startingMaterial:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                array: true
                index: 23
                extensions:
                  material:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 25
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 27
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 28
                  type:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 29
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 31
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 32
                  isDefining:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 33
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueBoolean]
                        index: 35
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Todo
                        choiceOf: value
                        index: 36
                  amount:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 37
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        index: 38
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 40
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 41
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 42
                        elements:
                          value:
                            base: {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: 44
                          valueQuantity:
                            base: {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: 45
                          valueRange:
                            base: {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: 46
                          valueString:
                            base: {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: 47
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 48
                        elements:
                          value:
                            base: {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: 50
                          valueCodeableConcept:
                            base: {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: 51
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 52
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 54
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 55
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 56
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 58
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 60
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 61
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 62
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 64
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 65
                        elements:
                          extension:
                            array: true
                            index: 57
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 38
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                elements:
                  extension:
                    array: true
                    index: 24
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        material:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 25
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 27
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 28
                        type:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 29
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 31
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 32
                        isDefining:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 33
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueBoolean]
                                index: 35
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Todo
                                choiceOf: value
                                index: 36
                        amount:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 37
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                index: 38
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 40
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 41
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 42
                                elements:
                                  value:
                                    base: {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: 44
                                  valueQuantity:
                                    base: {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: 45
                                  valueRange:
                                    base: {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: 46
                                  valueString:
                                    base: {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: 47
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 48
                                elements:
                                  value:
                                    base: {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: 50
                                  valueCodeableConcept:
                                    base: {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: 51
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 52
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 54
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 55
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 56
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 58
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 60
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 61
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 62
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 64
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 65
                                elements:
                                  extension:
                                    array: true
                                    index: 57
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 38
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.monomerSet.startingMaterial.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 38
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 40
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 41
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 42
                                        elements:
                                          value:
                                            base: {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: 44
                                          valueQuantity:
                                            base: {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: 45
                                          valueRange:
                                            base: {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: 46
                                          valueString:
                                            base: {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: 47
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 48
                                        elements:
                                          value:
                                            base: {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: 50
                                          valueCodeableConcept:
                                            base: {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: 51
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 52
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 54
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 55
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 56
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 58
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 60
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 61
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 62
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 64
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 65
                                        elements:
                                          extension:
                                            array: true
                                            index: 57
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 58
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 60
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 61
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 62
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 64
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 65
  repeat:
    url: null
    short: Todo
    isModifier: false
    array: true
    index: 66
    extensions:
      numberOfUnits:
        url: null
        short: Todo
        isModifier: false
        index: 68
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Todo
            choices: [valueInteger]
            index: 70
          valueInteger:
            base: {path: 'Extension.value[x]'}
            type: integer
            short: Todo
            choiceOf: value
            index: 71
      averageMolecularFormula:
        url: null
        short: Todo
        isModifier: false
        index: 72
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Todo
            choices: [valueString]
            index: 74
          valueString:
            base: {path: 'Extension.value[x]'}
            type: string
            short: Todo
            choiceOf: value
            index: 75
      repeatUnitAmountType:
        url: null
        short: Todo
        isModifier: false
        index: 76
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 78
          valueCodeableConcept:
            base: {path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 79
      repeatUnit:
        url: null
        short: Todo
        isModifier: false
        array: true
        index: 80
        extensions:
          orientationOfPolymerisation:
            url: null
            short: Todo
            isModifier: false
            index: 82
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 84
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Todo
                choiceOf: value
                index: 85
          repeatUnit:
            url: null
            short: Todo
            isModifier: false
            index: 86
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 88
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Todo
                choiceOf: value
                index: 89
          amount:
            url: null
            short: Todo
            isModifier: false
            index: 90
            extensions:
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                type: Extension
                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                index: 91
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    pattern: {type: string, value: SubstanceAmount}
                    choices: [valueString]
                    type: string
                    index: 93
                  valueString:
                    type: string
                    pattern: {type: string, value: SubstanceAmount}
                    base: {path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 94
                required: [value, valueString]
              amount[x]:
                url: null
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                isModifier: false
                index: 95
                elements:
                  value:
                    base: {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: 97
                  valueQuantity:
                    base: {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: 98
                  valueRange:
                    base: {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: 99
                  valueString:
                    base: {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: 100
              amountType:
                url: null
                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'
                isModifier: false
                index: 101
                elements:
                  value:
                    base: {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: 103
                  valueCodeableConcept:
                    base: {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: 104
              amountText:
                url: null
                short: A textual comment on a numeric value
                isModifier: false
                index: 105
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: A textual comment on a numeric value
                    choices: [valueString]
                    index: 107
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: A textual comment on a numeric value
                    choiceOf: value
                    index: 108
              referenceRange:
                url: null
                short: Reference range of possible or expected values
                isModifier: false
                index: 109
                extensions:
                  lowLimit:
                    url: null
                    short: Lower limit possible or expected
                    isModifier: false
                    index: 111
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Lower limit possible or expected
                        choices: [valueQuantity]
                        index: 113
                      valueQuantity:
                        base: {path: 'Extension.value[x]'}
                        type: Quantity
                        short: Lower limit possible or expected
                        choiceOf: value
                        index: 114
                  highLimit:
                    url: null
                    short: Upper limit possible or expected
                    isModifier: false
                    index: 115
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Upper limit possible or expected
                        choices: [valueQuantity]
                        index: 117
                      valueQuantity:
                        base: {path: 'Extension.value[x]'}
                        type: Quantity
                        short: Upper limit possible or expected
                        choiceOf: value
                        index: 118
                elements:
                  extension:
                    array: true
                    index: 110
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        lowLimit:
                          match: {url: null}
                          schema:
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 111
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 113
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 114
                        highLimit:
                          match: {url: null}
                          schema:
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 115
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 117
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 118
            elements:
              extension:
                type: Extension
                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                index: 91
                slicing:
                  slices:
                    _datatype:
                      match: {}
                      schema:
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 91
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 93
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 94
                        required: [value, valueString]
                    amount[x]:
                      match: {}
                      schema:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 95
                        elements:
                          value:
                            base: {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: 97
                          valueQuantity:
                            base: {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: 98
                          valueRange:
                            base: {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: 99
                          valueString:
                            base: {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: 100
                    amountType:
                      match: {}
                      schema:
                        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'
                        isModifier: false
                        index: 101
                        elements:
                          value:
                            base: {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: 103
                          valueCodeableConcept:
                            base: {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: 104
                    amountText:
                      match: {}
                      schema:
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 105
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 107
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 108
                    referenceRange:
                      match: {}
                      schema:
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 109
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 111
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 113
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 114
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 115
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 117
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 118
                        elements:
                          extension:
                            array: true
                            index: 110
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
          degreeOfPolymerisation:
            url: null
            short: Todo
            isModifier: false
            array: true
            index: 119
            extensions:
              degree:
                url: null
                short: Todo
                isModifier: false
                index: 121
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 123
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 124
              amount:
                url: null
                short: Todo
                isModifier: false
                index: 125
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    type: Extension
                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                    index: 126
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        pattern: {type: string, value: SubstanceAmount}
                        choices: [valueString]
                        type: string
                        index: 128
                      valueString:
                        type: string
                        pattern: {type: string, value: SubstanceAmount}
                        base: {path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 129
                    required: [value, valueString]
                  amount[x]:
                    url: null
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    isModifier: false
                    index: 130
                    elements:
                      value:
                        base: {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: 132
                      valueQuantity:
                        base: {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: 133
                      valueRange:
                        base: {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: 134
                      valueString:
                        base: {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: 135
                  amountType:
                    url: null
                    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'
                    isModifier: false
                    index: 136
                    elements:
                      value:
                        base: {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: 138
                      valueCodeableConcept:
                        base: {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: 139
                  amountText:
                    url: null
                    short: A textual comment on a numeric value
                    isModifier: false
                    index: 140
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: A textual comment on a numeric value
                        choices: [valueString]
                        index: 142
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: A textual comment on a numeric value
                        choiceOf: value
                        index: 143
                  referenceRange:
                    url: null
                    short: Reference range of possible or expected values
                    isModifier: false
                    index: 144
                    extensions:
                      lowLimit:
                        url: null
                        short: Lower limit possible or expected
                        isModifier: false
                        index: 146
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 148
                          valueQuantity:
                            base: {path: 'Extension.value[x]'}
                            type: Quantity
                            short: Lower limit possible or expected
                            choiceOf: value
                            index: 149
                      highLimit:
                        url: null
                        short: Upper limit possible or expected
                        isModifier: false
                        index: 150
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 152
                          valueQuantity:
                            base: {path: 'Extension.value[x]'}
                            type: Quantity
                            short: Upper limit possible or expected
                            choiceOf: value
                            index: 153
                    elements:
                      extension:
                        array: true
                        index: 145
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            lowLimit:
                              match: {url: null}
                              schema:
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                            highLimit:
                              match: {url: null}
                              schema:
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                elements:
                  extension:
                    type: Extension
                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    index: 126
                    slicing:
                      slices:
                        _datatype:
                          match: {}
                          schema:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            index: 126
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                pattern: {type: string, value: SubstanceAmount}
                                choices: [valueString]
                                type: string
                                index: 128
                              valueString:
                                type: string
                                pattern: {type: string, value: SubstanceAmount}
                                base: {path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 129
                            required: [value, valueString]
                        amount[x]:
                          match: {}
                          schema:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            isModifier: false
                            index: 130
                            elements:
                              value:
                                base: {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: 132
                              valueQuantity:
                                base: {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: 133
                              valueRange:
                                base: {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: 134
                              valueString:
                                base: {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: 135
                        amountType:
                          match: {}
                          schema:
                            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'
                            isModifier: false
                            index: 136
                            elements:
                              value:
                                base: {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: 138
                              valueCodeableConcept:
                                base: {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: 139
                        amountText:
                          match: {}
                          schema:
                            short: A textual comment on a numeric value
                            isModifier: false
                            index: 140
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 142
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 143
                        referenceRange:
                          match: {}
                          schema:
                            short: Reference range of possible or expected values
                            isModifier: false
                            index: 144
                            extensions:
                              lowLimit:
                                url: null
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                              highLimit:
                                url: null
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                            elements:
                              extension:
                                array: true
                                index: 145
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: null}
                                      schema:
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                    highLimit:
                                      match: {url: null}
                                      schema:
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
            elements:
              extension:
                array: true
                index: 120
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    degree:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 121
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 123
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 124
                    amount:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 125
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 126
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                pattern: {type: string, value: SubstanceAmount}
                                choices: [valueString]
                                type: string
                                index: 128
                              valueString:
                                type: string
                                pattern: {type: string, value: SubstanceAmount}
                                base: {path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 129
                            required: [value, valueString]
                          amount[x]:
                            url: null
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            isModifier: false
                            index: 130
                            elements:
                              value:
                                base: {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: 132
                              valueQuantity:
                                base: {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: 133
                              valueRange:
                                base: {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: 134
                              valueString:
                                base: {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: 135
                          amountType:
                            url: null
                            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'
                            isModifier: false
                            index: 136
                            elements:
                              value:
                                base: {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: 138
                              valueCodeableConcept:
                                base: {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: 139
                          amountText:
                            url: null
                            short: A textual comment on a numeric value
                            isModifier: false
                            index: 140
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 142
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 143
                          referenceRange:
                            url: null
                            short: Reference range of possible or expected values
                            isModifier: false
                            index: 144
                            extensions:
                              lowLimit:
                                url: null
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                              highLimit:
                                url: null
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                            elements:
                              extension:
                                array: true
                                index: 145
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: null}
                                      schema:
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                    highLimit:
                                      match: {url: null}
                                      schema:
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                        elements:
                          extension:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            index: 126
                            slicing:
                              slices:
                                _datatype:
                                  match: {}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                amount[x]:
                                  match: {}
                                  schema:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                amountType:
                                  match: {}
                                  schema:
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                amountText:
                                  match: {}
                                  schema:
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                referenceRange:
                                  match: {}
                                  schema:
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
          structuralRepresentation:
            url: null
            short: Todo
            isModifier: false
            array: true
            index: 154
            extensions:
              type:
                url: null
                short: Todo
                isModifier: false
                index: 156
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 158
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 159
              representation:
                url: null
                short: Todo
                isModifier: false
                index: 160
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 162
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 163
              attachment:
                url: null
                short: Todo
                isModifier: false
                index: 164
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueAttachment]
                    index: 166
                  valueAttachment:
                    base: {path: 'Extension.value[x]'}
                    type: Attachment
                    short: Todo
                    choiceOf: value
                    index: 167
            elements:
              extension:
                array: true
                index: 155
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    type:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 156
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 158
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 159
                    representation:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 160
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 162
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 163
                    attachment:
                      match: {url: null}
                      schema:
                        short: Todo
                        isModifier: false
                        index: 164
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 166
                          valueAttachment:
                            base: {path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 167
        elements:
          extension:
            array: true
            index: 81
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                orientationOfPolymerisation:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 82
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 84
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 85
                repeatUnit:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 86
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 88
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 89
                amount:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    index: 90
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 91
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 93
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 94
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 95
                        elements:
                          value:
                            base: {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: 97
                          valueQuantity:
                            base: {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: 98
                          valueRange:
                            base: {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: 99
                          valueString:
                            base: {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: 100
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 101
                        elements:
                          value:
                            base: {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: 103
                          valueCodeableConcept:
                            base: {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: 104
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 105
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 107
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 108
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 109
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 111
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 113
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 114
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 115
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 117
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 118
                        elements:
                          extension:
                            array: true
                            index: 110
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 91
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                degreeOfPolymerisation:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    array: true
                    index: 119
                    extensions:
                      degree:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 121
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 123
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 124
                      amount:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 125
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 126
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                pattern: {type: string, value: SubstanceAmount}
                                choices: [valueString]
                                type: string
                                index: 128
                              valueString:
                                type: string
                                pattern: {type: string, value: SubstanceAmount}
                                base: {path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 129
                            required: [value, valueString]
                          amount[x]:
                            url: null
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            isModifier: false
                            index: 130
                            elements:
                              value:
                                base: {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: 132
                              valueQuantity:
                                base: {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: 133
                              valueRange:
                                base: {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: 134
                              valueString:
                                base: {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: 135
                          amountType:
                            url: null
                            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'
                            isModifier: false
                            index: 136
                            elements:
                              value:
                                base: {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: 138
                              valueCodeableConcept:
                                base: {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: 139
                          amountText:
                            url: null
                            short: A textual comment on a numeric value
                            isModifier: false
                            index: 140
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 142
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 143
                          referenceRange:
                            url: null
                            short: Reference range of possible or expected values
                            isModifier: false
                            index: 144
                            extensions:
                              lowLimit:
                                url: null
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                              highLimit:
                                url: null
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                            elements:
                              extension:
                                array: true
                                index: 145
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: null}
                                      schema:
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                    highLimit:
                                      match: {url: null}
                                      schema:
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                        elements:
                          extension:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            index: 126
                            slicing:
                              slices:
                                _datatype:
                                  match: {}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                amount[x]:
                                  match: {}
                                  schema:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                amountType:
                                  match: {}
                                  schema:
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                amountText:
                                  match: {}
                                  schema:
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                referenceRange:
                                  match: {}
                                  schema:
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                    elements:
                      extension:
                        array: true
                        index: 120
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                            amount:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                structuralRepresentation:
                  match: {url: null}
                  schema:
                    short: Todo
                    isModifier: false
                    array: true
                    index: 154
                    extensions:
                      type:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 156
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 158
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 159
                      representation:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 160
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 162
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 163
                      attachment:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 164
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 166
                          valueAttachment:
                            base: {path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 167
                    elements:
                      extension:
                        array: true
                        index: 155
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                            representation:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                            attachment:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
    elements:
      extension:
        array: true
        index: 67
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            numberOfUnits:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                index: 68
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueInteger]
                    index: 70
                  valueInteger:
                    base: {path: 'Extension.value[x]'}
                    type: integer
                    short: Todo
                    choiceOf: value
                    index: 71
            averageMolecularFormula:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                index: 72
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 74
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 75
            repeatUnitAmountType:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                index: 76
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 78
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 79
            repeatUnit:
              match: {url: null}
              schema:
                short: Todo
                isModifier: false
                array: true
                index: 80
                extensions:
                  orientationOfPolymerisation:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 82
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 84
                      valueCodeableConcept:
                        base: {path: 'Extension.value[x]'}
                        type: CodeableConcept
                        short: Todo
                        choiceOf: value
                        index: 85
                  repeatUnit:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 86
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 88
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Todo
                        choiceOf: value
                        index: 89
                  amount:
                    url: null
                    short: Todo
                    isModifier: false
                    index: 90
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        index: 91
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            pattern: {type: string, value: SubstanceAmount}
                            choices: [valueString]
                            type: string
                            index: 93
                          valueString:
                            type: string
                            pattern: {type: string, value: SubstanceAmount}
                            base: {path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 94
                        required: [value, valueString]
                      amount[x]:
                        url: null
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        isModifier: false
                        index: 95
                        elements:
                          value:
                            base: {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: 97
                          valueQuantity:
                            base: {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: 98
                          valueRange:
                            base: {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: 99
                          valueString:
                            base: {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: 100
                      amountType:
                        url: null
                        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'
                        isModifier: false
                        index: 101
                        elements:
                          value:
                            base: {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: 103
                          valueCodeableConcept:
                            base: {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: 104
                      amountText:
                        url: null
                        short: A textual comment on a numeric value
                        isModifier: false
                        index: 105
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 107
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: A textual comment on a numeric value
                            choiceOf: value
                            index: 108
                      referenceRange:
                        url: null
                        short: Reference range of possible or expected values
                        isModifier: false
                        index: 109
                        extensions:
                          lowLimit:
                            url: null
                            short: Lower limit possible or expected
                            isModifier: false
                            index: 111
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 113
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Lower limit possible or expected
                                choiceOf: value
                                index: 114
                          highLimit:
                            url: null
                            short: Upper limit possible or expected
                            isModifier: false
                            index: 115
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 117
                              valueQuantity:
                                base: {path: 'Extension.value[x]'}
                                type: Quantity
                                short: Upper limit possible or expected
                                choiceOf: value
                                index: 118
                        elements:
                          extension:
                            array: true
                            index: 110
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: null}
                                  schema:
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                highLimit:
                                  match: {url: null}
                                  schema:
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                    elements:
                      extension:
                        type: Extension
                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        index: 91
                        slicing:
                          slices:
                            _datatype:
                              match: {}
                              schema:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                            amount[x]:
                              match: {}
                              schema:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                            amountType:
                              match: {}
                              schema:
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                            amountText:
                              match: {}
                              schema:
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                            referenceRange:
                              match: {}
                              schema:
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                  degreeOfPolymerisation:
                    url: null
                    short: Todo
                    isModifier: false
                    array: true
                    index: 119
                    extensions:
                      degree:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 121
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 123
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 124
                      amount:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 125
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            index: 126
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                pattern: {type: string, value: SubstanceAmount}
                                choices: [valueString]
                                type: string
                                index: 128
                              valueString:
                                type: string
                                pattern: {type: string, value: SubstanceAmount}
                                base: {path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 129
                            required: [value, valueString]
                          amount[x]:
                            url: null
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            isModifier: false
                            index: 130
                            elements:
                              value:
                                base: {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: 132
                              valueQuantity:
                                base: {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: 133
                              valueRange:
                                base: {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: 134
                              valueString:
                                base: {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: 135
                          amountType:
                            url: null
                            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'
                            isModifier: false
                            index: 136
                            elements:
                              value:
                                base: {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: 138
                              valueCodeableConcept:
                                base: {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: 139
                          amountText:
                            url: null
                            short: A textual comment on a numeric value
                            isModifier: false
                            index: 140
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 142
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: A textual comment on a numeric value
                                choiceOf: value
                                index: 143
                          referenceRange:
                            url: null
                            short: Reference range of possible or expected values
                            isModifier: false
                            index: 144
                            extensions:
                              lowLimit:
                                url: null
                                short: Lower limit possible or expected
                                isModifier: false
                                index: 146
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 148
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Lower limit possible or expected
                                    choiceOf: value
                                    index: 149
                              highLimit:
                                url: null
                                short: Upper limit possible or expected
                                isModifier: false
                                index: 150
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 152
                                  valueQuantity:
                                    base: {path: 'Extension.value[x]'}
                                    type: Quantity
                                    short: Upper limit possible or expected
                                    choiceOf: value
                                    index: 153
                            elements:
                              extension:
                                array: true
                                index: 145
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: null}
                                      schema:
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                    highLimit:
                                      match: {url: null}
                                      schema:
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                        elements:
                          extension:
                            type: Extension
                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            index: 126
                            slicing:
                              slices:
                                _datatype:
                                  match: {}
                                  schema:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                amount[x]:
                                  match: {}
                                  schema:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                amountType:
                                  match: {}
                                  schema:
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                amountText:
                                  match: {}
                                  schema:
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                referenceRange:
                                  match: {}
                                  schema:
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                    elements:
                      extension:
                        array: true
                        index: 120
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            degree:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                            amount:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                  structuralRepresentation:
                    url: null
                    short: Todo
                    isModifier: false
                    array: true
                    index: 154
                    extensions:
                      type:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 156
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 158
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 159
                      representation:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 160
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 162
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 163
                      attachment:
                        url: null
                        short: Todo
                        isModifier: false
                        index: 164
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueAttachment]
                            index: 166
                          valueAttachment:
                            base: {path: 'Extension.value[x]'}
                            type: Attachment
                            short: Todo
                            choiceOf: value
                            index: 167
                    elements:
                      extension:
                        array: true
                        index: 155
                        slicing:
                          rules: closed
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                            representation:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                            attachment:
                              match: {url: null}
                              schema:
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
                elements:
                  extension:
                    array: true
                    index: 81
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        orientationOfPolymerisation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 82
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 84
                              valueCodeableConcept:
                                base: {path: 'Extension.value[x]'}
                                type: CodeableConcept
                                short: Todo
                                choiceOf: value
                                index: 85
                        repeatUnit:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 86
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 88
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Todo
                                choiceOf: value
                                index: 89
                        amount:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            index: 90
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                index: 91
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    pattern: {type: string, value: SubstanceAmount}
                                    choices: [valueString]
                                    type: string
                                    index: 93
                                  valueString:
                                    type: string
                                    pattern: {type: string, value: SubstanceAmount}
                                    base: {path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 94
                                required: [value, valueString]
                              amount[x]:
                                url: null
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                isModifier: false
                                index: 95
                                elements:
                                  value:
                                    base: {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: 97
                                  valueQuantity:
                                    base: {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: 98
                                  valueRange:
                                    base: {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: 99
                                  valueString:
                                    base: {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: 100
                              amountType:
                                url: null
                                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'
                                isModifier: false
                                index: 101
                                elements:
                                  value:
                                    base: {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: 103
                                  valueCodeableConcept:
                                    base: {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: 104
                              amountText:
                                url: null
                                short: A textual comment on a numeric value
                                isModifier: false
                                index: 105
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 107
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: A textual comment on a numeric value
                                    choiceOf: value
                                    index: 108
                              referenceRange:
                                url: null
                                short: Reference range of possible or expected values
                                isModifier: false
                                index: 109
                                extensions:
                                  lowLimit:
                                    url: null
                                    short: Lower limit possible or expected
                                    isModifier: false
                                    index: 111
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 113
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Lower limit possible or expected
                                        choiceOf: value
                                        index: 114
                                  highLimit:
                                    url: null
                                    short: Upper limit possible or expected
                                    isModifier: false
                                    index: 115
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 117
                                      valueQuantity:
                                        base: {path: 'Extension.value[x]'}
                                        type: Quantity
                                        short: Upper limit possible or expected
                                        choiceOf: value
                                        index: 118
                                elements:
                                  extension:
                                    array: true
                                    index: 110
                                    slicing:
                                      rules: closed
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: null}
                                          schema:
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                        highLimit:
                                          match: {url: null}
                                          schema:
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                            elements:
                              extension:
                                type: Extension
                                short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                index: 91
                                slicing:
                                  slices:
                                    _datatype:
                                      match: {}
                                      schema:
                                        type: Extension
                                        short: Data type name for SubstancePolymer.repeat.repeatUnit.amount from FHIR R4
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        index: 91
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            pattern: {type: string, value: SubstanceAmount}
                                            choices: [valueString]
                                            type: string
                                            index: 93
                                          valueString:
                                            type: string
                                            pattern: {type: string, value: SubstanceAmount}
                                            base: {path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 94
                                        required: [value, valueString]
                                    amount[x]:
                                      match: {}
                                      schema:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        isModifier: false
                                        index: 95
                                        elements:
                                          value:
                                            base: {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: 97
                                          valueQuantity:
                                            base: {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: 98
                                          valueRange:
                                            base: {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: 99
                                          valueString:
                                            base: {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: 100
                                    amountType:
                                      match: {}
                                      schema:
                                        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'
                                        isModifier: false
                                        index: 101
                                        elements:
                                          value:
                                            base: {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: 103
                                          valueCodeableConcept:
                                            base: {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: 104
                                    amountText:
                                      match: {}
                                      schema:
                                        short: A textual comment on a numeric value
                                        isModifier: false
                                        index: 105
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 107
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: A textual comment on a numeric value
                                            choiceOf: value
                                            index: 108
                                    referenceRange:
                                      match: {}
                                      schema:
                                        short: Reference range of possible or expected values
                                        isModifier: false
                                        index: 109
                                        extensions:
                                          lowLimit:
                                            url: null
                                            short: Lower limit possible or expected
                                            isModifier: false
                                            index: 111
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 113
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Lower limit possible or expected
                                                choiceOf: value
                                                index: 114
                                          highLimit:
                                            url: null
                                            short: Upper limit possible or expected
                                            isModifier: false
                                            index: 115
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 117
                                              valueQuantity:
                                                base: {path: 'Extension.value[x]'}
                                                type: Quantity
                                                short: Upper limit possible or expected
                                                choiceOf: value
                                                index: 118
                                        elements:
                                          extension:
                                            array: true
                                            index: 110
                                            slicing:
                                              rules: closed
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Lower limit possible or expected
                                                    isModifier: false
                                                    index: 111
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 113
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Lower limit possible or expected
                                                        choiceOf: value
                                                        index: 114
                                                highLimit:
                                                  match: {url: null}
                                                  schema:
                                                    short: Upper limit possible or expected
                                                    isModifier: false
                                                    index: 115
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 117
                                                      valueQuantity:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: Quantity
                                                        short: Upper limit possible or expected
                                                        choiceOf: value
                                                        index: 118
                        degreeOfPolymerisation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            array: true
                            index: 119
                            extensions:
                              degree:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 121
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 123
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 124
                              amount:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 125
                                extensions:
                                  _datatype:
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    index: 126
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        pattern: {type: string, value: SubstanceAmount}
                                        choices: [valueString]
                                        type: string
                                        index: 128
                                      valueString:
                                        type: string
                                        pattern: {type: string, value: SubstanceAmount}
                                        base: {path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 129
                                    required: [value, valueString]
                                  amount[x]:
                                    url: null
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    isModifier: false
                                    index: 130
                                    elements:
                                      value:
                                        base: {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: 132
                                      valueQuantity:
                                        base: {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: 133
                                      valueRange:
                                        base: {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: 134
                                      valueString:
                                        base: {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: 135
                                  amountType:
                                    url: null
                                    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'
                                    isModifier: false
                                    index: 136
                                    elements:
                                      value:
                                        base: {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: 138
                                      valueCodeableConcept:
                                        base: {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: 139
                                  amountText:
                                    url: null
                                    short: A textual comment on a numeric value
                                    isModifier: false
                                    index: 140
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 142
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: A textual comment on a numeric value
                                        choiceOf: value
                                        index: 143
                                  referenceRange:
                                    url: null
                                    short: Reference range of possible or expected values
                                    isModifier: false
                                    index: 144
                                    extensions:
                                      lowLimit:
                                        url: null
                                        short: Lower limit possible or expected
                                        isModifier: false
                                        index: 146
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 148
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Lower limit possible or expected
                                            choiceOf: value
                                            index: 149
                                      highLimit:
                                        url: null
                                        short: Upper limit possible or expected
                                        isModifier: false
                                        index: 150
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 152
                                          valueQuantity:
                                            base: {path: 'Extension.value[x]'}
                                            type: Quantity
                                            short: Upper limit possible or expected
                                            choiceOf: value
                                            index: 153
                                    elements:
                                      extension:
                                        array: true
                                        index: 145
                                        slicing:
                                          rules: closed
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: null}
                                              schema:
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                            highLimit:
                                              match: {url: null}
                                              schema:
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                elements:
                                  extension:
                                    type: Extension
                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                    index: 126
                                    slicing:
                                      slices:
                                        _datatype:
                                          match: {}
                                          schema:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                        amount[x]:
                                          match: {}
                                          schema:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                        amountType:
                                          match: {}
                                          schema:
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                        amountText:
                                          match: {}
                                          schema:
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                        referenceRange:
                                          match: {}
                                          schema:
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                            elements:
                              extension:
                                array: true
                                index: 120
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    degree:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 121
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 123
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 124
                                    amount:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 125
                                        extensions:
                                          _datatype:
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            index: 126
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                pattern: {type: string, value: SubstanceAmount}
                                                choices: [valueString]
                                                type: string
                                                index: 128
                                              valueString:
                                                type: string
                                                pattern: {type: string, value: SubstanceAmount}
                                                base: {path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 129
                                            required: [value, valueString]
                                          amount[x]:
                                            url: null
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            isModifier: false
                                            index: 130
                                            elements:
                                              value:
                                                base: {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: 132
                                              valueQuantity:
                                                base: {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: 133
                                              valueRange:
                                                base: {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: 134
                                              valueString:
                                                base: {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: 135
                                          amountType:
                                            url: null
                                            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'
                                            isModifier: false
                                            index: 136
                                            elements:
                                              value:
                                                base: {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: 138
                                              valueCodeableConcept:
                                                base: {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: 139
                                          amountText:
                                            url: null
                                            short: A textual comment on a numeric value
                                            isModifier: false
                                            index: 140
                                            elements:
                                              value:
                                                base: {path: 'Extension.value[x]'}
                                                short: A textual comment on a numeric value
                                                choices: [valueString]
                                                index: 142
                                              valueString:
                                                base: {path: 'Extension.value[x]'}
                                                type: string
                                                short: A textual comment on a numeric value
                                                choiceOf: value
                                                index: 143
                                          referenceRange:
                                            url: null
                                            short: Reference range of possible or expected values
                                            isModifier: false
                                            index: 144
                                            extensions:
                                              lowLimit:
                                                url: null
                                                short: Lower limit possible or expected
                                                isModifier: false
                                                index: 146
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 148
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Lower limit possible or expected
                                                    choiceOf: value
                                                    index: 149
                                              highLimit:
                                                url: null
                                                short: Upper limit possible or expected
                                                isModifier: false
                                                index: 150
                                                elements:
                                                  value:
                                                    base: {path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 152
                                                  valueQuantity:
                                                    base: {path: 'Extension.value[x]'}
                                                    type: Quantity
                                                    short: Upper limit possible or expected
                                                    choiceOf: value
                                                    index: 153
                                            elements:
                                              extension:
                                                array: true
                                                index: 145
                                                slicing:
                                                  rules: closed
                                                  ordered: false
                                                  discriminator:
                                                  - {path: url, type: value}
                                                  min: 0
                                                  slices:
                                                    lowLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                    highLimit:
                                                      match: {url: null}
                                                      schema:
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                        elements:
                                          extension:
                                            type: Extension
                                            short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                                            index: 126
                                            slicing:
                                              slices:
                                                _datatype:
                                                  match: {}
                                                  schema:
                                                    type: Extension
                                                    short: Data type name for SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount from FHIR R4
                                                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                                                    index: 126
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        choices: [valueString]
                                                        type: string
                                                        index: 128
                                                      valueString:
                                                        type: string
                                                        pattern: {type: string, value: SubstanceAmount}
                                                        base: {path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 129
                                                    required: [value, valueString]
                                                amount[x]:
                                                  match: {}
                                                  schema:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    isModifier: false
                                                    index: 130
                                                    elements:
                                                      value:
                                                        base: {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: 132
                                                      valueQuantity:
                                                        base: {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: 133
                                                      valueRange:
                                                        base: {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: 134
                                                      valueString:
                                                        base: {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: 135
                                                amountType:
                                                  match: {}
                                                  schema:
                                                    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'
                                                    isModifier: false
                                                    index: 136
                                                    elements:
                                                      value:
                                                        base: {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: 138
                                                      valueCodeableConcept:
                                                        base: {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: 139
                                                amountText:
                                                  match: {}
                                                  schema:
                                                    short: A textual comment on a numeric value
                                                    isModifier: false
                                                    index: 140
                                                    elements:
                                                      value:
                                                        base: {path: 'Extension.value[x]'}
                                                        short: A textual comment on a numeric value
                                                        choices: [valueString]
                                                        index: 142
                                                      valueString:
                                                        base: {path: 'Extension.value[x]'}
                                                        type: string
                                                        short: A textual comment on a numeric value
                                                        choiceOf: value
                                                        index: 143
                                                referenceRange:
                                                  match: {}
                                                  schema:
                                                    short: Reference range of possible or expected values
                                                    isModifier: false
                                                    index: 144
                                                    extensions:
                                                      lowLimit:
                                                        url: null
                                                        short: Lower limit possible or expected
                                                        isModifier: false
                                                        index: 146
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Lower limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 148
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Lower limit possible or expected
                                                            choiceOf: value
                                                            index: 149
                                                      highLimit:
                                                        url: null
                                                        short: Upper limit possible or expected
                                                        isModifier: false
                                                        index: 150
                                                        elements:
                                                          value:
                                                            base: {path: 'Extension.value[x]'}
                                                            short: Upper limit possible or expected
                                                            choices: [valueQuantity]
                                                            index: 152
                                                          valueQuantity:
                                                            base: {path: 'Extension.value[x]'}
                                                            type: Quantity
                                                            short: Upper limit possible or expected
                                                            choiceOf: value
                                                            index: 153
                                                    elements:
                                                      extension:
                                                        array: true
                                                        index: 145
                                                        slicing:
                                                          rules: closed
                                                          ordered: false
                                                          discriminator:
                                                          - {path: url, type: value}
                                                          min: 0
                                                          slices:
                                                            lowLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Lower limit possible or expected
                                                                isModifier: false
                                                                index: 146
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Lower limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 148
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Lower limit possible or expected
                                                                    choiceOf: value
                                                                    index: 149
                                                            highLimit:
                                                              match: {url: null}
                                                              schema:
                                                                short: Upper limit possible or expected
                                                                isModifier: false
                                                                index: 150
                                                                elements:
                                                                  value:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    short: Upper limit possible or expected
                                                                    choices: [valueQuantity]
                                                                    index: 152
                                                                  valueQuantity:
                                                                    base: {path: 'Extension.value[x]'}
                                                                    type: Quantity
                                                                    short: Upper limit possible or expected
                                                                    choiceOf: value
                                                                    index: 153
                        structuralRepresentation:
                          match: {url: null}
                          schema:
                            short: Todo
                            isModifier: false
                            array: true
                            index: 154
                            extensions:
                              type:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 156
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueCodeableConcept]
                                    index: 158
                                  valueCodeableConcept:
                                    base: {path: 'Extension.value[x]'}
                                    type: CodeableConcept
                                    short: Todo
                                    choiceOf: value
                                    index: 159
                              representation:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 160
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueString]
                                    index: 162
                                  valueString:
                                    base: {path: 'Extension.value[x]'}
                                    type: string
                                    short: Todo
                                    choiceOf: value
                                    index: 163
                              attachment:
                                url: null
                                short: Todo
                                isModifier: false
                                index: 164
                                elements:
                                  value:
                                    base: {path: 'Extension.value[x]'}
                                    short: Todo
                                    choices: [valueAttachment]
                                    index: 166
                                  valueAttachment:
                                    base: {path: 'Extension.value[x]'}
                                    type: Attachment
                                    short: Todo
                                    choiceOf: value
                                    index: 167
                            elements:
                              extension:
                                array: true
                                index: 155
                                slicing:
                                  rules: closed
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 156
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueCodeableConcept]
                                            index: 158
                                          valueCodeableConcept:
                                            base: {path: 'Extension.value[x]'}
                                            type: CodeableConcept
                                            short: Todo
                                            choiceOf: value
                                            index: 159
                                    representation:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 160
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueString]
                                            index: 162
                                          valueString:
                                            base: {path: 'Extension.value[x]'}
                                            type: string
                                            short: Todo
                                            choiceOf: value
                                            index: 163
                                    attachment:
                                      match: {url: null}
                                      schema:
                                        short: Todo
                                        isModifier: false
                                        index: 164
                                        elements:
                                          value:
                                            base: {path: 'Extension.value[x]'}
                                            short: Todo
                                            choices: [valueAttachment]
                                            index: 166
                                          valueAttachment:
                                            base: {path: 'Extension.value[x]'}
                                            type: Attachment
                                            short: Todo
                                            choiceOf: value
                                            index: 167
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.0.1-snapshot-1
required: [url]