PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4.r3@0.1.0
    http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer.repeat
description: 'R4: `SubstancePolymer.repeat` (new:BackboneElement)'
package_name: hl7.fhir.uv.xver-r4.r3
derivation: constraint
name: ExtensionSubstancePolymer_Repeat
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        numberOfUnits:
          match: {url: numberOfUnits}
          schema:
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: numberOfUnits}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueInteger]
                index: 4
              valueInteger:
                short: Todo
                type: integer
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 5
            required: [url]
        averageMolecularFormula:
          match: {url: averageMolecularFormula}
          schema:
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: averageMolecularFormula}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 9
              valueString:
                short: Todo
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 10
            required: [url]
        repeatUnitAmountType:
          match: {url: repeatUnitAmountType}
          schema:
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: repeatUnitAmountType}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 14
              valueCodeableConcept:
                short: Todo
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 15
            required: [url]
        repeatUnit:
          match: {url: repeatUnit}
          schema:
            short: 'R4: Todo (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 16
            extensions:
              orientationOfPolymerisation:
                url: orientationOfPolymerisation
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: orientationOfPolymerisation}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    short: Todo
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 22
                required: [url]
              repeatUnit:
                url: repeatUnit
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnit}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 26
                  valueString:
                    short: Todo
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 27
                required: [url]
              amount:
                url: amount
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4 `SubstanceAmount` value
                    _required: true
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceAmount}
                        choices: [valueString]
                        index: 33
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceAmount}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url, valueString, value]
                  amount:
                    url: amount
                    short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choices: [valueQuantity, valueRange, valueString]
                        index: 38
                      valueQuantity:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                      valueRange:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Range
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 40
                      valueString:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 41
                    required: [url]
                  amountType:
                    url: amountType
                    short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 42
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountType}
                        index: 43
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        choices: [valueCodeableConcept]
                        index: 45
                      valueCodeableConcept:
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 46
                    required: [url]
                  amountText:
                    url: amountText
                    short: 'R4: A textual comment on a numeric value (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 47
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountText}
                        index: 48
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A textual comment on a numeric value
                        choices: [valueString]
                        index: 50
                      valueString:
                        short: A textual comment on a numeric value
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 51
                    required: [url]
                  referenceRange:
                    url: referenceRange
                    short: 'R4: Reference range of possible or expected values (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 52
                    extensions:
                      lowLimit:
                        url: lowLimit
                        short: 'R4: Lower limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lowLimit}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 57
                          valueQuantity:
                            short: Lower limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 58
                        required: [url]
                      highLimit:
                        url: highLimit
                        short: 'R4: Upper limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: highLimit}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 62
                          valueQuantity:
                            short: Upper limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 63
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 53
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            lowLimit:
                              match: {url: lowLimit}
                              schema:
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            highLimit:
                              match: {url: highLimit}
                              schema:
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: referenceRange}
                        index: 64
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 66
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 29
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4 `SubstanceAmount` value
                            _required: true
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 33
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url, valueString, value]
                        amount:
                          match: {url: amount}
                          schema:
                            short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 38
                              valueQuantity:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                              valueRange:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Range
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 40
                              valueString:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 41
                            required: [url]
                        amountType:
                          match: {url: amountType}
                          schema:
                            short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 42
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 43
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 45
                              valueCodeableConcept:
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 46
                            required: [url]
                        amountText:
                          match: {url: amountText}
                          schema:
                            short: 'R4: A textual comment on a numeric value (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 47
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 48
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 50
                              valueString:
                                short: A textual comment on a numeric value
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 51
                            required: [url]
                        referenceRange:
                          match: {url: referenceRange}
                          schema:
                            short: 'R4: Reference range of possible or expected values (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 52
                            extensions:
                              lowLimit:
                                url: lowLimit
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              highLimit:
                                url: highLimit
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 53
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        short: 'R4: Lower limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 57
                                          valueQuantity:
                                            short: Lower limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        short: 'R4: Upper limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 62
                                          valueQuantity:
                                            short: Upper limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 64
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 66
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 67
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 69
                required: [url]
              degreeOfPolymerisation:
                url: degreeOfPolymerisation
                short: 'R4: Todo (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 70
                extensions:
                  degree:
                    url: degree
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 72
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degree}
                        index: 73
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 75
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 76
                    required: [url]
                  amount:
                    url: amount
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 77
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                        _required: true
                        index: 79
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 80
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 82
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 83
                        required: [url, valueString, value]
                      amount:
                        url: amount
                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 84
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 85
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 87
                          valueQuantity:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 88
                          valueRange:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 89
                          valueString:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 90
                        required: [url]
                      amountType:
                        url: amountType
                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 91
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 92
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 94
                          valueCodeableConcept:
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 95
                        required: [url]
                      amountText:
                        url: amountText
                        short: 'R4: A textual comment on a numeric value (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 96
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 97
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 99
                          valueString:
                            short: A textual comment on a numeric value
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 100
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        short: 'R4: Reference range of possible or expected values (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 101
                        extensions:
                          lowLimit:
                            url: lowLimit
                            short: 'R4: Lower limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 106
                              valueQuantity:
                                short: Lower limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 107
                            required: [url]
                          highLimit:
                            url: highLimit
                            short: 'R4: Upper limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 111
                              valueQuantity:
                                short: Upper limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 112
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 102
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 113
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 115
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 78
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            _datatype:
                              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                            amount:
                              match: {url: amount}
                              schema:
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 118
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 71
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        degree:
                          match: {url: degree}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 72
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degree}
                                index: 73
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 75
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 76
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 77
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                              amount:
                                url: amount
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                              amountType:
                                url: amountType
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                              amountText:
                                url: amountText
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 78
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    _datatype:
                                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                        _required: true
                                        index: 79
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                            index: 80
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 82
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 83
                                        required: [url, valueString, value]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 84
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 85
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 87
                                          valueQuantity:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 88
                                          valueRange:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 89
                                          valueString:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 90
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 91
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 92
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 94
                                          valueCodeableConcept:
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 95
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        short: 'R4: A textual comment on a numeric value (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 96
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 97
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 99
                                          valueString:
                                            short: A textual comment on a numeric value
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 100
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        short: 'R4: Reference range of possible or expected values (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 101
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 102
                                            slicing:
                                              rules: open
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    short: 'R4: Lower limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 103
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 104
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 106
                                                      valueQuantity:
                                                        short: Lower limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 107
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    short: 'R4: Upper limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 108
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 109
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 111
                                                      valueQuantity:
                                                        short: Upper limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 112
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 113
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choices: []
                                            index: 115
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 118
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: degreeOfPolymerisation}
                    index: 119
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 121
                required: [url]
              structuralRepresentation:
                url: structuralRepresentation
                short: 'R4: Todo (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 122
                extensions:
                  type:
                    url: type
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 124
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 125
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 127
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 128
                    required: [url]
                  representation:
                    url: representation
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 129
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 130
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 132
                      valueString:
                        short: Todo
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 133
                    required: [url]
                  attachment:
                    url: attachment
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 134
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: attachment}
                        index: 135
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueAttachment]
                        index: 137
                      valueAttachment:
                        short: Todo
                        type: Attachment
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 138
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 123
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        type:
                          match: {url: type}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 124
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 125
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 127
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 128
                            required: [url]
                        representation:
                          match: {url: representation}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 129
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 130
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 132
                              valueString:
                                short: Todo
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 133
                            required: [url]
                        attachment:
                          match: {url: attachment}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: attachment}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueAttachment]
                                index: 137
                              valueAttachment:
                                short: Todo
                                type: Attachment
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 138
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: structuralRepresentation}
                    index: 139
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 141
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 17
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    orientationOfPolymerisation:
                      match: {url: orientationOfPolymerisation}
                      schema:
                        short: 'R4: Todo (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 18
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: orientationOfPolymerisation}
                            index: 19
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 21
                          valueCodeableConcept:
                            short: Todo
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 22
                        required: [url]
                    repeatUnit:
                      match: {url: repeatUnit}
                      schema:
                        short: 'R4: Todo (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 23
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: repeatUnit}
                            index: 24
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueString]
                            index: 26
                          valueString:
                            short: Todo
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 27
                        required: [url]
                    amount:
                      match: {url: amount}
                      schema:
                        short: 'R4: Todo (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 28
                        extensions:
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4 `SubstanceAmount` value
                            _required: true
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 33
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url, valueString, value]
                          amount:
                            url: amount
                            short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 38
                              valueQuantity:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                              valueRange:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Range
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 40
                              valueString:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 41
                            required: [url]
                          amountType:
                            url: amountType
                            short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 42
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 43
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 45
                              valueCodeableConcept:
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 46
                            required: [url]
                          amountText:
                            url: amountText
                            short: 'R4: A textual comment on a numeric value (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 47
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 48
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 50
                              valueString:
                                short: A textual comment on a numeric value
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 51
                            required: [url]
                          referenceRange:
                            url: referenceRange
                            short: 'R4: Reference range of possible or expected values (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 52
                            extensions:
                              lowLimit:
                                url: lowLimit
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              highLimit:
                                url: highLimit
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 53
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        short: 'R4: Lower limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 57
                                          valueQuantity:
                                            short: Lower limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        short: 'R4: Upper limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 62
                                          valueQuantity:
                                            short: Upper limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 64
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 66
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 29
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                _datatype:
                                  match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                    _required: true
                                    index: 30
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                        index: 31
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: SubstanceAmount}
                                        choices: [valueString]
                                        index: 33
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: SubstanceAmount}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 34
                                    required: [url, valueString, value]
                                amount:
                                  match: {url: amount}
                                  schema:
                                    short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 35
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amount}
                                        index: 36
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        choices: [valueQuantity, valueRange, valueString]
                                        index: 38
                                      valueQuantity:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 39
                                      valueRange:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        type: Range
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 40
                                      valueString:
                                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                        type: string
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 41
                                    required: [url]
                                amountType:
                                  match: {url: amountType}
                                  schema:
                                    short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 42
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountType}
                                        index: 43
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        choices: [valueCodeableConcept]
                                        index: 45
                                      valueCodeableConcept:
                                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 46
                                    required: [url]
                                amountText:
                                  match: {url: amountText}
                                  schema:
                                    short: 'R4: A textual comment on a numeric value (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 47
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amountText}
                                        index: 48
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: A textual comment on a numeric value
                                        choices: [valueString]
                                        index: 50
                                      valueString:
                                        short: A textual comment on a numeric value
                                        type: string
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 51
                                    required: [url]
                                referenceRange:
                                  match: {url: referenceRange}
                                  schema:
                                    short: 'R4: Reference range of possible or expected values (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 52
                                    extensions:
                                      lowLimit:
                                        url: lowLimit
                                        short: 'R4: Lower limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 57
                                          valueQuantity:
                                            short: Lower limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                      highLimit:
                                        url: highLimit
                                        short: 'R4: Upper limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 62
                                          valueQuantity:
                                            short: Upper limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 53
                                        slicing:
                                          rules: open
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            lowLimit:
                                              match: {url: lowLimit}
                                              schema:
                                                short: 'R4: Lower limit possible or expected (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 54
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: lowLimit}
                                                    index: 55
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Lower limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 57
                                                  valueQuantity:
                                                    short: Lower limit possible or expected
                                                    type: Quantity
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 58
                                                required: [url]
                                            highLimit:
                                              match: {url: highLimit}
                                              schema:
                                                short: 'R4: Upper limit possible or expected (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 59
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: highLimit}
                                                    index: 60
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Upper limit possible or expected
                                                    choices: [valueQuantity]
                                                    index: 62
                                                  valueQuantity:
                                                    short: Upper limit possible or expected
                                                    type: Quantity
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 63
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: referenceRange}
                                        index: 64
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choices: []
                                        index: 66
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 67
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 69
                        required: [url]
                    degreeOfPolymerisation:
                      match: {url: degreeOfPolymerisation}
                      schema:
                        short: 'R4: Todo (new)'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 70
                        extensions:
                          degree:
                            url: degree
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 72
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degree}
                                index: 73
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 75
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 76
                            required: [url]
                          amount:
                            url: amount
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 77
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                              amount:
                                url: amount
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                              amountType:
                                url: amountType
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                              amountText:
                                url: amountText
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 78
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    _datatype:
                                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                        _required: true
                                        index: 79
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                            index: 80
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 82
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 83
                                        required: [url, valueString, value]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 84
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 85
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 87
                                          valueQuantity:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 88
                                          valueRange:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 89
                                          valueString:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 90
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 91
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 92
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 94
                                          valueCodeableConcept:
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 95
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        short: 'R4: A textual comment on a numeric value (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 96
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 97
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 99
                                          valueString:
                                            short: A textual comment on a numeric value
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 100
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        short: 'R4: Reference range of possible or expected values (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 101
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 102
                                            slicing:
                                              rules: open
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    short: 'R4: Lower limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 103
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 104
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 106
                                                      valueQuantity:
                                                        short: Lower limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 107
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    short: 'R4: Upper limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 108
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 109
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 111
                                                      valueQuantity:
                                                        short: Upper limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 112
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 113
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choices: []
                                            index: 115
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 118
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 71
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                degree:
                                  match: {url: degree}
                                  schema:
                                    short: 'R4: Todo (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 72
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: degree}
                                        index: 73
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 75
                                      valueCodeableConcept:
                                        short: Todo
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 76
                                    required: [url]
                                amount:
                                  match: {url: amount}
                                  schema:
                                    short: 'R4: Todo (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 77
                                    extensions:
                                      _datatype:
                                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                        _required: true
                                        index: 79
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                            index: 80
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 82
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 83
                                        required: [url, valueString, value]
                                      amount:
                                        url: amount
                                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 84
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 85
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 87
                                          valueQuantity:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 88
                                          valueRange:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 89
                                          valueString:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 90
                                        required: [url]
                                      amountType:
                                        url: amountType
                                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 91
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 92
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 94
                                          valueCodeableConcept:
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 95
                                        required: [url]
                                      amountText:
                                        url: amountText
                                        short: 'R4: A textual comment on a numeric value (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 96
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 97
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 99
                                          valueString:
                                            short: A textual comment on a numeric value
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 100
                                        required: [url]
                                      referenceRange:
                                        url: referenceRange
                                        short: 'R4: Reference range of possible or expected values (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 101
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 102
                                            slicing:
                                              rules: open
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    short: 'R4: Lower limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 103
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 104
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 106
                                                      valueQuantity:
                                                        short: Lower limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 107
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    short: 'R4: Upper limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 108
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 109
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 111
                                                      valueQuantity:
                                                        short: Upper limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 112
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 113
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choices: []
                                            index: 115
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 78
                                        slicing:
                                          rules: open
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            _datatype:
                                              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                              schema:
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                                _required: true
                                                index: 79
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                                    index: 80
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    choices: [valueString]
                                                    index: 82
                                                  valueString:
                                                    type: string
                                                    pattern: {type: String, value: SubstanceAmount}
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 83
                                                required: [url, valueString, value]
                                            amount:
                                              match: {url: amount}
                                              schema:
                                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 84
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amount}
                                                    index: 85
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    choices: [valueQuantity, valueRange, valueString]
                                                    index: 87
                                                  valueQuantity:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    type: Quantity
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 88
                                                  valueRange:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    type: Range
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 89
                                                  valueString:
                                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                                    type: string
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 90
                                                required: [url]
                                            amountType:
                                              match: {url: amountType}
                                              schema:
                                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 91
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountType}
                                                    index: 92
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    choices: [valueCodeableConcept]
                                                    index: 94
                                                  valueCodeableConcept:
                                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                                    type: CodeableConcept
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 95
                                                required: [url]
                                            amountText:
                                              match: {url: amountText}
                                              schema:
                                                short: 'R4: A textual comment on a numeric value (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 96
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: amountText}
                                                    index: 97
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    short: A textual comment on a numeric value
                                                    choices: [valueString]
                                                    index: 99
                                                  valueString:
                                                    short: A textual comment on a numeric value
                                                    type: string
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 100
                                                required: [url]
                                            referenceRange:
                                              match: {url: referenceRange}
                                              schema:
                                                short: 'R4: Reference range of possible or expected values (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 101
                                                extensions:
                                                  lowLimit:
                                                    url: lowLimit
                                                    short: 'R4: Lower limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 103
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 104
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 106
                                                      valueQuantity:
                                                        short: Lower limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 107
                                                    required: [url]
                                                  highLimit:
                                                    url: highLimit
                                                    short: 'R4: Upper limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 108
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 109
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 111
                                                      valueQuantity:
                                                        short: Upper limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 112
                                                    required: [url]
                                                elements:
                                                  extension:
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    array: true
                                                    index: 102
                                                    slicing:
                                                      rules: open
                                                      ordered: false
                                                      discriminator:
                                                      - {path: url, type: value}
                                                      min: 0
                                                      slices:
                                                        lowLimit:
                                                          match: {url: lowLimit}
                                                          schema:
                                                            short: 'R4: Lower limit possible or expected (new)'
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            index: 103
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: lowLimit}
                                                                index: 104
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Lower limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 106
                                                              valueQuantity:
                                                                short: Lower limit possible or expected
                                                                type: Quantity
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                choiceOf: value
                                                                index: 107
                                                            required: [url]
                                                        highLimit:
                                                          match: {url: highLimit}
                                                          schema:
                                                            short: 'R4: Upper limit possible or expected (new)'
                                                            base: {max: '*', min: 0, path: Extension.extension}
                                                            index: 108
                                                            elements:
                                                              url:
                                                                base: {max: '1', min: 1, path: Extension.url}
                                                                pattern: {type: Uri, value: highLimit}
                                                                index: 109
                                                              value:
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                short: Upper limit possible or expected
                                                                choices: [valueQuantity]
                                                                index: 111
                                                              valueQuantity:
                                                                short: Upper limit possible or expected
                                                                type: Quantity
                                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                                choiceOf: value
                                                                index: 112
                                                            required: [url]
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: referenceRange}
                                                    index: 113
                                                  value:
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choices: []
                                                    index: 115
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: amount}
                                        index: 116
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choices: []
                                        index: 118
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: degreeOfPolymerisation}
                            index: 119
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 121
                        required: [url]
                    structuralRepresentation:
                      match: {url: structuralRepresentation}
                      schema:
                        short: 'R4: Todo (new)'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 122
                        extensions:
                          type:
                            url: type
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 124
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 125
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 127
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 128
                            required: [url]
                          representation:
                            url: representation
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 129
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 130
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 132
                              valueString:
                                short: Todo
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 133
                            required: [url]
                          attachment:
                            url: attachment
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: attachment}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueAttachment]
                                index: 137
                              valueAttachment:
                                short: Todo
                                type: Attachment
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 138
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 123
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                type:
                                  match: {url: type}
                                  schema:
                                    short: 'R4: Todo (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 124
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: type}
                                        index: 125
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueCodeableConcept]
                                        index: 127
                                      valueCodeableConcept:
                                        short: Todo
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 128
                                    required: [url]
                                representation:
                                  match: {url: representation}
                                  schema:
                                    short: 'R4: Todo (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 129
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: representation}
                                        index: 130
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueString]
                                        index: 132
                                      valueString:
                                        short: Todo
                                        type: string
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 133
                                    required: [url]
                                attachment:
                                  match: {url: attachment}
                                  schema:
                                    short: 'R4: Todo (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 134
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: attachment}
                                        index: 135
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Todo
                                        choices: [valueAttachment]
                                        index: 137
                                      valueAttachment:
                                        short: Todo
                                        type: Attachment
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 138
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: structuralRepresentation}
                            index: 139
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 141
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: repeatUnit}
                index: 142
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 144
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer.repeat'}
    index: 145
  value:
    base: {max: '1', min: 0, path: 'Extension.value[x]'}
    choices: []
    index: 147
