FHIR CI-Build

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

18.9 Resource SubstanceDefinition - Content

Responsible Owner: Biomedical Research and Regulation icon Work Group NormativeSecurity Category: Anonymous Compartments: No defined compartments

The detailed description of a substance, typically at a level beyond what is used for prescribing.

For an overview of this resource and others in the Medication Definition domain, also see the module page

Note to Balloters: To ensure this resource is ready for Normative status, we are seeking ballot comment on the substantive content. The key changes made since the last R6 ballot are:

  • Updates to the following elements:
    • SubstanceDefinition.moiety.identifier, which was made 0..* (previously 0..1)
    • SubstanceDefinition.name.official.authority, value set (and code system) substance-name-authority has been extended with code: "UT", UMC Terminologies
  • Classes moved in from R5 resources SubstanceNucleicAcid, SubstancePolymer, SubstanceProtein and SubstanceReferenceInformation

SubstanceDefinition is used for rich descriptions of substances, of any type, to support the detailed definition of medications, and in particular their ingredients (see Ingredient) and manufacturing.

This is a definitional resource describing types of substances, to a varying degree of specificity. It can cover the substance in the abstract (properties that this substance always has), or a particular variety of it, such as one manufacturer's version, or a certain presentation (e.g. "granulated"). However it is always a type and does not represent an actual physical instance of a substance. By contrast the Substance resource represents an instance (an actual batch).

SubstanceDefinition is not generally used directly to represent an ingredient, nor as a product that is given to a patient. When acting as an ingredient, the Ingredient resource gives the context necessary (strength, role etc.) and, within it, uses this resource to describe the substance. Any substance that is to be used as medication would be considered a medicinal product (even a plain one such as water) and as such would be described using MedicinalProductDefinition or for a concise summary suitable for day-to-day prescribing, Medication.

Structure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SubstanceDefinition N DomainResource The detailed description of a substance, typically at a level beyond what is used for prescribing

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Identifier by which this substance is known

... version Σ 0..1 string A business level edition or revision identifier
... status ?!Σ 0..1 CodeableConcept Status of substance within the catalogue e.g. active, retired
Binding: PublicationStatus (Preferred)
... domain Σ 0..1 CodeableConcept The applicable usage of the substance, as an example human or veterinary
Binding: Medicinal Product Domain (Example)
... grade Σ 0..* CodeableConcept The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
Binding: Substance Grade (Example)

... description Σ 0..1 markdown Textual description of the substance
... note Σ 0..* Annotation Textual comment about the substance's catalogue or registry record

... manufacturer Σ 0..* Reference(Organization) The entity that creates, makes, produces or fabricates the substance

... supplier Σ 0..* Reference(Organization) An entity that is the source for the substance. It may be different from the manufacturer

... moiety Σ 0..* BackboneElement Moiety, for structural modifications

.... role Σ 0..1 CodeableConcept Role that the moiety is playing
.... identifier Σ 0..* Identifier Identifier by which this moiety substance is known

.... name Σ 0..1 string Textual name for this moiety substance
.... stereochemistry Σ 0..1 CodeableConcept Stereochemistry type
Binding: Stereochemistry (Example)
.... opticalActivity Σ 0..1 CodeableConcept Optical activity type
Binding: Optical Activity (Example)
.... molecularFormula Σ 0..1 string Molecular formula for this moiety (e.g. with the Hill system)
.... amount[x] Σ 0..1 Quantitative value for this moiety
..... amountQuantity Quantity
..... amountString string
.... measurementType Σ 0..1 CodeableConcept The measurement type of the quantitative value
Binding: Substance Amount Type (Example)
... characterization Σ 0..* BackboneElement General specifications for this substance

.... technique Σ 0..1 CodeableConcept The method used to find the characterization e.g. HPLC
Binding: Structure Technique (Example)
.... form Σ 0..1 CodeableConcept Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
Binding: Substance Form (Example)
.... description Σ 0..1 markdown The description or justification in support of the interpretation of the data file
.... file Σ 0..* Attachment 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

... property Σ 0..* BackboneElement General specifications for this substance

.... type Σ 1..1 CodeableConcept A code expressing the type of property
Binding: Product Characteristic (Example)
.... value[x] Σ 0..1 A value for the property
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueDate date
..... valueBoolean boolean
..... valueAttachment Attachment
... molecularWeight Σ 0..* BackboneElement The average mass of a molecule of a compound

.... method Σ 0..1 CodeableConcept The method by which the weight was determined
Binding: Weight Method (Example)
.... type Σ 0..1 CodeableConcept Type of molecular weight e.g. exact, average, weight average
Binding: Weight Type (Example)
.... amount Σ 1..1 Quantity Used to capture quantitative values for a variety of elements
... structure Σ 0..1 BackboneElement Structural information
.... stereochemistry Σ 0..1 CodeableConcept Stereochemistry type
Binding: Stereochemistry (Example)
.... opticalActivity Σ 0..1 CodeableConcept Optical activity type
Binding: Optical Activity (Example)
.... molecularFormula Σ 0..1 string An expression which states the number and type of atoms present in a molecule of a substance
.... molecularFormulaByMoiety Σ 0..1 string Specified per moiety according to the Hill system
.... molecularWeight Σ 0..1 see molecularWeight The molecular weight or weight range
.... technique Σ 0..* CodeableConcept The method used to find the structure e.g. X-ray, NMR
Binding: Structure Technique (Example)

.... sourceDocument Σ 0..* Reference(DocumentReference) Source of information for the structure

.... representation Σ 0..* BackboneElement A depiction of the structure of the substance

..... type Σ 0..1 CodeableConcept The kind of structural representation (e.g. full, partial)
Binding: Substance Representation Type (Example)
..... representation Σ 0..1 string The structural representation as a text string in a standard format
..... format Σ 0..1 CodeableConcept The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
Binding: Substance Representation Format (Example)
..... document Σ 0..1 Reference(DocumentReference) An attachment with the structural representation e.g. a structure graphic or AnIML file
... code Σ 0..* BackboneElement Codes associated with the substance

.... code Σ 0..1 CodeableConcept The specific code
.... status Σ 0..1 CodeableConcept Status of the code assignment, for example 'provisional', 'approved'
Binding: PublicationStatus (Preferred)
.... statusDate Σ 0..1 dateTime The date at which the code status was changed
.... note Σ 0..* Annotation Any comment can be provided in this field

.... source Σ 0..* Reference(DocumentReference) Supporting literature

... name Σ 0..* BackboneElement Names applicable to this substance

.... name Σ 1..1 string The actual name
.... type Σ 0..1 CodeableConcept Name type e.g. 'systematic', 'scientific, 'brand'
Binding: Substance Name Type (Example)
.... status Σ 0..1 CodeableConcept The status of the name e.g. 'current', 'proposed'
Binding: PublicationStatus (Preferred)
.... preferred Σ 0..1 boolean If this is the preferred name for this substance
.... language Σ 0..* CodeableConcept Human language that the name is written in
Binding: All Languages (Required)
Additional BindingsPurpose
Common Languages Starter


.... domain Σ 0..* CodeableConcept The use context of this name e.g. as an active ingredient or as a food colour additive
Binding: Substance Name Domain (Example)

.... jurisdiction Σ 0..* CodeableConcept The jurisdiction where this name applies
Binding: Jurisdiction ValueSet icon (Example)

.... synonym Σ 0..* see name A synonym of this particular name, by which the substance is also known

.... translation Σ 0..* see name A translation for this name into another human language

.... official Σ 0..* BackboneElement Details of the official nature of this name

..... authority Σ 0..1 CodeableConcept Which authority uses this official name
Binding: Substance Name Authority (Preferred)
..... status Σ 0..1 CodeableConcept The status of the official name, for example 'draft', 'active'
Binding: PublicationStatus (Preferred)
..... date Σ 0..1 dateTime Date of official name change
.... source Σ 0..* Reference(DocumentReference) Supporting literature

... relationship Σ 0..* BackboneElement A link between this substance and another

.... substanceDefinition[x] Σ 0..1 A pointer to another substance, as a resource or a representational code
..... substanceDefinitionReference Reference(SubstanceDefinition)
..... substanceDefinitionCodeableConcept CodeableConcept
.... type Σ 1..1 CodeableConcept For example "salt to parent", "active moiety"
Binding: Substance Relationship Type (Example)
.... isDefining Σ 0..1 boolean For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
.... amount[x] Σ 0..1 A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
..... amountQuantity Quantity
..... amountRatio Ratio
..... amountString string
..... amountRange Range
.... ratioHighLimitAmount Σ 0..1 Ratio For use when the numeric has an uncertain range
.... comparator Σ 0..1 CodeableConcept An operator for the amount, for example "average", "approximately", "less than"
Binding: Substance Amount Type (Example)
.... measurementType Σ 0..1 CodeableConcept The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
Binding: Substance Measurement Type (Example)
.... interaction Σ 0..1 CodeableConcept For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
Binding: Substance Interaction Type (Example)
.... organism Σ 0..1 CodeableConcept For anti-infective target relationships, the specific organism targeted
Binding: Substance Target Organism (Example)
.... organismType Σ 0..1 CodeableConcept For anti-infective target relationships, the high-level type of organism targeted
Binding: Substance Target Organism Type (Example)
.... source Σ 0..* Reference(DocumentReference) Supporting literature

... sourceMaterial Σ 0..1 BackboneElement Material or taxonomic/anatomical source
.... type Σ 0..1 CodeableConcept Classification of the origin of the raw material. e.g. cat hair is an Animal source type
Binding: Source Material Type (Example)
.... genus Σ 0..1 CodeableConcept The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
Binding: Source Material Genus (Example)
.... species Σ 0..1 CodeableConcept The species of an organism e.g. the Latin epithet of the species of the plant/animal
Binding: Source Material Species (Example)
.... part Σ 0..1 CodeableConcept An anatomical origin of the source material within an organism
Binding: Source Material Part (Example)
.... countryOfOrigin Σ 0..* CodeableConcept The country or countries where the material is harvested
Binding: Country ValueSet (Required)

... nucleicAcid 0..1 BackboneElement Data items specific to nucleic acids
.... sequenceType Σ 0..1 CodeableConcept The type of the sequence (e.g. DNA, RNA)
Binding: Substance Sequence Type (Example)
.... numberOfSubunits Σ 0..1 integer The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
.... areaOfHybridisation Σ 0..1 string The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
.... oligoNucleotideType Σ 0..1 CodeableConcept Type or class of the oligonucleotide
Binding: Oligonucleotide Type (Example)
.... subunit Σ 0..* BackboneElement A subunit constituting the nucleic acid

..... subunit Σ 0..1 integer Index of the subunit in decreasing length order
..... sequence Σ 0..1 string The nucleotide sequence in 5’→3’ notation using standard single-letter codes
..... length Σ 0..1 integer The length of the sequence
..... sequenceAttachment Σ 0..1 Attachment The sequence as an attached file
..... fivePrime Σ 0..1 CodeableConcept The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
Binding: Nucleotide Terminus (Example)
..... threePrime Σ 0..1 CodeableConcept The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
Binding: Nucleotide Terminus (Example)
..... linkage Σ 0..* BackboneElement The linkages between sugar residues in the nucleotide sequence

...... connectivity Σ 0..1 string The chemistry of the linkage
...... substance Σ 0..1 CodeableReference(SubstanceDefinition) The linkage substance, as a code or a reference to its SubstanceDefinition
...... residueSite Σ 0..1 string The residue positions at which this linkage applies, in 5’→3’ direction
..... sugar Σ 0..* BackboneElement A sugar component of the nucleotide sequence

...... substance Σ 0..1 CodeableReference(SubstanceDefinition) The sugar substance, as a code or a reference to its SubstanceDefinition
...... residueSite Σ 0..1 string The residue positions at which this sugar applies, in 5’→3’ direction
.... gene Σ 0..* BackboneElement The gene that codes for this substance

..... sequenceOrigin Σ 0..1 CodeableConcept The species or lineage from which the gene sequence originated
Binding: Gene Sequence Origin (Example)
..... gene Σ 0..1 CodeableReference(SubstanceDefinition) The gene itself, as a code or a reference to a SubstanceDefinition
..... source Σ 0..* Reference(DocumentReference) Supporting literature for the gene information

.... geneElement Σ 0..* BackboneElement Gene elements that comprise a nucleic acid construct (used for gene therapy)

..... type Σ 0..1 CodeableConcept The functional role of the element (e.g. promoter, enhancer, coding sequence)
Binding: Gene Element Type (Example)
..... element Σ 0..1 CodeableReference(SubstanceDefinition) The element itself, as a code or a reference to a SubstanceDefinition
..... source Σ 0..* Reference(DocumentReference) Supporting literature for the gene element information

... polymer 0..1 BackboneElement Data items specific to polymers
.... class Σ 0..1 CodeableConcept Overall type of the polymer
Binding: Polymer Class (Example)
.... geometry Σ 0..1 CodeableConcept Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
Binding: Polymer Geometry (Example)
.... copolymerConnectivity Σ 0..* CodeableConcept Describes the copolymer sequence type (polymer connectivity)
Binding: Copolymer Connectivity (Example)

.... modification Σ 0..1 string A modification applied to the polymer
.... monomerSet Σ 0..* BackboneElement A set of monomers used to build the polymer

..... ratioType Σ 0..1 CodeableConcept Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
Binding: Polymer Monomer Ratio Type (Example)
..... startingMaterial Σ 0..* BackboneElement The starting materials - monomer(s) used in the synthesis of the polymer

...... code Σ 0..1 CodeableReference(SubstanceDefinition) The substance acting as starting material, as a code or a reference to a SubstanceDefinition
Binding: Substance Code (Example)
...... category Σ 0..1 CodeableConcept Substance high level category, e.g. chemical substance
Binding: Polymer Starting Material Category (Example)
...... isDefining Σ 0..1 boolean Whether this starting material is part of what defines the polymer's unique identity
...... amount Σ 0..1 Quantity A percentage
.... repeat Σ 0..* BackboneElement Specifies and quantifies the repeated units and their configuration

..... averageMolecularFormula Σ 0..1 string A representation of an (average) molecular formula from a polymer
..... repeatUnitAmountType Σ 0..1 CodeableConcept How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
Binding: Polymer Monomer Ratio Type (Example)
..... repeatUnit Σ 0..* BackboneElement An SRU - Structural Repeat Unit

...... unit Σ 0..1 string Identification of the structural repeat unit (SRU)
...... orientation Σ 0..1 CodeableConcept The orientation of the polymerisation, e.g. head-tail, head-head, random
Binding: Polymerisation Orientation (Example)
...... amount Σ 0..1 integer Number of repeats of this unit
...... degreeOfPolymerisation Σ 0..* BackboneElement Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described

....... type Σ 0..1 CodeableConcept The type of degree of polymerisation, e.g. SRU/Polymer ratio
Binding: Degree of Polymerisation Type (Example)
....... average Σ 0..1 integer An average amount of polymerisation
....... low Σ 0..1 integer A low expected limit of the amount
....... high Σ 0..1 integer A high expected limit of the amount
...... structuralRepresentation Σ 0..* see representation A graphical structure for this SRU

... protein 0..1 BackboneElement Data items specific to proteins
.... sequenceType Σ 0..1 CodeableConcept Whether the sequence is complete or partial
Binding: Substance Sequence Type (Example)
.... numberOfSubunits Σ 0..1 integer Number of subunits — linear sequences of amino acids linked through peptide bonds
.... disulfideLinkage Σ 0..* string 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

.... subunit Σ 0..* BackboneElement 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

..... subunit Σ 0..1 integer 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
..... sequence Σ 0..1 string 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
..... length Σ 0..1 integer Length of linear sequences of amino acids contained in the subunit
..... sequenceAttachment Σ 0..1 Attachment The amino-acid sequence as an attached file
..... nTerminalModification Σ 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the N-terminal of the protein
..... cTerminalModification Σ 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the C-terminal of the protein
.... gene Σ 0..* see gene The gene that codes for this substance


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

