This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Biomedical Research and Regulation Work Group | Maturity Level: N/A | Ballot Status: Informative | Compartments: Not linked to any defined compartments |
This is a representation of the json schema for SubstanceSpecification, which is just a part of the full JSON Schema.
{ "$schema": "http://json-schema.org/draft-06/schema#", "id": "http://hl7.org/fhir/json-schema/SubstanceSpecification", "$ref": "#/definitions/SubstanceSpecification", "description": "see http://hl7.org/fhir/json.html#schema for information about the FHIR Json Schemas", "definitions": { "SubstanceSpecification": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "resourceType": { "description": "This is a SubstanceSpecification resource", "const": "SubstanceSpecification" }, "id": { "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", "$ref": "id.schema.json#/definitions/id" }, "meta": { "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", "$ref": "Meta.schema.json#/definitions/Meta" }, "implicitRules": { "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", "$ref": "#/definitions/uri" }, "_implicitRules": { "description": "Extensions for implicitRules", "$ref": "Element.schema.json#/definitions/Element" }, "language": { "description": "The base language in which the resource is written.", "$ref": "#/definitions/code" }, "_language": { "description": "Extensions for language", "$ref": "Element.schema.json#/definitions/Element" }, "text": { "description": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", "$ref": "Narrative.schema.json#/definitions/Narrative" }, "contained": { "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", "items": { "$ref": "ResourceList.schema.json#/definitions/ResourceList" }, "type": "array" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "comment": { "description": "Textual comment.", "$ref": "#/definitions/string" }, "_comment": { "description": "Extensions for comment", "$ref": "Element.schema.json#/definitions/Element" }, "stoichiometric": { "description": "Chemicals may be stoichiometric or non-stoichiometric.", "$ref": "#/definitions/boolean" }, "_stoichiometric": { "description": "Extensions for stoichiometric", "$ref": "Element.schema.json#/definitions/Element" }, "identifier": { "description": "Identifier by which this substance is known.", "$ref": "Identifier.schema.json#/definitions/Identifier" }, "type": { "description": "High level categorization, e.g. polymer or nucleic acid.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "referenceSource": { "description": "Supporting literature.", "items": { "$ref": "#/definitions/string" }, "type": "array" }, "_referenceSource": { "description": "Extensions for referenceSource", "items": { "$ref": "Element.schema.json#/definitions/Element" }, "type": "array" }, "moiety": { "description": "Moiety, for structural modifications.", "items": { "$ref": "#/definitions/SubstanceSpecification_Moiety" }, "type": "array" }, "property": { "description": "General specifications for this substance, including how it is related to other substances.", "items": { "$ref": "#/definitions/SubstanceSpecification_Property" }, "type": "array" }, "referenceInformation": { "description": "General information detailing this substance.", "$ref": "Reference.schema.json#/definitions/Reference" }, "structure": { "description": "Structural information.", "$ref": "#/definitions/SubstanceSpecification_Structure" }, "substanceCode": { "description": "Codes associated with the substance.", "items": { "$ref": "#/definitions/SubstanceSpecification_SubstanceCode" }, "type": "array" }, "substanceName": { "description": "Names applicable to this substence.", "items": { "$ref": "#/definitions/SubstanceSpecification_SubstanceName" }, "type": "array" }, "molecularWeight": { "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).", "items": { "$ref": "#/definitions/SubstanceSpecification_MolecularWeight" }, "type": "array" }, "polymer": { "description": "Data items specific to polymers.", "$ref": "Reference.schema.json#/definitions/Reference" } }, "additionalProperties": false, "required": [ "resourceType" ] }, "SubstanceSpecification_Moiety": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "role": { "description": "Role that the moiety is playing.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "identifier": { "description": "Identifier by which this moiety substance is known.", "$ref": "Identifier.schema.json#/definitions/Identifier" }, "name": { "description": "Textual name for this moiety substance.", "$ref": "#/definitions/string" }, "_name": { "description": "Extensions for name", "$ref": "Element.schema.json#/definitions/Element" }, "stereochemistry": { "description": "Stereochemistry type.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "opticalActivity": { "description": "Optical activity type.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "molecularFormula": { "description": "Molecular formula.", "$ref": "#/definitions/string" }, "_molecularFormula": { "description": "Extensions for molecularFormula", "$ref": "Element.schema.json#/definitions/Element" }, "amount": { "description": "Quantitative value for this moiety.", "$ref": "#/definitions/string" }, "_amount": { "description": "Extensions for amount", "$ref": "Element.schema.json#/definitions/Element" } }, "additionalProperties": false }, "SubstanceSpecification_Property": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "type": { "description": "Description todo.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "name": { "description": "Description todo.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "parameters": { "description": "A field that should be used to capture parameters that were used in the measurement of a property.", "$ref": "#/definitions/string" }, "_parameters": { "description": "Extensions for parameters", "$ref": "Element.schema.json#/definitions/Element" }, "substanceId": { "description": "Identifier for a substance upon which a defining property depends.", "$ref": "Identifier.schema.json#/definitions/Identifier" }, "substanceName": { "description": "Description todo.", "$ref": "#/definitions/string" }, "_substanceName": { "description": "Extensions for substanceName", "$ref": "Element.schema.json#/definitions/Element" }, "amount": { "description": "Quantitative value for this property.", "$ref": "#/definitions/string" }, "_amount": { "description": "Extensions for amount", "$ref": "Element.schema.json#/definitions/Element" } }, "additionalProperties": false }, "SubstanceSpecification_Structure": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "stereochemistry": { "description": "Stereochemistry type.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "opticalActivity": { "description": "Optical activity type.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "molecularFormula": { "description": "Molecular formula.", "$ref": "#/definitions/string" }, "_molecularFormula": { "description": "Extensions for molecularFormula", "$ref": "Element.schema.json#/definitions/Element" }, "molecularFormulaByMoiety": { "description": "Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical. and each moiety separated by a dot.", "$ref": "#/definitions/string" }, "_molecularFormulaByMoiety": { "description": "Extensions for molecularFormulaByMoiety", "$ref": "Element.schema.json#/definitions/Element" }, "isotope": { "description": "Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio.", "items": { "$ref": "#/definitions/SubstanceSpecification_Isotope" }, "type": "array" }, "molecularWeight": { "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).", "$ref": "#/definitions/SubstanceSpecification_MolecularWeight" }, "referenceSource": { "description": "Supporting literature.", "items": { "$ref": "Reference.schema.json#/definitions/Reference" }, "type": "array" }, "structuralRepresentation": { "description": "Molectular structural representation.", "items": { "$ref": "#/definitions/SubstanceSpecification_StructuralRepresentation" }, "type": "array" } }, "additionalProperties": false }, "SubstanceSpecification_Isotope": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "nuclideId": { "description": "Substance identifier for each non-natural or radioisotope.", "$ref": "Identifier.schema.json#/definitions/Identifier" }, "nuclideName": { "description": "Substance name for each non-natural or radioisotope.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "substitutionType": { "description": "The type of isotopic substitution present in a single substance.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "nuclideHalfLife": { "description": "Half life - for a non-natural nuclide.", "$ref": "Quantity.schema.json#/definitions/Quantity" }, "amount": { "description": "Quantitative values for this isotope.", "$ref": "#/definitions/string" }, "_amount": { "description": "Extensions for amount", "$ref": "Element.schema.json#/definitions/Element" }, "molecularWeight": { "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).", "$ref": "#/definitions/SubstanceSpecification_MolecularWeight" } }, "additionalProperties": false }, "SubstanceSpecification_MolecularWeight": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "method": { "description": "The method by which the molecular weight was determined.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "type": { "description": "Type of molecular weight such as exact, average (also known as. number average), weight average.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "amount": { "description": "Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.", "$ref": "#/definitions/string" }, "_amount": { "description": "Extensions for amount", "$ref": "Element.schema.json#/definitions/Element" } }, "additionalProperties": false }, "SubstanceSpecification_StructuralRepresentation": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "type": { "description": "The type of structure (e.g. Full, Partial, Representative).", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "representation": { "description": "The structural representation as text string in a format e.g. InChI, SMILES, MOLFILE, CDX.", "$ref": "#/definitions/string" }, "_representation": { "description": "Extensions for representation", "$ref": "Element.schema.json#/definitions/Element" }, "attachment": { "description": "An attached file with the structural representation.", "$ref": "Attachment.schema.json#/definitions/Attachment" } }, "additionalProperties": false }, "SubstanceSpecification_SubstanceCode": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "code": { "description": "The specific code.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "status": { "description": "Status of the code assignment.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "statusDate": { "description": "The date at which the code status is changed as part of the terminology maintenance.", "$ref": "#/definitions/dateTime" }, "_statusDate": { "description": "Extensions for statusDate", "$ref": "Element.schema.json#/definitions/Element" }, "comment": { "description": "Any comment can be provided in this field, if necessary.", "$ref": "#/definitions/string" }, "_comment": { "description": "Extensions for comment", "$ref": "Element.schema.json#/definitions/Element" }, "referenceSource": { "description": "Supporting literature.", "items": { "$ref": "#/definitions/string" }, "type": "array" }, "_referenceSource": { "description": "Extensions for referenceSource", "items": { "$ref": "Element.schema.json#/definitions/Element" }, "type": "array" } }, "additionalProperties": false }, "SubstanceSpecification_SubstanceName": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "name": { "description": "The actual name.", "$ref": "#/definitions/string" }, "_name": { "description": "Extensions for name", "$ref": "Element.schema.json#/definitions/Element" }, "type": { "description": "Name type.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "language": { "description": "Language of the name.", "items": { "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "type": "array" }, "domain": { "description": "The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive.", "items": { "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "type": "array" }, "jurisdiction": { "description": "The jurisdiction where this name applies.", "items": { "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "type": "array" }, "officialName": { "description": "Details of the official nature of this name.", "items": { "$ref": "#/definitions/SubstanceSpecification_OfficialName" }, "type": "array" }, "referenceSource": { "description": "Supporting literature.", "items": { "$ref": "#/definitions/string" }, "type": "array" }, "_referenceSource": { "description": "Extensions for referenceSource", "items": { "$ref": "Element.schema.json#/definitions/Element" }, "type": "array" } }, "additionalProperties": false }, "SubstanceSpecification_OfficialName": { "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.", "properties": { "id": { "description": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "$ref": "string.schema.json#/definitions/string" }, "extension": { "description": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "modifierExtension": { "description": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.", "items": { "$ref": "Extension.schema.json#/definitions/Extension" }, "type": "array" }, "authority": { "description": "Which authority uses this official name.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "status": { "description": "The status of the official name.", "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept" }, "date": { "description": "Date of official name change.", "$ref": "#/definitions/dateTime" }, "_date": { "description": "Extensions for date", "$ref": "Element.schema.json#/definitions/Element" } }, "additionalProperties": false } } }