description: 'R4: `SubstanceSpecification.structure` (new:BackboneElement)' package_name: hl7.fhir.uv.xver-r4.r3 derivation: constraint name: ExtensionSubstanceSpecification_Structure 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: stereochemistry: match: {url: stereochemistry} schema: short: 'R4: Stereochemistry type (new)' base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: stereochemistry} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Stereochemistry type choices: [valueCodeableConcept] index: 4 valueCodeableConcept: short: Stereochemistry type type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 5 required: [url] opticalActivity: match: {url: opticalActivity} schema: short: 'R4: Optical activity type (new)' base: {max: '*', min: 0, path: Extension.extension} index: 6 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: opticalActivity} index: 7 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Optical activity type choices: [valueCodeableConcept] index: 9 valueCodeableConcept: short: Optical activity type type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 10 required: [url] molecularFormula: match: {url: molecularFormula} schema: short: 'R4: Molecular formula (new)' base: {max: '*', min: 0, path: Extension.extension} index: 11 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularFormula} index: 12 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Molecular formula choices: [valueString] index: 14 valueString: short: Molecular formula type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 15 required: [url] molecularFormulaByMoiety: match: {url: molecularFormulaByMoiety} schema: short: 'R4: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot (new)' base: {max: '*', min: 0, path: Extension.extension} index: 16 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularFormulaByMoiety} index: 17 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot choices: [valueString] index: 19 valueString: short: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 20 required: [url] isotope: match: {url: isotope} schema: short: 'R4: Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 21 extensions: identifier: url: identifier short: 'R4: Substance identifier for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: identifier} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance identifier for each non-natural or radioisotope choices: [valueIdentifier] index: 26 valueIdentifier: short: Substance identifier for each non-natural or radioisotope type: Identifier base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 27 required: [url] name: url: name short: 'R4: Substance name for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance name for each non-natural or radioisotope choices: [valueCodeableConcept] index: 31 valueCodeableConcept: short: Substance name for each non-natural or radioisotope type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 32 required: [url] substitution: url: substitution short: 'R4: The type of isotopic substitution present in a single substance (new)' base: {max: '*', min: 0, path: Extension.extension} index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: substitution} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of isotopic substitution present in a single substance choices: [valueCodeableConcept] index: 36 valueCodeableConcept: short: The type of isotopic substitution present in a single substance type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 37 required: [url] halfLife: url: halfLife short: 'R4: Half life - for a non-natural nuclide (new)' base: {max: '*', min: 0, path: Extension.extension} index: 38 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: halfLife} index: 39 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Half life - for a non-natural nuclide choices: [valueQuantity] index: 41 valueQuantity: short: Half life - for a non-natural nuclide type: Quantity base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 42 required: [url] molecularWeight: url: molecularWeight short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 43 extensions: method: url: method short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: url: type short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 44 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: method: match: {url: method} schema: short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: match: {url: type} schema: short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularWeight} index: 60 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 62 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 22 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: identifier: match: {url: identifier} schema: short: 'R4: Substance identifier for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: identifier} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance identifier for each non-natural or radioisotope choices: [valueIdentifier] index: 26 valueIdentifier: short: Substance identifier for each non-natural or radioisotope type: Identifier base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 27 required: [url] name: match: {url: name} schema: short: 'R4: Substance name for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance name for each non-natural or radioisotope choices: [valueCodeableConcept] index: 31 valueCodeableConcept: short: Substance name for each non-natural or radioisotope type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 32 required: [url] substitution: match: {url: substitution} schema: short: 'R4: The type of isotopic substitution present in a single substance (new)' base: {max: '*', min: 0, path: Extension.extension} index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: substitution} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of isotopic substitution present in a single substance choices: [valueCodeableConcept] index: 36 valueCodeableConcept: short: The type of isotopic substitution present in a single substance type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 37 required: [url] halfLife: match: {url: halfLife} schema: short: 'R4: Half life - for a non-natural nuclide (new)' base: {max: '*', min: 0, path: Extension.extension} index: 38 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: halfLife} index: 39 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Half life - for a non-natural nuclide choices: [valueQuantity] index: 41 valueQuantity: short: Half life - for a non-natural nuclide type: Quantity base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 42 required: [url] molecularWeight: match: {url: molecularWeight} schema: short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 43 extensions: method: url: method short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: url: type short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 44 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: method: match: {url: method} schema: short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: match: {url: type} schema: short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularWeight} index: 60 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 62 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: isotope} index: 63 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 65 required: [url] molecularWeight: match: {url: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure.isotope.molecularWeight'} schema: short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 66 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure.isotope.molecularWeight'} index: 67 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 69 required: [url] source: match: {url: source} schema: short: 'R4: Supporting literature (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 70 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: source} index: 71 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Supporting literature choices: [valueReference, valueReference] index: 73 valueReference: short: Supporting literature refers: ['http://hl7.org/fhir/4.0/StructureDefinition/profile-DocumentReference|0.1.0'] type: Reference base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 74 required: [url] representation: match: {url: representation} schema: short: 'R4: Molecular structural representation (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 76 extensions: type: url: type short: 'R4: The type of structure (e.g. Full, Partial, Representative) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 78 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 79 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of structure (e.g. Full, Partial, Representative) choices: [valueCodeableConcept] index: 81 valueCodeableConcept: short: The type of structure (e.g. Full, Partial, Representative) type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 82 required: [url] representation: url: representation short: 'R4: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX (new)' base: {max: '*', min: 0, path: Extension.extension} index: 83 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 84 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX choices: [valueString] index: 86 valueString: short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 87 required: [url] attachment: url: attachment short: 'R4: An attached file with the structural representation (new)' base: {max: '*', min: 0, path: Extension.extension} index: 88 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: attachment} index: 89 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: An attached file with the structural representation choices: [valueAttachment] index: 91 valueAttachment: short: An attached file with the structural representation type: Attachment base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 92 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 77 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: type: match: {url: type} schema: short: 'R4: The type of structure (e.g. Full, Partial, Representative) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 78 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 79 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of structure (e.g. Full, Partial, Representative) choices: [valueCodeableConcept] index: 81 valueCodeableConcept: short: The type of structure (e.g. Full, Partial, Representative) type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 82 required: [url] representation: match: {url: representation} schema: short: 'R4: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX (new)' base: {max: '*', min: 0, path: Extension.extension} index: 83 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 84 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX choices: [valueString] index: 86 valueString: short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 87 required: [url] attachment: match: {url: attachment} schema: short: 'R4: An attached file with the structural representation (new)' base: {max: '*', min: 0, path: Extension.extension} index: 88 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: attachment} index: 89 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: An attached file with the structural representation choices: [valueAttachment] index: 91 valueAttachment: short: An attached file with the structural representation type: Attachment base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 92 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 93 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 95 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure'} index: 96 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 98 package_version: 0.1.0 extensions: stereochemistry: url: stereochemistry short: 'R4: Stereochemistry type (new)' base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: stereochemistry} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Stereochemistry type choices: [valueCodeableConcept] index: 4 valueCodeableConcept: short: Stereochemistry type type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 5 required: [url] opticalActivity: url: opticalActivity short: 'R4: Optical activity type (new)' base: {max: '*', min: 0, path: Extension.extension} index: 6 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: opticalActivity} index: 7 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Optical activity type choices: [valueCodeableConcept] index: 9 valueCodeableConcept: short: Optical activity type type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 10 required: [url] molecularFormula: url: molecularFormula short: 'R4: Molecular formula (new)' base: {max: '*', min: 0, path: Extension.extension} index: 11 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularFormula} index: 12 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Molecular formula choices: [valueString] index: 14 valueString: short: Molecular formula type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 15 required: [url] molecularFormulaByMoiety: url: molecularFormulaByMoiety short: 'R4: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot (new)' base: {max: '*', min: 0, path: Extension.extension} index: 16 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularFormulaByMoiety} index: 17 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot choices: [valueString] index: 19 valueString: short: Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 20 required: [url] isotope: url: isotope short: 'R4: Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 21 extensions: identifier: url: identifier short: 'R4: Substance identifier for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: identifier} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance identifier for each non-natural or radioisotope choices: [valueIdentifier] index: 26 valueIdentifier: short: Substance identifier for each non-natural or radioisotope type: Identifier base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 27 required: [url] name: url: name short: 'R4: Substance name for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance name for each non-natural or radioisotope choices: [valueCodeableConcept] index: 31 valueCodeableConcept: short: Substance name for each non-natural or radioisotope type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 32 required: [url] substitution: url: substitution short: 'R4: The type of isotopic substitution present in a single substance (new)' base: {max: '*', min: 0, path: Extension.extension} index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: substitution} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of isotopic substitution present in a single substance choices: [valueCodeableConcept] index: 36 valueCodeableConcept: short: The type of isotopic substitution present in a single substance type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 37 required: [url] halfLife: url: halfLife short: 'R4: Half life - for a non-natural nuclide (new)' base: {max: '*', min: 0, path: Extension.extension} index: 38 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: halfLife} index: 39 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Half life - for a non-natural nuclide choices: [valueQuantity] index: 41 valueQuantity: short: Half life - for a non-natural nuclide type: Quantity base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 42 required: [url] molecularWeight: url: molecularWeight short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 43 extensions: method: url: method short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: url: type short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 44 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: method: match: {url: method} schema: short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: match: {url: type} schema: short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularWeight} index: 60 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 62 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 22 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: identifier: match: {url: identifier} schema: short: 'R4: Substance identifier for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: identifier} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance identifier for each non-natural or radioisotope choices: [valueIdentifier] index: 26 valueIdentifier: short: Substance identifier for each non-natural or radioisotope type: Identifier base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 27 required: [url] name: match: {url: name} schema: short: 'R4: Substance name for each non-natural or radioisotope (new)' base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Substance name for each non-natural or radioisotope choices: [valueCodeableConcept] index: 31 valueCodeableConcept: short: Substance name for each non-natural or radioisotope type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 32 required: [url] substitution: match: {url: substitution} schema: short: 'R4: The type of isotopic substitution present in a single substance (new)' base: {max: '*', min: 0, path: Extension.extension} index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: substitution} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of isotopic substitution present in a single substance choices: [valueCodeableConcept] index: 36 valueCodeableConcept: short: The type of isotopic substitution present in a single substance type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 37 required: [url] halfLife: match: {url: halfLife} schema: short: 'R4: Half life - for a non-natural nuclide (new)' base: {max: '*', min: 0, path: Extension.extension} index: 38 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: halfLife} index: 39 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Half life - for a non-natural nuclide choices: [valueQuantity] index: 41 valueQuantity: short: Half life - for a non-natural nuclide type: Quantity base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 42 required: [url] molecularWeight: match: {url: molecularWeight} schema: short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 43 extensions: method: url: method short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: url: type short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 44 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: method: match: {url: method} schema: short: 'R4: The method by which the molecular weight was determined (new)' base: {max: '*', min: 0, path: Extension.extension} index: 45 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: method} index: 46 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The method by which the molecular weight was determined choices: [valueCodeableConcept] index: 48 valueCodeableConcept: short: The method by which the molecular weight was determined type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 49 required: [url] type: match: {url: type} schema: short: 'R4: Type of molecular weight such as exact, average (also known as. number average), weight average (new)' base: {max: '*', min: 0, path: Extension.extension} index: 50 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 51 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Type of molecular weight such as exact, average (also known as. number average), weight average choices: [valueCodeableConcept] index: 53 valueCodeableConcept: short: Type of molecular weight such as exact, average (also known as. number average), weight average type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 54 required: [url] 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: 55 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: amount} index: 56 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] index: 58 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: 59 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: molecularWeight} index: 60 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 62 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: isotope} index: 63 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 65 required: [url] molecularWeight: url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure.isotope.molecularWeight short: 'R4: The molecular weight or weight range (for proteins, polymers or nucleic acids) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 66 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure.isotope.molecularWeight'} index: 67 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 69 required: [url] source: url: source short: 'R4: Supporting literature (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 70 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: source} index: 71 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Supporting literature choices: [valueReference, valueReference] index: 73 valueReference: short: Supporting literature refers: ['http://hl7.org/fhir/4.0/StructureDefinition/profile-DocumentReference|0.1.0'] type: Reference base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 74 required: [url] representation: url: representation short: 'R4: Molecular structural representation (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 76 extensions: type: url: type short: 'R4: The type of structure (e.g. Full, Partial, Representative) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 78 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 79 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of structure (e.g. Full, Partial, Representative) choices: [valueCodeableConcept] index: 81 valueCodeableConcept: short: The type of structure (e.g. Full, Partial, Representative) type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 82 required: [url] representation: url: representation short: 'R4: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX (new)' base: {max: '*', min: 0, path: Extension.extension} index: 83 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 84 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX choices: [valueString] index: 86 valueString: short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 87 required: [url] attachment: url: attachment short: 'R4: An attached file with the structural representation (new)' base: {max: '*', min: 0, path: Extension.extension} index: 88 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: attachment} index: 89 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: An attached file with the structural representation choices: [valueAttachment] index: 91 valueAttachment: short: An attached file with the structural representation type: Attachment base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 92 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 77 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 0 slices: type: match: {url: type} schema: short: 'R4: The type of structure (e.g. Full, Partial, Representative) (new)' base: {max: '*', min: 0, path: Extension.extension} index: 78 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: type} index: 79 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of structure (e.g. Full, Partial, Representative) choices: [valueCodeableConcept] index: 81 valueCodeableConcept: short: The type of structure (e.g. Full, Partial, Representative) type: CodeableConcept base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 82 required: [url] representation: match: {url: representation} schema: short: 'R4: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX (new)' base: {max: '*', min: 0, path: Extension.extension} index: 83 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 84 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX choices: [valueString] index: 86 valueString: short: The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 87 required: [url] attachment: match: {url: attachment} schema: short: 'R4: An attached file with the structural representation (new)' base: {max: '*', min: 0, path: Extension.extension} index: 88 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: attachment} index: 89 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: An attached file with the structural representation choices: [valueAttachment] index: 91 valueAttachment: short: An attached file with the structural representation type: Attachment base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 92 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: representation} index: 93 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 95 required: [url] class: extension kind: complex-type url: http://hl7.org/fhir/4.0/StructureDefinition/extension-SubstanceSpecification.structure base: http://hl7.org/fhir/StructureDefinition/Extension version: 0.1.0 required: [url]