SubstanceDefinition (DomainResource)Identifier by which this substance is knownidentifier : Identifier [0..*]A business level edition or revision identifierversion : string [0..1]Status of substance within the catalogue e.g. active, retired (this element modifies the meaning of other elements)status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »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)classification : CodeableConcept [0..*]The applicable usage of the substance, as an example human or veterinarydomain : CodeableConcept [0..1] « null (Strength=Example)MedicinalProductDomain?? »The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard)grade : CodeableConcept [0..*] « null (Strength=Example)SubstanceGrade?? »Textual description of the substancedescription : markdown [0..1]Textual comment about the substance's catalogue or registry recordnote : Annotation [0..*]The entity that creates, makes, produces or fabricates the substance. This is a set of potential manufacturers but is not necessarily comprehensivemanufacturer : Reference [0..*] « Organization »An entity that is the source for the substance. It may be different from the manufacturer. Supplier is synonymous to a distributorsupplier : Reference [0..*] « Organization »MoietyRole that the moiety is playingrole : CodeableConcept [0..1]Identifier by which this moiety substance is knownidentifier : Identifier [0..*]Textual name for this moiety substancename : string [0..1]Stereochemistry typestereochemistry : CodeableConcept [0..1] « null (Strength=Example)Stereochemistry?? »Optical activity typeopticalActivity : CodeableConcept [0..1] « null (Strength=Example)OpticalActivity?? »Molecular formula for this moiety of this substance, typically using the Hill systemmolecularFormula : string [0..1]Quantitative value for this moietyamount[x] : DataType [0..1] « Quantity|string »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 ratiomeasurementType : CodeableConcept [0..1] « null (Strength=Example)SubstanceAmountType?? »CharacterizationThe method used to elucidate the characterization of the drug substance. Example: HPLCtechnique : CodeableConcept [0..1] « null (Strength=Example)StructureTechnique?? »Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt formform : CodeableConcept [0..1] « null (Strength=Example)SubstanceForm?? »The description or justification in support of the interpretation of the data filedescription : markdown [0..1]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 analysisfile : Attachment [0..*]PropertyA code expressing the type of propertytype : CodeableConcept [1..1] « null (Strength=Example)ProductCharacteristic?? »A value for the propertyvalue[x] : DataType [0..1] « CodeableConcept|Quantity|Range|date| boolean|Attachment »MolecularWeightThe method by which the molecular weight was determinedmethod : CodeableConcept [0..1] « null (Strength=Example)WeightMethod?? »Type of molecular weight such as exact, average (also known as. number average), weight averagetype : CodeableConcept [0..1] « null (Strength=Example)WeightType?? »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 fieldamount : Quantity [1..1]StructureStereochemistry typestereochemistry : CodeableConcept [0..1] « null (Strength=Example)Stereochemistry?? »Optical activity typeopticalActivity : CodeableConcept [0..1] « null (Strength=Example)OpticalActivity?? »An expression which states the number and type of atoms present in a molecule of a substancemolecularFormula : string [0..1]Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dotmolecularFormulaByMoiety : string [0..1]The method used to elucidate the structure of the drug substance. Examples: X-ray, NMR, Peptide mapping, Ligand binding assaytechnique : CodeableConcept [0..*] « null (Strength=Example)StructureTechnique?? »The source of information about the structuresourceDocument : Reference [0..*] « DocumentReference »RepresentationThe kind of structural representation (e.g. full, partial)type : CodeableConcept [0..1] « null (Strength=Example)SubstanceRepresentationType?? »The structural representation as a text string in a standard formatrepresentation : string [0..1]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 documentformat : CodeableConcept [0..1] « null (Strength=Example)SubstanceRepresentationFormat?? »An attached file with the structural representation e.g. a molecular structure graphic of the substance, a JCAMP or AnIML filedocument : Reference [0..1] « DocumentReference »codeThe specific codecode : CodeableConcept [0..1]Status of the code assignment, for example 'provisional', 'approved'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »The date at which the code status was changed as part of the terminology maintenancestatusDate : dateTime [0..1]Any comment can be provided in this field, if necessarynote : Annotation [0..*]Supporting literaturesource : Reference [0..*] « DocumentReference »NameThe actual namename : string [1..1]Name type, for example 'systematic', 'scientific, 'brand'type : CodeableConcept [0..1] « null (Strength=Example)SubstanceNameType?? »The status of the name, for example 'current', 'proposed'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »If this is the preferred name for this substancepreferred : boolean [0..1]Human language that the name is written inlanguage : CodeableConcept [0..*] « null (Strength=Required)AllLanguages! »The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additivedomain : CodeableConcept [0..*] « null (Strength=Example)SubstanceNameDomain?? »The jurisdiction where this name appliesjurisdiction : CodeableConcept [0..*] « null (Strength=Example)JurisdictionValueSet?? »Supporting literaturesource : Reference [0..*] « DocumentReference »OfficialWhich authority uses this official nameauthority : CodeableConcept [0..1] « null (Strength=Preferred)SubstanceNameAuthority? »The status of the official name, for example 'draft', 'active', 'retired'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »Date of the official name changedate : dateTime [0..1]RelationshipA pointer to another substance, as a resource or just a representational codesubstanceDefinition[x] : DataType [0..1] « Reference( SubstanceDefinition)|CodeableConcept »For example "salt to parent", "active moiety", "starting material", "polymorph", "impurity of"type : CodeableConcept [1..1] « null (Strength=Example)SubstanceRelationshipType?? »For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationshipsisDefining : boolean [0..1]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 otheramount[x] : DataType [0..1] « Quantity|Ratio|string|Range »For use when the numeric has an uncertain rangeratioHighLimitAmount : Ratio [0..1]An operator for the amount, for example "average", "approximately", "less than"comparator : CodeableConcept [0..1] « null (Strength=Example)SubstanceAmountType?? »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 weightmeasurementType : CodeableConcept [0..1] « null (Strength=Example)SubstanceMeasurementType?? »For target relationships, the kind of interaction between the substance and its targetinteraction : CodeableConcept [0..1] « null (Strength=Example)SubstanceInteractionType?? »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 insteadorganism : CodeableConcept [0..1] « null (Strength=Example)SubstanceTargetOrganism?? »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 agentsorganismType : CodeableConcept [0..1] « null (Strength=Example)SubstanceTargetOrganismType?? »Supporting literaturesource : Reference [0..*] « DocumentReference »SourceMaterialA classification that provides the origin of the raw material. Example: cat hair would be an Animal source typetype : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialType?? »The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific namegenus : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialGenus?? »The species of an organism, typically referring to the Latin epithet of the species of the plant/animalspecies : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialSpecies?? »An anatomical origin of the source material within an organismpart : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialPart?? »The country or countries where the material is harvestedcountryOfOrigin : CodeableConcept [0..*] « null (Strength=Required)CountryValueSet! »NucleicAcidThe type of the sequence (e.g. DNA, RNA)sequenceType : CodeableConcept [0..1] « null (Strength=Example)SubstanceSequenceType?? »The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairingnumberOfSubunits : integer [0..1]The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing orderareaOfHybridisation : string [0..1]The class of oligonucleotide, where relevant (e.g. antisense, siRNA, aptamer)oligoNucleotideType : CodeableConcept [0..1] « null (Strength=Example)OligoNucleotideType?? »SubunitIndex of the subunit. Subunits are numbered in decreasing length order, with ties broken by molecular weightsubunit : integer [0..1]The nucleotide sequence in 5’→3’ notation using standard single-letter codes. Sugar and linkage type may be expressed alongside, via .sugar and .linkagesequence : string [0..1]The length of the sequencelength : integer [0..1]The sequence provided as an attached file (e.g. when too long for inline capture)sequenceAttachment : Attachment [0..1]The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequencefivePrime : CodeableConcept [0..1] « null (Strength=Example)NucleotideTerminus?? »The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequencethreePrime : CodeableConcept [0..1] « null (Strength=Example)NucleotideTerminus?? »LinkageThe 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 explicitlyconnectivity : string [0..1]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 availablesubstance : CodeableReference [0..1] « SubstanceDefinition »The residue positions at which this linkage applies, listed in 5’→3’ direction consistent with the base sequenceresidueSite : string [0..1]SugarThe 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 availablesubstance : CodeableReference [0..1] « SubstanceDefinition »The residue positions at which this sugar applies, listed in 5’→3’ direction consistent with the base sequenceresidueSite : string [0..1]GeneThe 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 organismsequenceOrigin : CodeableConcept [0..1] « null (Strength=Example)GeneSequenceOrigin?? »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 availablegene : CodeableReference [0..1] « SubstanceDefinition »Supporting literature for the gene informationsource : Reference [0..*] « DocumentReference »GeneElementThe functional role of the element within the construct, for example promoter, enhancer, silencer, terminator, or coding sequencetype : CodeableConcept [0..1] « null (Strength=Example)GeneElementType?? »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 availableelement : CodeableReference [0..1] « SubstanceDefinition »Supporting literature for the gene element informationsource : Reference [0..*] « DocumentReference »PolymerOverall type of the polymerclass : CodeableConcept [0..1] « null (Strength=Example)PolymerClass?? »Polymer geometry, e.g. linear, branched, cross-linked, network or dendriticgeometry : CodeableConcept [0..1] « null (Strength=Example)PolymerGeometry?? »Describes the copolymer sequence type (polymer connectivity)copolymerConnectivity : CodeableConcept [0..*] « null (Strength=Example) CopolymerConnectivity?? »A modification applied to the polymer, e.g. a chemical reaction that alters the structure post-polymerisationmodification : string [0..1]MonomerSetCaptures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer RatioratioType : CodeableConcept [0..1] « null (Strength=Example)PolymerMonomerRatioType?? »StartingMaterialThe substance acting as starting material. This may be specified as a code or as a reference to another SubstanceDefinitioncode : CodeableReference [0..1] « SubstanceDefinition; null (Strength=Example)SubstanceCode?? »Substance high level category, e.g. chemical substancecategory : CodeableConcept [0..1] « null (Strength=Example)PolymerStartingMaterialCatego...?? »Whether this starting material is part of what defines the polymer's unique identityisDefining : boolean [0..1]A percentageamount : Quantity [0..1]RepeatA representation of an (average) molecular formula from a polymeraverageMolecularFormula : string [0..1]How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)repeatUnitAmountType : CodeableConcept [0..1] « null (Strength=Example) PolymerMonomerRatioType?? »RepeatUnitIdentification of the structural repeat unit (SRU)unit : string [0..1]The orientation of the polymerisation, e.g. head-tail, head-head, randomorientation : CodeableConcept [0..1] « null (Strength=Example)PolymerisationOrientation?? »Number of repeats of this unitamount : integer [0..1]DegreeOfPolymerisationThe type of degree of polymerisation, e.g. SRU/Polymer ratiotype : CodeableConcept [0..1] « null (Strength=Example)DegreeOfPolymerisationType?? »An average amount of polymerisationaverage : integer [0..1]A low expected limit of the amountlow : integer [0..1]A high expected limit of the amounthigh : integer [0..1]ProteinWhether the sequence provided is complete or partialsequenceType : CodeableConcept [0..1] « null (Strength=Example)SubstanceSequenceType?? »Number of subunits — linear sequences of amino acids linked through peptide bondsnumberOfSubunits : integer [0..1]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 residuesdisulfideLinkage : string [0..*]SubunitIndex 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 subscriptssubunit : integer [0..1]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 sequencesequence : string [0..1]Length of linear sequences of amino acids contained in the subunitlength : integer [0..1]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)sequenceAttachment : Attachment [0..1]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 availablenTerminalModification : CodeableReference [0..1] « SubstanceDefinition »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 availablecTerminalModification : CodeableReference [0..1] « SubstanceDefinition »Moiety, for structural modificationsmoiety[0..*]General specifications for this substancecharacterization[0..*]General specifications for this substanceproperty[0..*]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 atomsmolecularWeight[0..*]The molecular weight or weight range (for proteins, polymers or nucleic acids)molecularWeight[0..1]A depiction of the structure of the substancerepresentation[0..*]Structural informationstructure[0..1]Codes associated with the substancecode[0..*]A synonym of this particular name, by which the substance is also knownsynonym[0..*]A translation for this name into another human languagetranslation[0..*]Details of the official nature of this nameofficial[0..*]Names applicable to this substancename[0..*]A link between this substance and another, with details of the relationshiprelationship[0..*]Material or taxonomic/anatomical source for the substancesourceMaterial[0..1]The linkages between sugar residues in the nucleotide sequencelinkage[0..*]A sugar component of the nucleotide sequence, identifying the sugar substance and the residue positions to which it appliessugar[0..*]A subunit constituting the nucleic acid. Subunits are listed in decreasing length order; ties are ordered by molecular weight; identical sequences are repeatedsubunit[0..*]The gene that codes for this substance (typically applies to proteins and nucleic acids). Captures the gene's identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human)gene[0..*]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 identitygeneElement[0..*]Data items specific to nucleic acidsnucleicAcid[0..1]The starting materials - monomer(s) used in the synthesis of the polymerstartingMaterial[0..*]A set of monomers used to build the polymer, with their proportions and relationshipsmonomerSet[0..*]Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be describeddegreeOfPolymerisation[0..*]A graphical structure for this SRUstructuralRepresentation[0..*]An SRU - Structural Repeat UnitrepeatUnit[0..*]Specifies and quantifies the repeated units and their configurationrepeat[0..*]Data items specific to polymerspolymer[0..1]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 repeatedsubunit[0..*]The gene that codes for this protein substance (typically the source gene). Captures the gene's identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human). Same structure as nucleicAcid.genegene[0..*]Data items specific to proteinsprotein[0..1]

XML Template

<SubstanceDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier by which this substance is known --></identifier>
 <version value="[string]"/><!-- 0..1 A business level edition or revision identifier -->
 <status><!-- 0..1 CodeableConcept Status of substance within the catalogue e.g. active, retired --></status>
 <classification><!-- 0..* CodeableConcept A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity --></classification>
 <domain><!-- 0..1 CodeableConcept The applicable usage of the substance, as an example human or veterinary --></domain>
 <grade><!-- 0..* CodeableConcept The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP) --></grade>
 <description value="[markdown]"/><!-- 0..1 Textual description of the substance -->
 <note><!-- 0..* Annotation Textual comment about the substance's catalogue or registry record --></note>
 <manufacturer><!-- 0..* Reference(Organization) The entity that creates, makes, produces or fabricates the substance --></manufacturer>
 <supplier><!-- 0..* Reference(Organization) An entity that is the source for the substance. It may be different from the manufacturer --></supplier>
 <moiety>  <!-- 0..* Moiety, for structural modifications -->
  <role><!-- 0..1 CodeableConcept Role that the moiety is playing --></role>
  <identifier><!-- 0..* Identifier Identifier by which this moiety substance is known --></identifier>
  <name value="[string]"/><!-- 0..1 Textual name for this moiety substance -->
  <stereochemistry><!-- 0..1 CodeableConcept Stereochemistry type --></stereochemistry>
  <opticalActivity><!-- 0..1 CodeableConcept Optical activity type --></opticalActivity>
  <molecularFormula value="[string]"/><!-- 0..1 Molecular formula for this moiety (e.g. with the Hill system) -->
  <amount[x]><!-- 0..1 Quantity|string Quantitative value for this moiety --></amount[x]>
  <measurementType><!-- 0..1 CodeableConcept The measurement type of the quantitative value --></measurementType>
 </moiety>
 <characterization>  <!-- 0..* General specifications for this substance -->
  <technique><!-- 0..1 CodeableConcept The method used to find the characterization e.g. HPLC --></technique>
  <form><!-- 0..1 CodeableConcept Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form --></form>
  <description value="[markdown]"/><!-- 0..1 The description or justification in support of the interpretation of the data file -->
  <file><!-- 0..* Attachment 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 --></file>
 </characterization>
 <property>  <!-- 0..* General specifications for this substance -->
  <type><!-- 1..1 CodeableConcept A code expressing the type of property --></type>
  <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|date|boolean|Attachment A value for the property --></value[x]>
 </property>
 <molecularWeight>  <!-- 0..* The average mass of a molecule of a compound -->
  <method><!-- 0..1 CodeableConcept The method by which the weight was determined --></method>
  <type><!-- 0..1 CodeableConcept Type of molecular weight e.g. exact, average, weight average --></type>
  <amount><!-- 1..1 Quantity Used to capture quantitative values for a variety of elements --></amount>
 </molecularWeight>
 <structure>  <!-- 0..1 Structural information -->
  <stereochemistry><!-- 0..1 CodeableConcept Stereochemistry type --></stereochemistry>
  <opticalActivity><!-- 0..1 CodeableConcept Optical activity type --></opticalActivity>
  <molecularFormula value="[string]"/><!-- 0..1 An expression which states the number and type of atoms present in a molecule of a substance -->
  <molecularFormulaByMoiety value="[string]"/><!-- 0..1 Specified per moiety according to the Hill system -->
  <molecularWeight><!-- 0..1 Content as for SubstanceDefinition.molecularWeight The molecular weight or weight range --></molecularWeight>
  <technique><!-- 0..* CodeableConcept The method used to find the structure e.g. X-ray, NMR --></technique>
  <sourceDocument><!-- 0..* Reference(DocumentReference) Source of information for the structure --></sourceDocument>
  <representation>  <!-- 0..* A depiction of the structure of the substance -->
   <type><!-- 0..1 CodeableConcept The kind of structural representation (e.g. full, partial) --></type>
   <representation value="[string]"/><!-- 0..1 The structural representation as a text string in a standard format -->
   <format><!-- 0..1 CodeableConcept The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format) --></format>
   <document><!-- 0..1 Reference(DocumentReference) An attachment with the structural representation e.g. a structure graphic or AnIML file --></document>
  </representation>
 </structure>
 <code>  <!-- 0..* Codes associated with the substance -->
  <code><!-- 0..1 CodeableConcept The specific code --></code>
  <status><!-- 0..1 CodeableConcept Status of the code assignment, for example 'provisional', 'approved' --></status>
  <statusDate value="[dateTime]"/><!-- 0..1 The date at which the code status was changed -->
  <note><!-- 0..* Annotation Any comment can be provided in this field --></note>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </code>
 <name>  <!-- 0..* Names applicable to this substance -->
  <name value="[string]"/><!-- 1..1 The actual name -->
  <type><!-- 0..1 CodeableConcept Name type e.g. 'systematic',  'scientific, 'brand' --></type>
  <status><!-- 0..1 CodeableConcept The status of the name e.g. 'current', 'proposed' --></status>
  <preferred value="[boolean]"/><!-- 0..1 If this is the preferred name for this substance -->
  <language><!-- 0..* CodeableConcept Human language that the name is written in --></language>
  <domain><!-- 0..* CodeableConcept The use context of this name e.g. as an active ingredient or as a food colour additive --></domain>
  <jurisdiction><!-- 0..* CodeableConcept The jurisdiction where this name applies icon --></jurisdiction>
  <synonym><!-- 0..* Content as for SubstanceDefinition.name A synonym of this particular name, by which the substance is also known --></synonym>
  <translation><!-- 0..* Content as for SubstanceDefinition.name A translation for this name into another human language --></translation>
  <official>  <!-- 0..* Details of the official nature of this name -->
   <authority><!-- 0..1 CodeableConcept Which authority uses this official name --></authority>
   <status><!-- 0..1 CodeableConcept The status of the official name, for example 'draft', 'active' --></status>
   <date value="[dateTime]"/><!-- 0..1 Date of official name change -->
  </official>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </name>
 <relationship>  <!-- 0..* A link between this substance and another -->
  <substanceDefinition[x]><!-- 0..1 Reference(SubstanceDefinition)|
    CodeableConcept A pointer to another substance, as a resource or a representational code --></substanceDefinition[x]>
  <type><!-- 1..1 CodeableConcept For example "salt to parent", "active moiety" --></type>
  <isDefining value="[boolean]"/><!-- 0..1 For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships -->
  <amount[x]><!-- 0..1 Quantity|Ratio|string|Range A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other --></amount[x]>
  <ratioHighLimitAmount><!-- 0..1 Ratio For use when the numeric has an uncertain range --></ratioHighLimitAmount>
  <comparator><!-- 0..1 CodeableConcept An operator for the amount, for example "average", "approximately", "less than" --></comparator>
  <measurementType><!-- 0..1 CodeableConcept The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio) --></measurementType>
  <interaction><!-- 0..1 CodeableConcept For target relationships, the kind of interaction (e.g. binding, inhibition, agonism) --></interaction>
  <organism><!-- 0..1 CodeableConcept For anti-infective target relationships, the specific organism targeted --></organism>
  <organismType><!-- 0..1 CodeableConcept For anti-infective target relationships, the high-level type of organism targeted --></organismType>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </relationship>
 <sourceMaterial>  <!-- 0..1 Material or taxonomic/anatomical source -->
  <type><!-- 0..1 CodeableConcept Classification of the origin of the raw material. e.g. cat hair is an Animal source type --></type>
  <genus><!-- 0..1 CodeableConcept The genus of an organism e.g. the Latin epithet of the plant/animal scientific name --></genus>
  <species><!-- 0..1 CodeableConcept The species of an organism e.g. the Latin epithet of the species of the plant/animal --></species>
  <part><!-- 0..1 CodeableConcept An anatomical origin of the source material within an organism --></part>
  <countryOfOrigin><!-- 0..* CodeableConcept The country or countries where the material is harvested --></countryOfOrigin>
 </sourceMaterial>
 <nucleicAcid>  <!-- 0..1 Data items specific to nucleic acids -->
  <sequenceType><!-- 0..1 CodeableConcept The type of the sequence (e.g. DNA, RNA) --></sequenceType>
  <numberOfSubunits value="[integer]"/><!-- 0..1 The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing -->
  <areaOfHybridisation value="[string]"/><!-- 0..1 The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order -->
  <oligoNucleotideType><!-- 0..1 CodeableConcept Type or class of the oligonucleotide --></oligoNucleotideType>
  <subunit>  <!-- 0..* A subunit constituting the nucleic acid -->
   <subunit value="[integer]"/><!-- 0..1 Index of the subunit in decreasing length order -->
   <sequence value="[string]"/><!-- 0..1 The nucleotide sequence in 5’→3’ notation using standard single-letter codes -->
   <length value="[integer]"/><!-- 0..1 The length of the sequence -->
   <sequenceAttachment><!-- 0..1 Attachment The sequence as an attached file --></sequenceAttachment>
   <fivePrime><!-- 0..1 CodeableConcept The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence --></fivePrime>
   <threePrime><!-- 0..1 CodeableConcept The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence --></threePrime>
   <linkage>  <!-- 0..* The linkages between sugar residues in the nucleotide sequence -->
    <connectivity value="[string]"/><!-- 0..1 The chemistry of the linkage -->
    <substance><!-- 0..1 CodeableReference(SubstanceDefinition) The linkage substance, as a code or a reference to its SubstanceDefinition --></substance>
    <residueSite value="[string]"/><!-- 0..1 The residue positions at which this linkage applies, in 5’→3’ direction -->
   </linkage>
   <sugar>  <!-- 0..* A sugar component of the nucleotide sequence -->
    <substance><!-- 0..1 CodeableReference(SubstanceDefinition) The sugar substance, as a code or a reference to its SubstanceDefinition --></substance>
    <residueSite value="[string]"/><!-- 0..1 The residue positions at which this sugar applies, in 5’→3’ direction -->
   </sugar>
  </subunit>
  <gene>  <!-- 0..* The gene that codes for this substance -->
   <sequenceOrigin><!-- 0..1 CodeableConcept The species or lineage from which the gene sequence originated --></sequenceOrigin>
   <gene><!-- 0..1 CodeableReference(SubstanceDefinition) The gene itself, as a code or a reference to a SubstanceDefinition --></gene>
   <source><!-- 0..* Reference(DocumentReference) Supporting literature for the gene information --></source>
  </gene>
  <geneElement>  <!-- 0..* Gene elements that comprise a nucleic acid construct (used for gene therapy) -->
   <type><!-- 0..1 CodeableConcept The functional role of the element (e.g. promoter, enhancer, coding sequence) --></type>
   <element><!-- 0..1 CodeableReference(SubstanceDefinition) The element itself, as a code or a reference to a SubstanceDefinition --></element>
   <source><!-- 0..* Reference(DocumentReference) Supporting literature for the gene element information --></source>
  </geneElement>
 </nucleicAcid>
 <polymer>  <!-- 0..1 Data items specific to polymers -->
  <class><!-- 0..1 CodeableConcept Overall type of the polymer --></class>
  <geometry><!-- 0..1 CodeableConcept Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic --></geometry>
  <copolymerConnectivity><!-- 0..* CodeableConcept Describes the copolymer sequence type (polymer connectivity) --></copolymerConnectivity>
  <modification value="[string]"/><!-- 0..1 A modification applied to the polymer -->
  <monomerSet>  <!-- 0..* A set of monomers used to build the polymer -->
   <ratioType><!-- 0..1 CodeableConcept Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio --></ratioType>
   <startingMaterial>  <!-- 0..* The starting materials - monomer(s) used in the synthesis of the polymer -->
    <code><!-- 0..1 CodeableReference(SubstanceDefinition) The substance acting as starting material, as a code or a reference to a SubstanceDefinition --></code>
    <category><!-- 0..1 CodeableConcept Substance high level category, e.g. chemical substance --></category>
    <isDefining value="[boolean]"/><!-- 0..1 Whether this starting material is part of what defines the polymer's unique identity -->
    <amount><!-- 0..1 Quantity A percentage --></amount>
   </startingMaterial>
  </monomerSet>
  <repeat>  <!-- 0..* Specifies and quantifies the repeated units and their configuration -->
   <averageMolecularFormula value="[string]"/><!-- 0..1 A representation of an (average) molecular formula from a polymer -->
   <repeatUnitAmountType><!-- 0..1 CodeableConcept How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average) --></repeatUnitAmountType>
   <repeatUnit>  <!-- 0..* An SRU - Structural Repeat Unit -->
    <unit value="[string]"/><!-- 0..1 Identification of the structural repeat unit (SRU) -->
    <orientation><!-- 0..1 CodeableConcept The orientation of the polymerisation, e.g. head-tail, head-head, random --></orientation>
    <amount value="[integer]"/><!-- 0..1 Number of repeats of this unit -->
    <degreeOfPolymerisation>  <!-- 0..* Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described -->
     <type><!-- 0..1 CodeableConcept The type of degree of polymerisation, e.g. SRU/Polymer ratio --></type>
     <average value="[integer]"/><!-- 0..1 An average amount of polymerisation -->
     <low value="[integer]"/><!-- 0..1 A low expected limit of the amount -->
     <high value="[integer]"/><!-- 0..1 A high expected limit of the amount -->
    </degreeOfPolymerisation>
    <structuralRepresentation><!-- 0..* Content as for SubstanceDefinition.structure.representation A graphical structure for this SRU --></structuralRepresentation>
   </repeatUnit>
  </repeat>
 </polymer>
 <protein>  <!-- 0..1 Data items specific to proteins -->
  <sequenceType><!-- 0..1 CodeableConcept Whether the sequence is complete or partial --></sequenceType>
  <numberOfSubunits value="[integer]"/><!-- 0..1 Number of subunits — linear sequences of amino acids linked through peptide bonds -->
  <disulfideLinkage value="[string]"/><!-- 0..* 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 -->
  <subunit>  <!-- 0..* 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 -->
   <subunit value="[integer]"/><!-- 0..1 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 -->
   <sequence value="[string]"/><!-- 0..1 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 -->
   <length value="[integer]"/><!-- 0..1 Length of linear sequences of amino acids contained in the subunit -->
   <sequenceAttachment><!-- 0..1 Attachment The amino-acid sequence as an attached file --></sequenceAttachment>
   <nTerminalModification><!-- 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the N-terminal of the protein --></nTerminalModification>
   <cTerminalModification><!-- 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the C-terminal of the protein --></cTerminalModification>
  </subunit>
  <gene><!-- 0..* Content as for SubstanceDefinition.nucleicAcid.gene The gene that codes for this substance --></gene>
 </protein>
