PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4.r4b@0.0.1-snapshot-2
    http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceReferenceInformation
description: This cross-version extension represents SubstanceReferenceInformation from http://hl7.org/fhir/StructureDefinition/SubstanceReferenceInformation|4.0.1 for use in FHIR R4B.
package_name: hl7.fhir.uv.xver-r4.r4b
derivation: constraint
name: Ext_R4_SubstanceReferenceInformation
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        comment:
          match: {url: comment}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: comment}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Todo
                choices: [valueString]
                index: 4
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Todo
                choiceOf: value
                index: 5
            required: [url]
        gene:
          match: {url: gene}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 6
            extensions:
              geneSequenceOrigin:
                url: geneSequenceOrigin
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: geneSequenceOrigin}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 11
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 12
                required: [url]
              gene:
                url: gene
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: gene}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 16
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 17
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 21
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 22
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 7
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    geneSequenceOrigin:
                      match: {url: geneSequenceOrigin}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 8
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: geneSequenceOrigin}
                            index: 9
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 11
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 12
                        required: [url]
                    gene:
                      match: {url: gene}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: gene}
                            index: 14
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 16
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 17
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 18
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 19
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueReference]
                            index: 21
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Todo
                            choiceOf: value
                            index: 22
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: gene}
                index: 23
            required: [url]
        geneElement:
          match: {url: geneElement}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 24
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 29
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 30
                required: [url]
              element:
                url: element
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 31
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: element}
                    index: 32
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueIdentifier]
                    index: 34
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Todo
                    choiceOf: value
                    index: 35
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 36
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 37
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 39
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 40
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 25
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 26
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 27
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 29
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 30
                        required: [url]
                    element:
                      match: {url: element}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 31
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: element}
                            index: 32
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueIdentifier]
                            index: 34
                          valueIdentifier:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Identifier
                            short: Todo
                            choiceOf: value
                            index: 35
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 36
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 37
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueReference]
                            index: 39
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Todo
                            choiceOf: value
                            index: 40
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: geneElement}
                index: 41
            required: [url]
        classification:
          match: {url: classification}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 42
            extensions:
              domain:
                url: domain
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 44
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: domain}
                    index: 45
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 47
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 48
                required: [url]
              classification:
                url: classification
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 49
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: classification}
                    index: 50
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 52
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 53
                required: [url]
              subtype:
                url: subtype
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 54
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: subtype}
                    index: 55
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 57
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 58
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 59
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 60
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 62
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 63
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 43
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    domain:
                      match: {url: domain}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 44
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: domain}
                            index: 45
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 47
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 48
                        required: [url]
                    classification:
                      match: {url: classification}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 49
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: classification}
                            index: 50
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 52
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 53
                        required: [url]
                    subtype:
                      match: {url: subtype}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 54
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: subtype}
                            index: 55
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 57
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 58
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 59
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 60
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueReference]
                            index: 62
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Todo
                            choiceOf: value
                            index: 63
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: classification}
                index: 64
            required: [url]
        target:
          match: {url: target}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Todo
            array: true
            index: 65
            extensions:
              target:
                url: target
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 67
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: target}
                    index: 68
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueIdentifier]
                    index: 70
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Todo
                    choiceOf: value
                    index: 71
                required: [url]
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 75
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 76
                required: [url]
              interaction:
                url: interaction
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: interaction}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 80
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 81
                required: [url]
              organism:
                url: organism
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 82
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organism}
                    index: 83
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 85
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 86
                required: [url]
              organismType:
                url: organismType
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 87
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organismType}
                    index: 88
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 90
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 91
                required: [url]
              amount[x]:
                url: amount[x]
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 92
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 93
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueQuantity, valueRange, valueString]
                    index: 95
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Todo
                    choiceOf: value
                    index: 96
                  valueRange:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Range
                    short: Todo
                    choiceOf: value
                    index: 97
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 98
                required: [url]
              amountType:
                url: amountType
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 99
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountType}
                    index: 100
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 102
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 103
                required: [url]
              source:
                url: source
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 104
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 105
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 107
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 108
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 66
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    target:
                      match: {url: target}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 67
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: target}
                            index: 68
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueIdentifier]
                            index: 70
                          valueIdentifier:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Identifier
                            short: Todo
                            choiceOf: value
                            index: 71
                        required: [url]
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 72
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 73
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 75
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 76
                        required: [url]
                    interaction:
                      match: {url: interaction}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 77
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: interaction}
                            index: 78
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 80
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 81
                        required: [url]
                    organism:
                      match: {url: organism}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 82
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: organism}
                            index: 83
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 85
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 86
                        required: [url]
                    organismType:
                      match: {url: organismType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 87
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: organismType}
                            index: 88
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 90
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 91
                        required: [url]
                    amount[x]:
                      match: {url: 'amount[x]'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 92
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'amount[x]'}
                            index: 93
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueQuantity, valueRange, valueString]
                            index: 95
                          valueQuantity:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Quantity
                            short: Todo
                            choiceOf: value
                            index: 96
                          valueRange:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Range
                            short: Todo
                            choiceOf: value
                            index: 97
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Todo
                            choiceOf: value
                            index: 98
                        required: [url]
                    amountType:
                      match: {url: amountType}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        index: 99
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: amountType}
                            index: 100
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueCodeableConcept]
                            index: 102
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Todo
                            choiceOf: value
                            index: 103
                        required: [url]
                    source:
                      match: {url: source}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Todo
                        array: true
                        index: 104
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: source}
                            index: 105
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Todo
                            choices: [valueReference]
                            index: 107
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: Todo
                            choiceOf: value
                            index: 108
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: target}
                index: 109
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceReferenceInformation'}
    index: 110
