FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

Responsible Owner: Biomedical Research and Regulation icon Work GroupStandards Status: Informative Compartments: No defined compartments

This is a representation of the json schema for SubstanceDefinition, 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/SubstanceDefinition",
  "$ref": "#/definitions/SubstanceDefinition",
  "description": "see http://hl7.org/fhir/json.html#schema for information about the FHIR Json Schemas",
  "definitions": {
    "SubstanceDefinition": {
      "description": "The detailed description of a substance, typically at a level beyond what is used for prescribing.",
      "properties": {
        "resourceType": {
          "description": "This is a SubstanceDefinition resource",
          "const": "SubstanceDefinition"
        },
        "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. For DomainResources, if more than one implicitRules policy applies, additional policies may be conveyed using the [additionalImplicitRules](https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-additionalImplicitRules.html) extension.",
          "$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, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.",
          "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 managable, 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 managable, 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.",
          "items": {
            "$ref": "Identifier.schema.json#/definitions/Identifier"
          },
          "type": "array"
        },
        "version": {
          "description": "A business level edition or revision identifier.",
          "$ref": "#/definitions/string"
        },
        "_version": {
          "description": "Extensions for version",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "status": {
          "description": "Status of substance within the catalogue e.g. active, retired.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "classification": {
          "description": "A high level categorization, e.g. polymer or nucleic acid, or food, chemical, biological, or a lower level such as the general types of polymer (linear or branch chain) or type of impurity (process related or contaminant).",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "domain": {
          "description": "The applicable usage of the substance, as an example human or veterinary.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "grade": {
          "description": "The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard).",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "Textual description of the substance.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "note": {
          "description": "Textual comment about the substance\u0027s catalogue or registry record.",
          "items": {
            "$ref": "Annotation.schema.json#/definitions/Annotation"
          },
          "type": "array"
        },
        "manufacturer": {
          "description": "The entity that creates, makes, produces or fabricates the substance. This is a set of potential manufacturers but is not necessarily comprehensive.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        },
        "supplier": {
          "description": "An entity that is the source for the substance. It may be different from the manufacturer. Supplier is synonymous to a distributor.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        },
        "moiety": {
          "description": "Moiety, for structural modifications.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Moiety"
          },
          "type": "array"
        },
        "characterization": {
          "description": "General specifications for this substance.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Characterization"
          },
          "type": "array"
        },
        "property": {
          "description": "General specifications for this substance.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Property"
          },
          "type": "array"
        },
        "molecularWeight": {
          "description": "The average mass of a molecule of a compound compared to 1/12 the mass of carbon 12 and calculated as the sum of the atomic weights of the constituent atoms.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_MolecularWeight"
          },
          "type": "array"
        },
        "structure": {
          "description": "Structural information.",
          "$ref": "#/definitions/SubstanceDefinition_Structure"
        },
        "code": {
          "description": "Codes associated with the substance.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Code"
          },
          "type": "array"
        },
        "name": {
          "description": "Names applicable to this substance.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Name"
          },
          "type": "array"
        },
        "relationship": {
          "description": "A link between this substance and another, with details of the relationship.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Relationship"
          },
          "type": "array"
        },
        "sourceMaterial": {
          "description": "Material or taxonomic/anatomical source for the substance.",
          "$ref": "#/definitions/SubstanceDefinition_SourceMaterial"
        },
        "nucleicAcid": {
          "description": "Data items specific to nucleic acids.",
          "$ref": "#/definitions/SubstanceDefinition_NucleicAcid"
        },
        "polymer": {
          "description": "Data items specific to polymers.",
          "$ref": "#/definitions/SubstanceDefinition_Polymer"
        },
        "protein": {
          "description": "Data items specific to proteins.",
          "$ref": "#/definitions/SubstanceDefinition_Protein"
        }
      },
      "type": "object",
      "additionalProperties": false,
      "required": [
        "resourceType"
      ]
    },
    "SubstanceDefinition_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 managable, 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 managable, 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.",
          "items": {
            "$ref": "Identifier.schema.json#/definitions/Identifier"
          },
          "type": "array"
        },
        "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 for this moiety of this substance, typically using the Hill system.",
          "$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": "^^[\\s\\S]+$$",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "measurementType": {
          "description": "The measurement type of the quantitative value. In capturing the actual relative amounts of substances or molecular fragments it may be necessary to indicate whether the amount refers to, for example, a mole ratio or weight ratio.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Characterization": {
      "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 managable, 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 managable, 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"
        },
        "technique": {
          "description": "The method used to elucidate the characterization of the drug substance. Example: HPLC.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "form": {
          "description": "Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "description": {
          "description": "The description or justification in support of the interpretation of the data file.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "file": {
          "description": "The data produced by the analytical instrument or a pictorial representation of that data. Examples: a JCAMP, JDX, or ADX file, or a chromatogram or spectrum analysis.",
          "items": {
            "$ref": "Attachment.schema.json#/definitions/Attachment"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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": "A code expressing the type of property.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "valueCodeableConcept": {
          "description": "A value for the property.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "valueQuantity": {
          "description": "A value for the property.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        },
        "valueRange": {
          "description": "A value for the property.",
          "$ref": "Range.schema.json#/definitions/Range"
        },
        "valueDate": {
          "description": "A value for the property.",
          "pattern": "^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$",
          "type": "string"
        },
        "_valueDate": {
          "description": "Extensions for valueDate",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "valueBoolean": {
          "description": "A value for the property.",
          "pattern": "^true|false$",
          "type": "boolean"
        },
        "_valueBoolean": {
          "description": "Extensions for valueBoolean",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "valueAttachment": {
          "description": "A value for the property.",
          "$ref": "Attachment.schema.json#/definitions/Attachment"
        }
      },
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "SubstanceDefinition_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 managable, 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 managable, 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"
        }
      },
      "type": "object",
      "additionalProperties": false,
      "required": [
        "amount"
      ]
    },
    "SubstanceDefinition_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 managable, 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 managable, 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": "An expression which states the number and type of atoms present in a molecule of a substance.",
          "$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"
        },
        "molecularWeight": {
          "description": "The molecular weight or weight range (for proteins, polymers or nucleic acids).",
          "$ref": "#/definitions/SubstanceDefinition_MolecularWeight"
        },
        "technique": {
          "description": "The method used to elucidate the structure of the drug substance. Examples: X-ray, NMR, Peptide mapping, Ligand binding assay.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "sourceDocument": {
          "description": "The source of information about the structure.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        },
        "representation": {
          "description": "A depiction of the structure of the substance.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Representation"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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 kind of structural representation (e.g. full, partial).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "representation": {
          "description": "The structural representation as a text string in a standard format.",
          "$ref": "#/definitions/string"
        },
        "_representation": {
          "description": "Extensions for representation",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "format": {
          "description": "The format of the representation e.g. InChI, SMILES, MOLFILE, CDX, SDF, PDB, mmCIF. The logical content type rather than the physical file format of a document.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "document": {
          "description": "An attached file with the structural representation e.g. a molecular structure graphic of the substance, a JCAMP or AnIML file.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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, for example \u0027provisional\u0027, \u0027approved\u0027.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "statusDate": {
          "description": "The date at which the code status was changed as part of the terminology maintenance.",
          "$ref": "#/definitions/dateTime"
        },
        "_statusDate": {
          "description": "Extensions for statusDate",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "note": {
          "description": "Any comment can be provided in this field, if necessary.",
          "items": {
            "$ref": "Annotation.schema.json#/definitions/Annotation"
          },
          "type": "array"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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, for example \u0027systematic\u0027,  \u0027scientific, \u0027brand\u0027.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "status": {
          "description": "The status of the name, for example \u0027current\u0027, \u0027proposed\u0027.",
          "$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": "Human language that the name is written in.",
          "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 particular name, by which the substance is also known.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Name"
          },
          "type": "array"
        },
        "translation": {
          "description": "A translation for this name into another human language.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Name"
          },
          "type": "array"
        },
        "official": {
          "description": "Details of the official nature of this name.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Official"
          },
          "type": "array"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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, for example \u0027draft\u0027, \u0027active\u0027, \u0027retired\u0027.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "date": {
          "description": "Date of the official name change.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_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 managable, 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 managable, 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"
        },
        "substanceDefinitionReference": {
          "description": "A pointer to another substance, as a resource or just a representational code.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "substanceDefinitionCodeableConcept": {
          "description": "A pointer to another substance, as a resource or just a representational code.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "type": {
          "description": "For example \"salt to parent\", \"active moiety\", \"starting material\", \"polymorph\", \"impurity of\".",
          "$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"
        },
        "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": "^^[\\s\\S]+$$",
          "type": "string"
        },
        "_amountString": {
          "description": "Extensions for amountString",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "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"
        },
        "ratioHighLimitAmount": {
          "description": "For use when the numeric has an uncertain range.",
          "$ref": "Ratio.schema.json#/definitions/Ratio"
        },
        "comparator": {
          "description": "An operator for the amount, for example \"average\", \"approximately\", \"less than\".",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "measurementType": {
          "description": "The kind of measurement that the amount represents, e.g. an inhibitory concentration (IC50), dissociation constant (Kd), inhibition constant (Ki), or a ratio expressed by mole or by weight.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "interaction": {
          "description": "For target relationships, the kind of interaction between the substance and its target.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "organism": {
          "description": "For anti-infective target relationships, the specific organism the substance is targeted against (e.g. E. coli, S. aureus). For broad-spectrum agents, organismType may be specified instead.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "organismType": {
          "description": "For anti-infective target relationships, the high-level type of organism the substance is targeted against (e.g. bacterial, viral, fungal). May be used independently of organism, particularly for broad-spectrum agents.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "source": {
          "description": "Supporting literature.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ]
    },
    "SubstanceDefinition_SourceMaterial": {
      "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 managable, 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 managable, 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": "A classification that provides the origin of the raw material. Example: cat hair would be an Animal source type.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "genus": {
          "description": "The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific name.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "species": {
          "description": "The species of an organism, typically referring to the Latin epithet of the species of the plant/animal.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "part": {
          "description": "An anatomical origin of the source material within an organism.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "countryOfOrigin": {
          "description": "The country or countries where the material is harvested.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_NucleicAcid": {
      "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 managable, 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 managable, 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"
        },
        "sequenceType": {
          "description": "The type of the sequence (e.g. DNA, RNA).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "numberOfSubunits": {
          "description": "The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing.",
          "$ref": "#/definitions/integer"
        },
        "_numberOfSubunits": {
          "description": "Extensions for numberOfSubunits",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "areaOfHybridisation": {
          "description": "The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order.",
          "$ref": "#/definitions/string"
        },
        "_areaOfHybridisation": {
          "description": "Extensions for areaOfHybridisation",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "oligoNucleotideType": {
          "description": "The class of oligonucleotide, where relevant (e.g. antisense, siRNA, aptamer).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "subunit": {
          "description": "A subunit constituting the nucleic acid. Subunits are listed in decreasing length order; ties are ordered by molecular weight; identical sequences are repeated.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Subunit"
          },
          "type": "array"
        },
        "gene": {
          "description": "The gene that codes for this substance (typically applies to proteins and nucleic acids). Captures the gene\u0027s identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human).",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Gene"
          },
          "type": "array"
        },
        "geneElement": {
          "description": "Information about the functional elements (promoter, enhancer, coding sequence, terminator, etc.) that make up a nucleic acid construct used in gene therapy. Each element captures its role and identity.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_GeneElement"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Subunit": {
      "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 managable, 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 managable, 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"
        },
        "subunit": {
          "description": "Index of the subunit. Subunits are numbered in decreasing length order, with ties broken by molecular weight.",
          "$ref": "#/definitions/integer"
        },
        "_subunit": {
          "description": "Extensions for subunit",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "sequence": {
          "description": "The nucleotide sequence in 5’→3’ notation using standard single-letter codes. Sugar and linkage type may be expressed alongside, via .sugar and .linkage.",
          "$ref": "#/definitions/string"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "length": {
          "description": "The length of the sequence.",
          "$ref": "#/definitions/integer"
        },
        "_length": {
          "description": "Extensions for length",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "sequenceAttachment": {
          "description": "The sequence provided as an attached file (e.g. when too long for inline capture).",
          "$ref": "Attachment.schema.json#/definitions/Attachment"
        },
        "fivePrime": {
          "description": "The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "threePrime": {
          "description": "The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "linkage": {
          "description": "The linkages between sugar residues in the nucleotide sequence.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Linkage"
          },
          "type": "array"
        },
        "sugar": {
          "description": "A sugar component of the nucleotide sequence, identifying the sugar substance and the residue positions to which it applies.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Sugar"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Linkage": {
      "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 managable, 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 managable, 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"
        },
        "connectivity": {
          "description": "The chemistry of the linkage. For naturally occurring nucleic acids the linkage is usually a phosphate group; synthetic oligonucleotides may use phosphorothioate or other modified linkages. Linkage connectivity defaults to 3’-5’; 3’-3’ or 5’-5’ should be stated explicitly.",
          "$ref": "#/definitions/string"
        },
        "_connectivity": {
          "description": "Extensions for connectivity",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "substance": {
          "description": "The substance representing the linkage, expressed as a code or a reference to its SubstanceDefinition. Each linkage is registered as a fragment. Reference.identifier may be used to carry an external ID (e.g. ISO 11238 Substance ID) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "residueSite": {
          "description": "The residue positions at which this linkage applies, listed in 5’→3’ direction consistent with the base sequence.",
          "$ref": "#/definitions/string"
        },
        "_residueSite": {
          "description": "Extensions for residueSite",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Sugar": {
      "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 managable, 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 managable, 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"
        },
        "substance": {
          "description": "The substance representing the sugar (or sugar-like component) of the nucleotide, expressed as a code or a reference to its SubstanceDefinition. Reference.identifier may be used to carry an external ID (e.g. ISO 11238 Substance ID) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "residueSite": {
          "description": "The residue positions at which this sugar applies, listed in 5’→3’ direction consistent with the base sequence.",
          "$ref": "#/definitions/string"
        },
        "_residueSite": {
          "description": "Extensions for residueSite",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Gene": {
      "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 managable, 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 managable, 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"
        },
        "sequenceOrigin": {
          "description": "The species or lineage from which the gene sequence originated (e.g. human, humanised mouse, chimeric mouse-human, bacterial). For recombinant biologics, this is distinct from the production source organism.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "gene": {
          "description": "The gene itself, expressed as a code or as a reference to the SubstanceDefinition describing the gene as a nucleic acid. Reference.identifier may be used to carry an external ID (e.g. NCBI Gene, HGNC symbol) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "source": {
          "description": "Supporting literature for the gene information.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_GeneElement": {
      "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 managable, 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 managable, 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 functional role of the element within the construct, for example promoter, enhancer, silencer, terminator, or coding sequence.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "element": {
          "description": "The element itself, expressed as a code or as a reference to a SubstanceDefinition describing the element as a nucleic acid substance. Reference.identifier may be used to carry an external ID (e.g. addgene plasmid ID, NCBI accession) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "source": {
          "description": "Supporting literature for the gene element information.",
          "items": {
            "$ref": "Reference.schema.json#/definitions/Reference"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Polymer": {
      "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 managable, 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 managable, 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"
        },
        "class": {
          "description": "Overall type of the polymer.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "geometry": {
          "description": "Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "copolymerConnectivity": {
          "description": "Describes the copolymer sequence type (polymer connectivity).",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "modification": {
          "description": "A modification applied to the polymer, e.g. a chemical reaction that alters the structure post-polymerisation.",
          "$ref": "#/definitions/string"
        },
        "_modification": {
          "description": "Extensions for modification",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "monomerSet": {
          "description": "A set of monomers used to build the polymer, with their proportions and relationships.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_MonomerSet"
          },
          "type": "array"
        },
        "repeat": {
          "description": "Specifies and quantifies the repeated units and their configuration.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Repeat"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_MonomerSet": {
      "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 managable, 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 managable, 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"
        },
        "ratioType": {
          "description": "Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "startingMaterial": {
          "description": "The starting materials - monomer(s) used in the synthesis of the polymer.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_StartingMaterial"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_StartingMaterial": {
      "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 managable, 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 managable, 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 substance acting as starting material. This may be specified as a code or as a reference to another SubstanceDefinition.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "category": {
          "description": "Substance high level category, e.g. chemical substance.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "isDefining": {
          "description": "Whether this starting material is part of what defines the polymer\u0027s unique identity.",
          "$ref": "#/definitions/boolean"
        },
        "_isDefining": {
          "description": "Extensions for isDefining",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "amount": {
          "description": "A percentage.",
          "$ref": "Quantity.schema.json#/definitions/Quantity"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Repeat": {
      "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 managable, 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 managable, 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"
        },
        "averageMolecularFormula": {
          "description": "A representation of an (average) molecular formula from a polymer.",
          "$ref": "#/definitions/string"
        },
        "_averageMolecularFormula": {
          "description": "Extensions for averageMolecularFormula",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "repeatUnitAmountType": {
          "description": "How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average).",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "repeatUnit": {
          "description": "An SRU - Structural Repeat Unit.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_RepeatUnit"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_RepeatUnit": {
      "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 managable, 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 managable, 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"
        },
        "unit": {
          "description": "Identification of the structural repeat unit (SRU).",
          "$ref": "#/definitions/string"
        },
        "_unit": {
          "description": "Extensions for unit",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "orientation": {
          "description": "The orientation of the polymerisation, e.g. head-tail, head-head, random.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "amount": {
          "description": "Number of repeats of this unit.",
          "$ref": "#/definitions/integer"
        },
        "_amount": {
          "description": "Extensions for amount",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "degreeOfPolymerisation": {
          "description": "Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_DegreeOfPolymerisation"
          },
          "type": "array"
        },
        "structuralRepresentation": {
          "description": "A graphical structure for this SRU.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Representation"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_DegreeOfPolymerisation": {
      "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 managable, 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 managable, 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 degree of polymerisation, e.g. SRU/Polymer ratio.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "average": {
          "description": "An average amount of polymerisation.",
          "$ref": "#/definitions/integer"
        },
        "_average": {
          "description": "Extensions for average",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "low": {
          "description": "A low expected limit of the amount.",
          "$ref": "#/definitions/integer"
        },
        "_low": {
          "description": "Extensions for low",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "high": {
          "description": "A high expected limit of the amount.",
          "$ref": "#/definitions/integer"
        },
        "_high": {
          "description": "Extensions for high",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Protein": {
      "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 managable, 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 managable, 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"
        },
        "sequenceType": {
          "description": "Whether the sequence provided is complete or partial.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "numberOfSubunits": {
          "description": "Number of subunits — linear sequences of amino acids linked through peptide bonds.",
          "$ref": "#/definitions/integer"
        },
        "_numberOfSubunits": {
          "description": "Extensions for numberOfSubunits",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "disulfideLinkage": {
          "description": "Disulphide bond(s) between cysteine residues on the same subunit or across two different subunits. Positions are listed in increasing order of subunit number and intra-subunit position, followed by the amino-acid abbreviations. The positions should contain Cysteine residues.",
          "items": {
            "$ref": "#/definitions/string"
          },
          "type": "array"
        },
        "_disulfideLinkage": {
          "description": "Extensions for disulfideLinkage",
          "items": {
            "$ref": "Element.schema.json#/definitions/Element"
          },
          "type": "array"
        },
        "subunit": {
          "description": "Each subunit constituting the protein. A subunit is a linear sequence of amino acids linked through peptide bonds. Used when the finished protein is a complex of multiple sequences (not for domains within a single sequence). Subunits are listed in order of decreasing length; ties resolved by decreasing molecular weight; identical sequences are repeated.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Subunit1"
          },
          "type": "array"
        },
        "gene": {
          "description": "The gene that codes for this protein substance (typically the source gene). Captures the gene\u0027s identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human). Same structure as nucleicAcid.gene.",
          "items": {
            "$ref": "#/definitions/SubstanceDefinition_Gene"
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "SubstanceDefinition_Subunit1": {
      "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 managable, 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 managable, 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"
        },
        "subunit": {
          "description": "Index of primary sequences of amino acids linked through peptide bonds in order of decreasing length. Sequences of the same length will be ordered by molecular weight. Subunits that have identical sequences will be repeated and have sequential subscripts.",
          "$ref": "#/definitions/integer"
        },
        "_subunit": {
          "description": "Extensions for subunit",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "sequence": {
          "description": "The amino-acid sequence, listed N- to C-terminal using standard single-letter amino-acid codes. Uppercase denotes L-amino acids, lowercase denotes D-amino acids. Transcribed proteins are described using the translated sequence; for synthetic peptides containing amino acids without a single-letter code, X is used. Modified amino acids are identified by their position in the sequence.",
          "$ref": "#/definitions/string"
        },
        "_sequence": {
          "description": "Extensions for sequence",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "length": {
          "description": "Length of linear sequences of amino acids contained in the subunit.",
          "$ref": "#/definitions/integer"
        },
        "_length": {
          "description": "Extensions for length",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "sequenceAttachment": {
          "description": "The amino-acid sequence provided as an attached file (e.g. when too long for inline capture, or only available in non-text form such as an image).",
          "$ref": "Attachment.schema.json#/definitions/Attachment"
        },
        "nTerminalModification": {
          "description": "The molecular fragment modification at the N-terminal of the protein, expressed as a code or a reference to its SubstanceDefinition. Reference.identifier may be used to carry an external ID (e.g. ISO 11238 Substance ID) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        },
        "cTerminalModification": {
          "description": "The molecular fragment modification at the C-terminal of the protein, expressed as a code or a reference to its SubstanceDefinition. Reference.identifier may be used to carry an external ID (e.g. ISO 11238 Substance ID) when no resolvable URL is available.",
          "$ref": "CodeableReference.schema.json#/definitions/CodeableReference"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  }
}