Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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 GroupMaturity Level: N/AStandards 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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "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"
        },
        "status": {
          "description": "Status of substance within the catalogue e.g. approved.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "domain": {
          "description": "If the substance applies to only human or veterinary use.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "description": {
          "description": "Textual description of the substance.",
          "$ref": "#/definitions/string"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        },
        "comment": {
          "description": "Textual comment about this record of a substance.",
          "$ref": "#/definitions/string"
        },
        "_comment": {
          "description": "Extensions for comment",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "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"
        },
        "code": {
          "description": "Codes associated with the substance.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Code"
          },
          "type": "array"
        },
        "name": {
          "description": "Names applicable to this substance.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Name"
          },
          "type": "array"
        },
        "molecularWeight": {
          "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_MolecularWeight"
          },
          "type": "array"
        },
        "relationship": {
          "description": "A link between this substance and another, with details of the relationship.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Relationship"
          },
          "type": "array"
        },
        "nucleicAcid": {
          "description": "Data items specific to nucleic acids.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "polymer": {
          "description": "Data items specific to polymers.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "protein": {
          "description": "Data items specific to proteins.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "sourceMaterial": {
          "description": "Material or taxonomic/anatomical source for the substance.",
          "$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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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"
        },
        "amountQuantity": {
          "description": "Quantitative value for this moiety.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        },
        "amountString": {
          "description": "Quantitative value for this moiety.",
          "pattern": "^[ \\r\\n\\t\\S]+$",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "category": {
          "description": "A category for this property, e.g. Physical, Chemical, Enzymatic.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "code": {
          "description": "Property type e.g. viscosity, pH, isoelectric point.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "parameters": {
          "description": "Parameters that were used in the measurement of a property (e.g. for viscosity: measured at 20C with a pH of 7.1).",
          "$ref": "#/definitions/string"
        },
        "_parameters": {
          "description": "Extensions for parameters",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "definingSubstanceReference": {
          "description": "A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol).",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "definingSubstanceCodeableConcept": {
          "description": "A substance upon which a defining property depends (e.g. for solubility: in water, in alcohol).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "amountQuantity": {
          "description": "Quantitative value for this property.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        },
        "amountString": {
          "description": "Quantitative value for this property.",
          "pattern": "^[ \\r\\n\\t\\S]+$",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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, 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"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        },
        "representation": {
          "description": "Molecular structural representation.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Representation"
          },
          "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "Substance identifier for each non-natural or radioisotope.",
          "$ref": "Identifier.schema.json#/definitions/Identifier"
        },
        "name": {
          "description": "Substance name for each non-natural or radioisotope.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "substitution": {
          "description": "The type of isotopic substitution present in a single substance.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "halfLife": {
          "description": "Half life - for a non-natural nuclide.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        },
        "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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": "Quantity.schema.json#/definitions/Quantity"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Representation": {
      "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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_Code": {
      "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Name": {
      "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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"
        },
        "status": {
          "description": "The status of the name.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "preferred": {
          "description": "If this is the preferred name for this substance.",
          "$ref": "#/definitions/boolean"
        },
        "_preferred": {
          "description": "Extensions for preferred",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "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"
        },
        "synonym": {
          "description": "A synonym of this name.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Name"
          },
          "type": "array"
        },
        "translation": {
          "description": "A translation for this name.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Name"
          },
          "type": "array"
        },
        "official": {
          "description": "Details of the official nature of this name.",
          "items": {
            "$ref": "#/definitions/SubstanceSpecification_Official"
          },
          "type": "array"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    },
    "SubstanceSpecification_Official": {
      "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "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
    },
    "SubstanceSpecification_Relationship": {
      "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 and/or the understanding of the containing element\u0027s descendants. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "substanceReference": {
          "description": "A pointer to another substance, as a resource or just a representational code.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "substanceCodeableConcept": {
          "description": "A pointer to another substance, as a resource or just a representational code.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "relationship": {
          "description": "For example \"salt to parent\", \"active moiety\", \"starting material\".",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "isDefining": {
          "description": "For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationships.",
          "$ref": "#/definitions/boolean"
        },
        "_isDefining": {
          "description": "Extensions for isDefining",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "amountQuantity": {
          "description": "A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        },
        "amountRange": {
          "description": "A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other.",
          "$ref": "Range.schema.json#/definitions/Range"
        },
        "amountRatio": {
          "description": "A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other.",
          "$ref": "Ratio.schema.json#/definitions/Ratio"
        },
        "amountString": {
          "description": "A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other.",
          "pattern": "^[ \\r\\n\\t\\S]+$",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "amountRatioLowLimit": {
          "description": "For use when the numeric.",
          "$ref": "Ratio.schema.json#/definitions/Ratio"
        },
        "amountType": {
          "description": "An operator for the amount, for example \"average\", \"approximately\", \"less than\".",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "additionalProperties": false
    }
  }
}