package_version: 0.0.1-snapshot-2
extensions:
  comment:
    url: comment
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: comment}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Todo
        choices: [valueString]
        index: 4
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Todo
        choiceOf: value
        index: 5
    required: [url]
  gene:
    url: gene
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 6
    extensions:
      geneSequenceOrigin:
        url: geneSequenceOrigin
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 8
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: geneSequenceOrigin}
            index: 9
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 11
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 12
        required: [url]
      gene:
        url: gene
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: gene}
            index: 14
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 16
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 17
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 18
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 19
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueReference]
            index: 21
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Todo
            choiceOf: value
            index: 22
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 7
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            geneSequenceOrigin:
              match: {url: geneSequenceOrigin}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: geneSequenceOrigin}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 11
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 12
                required: [url]
            gene:
              match: {url: gene}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: gene}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 16
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 17
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 21
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 22
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: gene}
        index: 23
    required: [url]
  geneElement:
    url: geneElement
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 24
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 26
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 27
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 29
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 30
        required: [url]
      element:
        url: element
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 31
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: element}
            index: 32
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueIdentifier]
            index: 34
          valueIdentifier:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Identifier
            short: Todo
            choiceOf: value
            index: 35
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 36
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 37
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueReference]
            index: 39
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Todo
            choiceOf: value
            index: 40
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 25
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 29
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 30
                required: [url]
            element:
              match: {url: element}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 31
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: element}
                    index: 32
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueIdentifier]
                    index: 34
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Todo
                    choiceOf: value
                    index: 35
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 36
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 37
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 39
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 40
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: geneElement}
        index: 41
    required: [url]
  classification:
    url: classification
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 42
    extensions:
      domain:
        url: domain
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 44
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: domain}
            index: 45
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 47
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 48
        required: [url]
      classification:
        url: classification
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 49
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: classification}
            index: 50
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 52
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 53
        required: [url]
      subtype:
        url: subtype
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 54
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: subtype}
            index: 55
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 57
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 58
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 59
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 60
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueReference]
            index: 62
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Todo
            choiceOf: value
            index: 63
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 43
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            domain:
              match: {url: domain}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 44
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: domain}
                    index: 45
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 47
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 48
                required: [url]
            classification:
              match: {url: classification}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 49
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: classification}
                    index: 50
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 52
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 53
                required: [url]
            subtype:
              match: {url: subtype}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 54
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: subtype}
                    index: 55
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 57
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 58
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 59
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 60
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 62
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 63
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: classification}
        index: 64
    required: [url]
  target:
    url: target
    base: {max: '*', min: 0, path: Extension.extension}
    short: Todo
    array: true
    index: 65
    extensions:
      target:
        url: target
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 67
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: target}
            index: 68
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueIdentifier]
            index: 70
          valueIdentifier:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Identifier
            short: Todo
            choiceOf: value
            index: 71
        required: [url]
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 72
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 73
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 75
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 76
        required: [url]
      interaction:
        url: interaction
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 77
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: interaction}
            index: 78
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 80
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 81
        required: [url]
      organism:
        url: organism
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 82
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: organism}
            index: 83
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 85
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 86
        required: [url]
      organismType:
        url: organismType
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 87
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: organismType}
            index: 88
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 90
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 91
        required: [url]
      amount[x]:
        url: amount[x]
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 92
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'amount[x]'}
            index: 93
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueQuantity, valueRange, valueString]
            index: 95
          valueQuantity:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Quantity
            short: Todo
            choiceOf: value
            index: 96
          valueRange:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Range
            short: Todo
            choiceOf: value
            index: 97
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Todo
            choiceOf: value
            index: 98
        required: [url]
      amountType:
        url: amountType
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        index: 99
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: amountType}
            index: 100
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueCodeableConcept]
            index: 102
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Todo
            choiceOf: value
            index: 103
        required: [url]
      source:
        url: source
        base: {max: '*', min: 0, path: Extension.extension}
        short: Todo
        array: true
        index: 104
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: source}
            index: 105
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Todo
            choices: [valueReference]
            index: 107
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: Todo
            choiceOf: value
            index: 108
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 66
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            target:
              match: {url: target}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 67
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: target}
                    index: 68
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueIdentifier]
                    index: 70
                  valueIdentifier:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Identifier
                    short: Todo
                    choiceOf: value
                    index: 71
                required: [url]
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 75
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 76
                required: [url]
            interaction:
              match: {url: interaction}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: interaction}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 80
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 81
                required: [url]
            organism:
              match: {url: organism}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 82
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organism}
                    index: 83
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 85
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 86
                required: [url]
            organismType:
              match: {url: organismType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 87
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organismType}
                    index: 88
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 90
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 91
                required: [url]
            amount[x]:
              match: {url: 'amount[x]'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 92
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'amount[x]'}
                    index: 93
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueQuantity, valueRange, valueString]
                    index: 95
                  valueQuantity:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Quantity
                    short: Todo
                    choiceOf: value
                    index: 96
                  valueRange:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Range
                    short: Todo
                    choiceOf: value
                    index: 97
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Todo
                    choiceOf: value
                    index: 98
                required: [url]
            amountType:
              match: {url: amountType}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                index: 99
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: amountType}
                    index: 100
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueCodeableConcept]
                    index: 102
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Todo
                    choiceOf: value
                    index: 103
                required: [url]
            source:
              match: {url: source}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Todo
                array: true
                index: 104
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: source}
                    index: 105
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Todo
                    choices: [valueReference]
                    index: 107
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: Todo
                    choiceOf: value
                    index: 108
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: target}
        index: 109
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceReferenceInformation
base: http://hl7.org/fhir/StructureDefinition/Extension|4.3.0
version: 0.0.1-snapshot-2
required: [url]