</SubstanceDefinition>

JSON Template

{doco
  "resourceType" : "SubstanceDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier by which this substance is known
  "version" : "<string>", // A business level edition or revision identifier
  "status" : { CodeableConcept }, // Status of substance within the catalogue e.g. active, retired
  "classification" : [{ CodeableConcept }], // A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
  "domain" : { CodeableConcept }, // The applicable usage of the substance, as an example human or veterinary
  "grade" : [{ CodeableConcept }], // The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
  "description" : "<markdown>", // Textual description of the substance
  "note" : [{ Annotation }], // Textual comment about the substance's catalogue or registry record
  "manufacturer" : [{ Reference(Organization) }], // The entity that creates, makes, produces or fabricates the substance
  "supplier" : [{ Reference(Organization) }], // An entity that is the source for the substance. It may be different from the manufacturer
  "moiety" : [{ // Moiety, for structural modifications
    "role" : { CodeableConcept }, // Role that the moiety is playing
    "identifier" : [{ Identifier }], // Identifier by which this moiety substance is known
    "name" : "<string>", // Textual name for this moiety substance
    "stereochemistry" : { CodeableConcept }, // Stereochemistry type
    "opticalActivity" : { CodeableConcept }, // Optical activity type
    "molecularFormula" : "<string>", // Molecular formula for this moiety (e.g. with the Hill system)
    // amount[x]: Quantitative value for this moiety. One of these 2:
    "amountQuantity" : { Quantity },
    "amountString" : "<string>",
    "measurementType" : { CodeableConcept } // The measurement type of the quantitative value
  }],
  "characterization" : [{ // General specifications for this substance
    "technique" : { CodeableConcept }, // The method used to find the characterization e.g. HPLC
    "form" : { CodeableConcept }, // Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
    "description" : "<markdown>", // The description or justification in support of the interpretation of the data file
    "file" : [{ Attachment }] // 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
  }],
  "property" : [{ // General specifications for this substance
    "type" : { CodeableConcept }, // R!  A code expressing the type of property
    // value[x]: A value for the property. One of these 6:
    "valueCodeableConcept" : { CodeableConcept },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valueDate" : "<date>",
    "valueBoolean" : <boolean>,
    "valueAttachment" : { Attachment }
  }],
  "molecularWeight" : [{ // The average mass of a molecule of a compound
    "method" : { CodeableConcept }, // The method by which the weight was determined
    "type" : { CodeableConcept }, // Type of molecular weight e.g. exact, average, weight average
    "amount" : { Quantity } // R!  Used to capture quantitative values for a variety of elements
  }],
  "structure" : { // Structural information
    "stereochemistry" : { CodeableConcept }, // Stereochemistry type
    "opticalActivity" : { CodeableConcept }, // Optical activity type
    "molecularFormula" : "<string>", // An expression which states the number and type of atoms present in a molecule of a substance
    "molecularFormulaByMoiety" : "<string>", // Specified per moiety according to the Hill system
    "molecularWeight" : { Content as for SubstanceDefinition.molecularWeight }, // The molecular weight or weight range
    "technique" : [{ CodeableConcept }], // The method used to find the structure e.g. X-ray, NMR
    "sourceDocument" : [{ Reference(DocumentReference) }], // Source of information for the structure
    "representation" : [{ // A depiction of the structure of the substance
      "type" : { CodeableConcept }, // The kind of structural representation (e.g. full, partial)
      "representation" : "<string>", // The structural representation as a text string in a standard format
      "format" : { CodeableConcept }, // The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
      "document" : { Reference(DocumentReference) } // An attachment with the structural representation e.g. a structure graphic or AnIML file
    }]
  },
  "code" : [{ // Codes associated with the substance
    "code" : { CodeableConcept }, // The specific code
    "status" : { CodeableConcept }, // Status of the code assignment, for example 'provisional', 'approved'
    "statusDate" : "<dateTime>", // The date at which the code status was changed
    "note" : [{ Annotation }], // Any comment can be provided in this field
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "name" : [{ // Names applicable to this substance
    "name" : "<string>", // R!  The actual name
    "type" : { CodeableConcept }, // Name type e.g. 'systematic',  'scientific, 'brand'
    "status" : { CodeableConcept }, // The status of the name e.g. 'current', 'proposed'
    "preferred" : <boolean>, // If this is the preferred name for this substance
    "language" : [{ CodeableConcept }], // Human language that the name is written in
    "domain" : [{ CodeableConcept }], // The use context of this name e.g. as an active ingredient or as a food colour additive
    "jurisdiction" : [{ CodeableConcept }], // The jurisdiction where this name applies icon
    "synonym" : [{ Content as for SubstanceDefinition.name }], // A synonym of this particular name, by which the substance is also known
    "translation" : [{ Content as for SubstanceDefinition.name }], // A translation for this name into another human language
    "official" : [{ // Details of the official nature of this name
      "authority" : { CodeableConcept }, // Which authority uses this official name
      "status" : { CodeableConcept }, // The status of the official name, for example 'draft', 'active'
      "date" : "<dateTime>" // Date of official name change
    }],
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "relationship" : [{ // A link between this substance and another
    // substanceDefinition[x]: A pointer to another substance, as a resource or a representational code. One of these 2:
    "substanceDefinitionReference" : { Reference(SubstanceDefinition) },
    "substanceDefinitionCodeableConcept" : { CodeableConcept },
    "type" : { CodeableConcept }, // R!  For example "salt to parent", "active moiety"
    "isDefining" : <boolean>, // For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
    // amount[x]: 
      A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other. One of these 4:
    "amountQuantity" : { Quantity },
    "amountRatio" : { Ratio },
    "amountString" : "<string>",
    "amountRange" : { Range },
    "ratioHighLimitAmount" : { Ratio }, // For use when the numeric has an uncertain range
    "comparator" : { CodeableConcept }, // An operator for the amount, for example "average", "approximately", "less than"
    "measurementType" : { CodeableConcept }, // The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
    "interaction" : { CodeableConcept }, // For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
    "organism" : { CodeableConcept }, // For anti-infective target relationships, the specific organism targeted
    "organismType" : { CodeableConcept }, // For anti-infective target relationships, the high-level type of organism targeted
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "sourceMaterial" : { // Material or taxonomic/anatomical source
    "type" : { CodeableConcept }, // Classification of the origin of the raw material. e.g. cat hair is an Animal source type
    "genus" : { CodeableConcept }, // The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
    "species" : { CodeableConcept }, // The species of an organism e.g. the Latin epithet of the species of the plant/animal
    "part" : { CodeableConcept }, // An anatomical origin of the source material within an organism
    "countryOfOrigin" : [{ CodeableConcept }] // The country or countries where the material is harvested
  },
  "nucleicAcid" : { // Data items specific to nucleic acids
    "sequenceType" : { CodeableConcept }, // The type of the sequence (e.g. DNA, RNA)
    "numberOfSubunits" : <integer>, // The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
    "areaOfHybridisation" : "<string>", // The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
    "oligoNucleotideType" : { CodeableConcept }, // Type or class of the oligonucleotide
    "subunit" : [{ // A subunit constituting the nucleic acid
      "subunit" : <integer>, // Index of the subunit in decreasing length order
      "sequence" : "<string>", // The nucleotide sequence in 5’→3’ notation using standard single-letter codes
      "length" : <integer>, // The length of the sequence
      "sequenceAttachment" : { Attachment }, // The sequence as an attached file
      "fivePrime" : { CodeableConcept }, // The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
      "threePrime" : { CodeableConcept }, // The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
      "linkage" : [{ // The linkages between sugar residues in the nucleotide sequence
        "connectivity" : "<string>", // The chemistry of the linkage
        "substance" : { CodeableReference(SubstanceDefinition) }, // The linkage substance, as a code or a reference to its SubstanceDefinition
        "residueSite" : "<string>" // The residue positions at which this linkage applies, in 5’→3’ direction
      }],
      "sugar" : [{ // A sugar component of the nucleotide sequence
        "substance" : { CodeableReference(SubstanceDefinition) }, // The sugar substance, as a code or a reference to its SubstanceDefinition
        "residueSite" : "<string>" // The residue positions at which this sugar applies, in 5’→3’ direction
      }]
    }],
    "gene" : [{ // The gene that codes for this substance
      "sequenceOrigin" : { CodeableConcept }, // The species or lineage from which the gene sequence originated
      "gene" : { CodeableReference(SubstanceDefinition) }, // The gene itself, as a code or a reference to a SubstanceDefinition
      "source" : [{ Reference(DocumentReference) }] // Supporting literature for the gene information
    }],
    "geneElement" : [{ // Gene elements that comprise a nucleic acid construct (used for gene therapy)
      "type" : { CodeableConcept }, // The functional role of the element (e.g. promoter, enhancer, coding sequence)
      "element" : { CodeableReference(SubstanceDefinition) }, // The element itself, as a code or a reference to a SubstanceDefinition
      "source" : [{ Reference(DocumentReference) }] // Supporting literature for the gene element information
    }]
  },
  "polymer" : { // Data items specific to polymers
    "class" : { CodeableConcept }, // Overall type of the polymer
    "geometry" : { CodeableConcept }, // Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
    "copolymerConnectivity" : [{ CodeableConcept }], // Describes the copolymer sequence type (polymer connectivity)
    "modification" : "<string>", // A modification applied to the polymer
    "monomerSet" : [{ // A set of monomers used to build the polymer
      "ratioType" : { CodeableConcept }, // Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
      "startingMaterial" : [{ // The starting materials - monomer(s) used in the synthesis of the polymer
        "code" : { CodeableReference(SubstanceDefinition) }, // The substance acting as starting material, as a code or a reference to a SubstanceDefinition
        "category" : { CodeableConcept }, // Substance high level category, e.g. chemical substance
        "isDefining" : <boolean>, // Whether this starting material is part of what defines the polymer's unique identity
        "amount" : { Quantity } // A percentage
      }]
    }],
    "repeat" : [{ // Specifies and quantifies the repeated units and their configuration
      "averageMolecularFormula" : "<string>", // A representation of an (average) molecular formula from a polymer
      "repeatUnitAmountType" : { CodeableConcept }, // How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
      "repeatUnit" : [{ // An SRU - Structural Repeat Unit
        "unit" : "<string>", // Identification of the structural repeat unit (SRU)
        "orientation" : { CodeableConcept }, // The orientation of the polymerisation, e.g. head-tail, head-head, random
        "amount" : <integer>, // Number of repeats of this unit
        "degreeOfPolymerisation" : [{ // Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described
          "type" : { CodeableConcept }, // The type of degree of polymerisation, e.g. SRU/Polymer ratio
          "average" : <integer>, // An average amount of polymerisation
          "low" : <integer>, // A low expected limit of the amount
          "high" : <integer> // A high expected limit of the amount
        }],
        "structuralRepresentation" : [{ Content as for SubstanceDefinition.structure.representation }] // A graphical structure for this SRU
      }]
    }]
  },
  "protein" : { // Data items specific to proteins
    "sequenceType" : { CodeableConcept }, // Whether the sequence is complete or partial
    "numberOfSubunits" : <integer>, // Number of subunits — linear sequences of amino acids linked through peptide bonds
    "disulfideLinkage" : ["<string>"], // 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
    "subunit" : [{ // 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
      "subunit" : <integer>, // 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
      "sequence" : "<string>", // 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
      "length" : <integer>, // Length of linear sequences of amino acids contained in the subunit
      "sequenceAttachment" : { Attachment }, // The amino-acid sequence as an attached file
      "nTerminalModification" : { CodeableReference(SubstanceDefinition) }, // The modification fragment at the N-terminal of the protein
      "cTerminalModification" : { CodeableReference(SubstanceDefinition) } // The modification fragment at the C-terminal of the protein
    }],
    "gene" : [{ Content as for SubstanceDefinition.nucleicAcid.gene }] // The gene that codes for this substance
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:SubstanceDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier by which this substance is known
  fhir:version [ string ] ; # 0..1 A business level edition or revision identifier
  fhir:status [ CodeableConcept ] ; # 0..1 Status of substance within the catalogue e.g. active, retired
  fhir:classification  ( [ CodeableConcept ] ... ) ; # 0..* A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
  fhir:domain [ CodeableConcept ] ; # 0..1 The applicable usage of the substance, as an example human or veterinary
  fhir:grade  ( [ CodeableConcept ] ... ) ; # 0..* The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
  fhir:description [ markdown ] ; # 0..1 Textual description of the substance
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Textual comment about the substance's catalogue or registry record
  fhir:manufacturer  ( [ Reference(Organization) ] ... ) ; # 0..* The entity that creates, makes, produces or fabricates the substance
  fhir:supplier  ( [ Reference(Organization) ] ... ) ; # 0..* An entity that is the source for the substance. It may be different from the manufacturer
  fhir:moiety ( [ # 0..* Moiety, for structural modifications
    fhir:role [ CodeableConcept ] ; # 0..1 Role that the moiety is playing
    fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier by which this moiety substance is known
    fhir:name [ string ] ; # 0..1 Textual name for this moiety substance
    fhir:stereochemistry [ CodeableConcept ] ; # 0..1 Stereochemistry type
    fhir:opticalActivity [ CodeableConcept ] ; # 0..1 Optical activity type
    fhir:molecularFormula [ string ] ; # 0..1 Molecular formula for this moiety (e.g. with the Hill system)
    # amount[x] : 0..1 Quantitative value for this moiety. One of these 2
      fhir:amount [  a fhir:Quantity ; Quantity ]
      fhir:amount [  a fhir:String ; string ]
    fhir:measurementType [ CodeableConcept ] ; # 0..1 The measurement type of the quantitative value
  ] ... ) ;
  fhir:characterization ( [ # 0..* General specifications for this substance
    fhir:technique [ CodeableConcept ] ; # 0..1 The method used to find the characterization e.g. HPLC
    fhir:form [ CodeableConcept ] ; # 0..1 Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
    fhir:description [ markdown ] ; # 0..1 The description or justification in support of the interpretation of the data file
    fhir:file  ( [ Attachment ] ... ) ; # 0..* 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
  ] ... ) ;
  fhir:property ( [ # 0..* General specifications for this substance
    fhir:type [ CodeableConcept ] ; # 1..1 A code expressing the type of property
    # value[x] : 0..1 A value for the property. One of these 6
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:Date ; date ]
      fhir:value [  a fhir:Boolean ; boolean ]
      fhir:value [  a fhir:Attachment ; Attachment ]
  ] ... ) ;
  fhir:molecularWeight ( [ # 0..* The average mass of a molecule of a compound
    fhir:method [ CodeableConcept ] ; # 0..1 The method by which the weight was determined
    fhir:type [ CodeableConcept ] ; # 0..1 Type of molecular weight e.g. exact, average, weight average
    fhir:amount [ Quantity ] ; # 1..1 Used to capture quantitative values for a variety of elements
  ] ... ) ;
  fhir:structure [ # 0..1 Structural information
    fhir:stereochemistry [ CodeableConcept ] ; # 0..1 Stereochemistry type
    fhir:opticalActivity [ CodeableConcept ] ; # 0..1 Optical activity type
    fhir:molecularFormula [ string ] ; # 0..1 An expression which states the number and type of atoms present in a molecule of a substance
    fhir:molecularFormulaByMoiety [ string ] ; # 0..1 Specified per moiety according to the Hill system
    fhir:molecularWeight [ See SubstanceDefinition.molecularWeight ] ; # 0..1 The molecular weight or weight range
    fhir:technique  ( [ CodeableConcept ] ... ) ; # 0..* The method used to find the structure e.g. X-ray, NMR
    fhir:sourceDocument  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Source of information for the structure
    fhir:representation ( [ # 0..* A depiction of the structure of the substance
      fhir:type [ CodeableConcept ] ; # 0..1 The kind of structural representation (e.g. full, partial)
      fhir:representation [ string ] ; # 0..1 The structural representation as a text string in a standard format
      fhir:format [ CodeableConcept ] ; # 0..1 The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
      fhir:document [ Reference(DocumentReference) ] ; # 0..1 An attachment with the structural representation e.g. a structure graphic or AnIML file
    ] ... ) ;
  ] ;
  fhir:code ( [ # 0..* Codes associated with the substance
    fhir:code [ CodeableConcept ] ; # 0..1 The specific code
    fhir:status [ CodeableConcept ] ; # 0..1 Status of the code assignment, for example 'provisional', 'approved'
    fhir:statusDate [ dateTime ] ; # 0..1 The date at which the code status was changed
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Any comment can be provided in this field
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:name ( [ # 0..* Names applicable to this substance
    fhir:name [ string ] ; # 1..1 The actual name
    fhir:type [ CodeableConcept ] ; # 0..1 Name type e.g. 'systematic',  'scientific, 'brand'
    fhir:status [ CodeableConcept ] ; # 0..1 The status of the name e.g. 'current', 'proposed'
    fhir:preferred [ boolean ] ; # 0..1 If this is the preferred name for this substance
    fhir:language  ( [ CodeableConcept ] ... ) ; # 0..* Human language that the name is written in
    fhir:domain  ( [ CodeableConcept ] ... ) ; # 0..* The use context of this name e.g. as an active ingredient or as a food colour additive
    fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* The jurisdiction where this name applies
    fhir:synonym  ( [ See SubstanceDefinition.name ] ... ) ; # 0..* A synonym of this particular name, by which the substance is also known
    fhir:translation  ( [ See SubstanceDefinition.name ] ... ) ; # 0..* A translation for this name into another human language
    fhir:official ( [ # 0..* Details of the official nature of this name
      fhir:authority [ CodeableConcept ] ; # 0..1 Which authority uses this official name
      fhir:status [ CodeableConcept ] ; # 0..1 The status of the official name, for example 'draft', 'active'
      fhir:date [ dateTime ] ; # 0..1 Date of official name change
    ] ... ) ;
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:relationship ( [ # 0..* A link between this substance and another
    # substanceDefinition[x] : 0..1 A pointer to another substance, as a resource or a representational code. One of these 2
      fhir:substanceDefinition [  a fhir:Reference ; Reference(SubstanceDefinition) ]
      fhir:substanceDefinition [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:type [ CodeableConcept ] ; # 1..1 For example "salt to parent", "active moiety"
    fhir:isDefining [ boolean ] ; # 0..1 For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
    # amount[x] : 0..1 A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other. One of these 4
      fhir:amount [  a fhir:Quantity ; Quantity ]
      fhir:amount [  a fhir:Ratio ; Ratio ]
      fhir:amount [  a fhir:String ; string ]
      fhir:amount [  a fhir:Range ; Range ]
    fhir:ratioHighLimitAmount [ Ratio ] ; # 0..1 For use when the numeric has an uncertain range
    fhir:comparator [ CodeableConcept ] ; # 0..1 An operator for the amount, for example "average", "approximately", "less than"
    fhir:measurementType [ CodeableConcept ] ; # 0..1 The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
    fhir:interaction [ CodeableConcept ] ; # 0..1 For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
    fhir:organism [ CodeableConcept ] ; # 0..1 For anti-infective target relationships, the specific organism targeted
    fhir:organismType [ CodeableConcept ] ; # 0..1 For anti-infective target relationships, the high-level type of organism targeted
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:sourceMaterial [ # 0..1 Material or taxonomic/anatomical source
    fhir:type [ CodeableConcept ] ; # 0..1 Classification of the origin of the raw material. e.g. cat hair is an Animal source type
    fhir:genus [ CodeableConcept ] ; # 0..1 The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
    fhir:species [ CodeableConcept ] ; # 0..1 The species of an organism e.g. the Latin epithet of the species of the plant/animal
    fhir:part [ CodeableConcept ] ; # 0..1 An anatomical origin of the source material within an organism
    fhir:countryOfOrigin  ( [ CodeableConcept ] ... ) ; # 0..* The country or countries where the material is harvested
  ] ;
  fhir:nucleicAcid [ # 0..1 Data items specific to nucleic acids
    fhir:sequenceType [ CodeableConcept ] ; # 0..1 The type of the sequence (e.g. DNA, RNA)
    fhir:numberOfSubunits [ integer ] ; # 0..1 The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
    fhir:areaOfHybridisation [ string ] ; # 0..1 The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
    fhir:oligoNucleotideType [ CodeableConcept ] ; # 0..1 Type or class of the oligonucleotide
    fhir:subunit ( [ # 0..* A subunit constituting the nucleic acid
      fhir:subunit [ integer ] ; # 0..1 Index of the subunit in decreasing length order
      fhir:sequence [ string ] ; # 0..1 The nucleotide sequence in 5’→3’ notation using standard single-letter codes
      fhir:length [ integer ] ; # 0..1 The length of the sequence
      fhir:sequenceAttachment [ Attachment ] ; # 0..1 The sequence as an attached file
      fhir:fivePrime [ CodeableConcept ] ; # 0..1 The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
      fhir:threePrime [ CodeableConcept ] ; # 0..1 The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
      fhir:linkage ( [ # 0..* The linkages between sugar residues in the nucleotide sequence
        fhir:connectivity [ string ] ; # 0..1 The chemistry of the linkage
        fhir:substance [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The linkage substance, as a code or a reference to its SubstanceDefinition
        fhir:residueSite [ string ] ; # 0..1 The residue positions at which this linkage applies, in 5’→3’ direction
      ] ... ) ;
      fhir:sugar ( [ # 0..* A sugar component of the nucleotide sequence
        fhir:substance [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The sugar substance, as a code or a reference to its SubstanceDefinition
        fhir:residueSite [ string ] ; # 0..1 The residue positions at which this sugar applies, in 5’→3’ direction
      ] ... ) ;
    ] ... ) ;
    fhir:gene ( [ # 0..* The gene that codes for this substance
      fhir:sequenceOrigin [ CodeableConcept ] ; # 0..1 The species or lineage from which the gene sequence originated
      fhir:gene [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The gene itself, as a code or a reference to a SubstanceDefinition
      fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature for the gene information
    ] ... ) ;
    fhir:geneElement ( [ # 0..* Gene elements that comprise a nucleic acid construct (used for gene therapy)
      fhir:type [ CodeableConcept ] ; # 0..1 The functional role of the element (e.g. promoter, enhancer, coding sequence)
      fhir:element [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The element itself, as a code or a reference to a SubstanceDefinition
      fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature for the gene element information
    ] ... ) ;
  ] ;
  fhir:polymer [ # 0..1 Data items specific to polymers
    fhir:class [ CodeableConcept ] ; # 0..1 Overall type of the polymer
    fhir:geometry [ CodeableConcept ] ; # 0..1 Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
    fhir:copolymerConnectivity  ( [ CodeableConcept ] ... ) ; # 0..* Describes the copolymer sequence type (polymer connectivity)
    fhir:modification [ string ] ; # 0..1 A modification applied to the polymer
    fhir:monomerSet ( [ # 0..* A set of monomers used to build the polymer
      fhir:ratioType [ CodeableConcept ] ; # 0..1 Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
      fhir:startingMaterial ( [ # 0..* The starting materials - monomer(s) used in the synthesis of the polymer
        fhir:code [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The substance acting as starting material, as a code or a reference to a SubstanceDefinition
        fhir:category [ CodeableConcept ] ; # 0..1 Substance high level category, e.g. chemical substance
        fhir:isDefining [ boolean ] ; # 0..1 Whether this starting material is part of what defines the polymer's unique identity
        fhir:amount [ Quantity ] ; # 0..1 A percentage
      ] ... ) ;
    ] ... ) ;
    fhir:repeat ( [ # 0..* Specifies and quantifies the repeated units and their configuration
      fhir:averageMolecularFormula [ string ] ; # 0..1 A representation of an (average) molecular formula from a polymer
      fhir:repeatUnitAmountType [ CodeableConcept ] ; # 0..1 How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
      fhir:repeatUnit ( [ # 0..* An SRU - Structural Repeat Unit
        fhir:unit [ string ] ; # 0..1 Identification of the structural repeat unit (SRU)
        fhir:orientation [ CodeableConcept ] ; # 0..1 The orientation of the polymerisation, e.g. head-tail, head-head, random
        fhir:amount [ integer ] ; # 0..1 Number of repeats of this unit
        fhir:degreeOfPolymerisation ( [ # 0..* Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described
          fhir:type [ CodeableConcept ] ; # 0..1 The type of degree of polymerisation, e.g. SRU/Polymer ratio
          fhir:average [ integer ] ; # 0..1 An average amount of polymerisation
          fhir:low [ integer ] ; # 0..1 A low expected limit of the amount
          fhir:high [ integer ] ; # 0..1 A high expected limit of the amount
        ] ... ) ;
        fhir:structuralRepresentation  ( [ See SubstanceDefinition.structure.representation ] ... ) ; # 0..* A graphical structure for this SRU
      ] ... ) ;
    ] ... ) ;
  ] ;
  fhir:protein [ # 0..1 Data items specific to proteins
    fhir:sequenceType [ CodeableConcept ] ; # 0..1 Whether the sequence is complete or partial
    fhir:numberOfSubunits [ integer ] ; # 0..1 Number of subunits — linear sequences of amino acids linked through peptide bonds
    fhir:disulfideLinkage  ( [ string ] ... ) ; # 0..* 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
    fhir:subunit ( [ # 0..* 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
      fhir:subunit [ integer ] ; # 0..1 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
      fhir:sequence [ string ] ; # 0..1 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
      fhir:length [ integer ] ; # 0..1 Length of linear sequences of amino acids contained in the subunit
      fhir:sequenceAttachment [ Attachment ] ; # 0..1 The amino-acid sequence as an attached file
      fhir:nTerminalModification [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The modification fragment at the N-terminal of the protein
      fhir:cTerminalModification [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The modification fragment at the C-terminal of the protein
    ] ... ) ;
    fhir:gene  ( [ See SubstanceDefinition.nucleicAcid.gene ] ... ) ; # 0..* The gene that codes for this substance
  ] ;
]

Changes from R5 to R6

SubstanceDefinition
SubstanceDefinition.status
  • Now marked as Modifier
SubstanceDefinition.moiety.identifier
  • Max Cardinality changed from 1 to *
SubstanceDefinition.property.value[x]
  • Add Type Range
SubstanceDefinition.relationship.amount[x]
  • Add Type Range
SubstanceDefinition.relationship.measurementType
  • Added Element
SubstanceDefinition.relationship.interaction
  • Added Element
SubstanceDefinition.relationship.organism
  • Added Element
SubstanceDefinition.relationship.organismType
  • Added Element
SubstanceDefinition.sourceMaterial.countryOfOrigin
  • Add codes AA, QM, QN, QO, QP, QQ, QR, QS, QT, QU, QV, QW, QX, QY, QZ, XA, XB, XC, XD, XE, XF, XG, XH, XI, XJ, XK, XL, XM, XN, XO, XP, XQ, XR, XS, XT, XU, XV, XW, XX, XY, XZ, ZZ
SubstanceDefinition.nucleicAcid
  • Type changed from Reference(SubstanceNucleicAcid) to BackboneElement
SubstanceDefinition.nucleicAcid.sequenceType
  • Added Element
SubstanceDefinition.nucleicAcid.numberOfSubunits
  • Added Element
SubstanceDefinition.nucleicAcid.areaOfHybridisation
  • Added Element
SubstanceDefinition.nucleicAcid.oligoNucleotideType
  • Added Element
SubstanceDefinition.nucleicAcid.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequence
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.length
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.fivePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.threePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.connectivity
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.sequenceOrigin
  • Added Element
SubstanceDefinition.nucleicAcid.gene.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.source
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.type
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.element
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.source
  • Added Element
SubstanceDefinition.polymer
  • Type changed from Reference(SubstancePolymer) to BackboneElement
SubstanceDefinition.polymer.class
  • Added Element
SubstanceDefinition.polymer.geometry
  • Added Element
SubstanceDefinition.polymer.copolymerConnectivity
  • Added Element
SubstanceDefinition.polymer.modification
  • Added Element
SubstanceDefinition.polymer.monomerSet
  • Added Element
SubstanceDefinition.polymer.monomerSet.ratioType
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.code
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.category
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.isDefining
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.amount
  • Added Element
SubstanceDefinition.polymer.repeat
  • Added Element
SubstanceDefinition.polymer.repeat.averageMolecularFormula
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnitAmountType
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.unit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.orientation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.amount
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.type
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.average
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.low
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.high
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.structuralRepresentation
  • Added Element
SubstanceDefinition.protein
  • Type changed from Reference(SubstanceProtein) to BackboneElement
SubstanceDefinition.protein.sequenceType
  • Added Element
SubstanceDefinition.protein.numberOfSubunits
  • Added Element
SubstanceDefinition.protein.disulfideLinkage
  • Added Element
SubstanceDefinition.protein.subunit
  • Added Element
SubstanceDefinition.protein.subunit.subunit
  • Added Element
SubstanceDefinition.protein.subunit.sequence
  • Added Element
SubstanceDefinition.protein.subunit.length
  • Added Element
SubstanceDefinition.protein.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.protein.subunit.nTerminalModification
  • Added Element
SubstanceDefinition.protein.subunit.cTerminalModification
  • Added Element
SubstanceDefinition.protein.gene
  • Added Element
SubstanceDefinition.informationSource
  • Deleted
SubstanceDefinition.referenceInformation
  • Deleted

Changes from R4B to R6

SubstanceDefinition
SubstanceDefinition.status
  • Now marked as Modifier
SubstanceDefinition.moiety.identifier
  • Max Cardinality changed from 1 to *
SubstanceDefinition.characterization
  • Added Element
SubstanceDefinition.characterization.technique
  • Added Element
SubstanceDefinition.characterization.form
  • Added Element
SubstanceDefinition.characterization.description
  • Added Element
SubstanceDefinition.characterization.file
  • Added Element
SubstanceDefinition.property.value[x]
  • Add Type Range
SubstanceDefinition.name.language
SubstanceDefinition.relationship.amount[x]
  • Add Type Range
SubstanceDefinition.relationship.measurementType
  • Added Element
SubstanceDefinition.relationship.interaction
  • Added Element
SubstanceDefinition.relationship.organism
  • Added Element
SubstanceDefinition.relationship.organismType
  • Added Element
SubstanceDefinition.sourceMaterial.countryOfOrigin
  • Add codes AA, QM, QN, QO, QP, QQ, QR, QS, QT, QU, QV, QW, QX, QY, QZ, XA, XB, XC, XD, XE, XF, XG, XH, XI, XJ, XK, XL, XM, XN, XO, XP, XQ, XR, XS, XT, XU, XV, XW, XX, XY, XZ, ZZ
SubstanceDefinition.nucleicAcid
  • Added Element
SubstanceDefinition.nucleicAcid.sequenceType
  • Added Element
SubstanceDefinition.nucleicAcid.numberOfSubunits
  • Added Element
SubstanceDefinition.nucleicAcid.areaOfHybridisation
  • Added Element
SubstanceDefinition.nucleicAcid.oligoNucleotideType
  • Added Element
SubstanceDefinition.nucleicAcid.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequence
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.length
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.fivePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.threePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.connectivity
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.sequenceOrigin
  • Added Element
SubstanceDefinition.nucleicAcid.gene.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.source
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.type
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.element
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.source
  • Added Element
SubstanceDefinition.polymer
  • Added Element
SubstanceDefinition.polymer.class
  • Added Element
SubstanceDefinition.polymer.geometry
  • Added Element
SubstanceDefinition.polymer.copolymerConnectivity
  • Added Element
SubstanceDefinition.polymer.modification
  • Added Element
SubstanceDefinition.polymer.monomerSet
  • Added Element
SubstanceDefinition.polymer.monomerSet.ratioType
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.code
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.category
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.isDefining
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.amount
  • Added Element
SubstanceDefinition.polymer.repeat
  • Added Element
SubstanceDefinition.polymer.repeat.averageMolecularFormula
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnitAmountType
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.unit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.orientation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.amount
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.type
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.average
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.low
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.high
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.structuralRepresentation
  • Added Element
SubstanceDefinition.protein
  • Added Element
SubstanceDefinition.protein.sequenceType
  • Added Element
SubstanceDefinition.protein.numberOfSubunits
  • Added Element
SubstanceDefinition.protein.disulfideLinkage
  • Added Element
SubstanceDefinition.protein.subunit
  • Added Element
SubstanceDefinition.protein.subunit.subunit
  • Added Element
SubstanceDefinition.protein.subunit.sequence
  • Added Element
SubstanceDefinition.protein.subunit.length
  • Added Element
SubstanceDefinition.protein.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.protein.subunit.nTerminalModification
  • Added Element
SubstanceDefinition.protein.subunit.cTerminalModification
  • Added Element
SubstanceDefinition.protein.gene
  • Added Element
SubstanceDefinition.informationSource
  • Deleted

Changes from R4 to R6

This resource did not exist in Release R4

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SubstanceDefinition N DomainResource The detailed description of a substance, typically at a level beyond what is used for prescribing

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Identifier by which this substance is known

... version Σ 0..1 string A business level edition or revision identifier
... status ?!Σ 0..1 CodeableConcept Status of substance within the catalogue e.g. active, retired
Binding: PublicationStatus (Preferred)
... domain Σ 0..1 CodeableConcept The applicable usage of the substance, as an example human or veterinary
Binding: Medicinal Product Domain (Example)
... grade Σ 0..* CodeableConcept The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
Binding: Substance Grade (Example)

... description Σ 0..1 markdown Textual description of the substance
... note Σ 0..* Annotation Textual comment about the substance's catalogue or registry record

... manufacturer Σ 0..* Reference(Organization) The entity that creates, makes, produces or fabricates the substance

... supplier Σ 0..* Reference(Organization) An entity that is the source for the substance. It may be different from the manufacturer

... moiety Σ 0..* BackboneElement Moiety, for structural modifications

.... role Σ 0..1 CodeableConcept Role that the moiety is playing
.... identifier Σ 0..* Identifier Identifier by which this moiety substance is known

.... name Σ 0..1 string Textual name for this moiety substance
.... stereochemistry Σ 0..1 CodeableConcept Stereochemistry type
Binding: Stereochemistry (Example)
.... opticalActivity Σ 0..1 CodeableConcept Optical activity type
Binding: Optical Activity (Example)
.... molecularFormula Σ 0..1 string Molecular formula for this moiety (e.g. with the Hill system)
.... amount[x] Σ 0..1 Quantitative value for this moiety
..... amountQuantity Quantity
..... amountString string
.... measurementType Σ 0..1 CodeableConcept The measurement type of the quantitative value
Binding: Substance Amount Type (Example)
... characterization Σ 0..* BackboneElement General specifications for this substance

.... technique Σ 0..1 CodeableConcept The method used to find the characterization e.g. HPLC
Binding: Structure Technique (Example)
.... form Σ 0..1 CodeableConcept Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
Binding: Substance Form (Example)
.... description Σ 0..1 markdown The description or justification in support of the interpretation of the data file
.... file Σ 0..* Attachment 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

... property Σ 0..* BackboneElement General specifications for this substance

.... type Σ 1..1 CodeableConcept A code expressing the type of property
Binding: Product Characteristic (Example)
.... value[x] Σ 0..1 A value for the property
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueDate date
..... valueBoolean boolean
..... valueAttachment Attachment
... molecularWeight Σ 0..* BackboneElement The average mass of a molecule of a compound

.... method Σ 0..1 CodeableConcept The method by which the weight was determined
Binding: Weight Method (Example)
.... type Σ 0..1 CodeableConcept Type of molecular weight e.g. exact, average, weight average
Binding: Weight Type (Example)
.... amount Σ 1..1 Quantity Used to capture quantitative values for a variety of elements
... structure Σ 0..1 BackboneElement Structural information
.... stereochemistry Σ 0..1 CodeableConcept Stereochemistry type
Binding: Stereochemistry (Example)
.... opticalActivity Σ 0..1 CodeableConcept Optical activity type
Binding: Optical Activity (Example)
.... molecularFormula Σ 0..1 string An expression which states the number and type of atoms present in a molecule of a substance
.... molecularFormulaByMoiety Σ 0..1 string Specified per moiety according to the Hill system
.... molecularWeight Σ 0..1 see molecularWeight The molecular weight or weight range
.... technique Σ 0..* CodeableConcept The method used to find the structure e.g. X-ray, NMR
Binding: Structure Technique (Example)

.... sourceDocument Σ 0..* Reference(DocumentReference) Source of information for the structure

.... representation Σ 0..* BackboneElement A depiction of the structure of the substance

..... type Σ 0..1 CodeableConcept The kind of structural representation (e.g. full, partial)
Binding: Substance Representation Type (Example)
..... representation Σ 0..1 string The structural representation as a text string in a standard format
..... format Σ 0..1 CodeableConcept The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
Binding: Substance Representation Format (Example)
..... document Σ 0..1 Reference(DocumentReference) An attachment with the structural representation e.g. a structure graphic or AnIML file
... code Σ 0..* BackboneElement Codes associated with the substance

.... code Σ 0..1 CodeableConcept The specific code
.... status Σ 0..1 CodeableConcept Status of the code assignment, for example 'provisional', 'approved'
Binding: PublicationStatus (Preferred)
.... statusDate Σ 0..1 dateTime The date at which the code status was changed
.... note Σ 0..* Annotation Any comment can be provided in this field

.... source Σ 0..* Reference(DocumentReference) Supporting literature

... name Σ 0..* BackboneElement Names applicable to this substance

.... name Σ 1..1 string The actual name
.... type Σ 0..1 CodeableConcept Name type e.g. 'systematic', 'scientific, 'brand'
Binding: Substance Name Type (Example)
.... status Σ 0..1 CodeableConcept The status of the name e.g. 'current', 'proposed'
Binding: PublicationStatus (Preferred)
.... preferred Σ 0..1 boolean If this is the preferred name for this substance
.... language Σ 0..* CodeableConcept Human language that the name is written in
Binding: All Languages (Required)
Additional BindingsPurpose
Common Languages Starter


.... domain Σ 0..* CodeableConcept The use context of this name e.g. as an active ingredient or as a food colour additive
Binding: Substance Name Domain (Example)

.... jurisdiction Σ 0..* CodeableConcept The jurisdiction where this name applies
Binding: Jurisdiction ValueSet icon (Example)

.... synonym Σ 0..* see name A synonym of this particular name, by which the substance is also known

.... translation Σ 0..* see name A translation for this name into another human language

.... official Σ 0..* BackboneElement Details of the official nature of this name

..... authority Σ 0..1 CodeableConcept Which authority uses this official name
Binding: Substance Name Authority (Preferred)
..... status Σ 0..1 CodeableConcept The status of the official name, for example 'draft', 'active'
Binding: PublicationStatus (Preferred)
..... date Σ 0..1 dateTime Date of official name change
.... source Σ 0..* Reference(DocumentReference) Supporting literature

... relationship Σ 0..* BackboneElement A link between this substance and another

.... substanceDefinition[x] Σ 0..1 A pointer to another substance, as a resource or a representational code
..... substanceDefinitionReference Reference(SubstanceDefinition)
..... substanceDefinitionCodeableConcept CodeableConcept
.... type Σ 1..1 CodeableConcept For example "salt to parent", "active moiety"
Binding: Substance Relationship Type (Example)
.... isDefining Σ 0..1 boolean For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
.... amount[x] Σ 0..1 A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other
..... amountQuantity Quantity
..... amountRatio Ratio
..... amountString string
..... amountRange Range
.... ratioHighLimitAmount Σ 0..1 Ratio For use when the numeric has an uncertain range
.... comparator Σ 0..1 CodeableConcept An operator for the amount, for example "average", "approximately", "less than"
Binding: Substance Amount Type (Example)
.... measurementType Σ 0..1 CodeableConcept The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
Binding: Substance Measurement Type (Example)
.... interaction Σ 0..1 CodeableConcept For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
Binding: Substance Interaction Type (Example)
.... organism Σ 0..1 CodeableConcept For anti-infective target relationships, the specific organism targeted
Binding: Substance Target Organism (Example)
.... organismType Σ 0..1 CodeableConcept For anti-infective target relationships, the high-level type of organism targeted
Binding: Substance Target Organism Type (Example)
.... source Σ 0..* Reference(DocumentReference) Supporting literature

... sourceMaterial Σ 0..1 BackboneElement Material or taxonomic/anatomical source
.... type Σ 0..1 CodeableConcept Classification of the origin of the raw material. e.g. cat hair is an Animal source type
Binding: Source Material Type (Example)
.... genus Σ 0..1 CodeableConcept The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
Binding: Source Material Genus (Example)
.... species Σ 0..1 CodeableConcept The species of an organism e.g. the Latin epithet of the species of the plant/animal
Binding: Source Material Species (Example)
.... part Σ 0..1 CodeableConcept An anatomical origin of the source material within an organism
Binding: Source Material Part (Example)
.... countryOfOrigin Σ 0..* CodeableConcept The country or countries where the material is harvested
Binding: Country ValueSet (Required)

... nucleicAcid 0..1 BackboneElement Data items specific to nucleic acids
.... sequenceType Σ 0..1 CodeableConcept The type of the sequence (e.g. DNA, RNA)
Binding: Substance Sequence Type (Example)
.... numberOfSubunits Σ 0..1 integer The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
.... areaOfHybridisation Σ 0..1 string The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
.... oligoNucleotideType Σ 0..1 CodeableConcept Type or class of the oligonucleotide
Binding: Oligonucleotide Type (Example)
.... subunit Σ 0..* BackboneElement A subunit constituting the nucleic acid

..... subunit Σ 0..1 integer Index of the subunit in decreasing length order
..... sequence Σ 0..1 string The nucleotide sequence in 5’→3’ notation using standard single-letter codes
..... length Σ 0..1 integer The length of the sequence
..... sequenceAttachment Σ 0..1 Attachment The sequence as an attached file
..... fivePrime Σ 0..1 CodeableConcept The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
Binding: Nucleotide Terminus (Example)
..... threePrime Σ 0..1 CodeableConcept The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
Binding: Nucleotide Terminus (Example)
..... linkage Σ 0..* BackboneElement The linkages between sugar residues in the nucleotide sequence

...... connectivity Σ 0..1 string The chemistry of the linkage
...... substance Σ 0..1 CodeableReference(SubstanceDefinition) The linkage substance, as a code or a reference to its SubstanceDefinition
...... residueSite Σ 0..1 string The residue positions at which this linkage applies, in 5’→3’ direction
..... sugar Σ 0..* BackboneElement A sugar component of the nucleotide sequence

...... substance Σ 0..1 CodeableReference(SubstanceDefinition) The sugar substance, as a code or a reference to its SubstanceDefinition
...... residueSite Σ 0..1 string The residue positions at which this sugar applies, in 5’→3’ direction
.... gene Σ 0..* BackboneElement The gene that codes for this substance

..... sequenceOrigin Σ 0..1 CodeableConcept The species or lineage from which the gene sequence originated
Binding: Gene Sequence Origin (Example)
..... gene Σ 0..1 CodeableReference(SubstanceDefinition) The gene itself, as a code or a reference to a SubstanceDefinition
..... source Σ 0..* Reference(DocumentReference) Supporting literature for the gene information

.... geneElement Σ 0..* BackboneElement Gene elements that comprise a nucleic acid construct (used for gene therapy)

..... type Σ 0..1 CodeableConcept The functional role of the element (e.g. promoter, enhancer, coding sequence)
Binding: Gene Element Type (Example)
..... element Σ 0..1 CodeableReference(SubstanceDefinition) The element itself, as a code or a reference to a SubstanceDefinition
..... source Σ 0..* Reference(DocumentReference) Supporting literature for the gene element information

... polymer 0..1 BackboneElement Data items specific to polymers
.... class Σ 0..1 CodeableConcept Overall type of the polymer
Binding: Polymer Class (Example)
.... geometry Σ 0..1 CodeableConcept Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
Binding: Polymer Geometry (Example)
.... copolymerConnectivity Σ 0..* CodeableConcept Describes the copolymer sequence type (polymer connectivity)
Binding: Copolymer Connectivity (Example)

.... modification Σ 0..1 string A modification applied to the polymer
.... monomerSet Σ 0..* BackboneElement A set of monomers used to build the polymer

..... ratioType Σ 0..1 CodeableConcept Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
Binding: Polymer Monomer Ratio Type (Example)
..... startingMaterial Σ 0..* BackboneElement The starting materials - monomer(s) used in the synthesis of the polymer

...... code Σ 0..1 CodeableReference(SubstanceDefinition) The substance acting as starting material, as a code or a reference to a SubstanceDefinition
Binding: Substance Code (Example)
...... category Σ 0..1 CodeableConcept Substance high level category, e.g. chemical substance
Binding: Polymer Starting Material Category (Example)
...... isDefining Σ 0..1 boolean Whether this starting material is part of what defines the polymer's unique identity
...... amount Σ 0..1 Quantity A percentage
.... repeat Σ 0..* BackboneElement Specifies and quantifies the repeated units and their configuration

..... averageMolecularFormula Σ 0..1 string A representation of an (average) molecular formula from a polymer
..... repeatUnitAmountType Σ 0..1 CodeableConcept How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
Binding: Polymer Monomer Ratio Type (Example)
..... repeatUnit Σ 0..* BackboneElement An SRU - Structural Repeat Unit

...... unit Σ 0..1 string Identification of the structural repeat unit (SRU)
...... orientation Σ 0..1 CodeableConcept The orientation of the polymerisation, e.g. head-tail, head-head, random
Binding: Polymerisation Orientation (Example)
...... amount Σ 0..1 integer Number of repeats of this unit
...... degreeOfPolymerisation Σ 0..* BackboneElement Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described

....... type Σ 0..1 CodeableConcept The type of degree of polymerisation, e.g. SRU/Polymer ratio
Binding: Degree of Polymerisation Type (Example)
....... average Σ 0..1 integer An average amount of polymerisation
....... low Σ 0..1 integer A low expected limit of the amount
....... high Σ 0..1 integer A high expected limit of the amount
...... structuralRepresentation Σ 0..* see representation A graphical structure for this SRU

... protein 0..1 BackboneElement Data items specific to proteins
.... sequenceType Σ 0..1 CodeableConcept Whether the sequence is complete or partial
Binding: Substance Sequence Type (Example)
.... numberOfSubunits Σ 0..1 integer Number of subunits — linear sequences of amino acids linked through peptide bonds
.... disulfideLinkage Σ 0..* string 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

.... subunit Σ 0..* BackboneElement 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

..... subunit Σ 0..1 integer 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
..... sequence Σ 0..1 string 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
..... length Σ 0..1 integer Length of linear sequences of amino acids contained in the subunit
..... sequenceAttachment Σ 0..1 Attachment The amino-acid sequence as an attached file
..... nTerminalModification Σ 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the N-terminal of the protein
..... cTerminalModification Σ 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the C-terminal of the protein
.... gene Σ 0..* see gene The gene that codes for this substance


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

SubstanceDefinition (DomainResource)Identifier by which this substance is knownidentifier : Identifier [0..*]A business level edition or revision identifierversion : string [0..1]Status of substance within the catalogue e.g. active, retired (this element modifies the meaning of other elements)status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »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)classification : CodeableConcept [0..*]The applicable usage of the substance, as an example human or veterinarydomain : CodeableConcept [0..1] « null (Strength=Example)MedicinalProductDomain?? »The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard)grade : CodeableConcept [0..*] « null (Strength=Example)SubstanceGrade?? »Textual description of the substancedescription : markdown [0..1]Textual comment about the substance's catalogue or registry recordnote : Annotation [0..*]The entity that creates, makes, produces or fabricates the substance. This is a set of potential manufacturers but is not necessarily comprehensivemanufacturer : Reference [0..*] « Organization »An entity that is the source for the substance. It may be different from the manufacturer. Supplier is synonymous to a distributorsupplier : Reference [0..*] « Organization »MoietyRole that the moiety is playingrole : CodeableConcept [0..1]Identifier by which this moiety substance is knownidentifier : Identifier [0..*]Textual name for this moiety substancename : string [0..1]Stereochemistry typestereochemistry : CodeableConcept [0..1] « null (Strength=Example)Stereochemistry?? »Optical activity typeopticalActivity : CodeableConcept [0..1] « null (Strength=Example)OpticalActivity?? »Molecular formula for this moiety of this substance, typically using the Hill systemmolecularFormula : string [0..1]Quantitative value for this moietyamount[x] : DataType [0..1] « Quantity|string »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 ratiomeasurementType : CodeableConcept [0..1] « null (Strength=Example)SubstanceAmountType?? »CharacterizationThe method used to elucidate the characterization of the drug substance. Example: HPLCtechnique : CodeableConcept [0..1] « null (Strength=Example)StructureTechnique?? »Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt formform : CodeableConcept [0..1] « null (Strength=Example)SubstanceForm?? »The description or justification in support of the interpretation of the data filedescription : markdown [0..1]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 analysisfile : Attachment [0..*]PropertyA code expressing the type of propertytype : CodeableConcept [1..1] « null (Strength=Example)ProductCharacteristic?? »A value for the propertyvalue[x] : DataType [0..1] « CodeableConcept|Quantity|Range|date| boolean|Attachment »MolecularWeightThe method by which the molecular weight was determinedmethod : CodeableConcept [0..1] « null (Strength=Example)WeightMethod?? »Type of molecular weight such as exact, average (also known as. number average), weight averagetype : CodeableConcept [0..1] « null (Strength=Example)WeightType?? »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 fieldamount : Quantity [1..1]StructureStereochemistry typestereochemistry : CodeableConcept [0..1] « null (Strength=Example)Stereochemistry?? »Optical activity typeopticalActivity : CodeableConcept [0..1] « null (Strength=Example)OpticalActivity?? »An expression which states the number and type of atoms present in a molecule of a substancemolecularFormula : string [0..1]Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dotmolecularFormulaByMoiety : string [0..1]The method used to elucidate the structure of the drug substance. Examples: X-ray, NMR, Peptide mapping, Ligand binding assaytechnique : CodeableConcept [0..*] « null (Strength=Example)StructureTechnique?? »The source of information about the structuresourceDocument : Reference [0..*] « DocumentReference »RepresentationThe kind of structural representation (e.g. full, partial)type : CodeableConcept [0..1] « null (Strength=Example)SubstanceRepresentationType?? »The structural representation as a text string in a standard formatrepresentation : string [0..1]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 documentformat : CodeableConcept [0..1] « null (Strength=Example)SubstanceRepresentationFormat?? »An attached file with the structural representation e.g. a molecular structure graphic of the substance, a JCAMP or AnIML filedocument : Reference [0..1] « DocumentReference »codeThe specific codecode : CodeableConcept [0..1]Status of the code assignment, for example 'provisional', 'approved'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »The date at which the code status was changed as part of the terminology maintenancestatusDate : dateTime [0..1]Any comment can be provided in this field, if necessarynote : Annotation [0..*]Supporting literaturesource : Reference [0..*] « DocumentReference »NameThe actual namename : string [1..1]Name type, for example 'systematic', 'scientific, 'brand'type : CodeableConcept [0..1] « null (Strength=Example)SubstanceNameType?? »The status of the name, for example 'current', 'proposed'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »If this is the preferred name for this substancepreferred : boolean [0..1]Human language that the name is written inlanguage : CodeableConcept [0..*] « null (Strength=Required)AllLanguages! »The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additivedomain : CodeableConcept [0..*] « null (Strength=Example)SubstanceNameDomain?? »The jurisdiction where this name appliesjurisdiction : CodeableConcept [0..*] « null (Strength=Example)JurisdictionValueSet?? »Supporting literaturesource : Reference [0..*] « DocumentReference »OfficialWhich authority uses this official nameauthority : CodeableConcept [0..1] « null (Strength=Preferred)SubstanceNameAuthority? »The status of the official name, for example 'draft', 'active', 'retired'status : CodeableConcept [0..1] « null (Strength=Preferred)PublicationStatus? »Date of the official name changedate : dateTime [0..1]RelationshipA pointer to another substance, as a resource or just a representational codesubstanceDefinition[x] : DataType [0..1] « Reference( SubstanceDefinition)|CodeableConcept »For example "salt to parent", "active moiety", "starting material", "polymorph", "impurity of"type : CodeableConcept [1..1] « null (Strength=Example)SubstanceRelationshipType?? »For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationshipsisDefining : boolean [0..1]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 otheramount[x] : DataType [0..1] « Quantity|Ratio|string|Range »For use when the numeric has an uncertain rangeratioHighLimitAmount : Ratio [0..1]An operator for the amount, for example "average", "approximately", "less than"comparator : CodeableConcept [0..1] « null (Strength=Example)SubstanceAmountType?? »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 weightmeasurementType : CodeableConcept [0..1] « null (Strength=Example)SubstanceMeasurementType?? »For target relationships, the kind of interaction between the substance and its targetinteraction : CodeableConcept [0..1] « null (Strength=Example)SubstanceInteractionType?? »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 insteadorganism : CodeableConcept [0..1] « null (Strength=Example)SubstanceTargetOrganism?? »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 agentsorganismType : CodeableConcept [0..1] « null (Strength=Example)SubstanceTargetOrganismType?? »Supporting literaturesource : Reference [0..*] « DocumentReference »SourceMaterialA classification that provides the origin of the raw material. Example: cat hair would be an Animal source typetype : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialType?? »The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific namegenus : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialGenus?? »The species of an organism, typically referring to the Latin epithet of the species of the plant/animalspecies : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialSpecies?? »An anatomical origin of the source material within an organismpart : CodeableConcept [0..1] « null (Strength=Example)SourceMaterialPart?? »The country or countries where the material is harvestedcountryOfOrigin : CodeableConcept [0..*] « null (Strength=Required)CountryValueSet! »NucleicAcidThe type of the sequence (e.g. DNA, RNA)sequenceType : CodeableConcept [0..1] « null (Strength=Example)SubstanceSequenceType?? »The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairingnumberOfSubunits : integer [0..1]The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing orderareaOfHybridisation : string [0..1]The class of oligonucleotide, where relevant (e.g. antisense, siRNA, aptamer)oligoNucleotideType : CodeableConcept [0..1] « null (Strength=Example)OligoNucleotideType?? »SubunitIndex of the subunit. Subunits are numbered in decreasing length order, with ties broken by molecular weightsubunit : integer [0..1]The nucleotide sequence in 5’→3’ notation using standard single-letter codes. Sugar and linkage type may be expressed alongside, via .sugar and .linkagesequence : string [0..1]The length of the sequencelength : integer [0..1]The sequence provided as an attached file (e.g. when too long for inline capture)sequenceAttachment : Attachment [0..1]The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequencefivePrime : CodeableConcept [0..1] « null (Strength=Example)NucleotideTerminus?? »The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequencethreePrime : CodeableConcept [0..1] « null (Strength=Example)NucleotideTerminus?? »LinkageThe 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 explicitlyconnectivity : string [0..1]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 availablesubstance : CodeableReference [0..1] « SubstanceDefinition »The residue positions at which this linkage applies, listed in 5’→3’ direction consistent with the base sequenceresidueSite : string [0..1]SugarThe 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 availablesubstance : CodeableReference [0..1] « SubstanceDefinition »The residue positions at which this sugar applies, listed in 5’→3’ direction consistent with the base sequenceresidueSite : string [0..1]GeneThe 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 organismsequenceOrigin : CodeableConcept [0..1] « null (Strength=Example)GeneSequenceOrigin?? »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 availablegene : CodeableReference [0..1] « SubstanceDefinition »Supporting literature for the gene informationsource : Reference [0..*] « DocumentReference »GeneElementThe functional role of the element within the construct, for example promoter, enhancer, silencer, terminator, or coding sequencetype : CodeableConcept [0..1] « null (Strength=Example)GeneElementType?? »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 availableelement : CodeableReference [0..1] « SubstanceDefinition »Supporting literature for the gene element informationsource : Reference [0..*] « DocumentReference »PolymerOverall type of the polymerclass : CodeableConcept [0..1] « null (Strength=Example)PolymerClass?? »Polymer geometry, e.g. linear, branched, cross-linked, network or dendriticgeometry : CodeableConcept [0..1] « null (Strength=Example)PolymerGeometry?? »Describes the copolymer sequence type (polymer connectivity)copolymerConnectivity : CodeableConcept [0..*] « null (Strength=Example) CopolymerConnectivity?? »A modification applied to the polymer, e.g. a chemical reaction that alters the structure post-polymerisationmodification : string [0..1]MonomerSetCaptures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer RatioratioType : CodeableConcept [0..1] « null (Strength=Example)PolymerMonomerRatioType?? »StartingMaterialThe substance acting as starting material. This may be specified as a code or as a reference to another SubstanceDefinitioncode : CodeableReference [0..1] « SubstanceDefinition; null (Strength=Example)SubstanceCode?? »Substance high level category, e.g. chemical substancecategory : CodeableConcept [0..1] « null (Strength=Example)PolymerStartingMaterialCatego...?? »Whether this starting material is part of what defines the polymer's unique identityisDefining : boolean [0..1]A percentageamount : Quantity [0..1]RepeatA representation of an (average) molecular formula from a polymeraverageMolecularFormula : string [0..1]How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)repeatUnitAmountType : CodeableConcept [0..1] « null (Strength=Example) PolymerMonomerRatioType?? »RepeatUnitIdentification of the structural repeat unit (SRU)unit : string [0..1]The orientation of the polymerisation, e.g. head-tail, head-head, randomorientation : CodeableConcept [0..1] « null (Strength=Example)PolymerisationOrientation?? »Number of repeats of this unitamount : integer [0..1]DegreeOfPolymerisationThe type of degree of polymerisation, e.g. SRU/Polymer ratiotype : CodeableConcept [0..1] « null (Strength=Example)DegreeOfPolymerisationType?? »An average amount of polymerisationaverage : integer [0..1]A low expected limit of the amountlow : integer [0..1]A high expected limit of the amounthigh : integer [0..1]ProteinWhether the sequence provided is complete or partialsequenceType : CodeableConcept [0..1] « null (Strength=Example)SubstanceSequenceType?? »Number of subunits — linear sequences of amino acids linked through peptide bondsnumberOfSubunits : integer [0..1]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 residuesdisulfideLinkage : string [0..*]SubunitIndex 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 subscriptssubunit : integer [0..1]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 sequencesequence : string [0..1]Length of linear sequences of amino acids contained in the subunitlength : integer [0..1]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)sequenceAttachment : Attachment [0..1]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 availablenTerminalModification : CodeableReference [0..1] « SubstanceDefinition »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 availablecTerminalModification : CodeableReference [0..1] « SubstanceDefinition »Moiety, for structural modificationsmoiety[0..*]General specifications for this substancecharacterization[0..*]General specifications for this substanceproperty[0..*]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 atomsmolecularWeight[0..*]The molecular weight or weight range (for proteins, polymers or nucleic acids)molecularWeight[0..1]A depiction of the structure of the substancerepresentation[0..*]Structural informationstructure[0..1]Codes associated with the substancecode[0..*]A synonym of this particular name, by which the substance is also knownsynonym[0..*]A translation for this name into another human languagetranslation[0..*]Details of the official nature of this nameofficial[0..*]Names applicable to this substancename[0..*]A link between this substance and another, with details of the relationshiprelationship[0..*]Material or taxonomic/anatomical source for the substancesourceMaterial[0..1]The linkages between sugar residues in the nucleotide sequencelinkage[0..*]A sugar component of the nucleotide sequence, identifying the sugar substance and the residue positions to which it appliessugar[0..*]A subunit constituting the nucleic acid. Subunits are listed in decreasing length order; ties are ordered by molecular weight; identical sequences are repeatedsubunit[0..*]The gene that codes for this substance (typically applies to proteins and nucleic acids). Captures the gene's identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human)gene[0..*]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 identitygeneElement[0..*]Data items specific to nucleic acidsnucleicAcid[0..1]The starting materials - monomer(s) used in the synthesis of the polymerstartingMaterial[0..*]A set of monomers used to build the polymer, with their proportions and relationshipsmonomerSet[0..*]Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be describeddegreeOfPolymerisation[0..*]A graphical structure for this SRUstructuralRepresentation[0..*]An SRU - Structural Repeat UnitrepeatUnit[0..*]Specifies and quantifies the repeated units and their configurationrepeat[0..*]Data items specific to polymerspolymer[0..1]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 repeatedsubunit[0..*]The gene that codes for this protein substance (typically the source gene). Captures the gene's identity and the source organism or lineage of the gene sequence (e.g. humanised mouse, chimeric mouse-human). Same structure as nucleicAcid.genegene[0..*]Data items specific to proteinsprotein[0..1]

XML Template

<SubstanceDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier by which this substance is known --></identifier>
 <version value="[string]"/><!-- 0..1 A business level edition or revision identifier -->
 <status><!-- 0..1 CodeableConcept Status of substance within the catalogue e.g. active, retired --></status>
 <classification><!-- 0..* CodeableConcept A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity --></classification>
 <domain><!-- 0..1 CodeableConcept The applicable usage of the substance, as an example human or veterinary --></domain>
 <grade><!-- 0..* CodeableConcept The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP) --></grade>
 <description value="[markdown]"/><!-- 0..1 Textual description of the substance -->
 <note><!-- 0..* Annotation Textual comment about the substance's catalogue or registry record --></note>
 <manufacturer><!-- 0..* Reference(Organization) The entity that creates, makes, produces or fabricates the substance --></manufacturer>
 <supplier><!-- 0..* Reference(Organization) An entity that is the source for the substance. It may be different from the manufacturer --></supplier>
 <moiety>  <!-- 0..* Moiety, for structural modifications -->
  <role><!-- 0..1 CodeableConcept Role that the moiety is playing --></role>
  <identifier><!-- 0..* Identifier Identifier by which this moiety substance is known --></identifier>
  <name value="[string]"/><!-- 0..1 Textual name for this moiety substance -->
  <stereochemistry><!-- 0..1 CodeableConcept Stereochemistry type --></stereochemistry>
  <opticalActivity><!-- 0..1 CodeableConcept Optical activity type --></opticalActivity>
  <molecularFormula value="[string]"/><!-- 0..1 Molecular formula for this moiety (e.g. with the Hill system) -->
  <amount[x]><!-- 0..1 Quantity|string Quantitative value for this moiety --></amount[x]>
  <measurementType><!-- 0..1 CodeableConcept The measurement type of the quantitative value --></measurementType>
 </moiety>
 <characterization>  <!-- 0..* General specifications for this substance -->
  <technique><!-- 0..1 CodeableConcept The method used to find the characterization e.g. HPLC --></technique>
  <form><!-- 0..1 CodeableConcept Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form --></form>
  <description value="[markdown]"/><!-- 0..1 The description or justification in support of the interpretation of the data file -->
  <file><!-- 0..* Attachment 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 --></file>
 </characterization>
 <property>  <!-- 0..* General specifications for this substance -->
  <type><!-- 1..1 CodeableConcept A code expressing the type of property --></type>
  <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|date|boolean|Attachment A value for the property --></value[x]>
 </property>
 <molecularWeight>  <!-- 0..* The average mass of a molecule of a compound -->
  <method><!-- 0..1 CodeableConcept The method by which the weight was determined --></method>
  <type><!-- 0..1 CodeableConcept Type of molecular weight e.g. exact, average, weight average --></type>
  <amount><!-- 1..1 Quantity Used to capture quantitative values for a variety of elements --></amount>
 </molecularWeight>
 <structure>  <!-- 0..1 Structural information -->
  <stereochemistry><!-- 0..1 CodeableConcept Stereochemistry type --></stereochemistry>
  <opticalActivity><!-- 0..1 CodeableConcept Optical activity type --></opticalActivity>
  <molecularFormula value="[string]"/><!-- 0..1 An expression which states the number and type of atoms present in a molecule of a substance -->
  <molecularFormulaByMoiety value="[string]"/><!-- 0..1 Specified per moiety according to the Hill system -->
  <molecularWeight><!-- 0..1 Content as for SubstanceDefinition.molecularWeight The molecular weight or weight range --></molecularWeight>
  <technique><!-- 0..* CodeableConcept The method used to find the structure e.g. X-ray, NMR --></technique>
  <sourceDocument><!-- 0..* Reference(DocumentReference) Source of information for the structure --></sourceDocument>
  <representation>  <!-- 0..* A depiction of the structure of the substance -->
   <type><!-- 0..1 CodeableConcept The kind of structural representation (e.g. full, partial) --></type>
   <representation value="[string]"/><!-- 0..1 The structural representation as a text string in a standard format -->
   <format><!-- 0..1 CodeableConcept The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format) --></format>
   <document><!-- 0..1 Reference(DocumentReference) An attachment with the structural representation e.g. a structure graphic or AnIML file --></document>
  </representation>
 </structure>
 <code>  <!-- 0..* Codes associated with the substance -->
  <code><!-- 0..1 CodeableConcept The specific code --></code>
  <status><!-- 0..1 CodeableConcept Status of the code assignment, for example 'provisional', 'approved' --></status>
  <statusDate value="[dateTime]"/><!-- 0..1 The date at which the code status was changed -->
  <note><!-- 0..* Annotation Any comment can be provided in this field --></note>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </code>
 <name>  <!-- 0..* Names applicable to this substance -->
  <name value="[string]"/><!-- 1..1 The actual name -->
  <type><!-- 0..1 CodeableConcept Name type e.g. 'systematic',  'scientific, 'brand' --></type>
  <status><!-- 0..1 CodeableConcept The status of the name e.g. 'current', 'proposed' --></status>
  <preferred value="[boolean]"/><!-- 0..1 If this is the preferred name for this substance -->
  <language><!-- 0..* CodeableConcept Human language that the name is written in --></language>
  <domain><!-- 0..* CodeableConcept The use context of this name e.g. as an active ingredient or as a food colour additive --></domain>
  <jurisdiction><!-- 0..* CodeableConcept The jurisdiction where this name applies icon --></jurisdiction>
  <synonym><!-- 0..* Content as for SubstanceDefinition.name A synonym of this particular name, by which the substance is also known --></synonym>
  <translation><!-- 0..* Content as for SubstanceDefinition.name A translation for this name into another human language --></translation>
  <official>  <!-- 0..* Details of the official nature of this name -->
   <authority><!-- 0..1 CodeableConcept Which authority uses this official name --></authority>
   <status><!-- 0..1 CodeableConcept The status of the official name, for example 'draft', 'active' --></status>
   <date value="[dateTime]"/><!-- 0..1 Date of official name change -->
  </official>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </name>
 <relationship>  <!-- 0..* A link between this substance and another -->
  <substanceDefinition[x]><!-- 0..1 Reference(SubstanceDefinition)|
    CodeableConcept A pointer to another substance, as a resource or a representational code --></substanceDefinition[x]>
  <type><!-- 1..1 CodeableConcept For example "salt to parent", "active moiety" --></type>
  <isDefining value="[boolean]"/><!-- 0..1 For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships -->
  <amount[x]><!-- 0..1 Quantity|Ratio|string|Range A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other --></amount[x]>
  <ratioHighLimitAmount><!-- 0..1 Ratio For use when the numeric has an uncertain range --></ratioHighLimitAmount>
  <comparator><!-- 0..1 CodeableConcept An operator for the amount, for example "average", "approximately", "less than" --></comparator>
  <measurementType><!-- 0..1 CodeableConcept The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio) --></measurementType>
  <interaction><!-- 0..1 CodeableConcept For target relationships, the kind of interaction (e.g. binding, inhibition, agonism) --></interaction>
  <organism><!-- 0..1 CodeableConcept For anti-infective target relationships, the specific organism targeted --></organism>
  <organismType><!-- 0..1 CodeableConcept For anti-infective target relationships, the high-level type of organism targeted --></organismType>
  <source><!-- 0..* Reference(DocumentReference) Supporting literature --></source>
 </relationship>
 <sourceMaterial>  <!-- 0..1 Material or taxonomic/anatomical source -->
  <type><!-- 0..1 CodeableConcept Classification of the origin of the raw material. e.g. cat hair is an Animal source type --></type>
  <genus><!-- 0..1 CodeableConcept The genus of an organism e.g. the Latin epithet of the plant/animal scientific name --></genus>
  <species><!-- 0..1 CodeableConcept The species of an organism e.g. the Latin epithet of the species of the plant/animal --></species>
  <part><!-- 0..1 CodeableConcept An anatomical origin of the source material within an organism --></part>
  <countryOfOrigin><!-- 0..* CodeableConcept The country or countries where the material is harvested --></countryOfOrigin>
 </sourceMaterial>
 <nucleicAcid>  <!-- 0..1 Data items specific to nucleic acids -->
  <sequenceType><!-- 0..1 CodeableConcept The type of the sequence (e.g. DNA, RNA) --></sequenceType>
  <numberOfSubunits value="[integer]"/><!-- 0..1 The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing -->
  <areaOfHybridisation value="[string]"/><!-- 0..1 The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order -->
  <oligoNucleotideType><!-- 0..1 CodeableConcept Type or class of the oligonucleotide --></oligoNucleotideType>
  <subunit>  <!-- 0..* A subunit constituting the nucleic acid -->
   <subunit value="[integer]"/><!-- 0..1 Index of the subunit in decreasing length order -->
   <sequence value="[string]"/><!-- 0..1 The nucleotide sequence in 5’→3’ notation using standard single-letter codes -->
   <length value="[integer]"/><!-- 0..1 The length of the sequence -->
   <sequenceAttachment><!-- 0..1 Attachment The sequence as an attached file --></sequenceAttachment>
   <fivePrime><!-- 0..1 CodeableConcept The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence --></fivePrime>
   <threePrime><!-- 0..1 CodeableConcept The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence --></threePrime>
   <linkage>  <!-- 0..* The linkages between sugar residues in the nucleotide sequence -->
    <connectivity value="[string]"/><!-- 0..1 The chemistry of the linkage -->
    <substance><!-- 0..1 CodeableReference(SubstanceDefinition) The linkage substance, as a code or a reference to its SubstanceDefinition --></substance>
    <residueSite value="[string]"/><!-- 0..1 The residue positions at which this linkage applies, in 5’→3’ direction -->
   </linkage>
   <sugar>  <!-- 0..* A sugar component of the nucleotide sequence -->
    <substance><!-- 0..1 CodeableReference(SubstanceDefinition) The sugar substance, as a code or a reference to its SubstanceDefinition --></substance>
    <residueSite value="[string]"/><!-- 0..1 The residue positions at which this sugar applies, in 5’→3’ direction -->
   </sugar>
  </subunit>
  <gene>  <!-- 0..* The gene that codes for this substance -->
   <sequenceOrigin><!-- 0..1 CodeableConcept The species or lineage from which the gene sequence originated --></sequenceOrigin>
   <gene><!-- 0..1 CodeableReference(SubstanceDefinition) The gene itself, as a code or a reference to a SubstanceDefinition --></gene>
   <source><!-- 0..* Reference(DocumentReference) Supporting literature for the gene information --></source>
  </gene>
  <geneElement>  <!-- 0..* Gene elements that comprise a nucleic acid construct (used for gene therapy) -->
   <type><!-- 0..1 CodeableConcept The functional role of the element (e.g. promoter, enhancer, coding sequence) --></type>
   <element><!-- 0..1 CodeableReference(SubstanceDefinition) The element itself, as a code or a reference to a SubstanceDefinition --></element>
   <source><!-- 0..* Reference(DocumentReference) Supporting literature for the gene element information --></source>
  </geneElement>
 </nucleicAcid>
 <polymer>  <!-- 0..1 Data items specific to polymers -->
  <class><!-- 0..1 CodeableConcept Overall type of the polymer --></class>
  <geometry><!-- 0..1 CodeableConcept Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic --></geometry>
  <copolymerConnectivity><!-- 0..* CodeableConcept Describes the copolymer sequence type (polymer connectivity) --></copolymerConnectivity>
  <modification value="[string]"/><!-- 0..1 A modification applied to the polymer -->
  <monomerSet>  <!-- 0..* A set of monomers used to build the polymer -->
   <ratioType><!-- 0..1 CodeableConcept Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio --></ratioType>
   <startingMaterial>  <!-- 0..* The starting materials - monomer(s) used in the synthesis of the polymer -->
    <code><!-- 0..1 CodeableReference(SubstanceDefinition) The substance acting as starting material, as a code or a reference to a SubstanceDefinition --></code>
    <category><!-- 0..1 CodeableConcept Substance high level category, e.g. chemical substance --></category>
    <isDefining value="[boolean]"/><!-- 0..1 Whether this starting material is part of what defines the polymer's unique identity -->
    <amount><!-- 0..1 Quantity A percentage --></amount>
   </startingMaterial>
  </monomerSet>
  <repeat>  <!-- 0..* Specifies and quantifies the repeated units and their configuration -->
   <averageMolecularFormula value="[string]"/><!-- 0..1 A representation of an (average) molecular formula from a polymer -->
   <repeatUnitAmountType><!-- 0..1 CodeableConcept How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average) --></repeatUnitAmountType>
   <repeatUnit>  <!-- 0..* An SRU - Structural Repeat Unit -->
    <unit value="[string]"/><!-- 0..1 Identification of the structural repeat unit (SRU) -->
    <orientation><!-- 0..1 CodeableConcept The orientation of the polymerisation, e.g. head-tail, head-head, random --></orientation>
    <amount value="[integer]"/><!-- 0..1 Number of repeats of this unit -->
    <degreeOfPolymerisation>  <!-- 0..* Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described -->
     <type><!-- 0..1 CodeableConcept The type of degree of polymerisation, e.g. SRU/Polymer ratio --></type>
     <average value="[integer]"/><!-- 0..1 An average amount of polymerisation -->
     <low value="[integer]"/><!-- 0..1 A low expected limit of the amount -->
     <high value="[integer]"/><!-- 0..1 A high expected limit of the amount -->
    </degreeOfPolymerisation>
    <structuralRepresentation><!-- 0..* Content as for SubstanceDefinition.structure.representation A graphical structure for this SRU --></structuralRepresentation>
   </repeatUnit>
  </repeat>
 </polymer>
 <protein>  <!-- 0..1 Data items specific to proteins -->
  <sequenceType><!-- 0..1 CodeableConcept Whether the sequence is complete or partial --></sequenceType>
  <numberOfSubunits value="[integer]"/><!-- 0..1 Number of subunits — linear sequences of amino acids linked through peptide bonds -->
  <disulfideLinkage value="[string]"/><!-- 0..* 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 -->
  <subunit>  <!-- 0..* 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 -->
   <subunit value="[integer]"/><!-- 0..1 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 -->
   <sequence value="[string]"/><!-- 0..1 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 -->
   <length value="[integer]"/><!-- 0..1 Length of linear sequences of amino acids contained in the subunit -->
   <sequenceAttachment><!-- 0..1 Attachment The amino-acid sequence as an attached file --></sequenceAttachment>
   <nTerminalModification><!-- 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the N-terminal of the protein --></nTerminalModification>
   <cTerminalModification><!-- 0..1 CodeableReference(SubstanceDefinition) The modification fragment at the C-terminal of the protein --></cTerminalModification>
  </subunit>
  <gene><!-- 0..* Content as for SubstanceDefinition.nucleicAcid.gene The gene that codes for this substance --></gene>
 </protein>
</SubstanceDefinition>

JSON Template

{doco
  "resourceType" : "SubstanceDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier by which this substance is known
  "version" : "<string>", // A business level edition or revision identifier
  "status" : { CodeableConcept }, // Status of substance within the catalogue e.g. active, retired
  "classification" : [{ CodeableConcept }], // A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
  "domain" : { CodeableConcept }, // The applicable usage of the substance, as an example human or veterinary
  "grade" : [{ CodeableConcept }], // The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
  "description" : "<markdown>", // Textual description of the substance
  "note" : [{ Annotation }], // Textual comment about the substance's catalogue or registry record
  "manufacturer" : [{ Reference(Organization) }], // The entity that creates, makes, produces or fabricates the substance
  "supplier" : [{ Reference(Organization) }], // An entity that is the source for the substance. It may be different from the manufacturer
  "moiety" : [{ // Moiety, for structural modifications
    "role" : { CodeableConcept }, // Role that the moiety is playing
    "identifier" : [{ Identifier }], // Identifier by which this moiety substance is known
    "name" : "<string>", // Textual name for this moiety substance
    "stereochemistry" : { CodeableConcept }, // Stereochemistry type
    "opticalActivity" : { CodeableConcept }, // Optical activity type
    "molecularFormula" : "<string>", // Molecular formula for this moiety (e.g. with the Hill system)
    // amount[x]: Quantitative value for this moiety. One of these 2:
    "amountQuantity" : { Quantity },
    "amountString" : "<string>",
    "measurementType" : { CodeableConcept } // The measurement type of the quantitative value
  }],
  "characterization" : [{ // General specifications for this substance
    "technique" : { CodeableConcept }, // The method used to find the characterization e.g. HPLC
    "form" : { CodeableConcept }, // Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
    "description" : "<markdown>", // The description or justification in support of the interpretation of the data file
    "file" : [{ Attachment }] // 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
  }],
  "property" : [{ // General specifications for this substance
    "type" : { CodeableConcept }, // R!  A code expressing the type of property
    // value[x]: A value for the property. One of these 6:
    "valueCodeableConcept" : { CodeableConcept },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valueDate" : "<date>",
    "valueBoolean" : <boolean>,
    "valueAttachment" : { Attachment }
  }],
  "molecularWeight" : [{ // The average mass of a molecule of a compound
    "method" : { CodeableConcept }, // The method by which the weight was determined
    "type" : { CodeableConcept }, // Type of molecular weight e.g. exact, average, weight average
    "amount" : { Quantity } // R!  Used to capture quantitative values for a variety of elements
  }],
  "structure" : { // Structural information
    "stereochemistry" : { CodeableConcept }, // Stereochemistry type
    "opticalActivity" : { CodeableConcept }, // Optical activity type
    "molecularFormula" : "<string>", // An expression which states the number and type of atoms present in a molecule of a substance
    "molecularFormulaByMoiety" : "<string>", // Specified per moiety according to the Hill system
    "molecularWeight" : { Content as for SubstanceDefinition.molecularWeight }, // The molecular weight or weight range
    "technique" : [{ CodeableConcept }], // The method used to find the structure e.g. X-ray, NMR
    "sourceDocument" : [{ Reference(DocumentReference) }], // Source of information for the structure
    "representation" : [{ // A depiction of the structure of the substance
      "type" : { CodeableConcept }, // The kind of structural representation (e.g. full, partial)
      "representation" : "<string>", // The structural representation as a text string in a standard format
      "format" : { CodeableConcept }, // The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
      "document" : { Reference(DocumentReference) } // An attachment with the structural representation e.g. a structure graphic or AnIML file
    }]
  },
  "code" : [{ // Codes associated with the substance
    "code" : { CodeableConcept }, // The specific code
    "status" : { CodeableConcept }, // Status of the code assignment, for example 'provisional', 'approved'
    "statusDate" : "<dateTime>", // The date at which the code status was changed
    "note" : [{ Annotation }], // Any comment can be provided in this field
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "name" : [{ // Names applicable to this substance
    "name" : "<string>", // R!  The actual name
    "type" : { CodeableConcept }, // Name type e.g. 'systematic',  'scientific, 'brand'
    "status" : { CodeableConcept }, // The status of the name e.g. 'current', 'proposed'
    "preferred" : <boolean>, // If this is the preferred name for this substance
    "language" : [{ CodeableConcept }], // Human language that the name is written in
    "domain" : [{ CodeableConcept }], // The use context of this name e.g. as an active ingredient or as a food colour additive
    "jurisdiction" : [{ CodeableConcept }], // The jurisdiction where this name applies icon
    "synonym" : [{ Content as for SubstanceDefinition.name }], // A synonym of this particular name, by which the substance is also known
    "translation" : [{ Content as for SubstanceDefinition.name }], // A translation for this name into another human language
    "official" : [{ // Details of the official nature of this name
      "authority" : { CodeableConcept }, // Which authority uses this official name
      "status" : { CodeableConcept }, // The status of the official name, for example 'draft', 'active'
      "date" : "<dateTime>" // Date of official name change
    }],
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "relationship" : [{ // A link between this substance and another
    // substanceDefinition[x]: A pointer to another substance, as a resource or a representational code. One of these 2:
    "substanceDefinitionReference" : { Reference(SubstanceDefinition) },
    "substanceDefinitionCodeableConcept" : { CodeableConcept },
    "type" : { CodeableConcept }, // R!  For example "salt to parent", "active moiety"
    "isDefining" : <boolean>, // For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
    // amount[x]: 
      A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other. One of these 4:
    "amountQuantity" : { Quantity },
    "amountRatio" : { Ratio },
    "amountString" : "<string>",
    "amountRange" : { Range },
    "ratioHighLimitAmount" : { Ratio }, // For use when the numeric has an uncertain range
    "comparator" : { CodeableConcept }, // An operator for the amount, for example "average", "approximately", "less than"
    "measurementType" : { CodeableConcept }, // The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
    "interaction" : { CodeableConcept }, // For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
    "organism" : { CodeableConcept }, // For anti-infective target relationships, the specific organism targeted
    "organismType" : { CodeableConcept }, // For anti-infective target relationships, the high-level type of organism targeted
    "source" : [{ Reference(DocumentReference) }] // Supporting literature
  }],
  "sourceMaterial" : { // Material or taxonomic/anatomical source
    "type" : { CodeableConcept }, // Classification of the origin of the raw material. e.g. cat hair is an Animal source type
    "genus" : { CodeableConcept }, // The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
    "species" : { CodeableConcept }, // The species of an organism e.g. the Latin epithet of the species of the plant/animal
    "part" : { CodeableConcept }, // An anatomical origin of the source material within an organism
    "countryOfOrigin" : [{ CodeableConcept }] // The country or countries where the material is harvested
  },
  "nucleicAcid" : { // Data items specific to nucleic acids
    "sequenceType" : { CodeableConcept }, // The type of the sequence (e.g. DNA, RNA)
    "numberOfSubunits" : <integer>, // The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
    "areaOfHybridisation" : "<string>", // The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
    "oligoNucleotideType" : { CodeableConcept }, // Type or class of the oligonucleotide
    "subunit" : [{ // A subunit constituting the nucleic acid
      "subunit" : <integer>, // Index of the subunit in decreasing length order
      "sequence" : "<string>", // The nucleotide sequence in 5’→3’ notation using standard single-letter codes
      "length" : <integer>, // The length of the sequence
      "sequenceAttachment" : { Attachment }, // The sequence as an attached file
      "fivePrime" : { CodeableConcept }, // The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
      "threePrime" : { CodeableConcept }, // The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
      "linkage" : [{ // The linkages between sugar residues in the nucleotide sequence
        "connectivity" : "<string>", // The chemistry of the linkage
        "substance" : { CodeableReference(SubstanceDefinition) }, // The linkage substance, as a code or a reference to its SubstanceDefinition
        "residueSite" : "<string>" // The residue positions at which this linkage applies, in 5’→3’ direction
      }],
      "sugar" : [{ // A sugar component of the nucleotide sequence
        "substance" : { CodeableReference(SubstanceDefinition) }, // The sugar substance, as a code or a reference to its SubstanceDefinition
        "residueSite" : "<string>" // The residue positions at which this sugar applies, in 5’→3’ direction
      }]
    }],
    "gene" : [{ // The gene that codes for this substance
      "sequenceOrigin" : { CodeableConcept }, // The species or lineage from which the gene sequence originated
      "gene" : { CodeableReference(SubstanceDefinition) }, // The gene itself, as a code or a reference to a SubstanceDefinition
      "source" : [{ Reference(DocumentReference) }] // Supporting literature for the gene information
    }],
    "geneElement" : [{ // Gene elements that comprise a nucleic acid construct (used for gene therapy)
      "type" : { CodeableConcept }, // The functional role of the element (e.g. promoter, enhancer, coding sequence)
      "element" : { CodeableReference(SubstanceDefinition) }, // The element itself, as a code or a reference to a SubstanceDefinition
      "source" : [{ Reference(DocumentReference) }] // Supporting literature for the gene element information
    }]
  },
  "polymer" : { // Data items specific to polymers
    "class" : { CodeableConcept }, // Overall type of the polymer
    "geometry" : { CodeableConcept }, // Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
    "copolymerConnectivity" : [{ CodeableConcept }], // Describes the copolymer sequence type (polymer connectivity)
    "modification" : "<string>", // A modification applied to the polymer
    "monomerSet" : [{ // A set of monomers used to build the polymer
      "ratioType" : { CodeableConcept }, // Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
      "startingMaterial" : [{ // The starting materials - monomer(s) used in the synthesis of the polymer
        "code" : { CodeableReference(SubstanceDefinition) }, // The substance acting as starting material, as a code or a reference to a SubstanceDefinition
        "category" : { CodeableConcept }, // Substance high level category, e.g. chemical substance
        "isDefining" : <boolean>, // Whether this starting material is part of what defines the polymer's unique identity
        "amount" : { Quantity } // A percentage
      }]
    }],
    "repeat" : [{ // Specifies and quantifies the repeated units and their configuration
      "averageMolecularFormula" : "<string>", // A representation of an (average) molecular formula from a polymer
      "repeatUnitAmountType" : { CodeableConcept }, // How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
      "repeatUnit" : [{ // An SRU - Structural Repeat Unit
        "unit" : "<string>", // Identification of the structural repeat unit (SRU)
        "orientation" : { CodeableConcept }, // The orientation of the polymerisation, e.g. head-tail, head-head, random
        "amount" : <integer>, // Number of repeats of this unit
        "degreeOfPolymerisation" : [{ // Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described
          "type" : { CodeableConcept }, // The type of degree of polymerisation, e.g. SRU/Polymer ratio
          "average" : <integer>, // An average amount of polymerisation
          "low" : <integer>, // A low expected limit of the amount
          "high" : <integer> // A high expected limit of the amount
        }],
        "structuralRepresentation" : [{ Content as for SubstanceDefinition.structure.representation }] // A graphical structure for this SRU
      }]
    }]
  },
  "protein" : { // Data items specific to proteins
    "sequenceType" : { CodeableConcept }, // Whether the sequence is complete or partial
    "numberOfSubunits" : <integer>, // Number of subunits — linear sequences of amino acids linked through peptide bonds
    "disulfideLinkage" : ["<string>"], // 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
    "subunit" : [{ // 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
      "subunit" : <integer>, // 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
      "sequence" : "<string>", // 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
      "length" : <integer>, // Length of linear sequences of amino acids contained in the subunit
      "sequenceAttachment" : { Attachment }, // The amino-acid sequence as an attached file
      "nTerminalModification" : { CodeableReference(SubstanceDefinition) }, // The modification fragment at the N-terminal of the protein
      "cTerminalModification" : { CodeableReference(SubstanceDefinition) } // The modification fragment at the C-terminal of the protein
    }],
    "gene" : [{ Content as for SubstanceDefinition.nucleicAcid.gene }] // The gene that codes for this substance
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:SubstanceDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier by which this substance is known
  fhir:version [ string ] ; # 0..1 A business level edition or revision identifier
  fhir:status [ CodeableConcept ] ; # 0..1 Status of substance within the catalogue e.g. active, retired
  fhir:classification  ( [ CodeableConcept ] ... ) ; # 0..* A categorization, high level e.g. polymer or nucleic acid, or food, chemical, biological, or lower e.g. polymer linear or branch chain, or type of impurity
  fhir:domain [ CodeableConcept ] ; # 0..1 The applicable usage of the substance, as an example human or veterinary
  fhir:grade  ( [ CodeableConcept ] ... ) ; # 0..* The quality standard, established benchmark, to which substance complies (e.g. USP/NF, BP)
  fhir:description [ markdown ] ; # 0..1 Textual description of the substance
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Textual comment about the substance's catalogue or registry record
  fhir:manufacturer  ( [ Reference(Organization) ] ... ) ; # 0..* The entity that creates, makes, produces or fabricates the substance
  fhir:supplier  ( [ Reference(Organization) ] ... ) ; # 0..* An entity that is the source for the substance. It may be different from the manufacturer
  fhir:moiety ( [ # 0..* Moiety, for structural modifications
    fhir:role [ CodeableConcept ] ; # 0..1 Role that the moiety is playing
    fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier by which this moiety substance is known
    fhir:name [ string ] ; # 0..1 Textual name for this moiety substance
    fhir:stereochemistry [ CodeableConcept ] ; # 0..1 Stereochemistry type
    fhir:opticalActivity [ CodeableConcept ] ; # 0..1 Optical activity type
    fhir:molecularFormula [ string ] ; # 0..1 Molecular formula for this moiety (e.g. with the Hill system)
    # amount[x] : 0..1 Quantitative value for this moiety. One of these 2
      fhir:amount [  a fhir:Quantity ; Quantity ]
      fhir:amount [  a fhir:String ; string ]
    fhir:measurementType [ CodeableConcept ] ; # 0..1 The measurement type of the quantitative value
  ] ... ) ;
  fhir:characterization ( [ # 0..* General specifications for this substance
    fhir:technique [ CodeableConcept ] ; # 0..1 The method used to find the characterization e.g. HPLC
    fhir:form [ CodeableConcept ] ; # 0..1 Describes the nature of the chemical entity and explains, for instance, whether this is a base or a salt form
    fhir:description [ markdown ] ; # 0..1 The description or justification in support of the interpretation of the data file
    fhir:file  ( [ Attachment ] ... ) ; # 0..* 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
  ] ... ) ;
  fhir:property ( [ # 0..* General specifications for this substance
    fhir:type [ CodeableConcept ] ; # 1..1 A code expressing the type of property
    # value[x] : 0..1 A value for the property. One of these 6
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:Date ; date ]
      fhir:value [  a fhir:Boolean ; boolean ]
      fhir:value [  a fhir:Attachment ; Attachment ]
  ] ... ) ;
  fhir:molecularWeight ( [ # 0..* The average mass of a molecule of a compound
    fhir:method [ CodeableConcept ] ; # 0..1 The method by which the weight was determined
    fhir:type [ CodeableConcept ] ; # 0..1 Type of molecular weight e.g. exact, average, weight average
    fhir:amount [ Quantity ] ; # 1..1 Used to capture quantitative values for a variety of elements
  ] ... ) ;
  fhir:structure [ # 0..1 Structural information
    fhir:stereochemistry [ CodeableConcept ] ; # 0..1 Stereochemistry type
    fhir:opticalActivity [ CodeableConcept ] ; # 0..1 Optical activity type
    fhir:molecularFormula [ string ] ; # 0..1 An expression which states the number and type of atoms present in a molecule of a substance
    fhir:molecularFormulaByMoiety [ string ] ; # 0..1 Specified per moiety according to the Hill system
    fhir:molecularWeight [ See SubstanceDefinition.molecularWeight ] ; # 0..1 The molecular weight or weight range
    fhir:technique  ( [ CodeableConcept ] ... ) ; # 0..* The method used to find the structure e.g. X-ray, NMR
    fhir:sourceDocument  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Source of information for the structure
    fhir:representation ( [ # 0..* A depiction of the structure of the substance
      fhir:type [ CodeableConcept ] ; # 0..1 The kind of structural representation (e.g. full, partial)
      fhir:representation [ string ] ; # 0..1 The structural representation as a text string in a standard format
      fhir:format [ CodeableConcept ] ; # 0..1 The format of the representation e.g. InChI, SMILES, MOLFILE (note: not the physical file format)
      fhir:document [ Reference(DocumentReference) ] ; # 0..1 An attachment with the structural representation e.g. a structure graphic or AnIML file
    ] ... ) ;
  ] ;
  fhir:code ( [ # 0..* Codes associated with the substance
    fhir:code [ CodeableConcept ] ; # 0..1 The specific code
    fhir:status [ CodeableConcept ] ; # 0..1 Status of the code assignment, for example 'provisional', 'approved'
    fhir:statusDate [ dateTime ] ; # 0..1 The date at which the code status was changed
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Any comment can be provided in this field
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:name ( [ # 0..* Names applicable to this substance
    fhir:name [ string ] ; # 1..1 The actual name
    fhir:type [ CodeableConcept ] ; # 0..1 Name type e.g. 'systematic',  'scientific, 'brand'
    fhir:status [ CodeableConcept ] ; # 0..1 The status of the name e.g. 'current', 'proposed'
    fhir:preferred [ boolean ] ; # 0..1 If this is the preferred name for this substance
    fhir:language  ( [ CodeableConcept ] ... ) ; # 0..* Human language that the name is written in
    fhir:domain  ( [ CodeableConcept ] ... ) ; # 0..* The use context of this name e.g. as an active ingredient or as a food colour additive
    fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* The jurisdiction where this name applies
    fhir:synonym  ( [ See SubstanceDefinition.name ] ... ) ; # 0..* A synonym of this particular name, by which the substance is also known
    fhir:translation  ( [ See SubstanceDefinition.name ] ... ) ; # 0..* A translation for this name into another human language
    fhir:official ( [ # 0..* Details of the official nature of this name
      fhir:authority [ CodeableConcept ] ; # 0..1 Which authority uses this official name
      fhir:status [ CodeableConcept ] ; # 0..1 The status of the official name, for example 'draft', 'active'
      fhir:date [ dateTime ] ; # 0..1 Date of official name change
    ] ... ) ;
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:relationship ( [ # 0..* A link between this substance and another
    # substanceDefinition[x] : 0..1 A pointer to another substance, as a resource or a representational code. One of these 2
      fhir:substanceDefinition [  a fhir:Reference ; Reference(SubstanceDefinition) ]
      fhir:substanceDefinition [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:type [ CodeableConcept ] ; # 1..1 For example "salt to parent", "active moiety"
    fhir:isDefining [ boolean ] ; # 0..1 For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible relationships
    # amount[x] : 0..1 A numeric factor for the relationship, e.g. that a substance salt has some percentage of active substance in relation to some other. One of these 4
      fhir:amount [  a fhir:Quantity ; Quantity ]
      fhir:amount [  a fhir:Ratio ; Ratio ]
      fhir:amount [  a fhir:String ; string ]
      fhir:amount [  a fhir:Range ; Range ]
    fhir:ratioHighLimitAmount [ Ratio ] ; # 0..1 For use when the numeric has an uncertain range
    fhir:comparator [ CodeableConcept ] ; # 0..1 An operator for the amount, for example "average", "approximately", "less than"
    fhir:measurementType [ CodeableConcept ] ; # 0..1 The kind of measurement the amount represents (e.g. IC50, Kd, Ki, mole ratio)
    fhir:interaction [ CodeableConcept ] ; # 0..1 For target relationships, the kind of interaction (e.g. binding, inhibition, agonism)
    fhir:organism [ CodeableConcept ] ; # 0..1 For anti-infective target relationships, the specific organism targeted
    fhir:organismType [ CodeableConcept ] ; # 0..1 For anti-infective target relationships, the high-level type of organism targeted
    fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature
  ] ... ) ;
  fhir:sourceMaterial [ # 0..1 Material or taxonomic/anatomical source
    fhir:type [ CodeableConcept ] ; # 0..1 Classification of the origin of the raw material. e.g. cat hair is an Animal source type
    fhir:genus [ CodeableConcept ] ; # 0..1 The genus of an organism e.g. the Latin epithet of the plant/animal scientific name
    fhir:species [ CodeableConcept ] ; # 0..1 The species of an organism e.g. the Latin epithet of the species of the plant/animal
    fhir:part [ CodeableConcept ] ; # 0..1 An anatomical origin of the source material within an organism
    fhir:countryOfOrigin  ( [ CodeableConcept ] ... ) ; # 0..* The country or countries where the material is harvested
  ] ;
  fhir:nucleicAcid [ # 0..1 Data items specific to nucleic acids
    fhir:sequenceType [ CodeableConcept ] ; # 0..1 The type of the sequence (e.g. DNA, RNA)
    fhir:numberOfSubunits [ integer ] ; # 0..1 The number of subunits — strands of nucleic acid that are tightly associated typically through Watson-Crick base pairing
    fhir:areaOfHybridisation [ string ] ; # 0..1 The area of hybridisation, for double-stranded RNA or DNA. Expressed as the subunit number followed by the residue number, in increasing order
    fhir:oligoNucleotideType [ CodeableConcept ] ; # 0..1 Type or class of the oligonucleotide
    fhir:subunit ( [ # 0..* A subunit constituting the nucleic acid
      fhir:subunit [ integer ] ; # 0..1 Index of the subunit in decreasing length order
      fhir:sequence [ string ] ; # 0..1 The nucleotide sequence in 5’→3’ notation using standard single-letter codes
      fhir:length [ integer ] ; # 0..1 The length of the sequence
      fhir:sequenceAttachment [ Attachment ] ; # 0..1 The sequence as an attached file
      fhir:fivePrime [ CodeableConcept ] ; # 0..1 The nucleotide present at the 5’ terminus. Since the sequence is represented 5’→3’, this is the first nucleotide in the sequence
      fhir:threePrime [ CodeableConcept ] ; # 0..1 The nucleotide present at the 3’ terminus. Since the sequence is represented 5’→3’, this is the last nucleotide in the sequence
      fhir:linkage ( [ # 0..* The linkages between sugar residues in the nucleotide sequence
        fhir:connectivity [ string ] ; # 0..1 The chemistry of the linkage
        fhir:substance [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The linkage substance, as a code or a reference to its SubstanceDefinition
        fhir:residueSite [ string ] ; # 0..1 The residue positions at which this linkage applies, in 5’→3’ direction
      ] ... ) ;
      fhir:sugar ( [ # 0..* A sugar component of the nucleotide sequence
        fhir:substance [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The sugar substance, as a code or a reference to its SubstanceDefinition
        fhir:residueSite [ string ] ; # 0..1 The residue positions at which this sugar applies, in 5’→3’ direction
      ] ... ) ;
    ] ... ) ;
    fhir:gene ( [ # 0..* The gene that codes for this substance
      fhir:sequenceOrigin [ CodeableConcept ] ; # 0..1 The species or lineage from which the gene sequence originated
      fhir:gene [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The gene itself, as a code or a reference to a SubstanceDefinition
      fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature for the gene information
    ] ... ) ;
    fhir:geneElement ( [ # 0..* Gene elements that comprise a nucleic acid construct (used for gene therapy)
      fhir:type [ CodeableConcept ] ; # 0..1 The functional role of the element (e.g. promoter, enhancer, coding sequence)
      fhir:element [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The element itself, as a code or a reference to a SubstanceDefinition
      fhir:source  ( [ Reference(DocumentReference) ] ... ) ; # 0..* Supporting literature for the gene element information
    ] ... ) ;
  ] ;
  fhir:polymer [ # 0..1 Data items specific to polymers
    fhir:class [ CodeableConcept ] ; # 0..1 Overall type of the polymer
    fhir:geometry [ CodeableConcept ] ; # 0..1 Polymer geometry, e.g. linear, branched, cross-linked, network or dendritic
    fhir:copolymerConnectivity  ( [ CodeableConcept ] ... ) ; # 0..* Describes the copolymer sequence type (polymer connectivity)
    fhir:modification [ string ] ; # 0..1 A modification applied to the polymer
    fhir:monomerSet ( [ # 0..* A set of monomers used to build the polymer
      fhir:ratioType [ CodeableConcept ] ; # 0..1 Captures the type of ratio to the entire polymer, e.g. Monomer/Polymer ratio, SRU/Polymer Ratio
      fhir:startingMaterial ( [ # 0..* The starting materials - monomer(s) used in the synthesis of the polymer
        fhir:code [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The substance acting as starting material, as a code or a reference to a SubstanceDefinition
        fhir:category [ CodeableConcept ] ; # 0..1 Substance high level category, e.g. chemical substance
        fhir:isDefining [ boolean ] ; # 0..1 Whether this starting material is part of what defines the polymer's unique identity
        fhir:amount [ Quantity ] ; # 0..1 A percentage
      ] ... ) ;
    ] ... ) ;
    fhir:repeat ( [ # 0..* Specifies and quantifies the repeated units and their configuration
      fhir:averageMolecularFormula [ string ] ; # 0..1 A representation of an (average) molecular formula from a polymer
      fhir:repeatUnitAmountType [ CodeableConcept ] ; # 0..1 How the quantitative amount of Structural Repeat Units is captured (e.g. Exact, Numeric, Average)
      fhir:repeatUnit ( [ # 0..* An SRU - Structural Repeat Unit
        fhir:unit [ string ] ; # 0..1 Identification of the structural repeat unit (SRU)
        fhir:orientation [ CodeableConcept ] ; # 0..1 The orientation of the polymerisation, e.g. head-tail, head-head, random
        fhir:amount [ integer ] ; # 0..1 Number of repeats of this unit
        fhir:degreeOfPolymerisation ( [ # 0..* Applies to homopolymer and block co-polymers where the degree of polymerisation within a block can be described
          fhir:type [ CodeableConcept ] ; # 0..1 The type of degree of polymerisation, e.g. SRU/Polymer ratio
          fhir:average [ integer ] ; # 0..1 An average amount of polymerisation
          fhir:low [ integer ] ; # 0..1 A low expected limit of the amount
          fhir:high [ integer ] ; # 0..1 A high expected limit of the amount
        ] ... ) ;
        fhir:structuralRepresentation  ( [ See SubstanceDefinition.structure.representation ] ... ) ; # 0..* A graphical structure for this SRU
      ] ... ) ;
    ] ... ) ;
  ] ;
  fhir:protein [ # 0..1 Data items specific to proteins
    fhir:sequenceType [ CodeableConcept ] ; # 0..1 Whether the sequence is complete or partial
    fhir:numberOfSubunits [ integer ] ; # 0..1 Number of subunits — linear sequences of amino acids linked through peptide bonds
    fhir:disulfideLinkage  ( [ string ] ... ) ; # 0..* 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
    fhir:subunit ( [ # 0..* 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
      fhir:subunit [ integer ] ; # 0..1 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
      fhir:sequence [ string ] ; # 0..1 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
      fhir:length [ integer ] ; # 0..1 Length of linear sequences of amino acids contained in the subunit
      fhir:sequenceAttachment [ Attachment ] ; # 0..1 The amino-acid sequence as an attached file
      fhir:nTerminalModification [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The modification fragment at the N-terminal of the protein
      fhir:cTerminalModification [ CodeableReference(SubstanceDefinition) ] ; # 0..1 The modification fragment at the C-terminal of the protein
    ] ... ) ;
    fhir:gene  ( [ See SubstanceDefinition.nucleicAcid.gene ] ... ) ; # 0..* The gene that codes for this substance
  ] ;
]

Changes from R5 to R6

SubstanceDefinition
SubstanceDefinition.status
  • Now marked as Modifier
SubstanceDefinition.moiety.identifier
  • Max Cardinality changed from 1 to *
SubstanceDefinition.property.value[x]
  • Add Type Range
SubstanceDefinition.relationship.amount[x]
  • Add Type Range
SubstanceDefinition.relationship.measurementType
  • Added Element
SubstanceDefinition.relationship.interaction
  • Added Element
SubstanceDefinition.relationship.organism
  • Added Element
SubstanceDefinition.relationship.organismType
  • Added Element
SubstanceDefinition.sourceMaterial.countryOfOrigin
  • Add codes AA, QM, QN, QO, QP, QQ, QR, QS, QT, QU, QV, QW, QX, QY, QZ, XA, XB, XC, XD, XE, XF, XG, XH, XI, XJ, XK, XL, XM, XN, XO, XP, XQ, XR, XS, XT, XU, XV, XW, XX, XY, XZ, ZZ
SubstanceDefinition.nucleicAcid
  • Type changed from Reference(SubstanceNucleicAcid) to BackboneElement
SubstanceDefinition.nucleicAcid.sequenceType
  • Added Element
SubstanceDefinition.nucleicAcid.numberOfSubunits
  • Added Element
SubstanceDefinition.nucleicAcid.areaOfHybridisation
  • Added Element
SubstanceDefinition.nucleicAcid.oligoNucleotideType
  • Added Element
SubstanceDefinition.nucleicAcid.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequence
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.length
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.fivePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.threePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.connectivity
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.sequenceOrigin
  • Added Element
SubstanceDefinition.nucleicAcid.gene.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.source
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.type
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.element
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.source
  • Added Element
SubstanceDefinition.polymer
  • Type changed from Reference(SubstancePolymer) to BackboneElement
SubstanceDefinition.polymer.class
  • Added Element
SubstanceDefinition.polymer.geometry
  • Added Element
SubstanceDefinition.polymer.copolymerConnectivity
  • Added Element
SubstanceDefinition.polymer.modification
  • Added Element
SubstanceDefinition.polymer.monomerSet
  • Added Element
SubstanceDefinition.polymer.monomerSet.ratioType
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.code
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.category
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.isDefining
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.amount
  • Added Element
SubstanceDefinition.polymer.repeat
  • Added Element
SubstanceDefinition.polymer.repeat.averageMolecularFormula
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnitAmountType
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.unit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.orientation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.amount
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.type
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.average
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.low
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.high
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.structuralRepresentation
  • Added Element
SubstanceDefinition.protein
  • Type changed from Reference(SubstanceProtein) to BackboneElement
SubstanceDefinition.protein.sequenceType
  • Added Element
SubstanceDefinition.protein.numberOfSubunits
  • Added Element
SubstanceDefinition.protein.disulfideLinkage
  • Added Element
SubstanceDefinition.protein.subunit
  • Added Element
SubstanceDefinition.protein.subunit.subunit
  • Added Element
SubstanceDefinition.protein.subunit.sequence
  • Added Element
SubstanceDefinition.protein.subunit.length
  • Added Element
SubstanceDefinition.protein.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.protein.subunit.nTerminalModification
  • Added Element
SubstanceDefinition.protein.subunit.cTerminalModification
  • Added Element
SubstanceDefinition.protein.gene
  • Added Element
SubstanceDefinition.informationSource
  • Deleted
SubstanceDefinition.referenceInformation
  • Deleted

Changes from R4B to R6

SubstanceDefinition
SubstanceDefinition.status
  • Now marked as Modifier
SubstanceDefinition.moiety.identifier
  • Max Cardinality changed from 1 to *
SubstanceDefinition.characterization
  • Added Element
SubstanceDefinition.characterization.technique
  • Added Element
SubstanceDefinition.characterization.form
  • Added Element
SubstanceDefinition.characterization.description
  • Added Element
SubstanceDefinition.characterization.file
  • Added Element
SubstanceDefinition.property.value[x]
  • Add Type Range
SubstanceDefinition.name.language
SubstanceDefinition.relationship.amount[x]
  • Add Type Range
SubstanceDefinition.relationship.measurementType
  • Added Element
SubstanceDefinition.relationship.interaction
  • Added Element
SubstanceDefinition.relationship.organism
  • Added Element
SubstanceDefinition.relationship.organismType
  • Added Element
SubstanceDefinition.sourceMaterial.countryOfOrigin
  • Add codes AA, QM, QN, QO, QP, QQ, QR, QS, QT, QU, QV, QW, QX, QY, QZ, XA, XB, XC, XD, XE, XF, XG, XH, XI, XJ, XK, XL, XM, XN, XO, XP, XQ, XR, XS, XT, XU, XV, XW, XX, XY, XZ, ZZ
SubstanceDefinition.nucleicAcid
  • Added Element
SubstanceDefinition.nucleicAcid.sequenceType
  • Added Element
SubstanceDefinition.nucleicAcid.numberOfSubunits
  • Added Element
SubstanceDefinition.nucleicAcid.areaOfHybridisation
  • Added Element
SubstanceDefinition.nucleicAcid.oligoNucleotideType
  • Added Element
SubstanceDefinition.nucleicAcid.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.subunit
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequence
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.length
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.fivePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.threePrime
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.connectivity
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.linkage.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.substance
  • Added Element
SubstanceDefinition.nucleicAcid.subunit.sugar.residueSite
  • Added Element
SubstanceDefinition.nucleicAcid.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.sequenceOrigin
  • Added Element
SubstanceDefinition.nucleicAcid.gene.gene
  • Added Element
SubstanceDefinition.nucleicAcid.gene.source
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.type
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.element
  • Added Element
SubstanceDefinition.nucleicAcid.geneElement.source
  • Added Element
SubstanceDefinition.polymer
  • Added Element
SubstanceDefinition.polymer.class
  • Added Element
SubstanceDefinition.polymer.geometry
  • Added Element
SubstanceDefinition.polymer.copolymerConnectivity
  • Added Element
SubstanceDefinition.polymer.modification
  • Added Element
SubstanceDefinition.polymer.monomerSet
  • Added Element
SubstanceDefinition.polymer.monomerSet.ratioType
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.code
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.category
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.isDefining
  • Added Element
SubstanceDefinition.polymer.monomerSet.startingMaterial.amount
  • Added Element
SubstanceDefinition.polymer.repeat
  • Added Element
SubstanceDefinition.polymer.repeat.averageMolecularFormula
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnitAmountType
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.unit
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.orientation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.amount
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.type
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.average
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.low
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.high
  • Added Element
SubstanceDefinition.polymer.repeat.repeatUnit.structuralRepresentation
  • Added Element
SubstanceDefinition.protein
  • Added Element
SubstanceDefinition.protein.sequenceType
  • Added Element
SubstanceDefinition.protein.numberOfSubunits
  • Added Element
SubstanceDefinition.protein.disulfideLinkage
  • Added Element
SubstanceDefinition.protein.subunit
  • Added Element
SubstanceDefinition.protein.subunit.subunit
  • Added Element
SubstanceDefinition.protein.subunit.sequence
  • Added Element
SubstanceDefinition.protein.subunit.length
  • Added Element
SubstanceDefinition.protein.subunit.sequenceAttachment
  • Added Element
SubstanceDefinition.protein.subunit.nTerminalModification
  • Added Element
SubstanceDefinition.protein.subunit.cTerminalModification
  • Added Element
SubstanceDefinition.protein.gene
  • Added Element
SubstanceDefinition.informationSource
  • Deleted

Changes from R4 to R6

This resource did not exist in Release R4

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
SubstanceDefinition.status PublicationStatus Preferred

The lifecycle status of an artifact.

SubstanceDefinition.domain MedicinalProductDomain Example

Applicable domain for this product (e.g. human, veterinary)

SubstanceDefinition.grade SubstanceGrade Example

The quality standard, established benchmark, to which a substance complies.

SubstanceDefinition.moiety.stereochemistry Stereochemistry (a valid code from Substance Stereochemistry) Example

The optical rotation type of a substance.

SubstanceDefinition.moiety.opticalActivity OpticalActivity (a valid code from Substance Optical Activity) Example

The optical rotation type of a substance.

SubstanceDefinition.moiety.measurementType SubstanceAmountType Example

The relationship between two substance types.

SubstanceDefinition.characterization.technique StructureTechnique (a valid code from Substance Structure Technique) Example

The method used to elucidate the structure or characterization of the drug substance.

SubstanceDefinition.characterization.form SubstanceForm Example

The substance form, whether it is the base form or a salt.

SubstanceDefinition.property.type ProductCharacteristic Example

This value set includes all observable entity codes from SNOMED CT - provided as an exemplar value set.

SubstanceDefinition.molecularWeight.method WeightMethod (a valid code from Substance Weight Method) Example

The method by which the substance weight was measured.

SubstanceDefinition.molecularWeight.type WeightType (a valid code from Substance Weight Type) Example

The type of substance weight measurement.

SubstanceDefinition.structure.stereochemistry Stereochemistry (a valid code from Substance Stereochemistry) Example

The optical rotation type of a substance.

SubstanceDefinition.structure.opticalActivity OpticalActivity (a valid code from Substance Optical Activity) Example

The optical rotation type of a substance.

SubstanceDefinition.structure.technique StructureTechnique (a valid code from Substance Structure Technique) Example

The method used to elucidate the structure or characterization of the drug substance.

SubstanceDefinition.structure.representation.type SubstanceRepresentationType Example

The type of a name given to a substance.

SubstanceDefinition.structure.representation.format SubstanceRepresentationFormat Example

A format of a substance representation.

SubstanceDefinition.code.status PublicationStatus Preferred

The lifecycle status of an artifact.

SubstanceDefinition.name.type SubstanceNameType Example

The type of a name given to a substance.

SubstanceDefinition.name.status PublicationStatus Preferred

The lifecycle status of an artifact.

SubstanceDefinition.name.language AllLanguages (a valid code from urn:ietf:bcp:47) Required

This value set includes all possible codes from BCP-47 (see http://tools.ietf.org/html/bcp47)

  Common Languages starter
SubstanceDefinition.name.domain SubstanceNameDomain Example

The use context of a substance name for example if there is a different name when used as a drug active ingredient as opposed to a food colour additive.

SubstanceDefinition.name.jurisdiction JurisdictionValueSet icon Example

This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.

Note: The codes for countries and country subdivisions are taken from ISO 3166 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

SubstanceDefinition.name.official.authority SubstanceNameAuthority Preferred

An authority that officates substance names.

SubstanceDefinition.name.official.status PublicationStatus Preferred

The lifecycle status of an artifact.

SubstanceDefinition.relationship.type SubstanceRelationshipType Example

The relationship between two substance types.

SubstanceDefinition.relationship.comparator SubstanceAmountType Example

The relationship between two substance types.

SubstanceDefinition.relationship.measurementType SubstanceMeasurementType Example

The kind of numeric measurement being recorded for a substance amount or relationship, e.g. IC50, Kd, mole ratio.

SubstanceDefinition.relationship.interaction SubstanceInteractionType Example

The kind of interaction between a substance and its target, e.g. binding, inhibition, agonism.

SubstanceDefinition.relationship.organism SubstanceTargetOrganism Example

The specific organism that an anti-infective substance is targeted against.

SubstanceDefinition.relationship.organismType SubstanceTargetOrganismType Example

The high-level type of organism that a substance is targeted against.

SubstanceDefinition.sourceMaterial.type SourceMaterialType (a valid code from Substance Source Material Type) Example

A classification that provides the origin of the substance raw material.

SubstanceDefinition.sourceMaterial.genus SourceMaterialGenus (a valid code from Substance Source Material Genus) Example

The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific name.

SubstanceDefinition.sourceMaterial.species SourceMaterialSpecies (a valid code from Substance Source Material Species) Example

A species of origin a substance raw material.

SubstanceDefinition.sourceMaterial.part SourceMaterialPart (a valid code from Substance Source Material Part) Example

An anatomical origin of the source material within an organism.

SubstanceDefinition.sourceMaterial.countryOfOrigin CountryValueSet (a valid code from Country Codes icon) Required

This value set defines a base set of codes for countries.

Note: The codes for countries are taken from ISO 3166 icon.

SubstanceDefinition.nucleicAcid.sequenceType SubstanceSequenceType Example

Indicates whether the sequence provided is complete or partial.

SubstanceDefinition.nucleicAcid.oligoNucleotideType OligoNucleotideType Example

The class of oligonucleotide, where relevant (e.g. antisense, siRNA, aptamer).

SubstanceDefinition.nucleicAcid.subunit.fivePrime NucleotideTerminus Example

The nucleotide present at a sequence terminus (5′ or 3′).

SubstanceDefinition.nucleicAcid.subunit.threePrime NucleotideTerminus Example

The nucleotide present at a sequence terminus (5′ or 3′).

SubstanceDefinition.nucleicAcid.gene.sequenceOrigin GeneSequenceOrigin Example

The species or lineage from which a gene sequence originates, used e.g. for recombinant biologics.

SubstanceDefinition.nucleicAcid.geneElement.type GeneElementType Example

The functional role of a DNA element within a gene therapy construct.

SubstanceDefinition.polymer.class PolymerClass Example

Overall type of the polymer e.g. homopolymer or copolymer.

SubstanceDefinition.polymer.geometry PolymerGeometry Example

Polymer geometry, e.g. linear, branched, cross-linked.

SubstanceDefinition.polymer.copolymerConnectivity CopolymerConnectivity Example

Describes the copolymer sequence type (polymer connectivity).

SubstanceDefinition.polymer.monomerSet.ratioType PolymerMonomerRatioType Example

Captures the type of ratio of monomer/repeat units to the entire polymer.

SubstanceDefinition.polymer.monomerSet.startingMaterial.code SubstanceCode Example

This value set contains concept codes for specific substances. It includes codes from SNOMED icon where concept is-a 105590001 (Substance (substance))

SubstanceDefinition.polymer.monomerSet.startingMaterial.category PolymerStartingMaterialCategory Example

High-level category of polymer starting material substance.

SubstanceDefinition.polymer.repeat.repeatUnitAmountType PolymerMonomerRatioType Example

Captures the type of ratio of monomer/repeat units to the entire polymer.

SubstanceDefinition.polymer.repeat.repeatUnit.orientation PolymerisationOrientation Example

The orientation of the polymerisation, e.g. head-tail, head-head.

SubstanceDefinition.polymer.repeat.repeatUnit.degreeOfPolymerisation.type DegreeOfPolymerisationType Example

The type of degree of polymerisation, e.g. number-average, weight-average.

SubstanceDefinition.protein.sequenceType SubstanceSequenceType Example

Indicates whether the sequence provided is complete or partial.



Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
classification token High or low level categorization, e.g. polymer vs. nucleic acid or linear vs. branch chain SubstanceDefinition.classification
code token The specific code SubstanceDefinition.code.code
domain token If the substance applies to only human or veterinary use SubstanceDefinition.domain
identifier token Identifier by which this substance is known SubstanceDefinition.identifier
name string The actual name SubstanceDefinition.name.name
status token Status of substance within the catalogue e.g. active, retired SubstanceDefinition.status