package_version: 0.1.0
extensions:
  numberOfUnits:
    url: numberOfUnits
    short: 'R4: Todo (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: numberOfUnits}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueInteger]
        index: 4
      valueInteger:
        short: Todo
        type: integer
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 5
    required: [url]
  averageMolecularFormula:
    url: averageMolecularFormula
    short: 'R4: Todo (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: averageMolecularFormula}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueString]
        index: 9
      valueString:
        short: Todo
        type: string
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 10
    required: [url]
  repeatUnitAmountType:
    url: repeatUnitAmountType
    short: 'R4: Todo (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: repeatUnitAmountType}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueCodeableConcept]
        index: 14
      valueCodeableConcept:
        short: Todo
        type: CodeableConcept
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 15
    required: [url]
  repeatUnit:
    url: repeatUnit
    short: 'R4: Todo (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 16
    extensions:
      orientationOfPolymerisation:
        url: orientationOfPolymerisation
        short: 'R4: Todo (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 18
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: orientationOfPolymerisation}
            index: 19
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 21
          valueCodeableConcept:
            short: Todo
            type: CodeableConcept
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 22
        required: [url]
      repeatUnit:
        url: repeatUnit
        short: 'R4: Todo (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 23
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: repeatUnit}
            index: 24
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueString]
            index: 26
          valueString:
            short: Todo
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 27
        required: [url]
      amount:
        url: amount
        short: 'R4: Todo (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 28
        extensions:
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype
            base: {max: '*', min: 0, path: Extension.extension}
            short: DataType slice for a FHIR R4 `SubstanceAmount` value
            _required: true
            index: 30
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                index: 31
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: SubstanceAmount}
                choices: [valueString]
                index: 33
              valueString:
                type: string
                pattern: {type: String, value: SubstanceAmount}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 34
            required: [url, valueString, value]
          amount:
            url: amount
            short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 35
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amount}
                index: 36
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                choices: [valueQuantity, valueRange, valueString]
                index: 38
              valueQuantity:
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                type: Quantity
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 39
              valueRange:
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                type: Range
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 40
              valueString:
                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 41
            required: [url]
          amountType:
            url: amountType
            short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 42
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amountType}
                index: 43
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                choices: [valueCodeableConcept]
                index: 45
              valueCodeableConcept:
                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 46
            required: [url]
          amountText:
            url: amountText
            short: 'R4: A textual comment on a numeric value (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 47
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amountText}
                index: 48
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: A textual comment on a numeric value
                choices: [valueString]
                index: 50
              valueString:
                short: A textual comment on a numeric value
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 51
            required: [url]
          referenceRange:
            url: referenceRange
            short: 'R4: Reference range of possible or expected values (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 52
            extensions:
              lowLimit:
                url: lowLimit
                short: 'R4: Lower limit possible or expected (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 54
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: lowLimit}
                    index: 55
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Lower limit possible or expected
                    choices: [valueQuantity]
                    index: 57
                  valueQuantity:
                    short: Lower limit possible or expected
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 58
                required: [url]
              highLimit:
                url: highLimit
                short: 'R4: Upper limit possible or expected (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 59
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: highLimit}
                    index: 60
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Upper limit possible or expected
                    choices: [valueQuantity]
                    index: 62
                  valueQuantity:
                    short: Upper limit possible or expected
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 63
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 53
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    lowLimit:
                      match: {url: lowLimit}
                      schema:
                        short: 'R4: Lower limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lowLimit}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 57
                          valueQuantity:
                            short: Lower limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 58
                        required: [url]
                    highLimit:
                      match: {url: highLimit}
                      schema:
                        short: 'R4: Upper limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: highLimit}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 62
                          valueQuantity:
                            short: Upper limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 63
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: referenceRange}
                index: 64
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 66
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 29
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                _datatype:
                  match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4 `SubstanceAmount` value
                    _required: true
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceAmount}
                        choices: [valueString]
                        index: 33
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceAmount}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url, valueString, value]
                amount:
                  match: {url: amount}
                  schema:
                    short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choices: [valueQuantity, valueRange, valueString]
                        index: 38
                      valueQuantity:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                      valueRange:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Range
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 40
                      valueString:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 41
                    required: [url]
                amountType:
                  match: {url: amountType}
                  schema:
                    short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 42
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountType}
                        index: 43
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        choices: [valueCodeableConcept]
                        index: 45
                      valueCodeableConcept:
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 46
                    required: [url]
                amountText:
                  match: {url: amountText}
                  schema:
                    short: 'R4: A textual comment on a numeric value (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 47
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountText}
                        index: 48
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A textual comment on a numeric value
                        choices: [valueString]
                        index: 50
                      valueString:
                        short: A textual comment on a numeric value
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 51
                    required: [url]
                referenceRange:
                  match: {url: referenceRange}
                  schema:
                    short: 'R4: Reference range of possible or expected values (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 52
                    extensions:
                      lowLimit:
                        url: lowLimit
                        short: 'R4: Lower limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lowLimit}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 57
                          valueQuantity:
                            short: Lower limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 58
                        required: [url]
                      highLimit:
                        url: highLimit
                        short: 'R4: Upper limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: highLimit}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 62
                          valueQuantity:
                            short: Upper limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 63
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 53
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            lowLimit:
                              match: {url: lowLimit}
                              schema:
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            highLimit:
                              match: {url: highLimit}
                              schema:
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: referenceRange}
                        index: 64
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 66
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: amount}
            index: 67
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choices: []
            index: 69
        required: [url]
      degreeOfPolymerisation:
        url: degreeOfPolymerisation
        short: 'R4: Todo (new)'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 70
        extensions:
          degree:
            url: degree
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 72
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: degree}
                index: 73
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 75
              valueCodeableConcept:
                short: Todo
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 76
            required: [url]
          amount:
            url: amount
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 77
            extensions:
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                base: {max: '*', min: 0, path: Extension.extension}
                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                _required: true
                index: 79
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                    index: 80
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: SubstanceAmount}
                    choices: [valueString]
                    index: 82
                  valueString:
                    type: string
                    pattern: {type: String, value: SubstanceAmount}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 83
                required: [url, valueString, value]
              amount:
                url: amount
                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 84
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 85
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    choices: [valueQuantity, valueRange, valueString]
                    index: 87
                  valueQuantity:
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 88
                  valueRange:
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    type: Range
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 89
                  valueString:
                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 90
                required: [url]
              amountType:
                url: amountType
                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 91
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountType}
                    index: 92
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    choices: [valueCodeableConcept]
                    index: 94
                  valueCodeableConcept:
                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 95
                required: [url]
              amountText:
                url: amountText
                short: 'R4: A textual comment on a numeric value (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 96
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountText}
                    index: 97
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: A textual comment on a numeric value
                    choices: [valueString]
                    index: 99
                  valueString:
                    short: A textual comment on a numeric value
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 100
                required: [url]
              referenceRange:
                url: referenceRange
                short: 'R4: Reference range of possible or expected values (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 101
                extensions:
                  lowLimit:
                    url: lowLimit
                    short: 'R4: Lower limit possible or expected (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 103
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: lowLimit}
                        index: 104
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Lower limit possible or expected
                        choices: [valueQuantity]
                        index: 106
                      valueQuantity:
                        short: Lower limit possible or expected
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 107
                    required: [url]
                  highLimit:
                    url: highLimit
                    short: 'R4: Upper limit possible or expected (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 108
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: highLimit}
                        index: 109
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit possible or expected
                        choices: [valueQuantity]
                        index: 111
                      valueQuantity:
                        short: Upper limit possible or expected
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 112
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 102
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        lowLimit:
                          match: {url: lowLimit}
                          schema:
                            short: 'R4: Lower limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 106
                              valueQuantity:
                                short: Lower limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 107
                            required: [url]
                        highLimit:
                          match: {url: highLimit}
                          schema:
                            short: 'R4: Upper limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 111
                              valueQuantity:
                                short: Upper limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 112
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: referenceRange}
                    index: 113
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 115
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 78
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    _datatype:
                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                        _required: true
                        index: 79
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 80
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 82
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 83
                        required: [url, valueString, value]
                    amount:
                      match: {url: amount}
                      schema:
                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 84
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 85
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 87
                          valueQuantity:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 88
                          valueRange:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 89
                          valueString:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 90
                        required: [url]
                    amountType:
                      match: {url: amountType}
                      schema:
                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 91
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 92
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 94
                          valueCodeableConcept:
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 95
                        required: [url]
                    amountText:
                      match: {url: amountText}
                      schema:
                        short: 'R4: A textual comment on a numeric value (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 96
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 97
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 99
                          valueString:
                            short: A textual comment on a numeric value
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 100
                        required: [url]
                    referenceRange:
                      match: {url: referenceRange}
                      schema:
                        short: 'R4: Reference range of possible or expected values (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 101
                        extensions:
                          lowLimit:
                            url: lowLimit
                            short: 'R4: Lower limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 106
                              valueQuantity:
                                short: Lower limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 107
                            required: [url]
                          highLimit:
                            url: highLimit
                            short: 'R4: Upper limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 111
                              valueQuantity:
                                short: Upper limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 112
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 102
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 113
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 115
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: amount}
                index: 116
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 118
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 71
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                degree:
                  match: {url: degree}
                  schema:
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 72
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degree}
                        index: 73
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 75
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 76
                    required: [url]
                amount:
                  match: {url: amount}
                  schema:
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 77
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                        _required: true
                        index: 79
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 80
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 82
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 83
                        required: [url, valueString, value]
                      amount:
                        url: amount
                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 84
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 85
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 87
                          valueQuantity:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 88
                          valueRange:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 89
                          valueString:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 90
                        required: [url]
                      amountType:
                        url: amountType
                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 91
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 92
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 94
                          valueCodeableConcept:
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 95
                        required: [url]
                      amountText:
                        url: amountText
                        short: 'R4: A textual comment on a numeric value (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 96
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 97
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 99
                          valueString:
                            short: A textual comment on a numeric value
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 100
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        short: 'R4: Reference range of possible or expected values (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 101
                        extensions:
                          lowLimit:
                            url: lowLimit
                            short: 'R4: Lower limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 106
                              valueQuantity:
                                short: Lower limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 107
                            required: [url]
                          highLimit:
                            url: highLimit
                            short: 'R4: Upper limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 111
                              valueQuantity:
                                short: Upper limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 112
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 102
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 113
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 115
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 78
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            _datatype:
                              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                            amount:
                              match: {url: amount}
                              schema:
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 118
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: degreeOfPolymerisation}
            index: 119
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choices: []
            index: 121
        required: [url]
      structuralRepresentation:
        url: structuralRepresentation
        short: 'R4: Todo (new)'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 122
        extensions:
          type:
            url: type
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 124
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: type}
                index: 125
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueCodeableConcept]
                index: 127
              valueCodeableConcept:
                short: Todo
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 128
            required: [url]
          representation:
            url: representation
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 129
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: representation}
                index: 130
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 132
              valueString:
                short: Todo
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 133
            required: [url]
          attachment:
            url: attachment
            short: 'R4: Todo (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 134
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: attachment}
                index: 135
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueAttachment]
                index: 137
              valueAttachment:
                short: Todo
                type: Attachment
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 138
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 123
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                type:
                  match: {url: type}
                  schema:
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 124
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 125
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 127
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 128
                    required: [url]
                representation:
                  match: {url: representation}
                  schema:
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 129
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 130
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 132
                      valueString:
                        short: Todo
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 133
                    required: [url]
                attachment:
                  match: {url: attachment}
                  schema:
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 134
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: attachment}
                        index: 135
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueAttachment]
                        index: 137
                      valueAttachment:
                        short: Todo
                        type: Attachment
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 138
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: structuralRepresentation}
            index: 139
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choices: []
            index: 141
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 17
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            orientationOfPolymerisation:
              match: {url: orientationOfPolymerisation}
              schema:
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: orientationOfPolymerisation}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 21
                  valueCodeableConcept:
                    short: Todo
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 22
                required: [url]
            repeatUnit:
              match: {url: repeatUnit}
              schema:
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: repeatUnit}
                    index: 24
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueString]
                    index: 26
                  valueString:
                    short: Todo
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 27
                required: [url]
            amount:
              match: {url: amount}
              schema:
                short: 'R4: Todo (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                extensions:
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4 `SubstanceAmount` value
                    _required: true
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: SubstanceAmount}
                        choices: [valueString]
                        index: 33
                      valueString:
                        type: string
                        pattern: {type: String, value: SubstanceAmount}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url, valueString, value]
                  amount:
                    url: amount
                    short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 36
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        choices: [valueQuantity, valueRange, valueString]
                        index: 38
                      valueQuantity:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                      valueRange:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: Range
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 40
                      valueString:
                        short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 41
                    required: [url]
                  amountType:
                    url: amountType
                    short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 42
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountType}
                        index: 43
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        choices: [valueCodeableConcept]
                        index: 45
                      valueCodeableConcept:
                        short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 46
                    required: [url]
                  amountText:
                    url: amountText
                    short: 'R4: A textual comment on a numeric value (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 47
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amountText}
                        index: 48
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: A textual comment on a numeric value
                        choices: [valueString]
                        index: 50
                      valueString:
                        short: A textual comment on a numeric value
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 51
                    required: [url]
                  referenceRange:
                    url: referenceRange
                    short: 'R4: Reference range of possible or expected values (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 52
                    extensions:
                      lowLimit:
                        url: lowLimit
                        short: 'R4: Lower limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: lowLimit}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Lower limit possible or expected
                            choices: [valueQuantity]
                            index: 57
                          valueQuantity:
                            short: Lower limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 58
                        required: [url]
                      highLimit:
                        url: highLimit
                        short: 'R4: Upper limit possible or expected (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: highLimit}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Upper limit possible or expected
                            choices: [valueQuantity]
                            index: 62
                          valueQuantity:
                            short: Upper limit possible or expected
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 63
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 53
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            lowLimit:
                              match: {url: lowLimit}
                              schema:
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                            highLimit:
                              match: {url: highLimit}
                              schema:
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: referenceRange}
                        index: 64
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 66
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 29
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        _datatype:
                          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4 `SubstanceAmount` value
                            _required: true
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: SubstanceAmount}
                                choices: [valueString]
                                index: 33
                              valueString:
                                type: string
                                pattern: {type: String, value: SubstanceAmount}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url, valueString, value]
                        amount:
                          match: {url: amount}
                          schema:
                            short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 36
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                choices: [valueQuantity, valueRange, valueString]
                                index: 38
                              valueQuantity:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                              valueRange:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: Range
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 40
                              valueString:
                                short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 41
                            required: [url]
                        amountType:
                          match: {url: amountType}
                          schema:
                            short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 42
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountType}
                                index: 43
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                choices: [valueCodeableConcept]
                                index: 45
                              valueCodeableConcept:
                                short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 46
                            required: [url]
                        amountText:
                          match: {url: amountText}
                          schema:
                            short: 'R4: A textual comment on a numeric value (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 47
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amountText}
                                index: 48
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: A textual comment on a numeric value
                                choices: [valueString]
                                index: 50
                              valueString:
                                short: A textual comment on a numeric value
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 51
                            required: [url]
                        referenceRange:
                          match: {url: referenceRange}
                          schema:
                            short: 'R4: Reference range of possible or expected values (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 52
                            extensions:
                              lowLimit:
                                url: lowLimit
                                short: 'R4: Lower limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 54
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: lowLimit}
                                    index: 55
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Lower limit possible or expected
                                    choices: [valueQuantity]
                                    index: 57
                                  valueQuantity:
                                    short: Lower limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 58
                                required: [url]
                              highLimit:
                                url: highLimit
                                short: 'R4: Upper limit possible or expected (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 59
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: highLimit}
                                    index: 60
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Upper limit possible or expected
                                    choices: [valueQuantity]
                                    index: 62
                                  valueQuantity:
                                    short: Upper limit possible or expected
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 63
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 53
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    lowLimit:
                                      match: {url: lowLimit}
                                      schema:
                                        short: 'R4: Lower limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 54
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: lowLimit}
                                            index: 55
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Lower limit possible or expected
                                            choices: [valueQuantity]
                                            index: 57
                                          valueQuantity:
                                            short: Lower limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 58
                                        required: [url]
                                    highLimit:
                                      match: {url: highLimit}
                                      schema:
                                        short: 'R4: Upper limit possible or expected (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 59
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: highLimit}
                                            index: 60
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Upper limit possible or expected
                                            choices: [valueQuantity]
                                            index: 62
                                          valueQuantity:
                                            short: Upper limit possible or expected
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 63
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: referenceRange}
                                index: 64
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 66
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amount}
                    index: 67
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 69
                required: [url]
            degreeOfPolymerisation:
              match: {url: degreeOfPolymerisation}
              schema:
                short: 'R4: Todo (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 70
                extensions:
                  degree:
                    url: degree
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 72
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: degree}
                        index: 73
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 75
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 76
                    required: [url]
                  amount:
                    url: amount
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 77
                    extensions:
                      _datatype:
                        url: http://hl7.org/fhir/StructureDefinition/_datatype
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                        _required: true
                        index: 79
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 80
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: SubstanceAmount}
                            choices: [valueString]
                            index: 82
                          valueString:
                            type: string
                            pattern: {type: String, value: SubstanceAmount}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 83
                        required: [url, valueString, value]
                      amount:
                        url: amount
                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 84
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amount}
                            index: 85
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            choices: [valueQuantity, valueRange, valueString]
                            index: 87
                          valueQuantity:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 88
                          valueRange:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 89
                          valueString:
                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 90
                        required: [url]
                      amountType:
                        url: amountType
                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 91
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 92
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            choices: [valueCodeableConcept]
                            index: 94
                          valueCodeableConcept:
                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 95
                        required: [url]
                      amountText:
                        url: amountText
                        short: 'R4: A textual comment on a numeric value (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 96
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountText}
                            index: 97
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: A textual comment on a numeric value
                            choices: [valueString]
                            index: 99
                          valueString:
                            short: A textual comment on a numeric value
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 100
                        required: [url]
                      referenceRange:
                        url: referenceRange
                        short: 'R4: Reference range of possible or expected values (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 101
                        extensions:
                          lowLimit:
                            url: lowLimit
                            short: 'R4: Lower limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 103
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: lowLimit}
                                index: 104
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Lower limit possible or expected
                                choices: [valueQuantity]
                                index: 106
                              valueQuantity:
                                short: Lower limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 107
                            required: [url]
                          highLimit:
                            url: highLimit
                            short: 'R4: Upper limit possible or expected (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 108
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: highLimit}
                                index: 109
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit possible or expected
                                choices: [valueQuantity]
                                index: 111
                              valueQuantity:
                                short: Upper limit possible or expected
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 112
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 102
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                lowLimit:
                                  match: {url: lowLimit}
                                  schema:
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                highLimit:
                                  match: {url: highLimit}
                                  schema:
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: referenceRange}
                            index: 113
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 115
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 78
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            _datatype:
                              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                              schema:
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                            amount:
                              match: {url: amount}
                              schema:
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                            amountType:
                              match: {url: amountType}
                              schema:
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                            amountText:
                              match: {url: amountText}
                              schema:
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                            referenceRange:
                              match: {url: referenceRange}
                              schema:
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: amount}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 118
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 71
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        degree:
                          match: {url: degree}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 72
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: degree}
                                index: 73
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 75
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 76
                            required: [url]
                        amount:
                          match: {url: amount}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 77
                            extensions:
                              _datatype:
                                url: http://hl7.org/fhir/StructureDefinition/_datatype
                                base: {max: '*', min: 0, path: Extension.extension}
                                short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                _required: true
                                index: 79
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                    index: 80
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    pattern: {type: String, value: SubstanceAmount}
                                    choices: [valueString]
                                    index: 82
                                  valueString:
                                    type: string
                                    pattern: {type: String, value: SubstanceAmount}
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 83
                                required: [url, valueString, value]
                              amount:
                                url: amount
                                short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 84
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amount}
                                    index: 85
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    choices: [valueQuantity, valueRange, valueString]
                                    index: 87
                                  valueQuantity:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 88
                                  valueRange:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 89
                                  valueString:
                                    short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 90
                                required: [url]
                              amountType:
                                url: amountType
                                short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 91
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountType}
                                    index: 92
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    choices: [valueCodeableConcept]
                                    index: 94
                                  valueCodeableConcept:
                                    short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 95
                                required: [url]
                              amountText:
                                url: amountText
                                short: 'R4: A textual comment on a numeric value (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 96
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: amountText}
                                    index: 97
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    short: A textual comment on a numeric value
                                    choices: [valueString]
                                    index: 99
                                  valueString:
                                    short: A textual comment on a numeric value
                                    type: string
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 100
                                required: [url]
                              referenceRange:
                                url: referenceRange
                                short: 'R4: Reference range of possible or expected values (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 101
                                extensions:
                                  lowLimit:
                                    url: lowLimit
                                    short: 'R4: Lower limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 103
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: lowLimit}
                                        index: 104
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Lower limit possible or expected
                                        choices: [valueQuantity]
                                        index: 106
                                      valueQuantity:
                                        short: Lower limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 107
                                    required: [url]
                                  highLimit:
                                    url: highLimit
                                    short: 'R4: Upper limit possible or expected (new)'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 108
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: highLimit}
                                        index: 109
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit possible or expected
                                        choices: [valueQuantity]
                                        index: 111
                                      valueQuantity:
                                        short: Upper limit possible or expected
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 112
                                    required: [url]
                                elements:
                                  extension:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    array: true
                                    index: 102
                                    slicing:
                                      rules: open
                                      ordered: false
                                      discriminator:
                                      - {path: url, type: value}
                                      min: 0
                                      slices:
                                        lowLimit:
                                          match: {url: lowLimit}
                                          schema:
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                        highLimit:
                                          match: {url: highLimit}
                                          schema:
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: referenceRange}
                                    index: 113
                                  value:
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choices: []
                                    index: 115
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 78
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    _datatype:
                                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                      schema:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        short: DataType slice for a FHIR R4 `SubstanceAmount` value
                                        _required: true
                                        index: 79
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                            index: 80
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            pattern: {type: String, value: SubstanceAmount}
                                            choices: [valueString]
                                            index: 82
                                          valueString:
                                            type: string
                                            pattern: {type: String, value: SubstanceAmount}
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 83
                                        required: [url, valueString, value]
                                    amount:
                                      match: {url: amount}
                                      schema:
                                        short: 'R4: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 84
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amount}
                                            index: 85
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            choices: [valueQuantity, valueRange, valueString]
                                            index: 87
                                          valueQuantity:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 88
                                          valueRange:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 89
                                          valueString:
                                            short: Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 90
                                        required: [url]
                                    amountType:
                                      match: {url: amountType}
                                      schema:
                                        short: 'R4: Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 91
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountType}
                                            index: 92
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            choices: [valueCodeableConcept]
                                            index: 94
                                          valueCodeableConcept:
                                            short: 'Most elements that require a quantitative value will also have a field called amount type. Amount type should always be specified because the actual value of the amount is often dependent on it. EXAMPLE: In capturing the actual relative amounts of substances or molecular fragments it is essential to indicate whether the amount refers to a mole ratio or weight ratio. For any given element an effort should be made to use same the amount type for all related definitional elements'
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 95
                                        required: [url]
                                    amountText:
                                      match: {url: amountText}
                                      schema:
                                        short: 'R4: A textual comment on a numeric value (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 96
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: amountText}
                                            index: 97
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            short: A textual comment on a numeric value
                                            choices: [valueString]
                                            index: 99
                                          valueString:
                                            short: A textual comment on a numeric value
                                            type: string
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 100
                                        required: [url]
                                    referenceRange:
                                      match: {url: referenceRange}
                                      schema:
                                        short: 'R4: Reference range of possible or expected values (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 101
                                        extensions:
                                          lowLimit:
                                            url: lowLimit
                                            short: 'R4: Lower limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 103
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: lowLimit}
                                                index: 104
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Lower limit possible or expected
                                                choices: [valueQuantity]
                                                index: 106
                                              valueQuantity:
                                                short: Lower limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 107
                                            required: [url]
                                          highLimit:
                                            url: highLimit
                                            short: 'R4: Upper limit possible or expected (new)'
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            index: 108
                                            elements:
                                              url:
                                                base: {max: '1', min: 1, path: Extension.url}
                                                pattern: {type: Uri, value: highLimit}
                                                index: 109
                                              value:
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                short: Upper limit possible or expected
                                                choices: [valueQuantity]
                                                index: 111
                                              valueQuantity:
                                                short: Upper limit possible or expected
                                                type: Quantity
                                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                choiceOf: value
                                                index: 112
                                            required: [url]
                                        elements:
                                          extension:
                                            base: {max: '*', min: 0, path: Extension.extension}
                                            array: true
                                            index: 102
                                            slicing:
                                              rules: open
                                              ordered: false
                                              discriminator:
                                              - {path: url, type: value}
                                              min: 0
                                              slices:
                                                lowLimit:
                                                  match: {url: lowLimit}
                                                  schema:
                                                    short: 'R4: Lower limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 103
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: lowLimit}
                                                        index: 104
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Lower limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 106
                                                      valueQuantity:
                                                        short: Lower limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 107
                                                    required: [url]
                                                highLimit:
                                                  match: {url: highLimit}
                                                  schema:
                                                    short: 'R4: Upper limit possible or expected (new)'
                                                    base: {max: '*', min: 0, path: Extension.extension}
                                                    index: 108
                                                    elements:
                                                      url:
                                                        base: {max: '1', min: 1, path: Extension.url}
                                                        pattern: {type: Uri, value: highLimit}
                                                        index: 109
                                                      value:
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        short: Upper limit possible or expected
                                                        choices: [valueQuantity]
                                                        index: 111
                                                      valueQuantity:
                                                        short: Upper limit possible or expected
                                                        type: Quantity
                                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                        choiceOf: value
                                                        index: 112
                                                    required: [url]
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: referenceRange}
                                            index: 113
                                          value:
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choices: []
                                            index: 115
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: amount}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 118
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: degreeOfPolymerisation}
                    index: 119
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 121
                required: [url]
            structuralRepresentation:
              match: {url: structuralRepresentation}
              schema:
                short: 'R4: Todo (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 122
                extensions:
                  type:
                    url: type
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 124
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: type}
                        index: 125
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueCodeableConcept]
                        index: 127
                      valueCodeableConcept:
                        short: Todo
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 128
                    required: [url]
                  representation:
                    url: representation
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 129
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: representation}
                        index: 130
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueString]
                        index: 132
                      valueString:
                        short: Todo
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 133
                    required: [url]
                  attachment:
                    url: attachment
                    short: 'R4: Todo (new)'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 134
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: attachment}
                        index: 135
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Todo
                        choices: [valueAttachment]
                        index: 137
                      valueAttachment:
                        short: Todo
                        type: Attachment
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 138
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 123
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        type:
                          match: {url: type}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 124
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: type}
                                index: 125
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueCodeableConcept]
                                index: 127
                              valueCodeableConcept:
                                short: Todo
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 128
                            required: [url]
                        representation:
                          match: {url: representation}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 129
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: representation}
                                index: 130
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueString]
                                index: 132
                              valueString:
                                short: Todo
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 133
                            required: [url]
                        attachment:
                          match: {url: attachment}
                          schema:
                            short: 'R4: Todo (new)'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 134
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: attachment}
                                index: 135
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Todo
                                choices: [valueAttachment]
                                index: 137
                              valueAttachment:
                                short: Todo
                                type: Attachment
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 138
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: structuralRepresentation}
                    index: 139
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 141
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: repeatUnit}
        index: 142
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 144
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstancePolymer.repeat
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.1.0
required: [url]