PREFIX fhir: PREFIX fhirvs: PREFIX xsd: BASE start=@ AND {fhir:nodeRole [fhir:treeRoot]} # The detailed description of a substance, typically at a level beyond what is used for prescribing CLOSED { a [fhir:SubstanceDefinition]; fhir:nodeRole [fhir:treeRoot]?; fhir:Resource.id id?; # Logical id of this artifact fhir:Resource.meta @?; # Metadata about the resource fhir:Resource.implicitRules @?; # A set of rules under which this # content was created fhir:Resource.language @?; # Language of the resource content fhir:DomainResource.text @?; # Text summary of the resource, for # human interpretation fhir:DomainResource.contained @*; # Contained, inline Resources fhir:DomainResource.extension @*; # Additional content defined by # implementations fhir:DomainResource.modifierExtension @*; # Extensions that cannot be ignored fhir:SubstanceDefinition.identifier @*; # Identifier by which this substance # is known fhir:SubstanceDefinition.version @?; # A business level version # identifier of the substance fhir:SubstanceDefinition.status @?; # Status of substance within the # catalogue e.g. active, retired fhir:SubstanceDefinition.classification @*; # 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:SubstanceDefinition.domain @?; # If the substance applies to human # or veterinary use fhir:SubstanceDefinition.grade @*; # The quality standard, established # benchmark, to which substance # complies (e.g. USP/NF, BP) fhir:SubstanceDefinition.description @?; # Textual description of the # substance fhir:SubstanceDefinition.informationSource @*; # Supporting literature fhir:SubstanceDefinition.note @*; # Textual comment about the # substance's catalogue or registry # record fhir:SubstanceDefinition.manufacturer @*; # The entity that creates, makes, # produces or fabricates the # substance fhir:SubstanceDefinition.supplier @*; # An entity that is the source for # the substance. It may be different # from the manufacturer fhir:SubstanceDefinition.moiety @*; # Moiety, for structural # modifications fhir:SubstanceDefinition.property @*; # General specifications for this # substance fhir:SubstanceDefinition.molecularWeight @*; # The molecular weight or weight # range fhir:SubstanceDefinition.structure @?; # Structural information fhir:SubstanceDefinition.code @*; # Codes associated with the substance fhir:SubstanceDefinition.name @*; # Names applicable to this substance fhir:SubstanceDefinition.relationship @*; # A link between this substance and # another fhir:SubstanceDefinition.sourceMaterial @?; # Material or taxonomic/anatomical # source fhir:index xsd:integer? # Relative position in a list } # Material or taxonomic/anatomical source CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.sourceMaterial.type @?; # Classification of the origin of # the raw material. e.g. cat hair is # an Animal source type fhir:SubstanceDefinition.sourceMaterial.genus @?; # The genus of an organism e.g. the # Latin epithet of the plant/animal # scientific name fhir:SubstanceDefinition.sourceMaterial.species @?; # The species of an organism e.g. # the Latin epithet of the species # of the plant/animal fhir:SubstanceDefinition.sourceMaterial.part @?; # An anatomical origin of the source # material within an organism fhir:SubstanceDefinition.sourceMaterial.countryOfOrigin @*; # The country or countries where the # material is harvested fhir:index xsd:integer? # Relative position in a list } # Codes associated with the substance CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.code.code @?; # The specific code fhir:SubstanceDefinition.code.status @?; # Status of the code assignment, for # example 'provisional', 'approved' fhir:SubstanceDefinition.code.statusDate @?; # The date at which the code status # was changed fhir:SubstanceDefinition.code.note @*; # Any comment can be provided in # this field fhir:SubstanceDefinition.code.source @*; # Supporting literature fhir:index xsd:integer? # Relative position in a list } # Names applicable to this substance CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.name.name @; # The actual name fhir:SubstanceDefinition.name.type @?; # Name type e.g. 'systematic', # 'scientific, 'brand' fhir:SubstanceDefinition.name.status @?; # The status of the name e.g. # 'current', 'proposed' fhir:SubstanceDefinition.name.preferred @?; # If this is the preferred name for # this substance fhir:SubstanceDefinition.name.language @*; # Human language that the name is # written in fhir:SubstanceDefinition.name.domain @*; # The use context of this name e.g. # as an active ingredient or as a # food colour additive fhir:SubstanceDefinition.name.jurisdiction @*; # The jurisdiction where this name # applies fhir:SubstanceDefinition.name.synonym @*; # A synonym of this particular name, # by which the substance is also # known fhir:SubstanceDefinition.name.translation @*; # A translation for this name into # another human language fhir:SubstanceDefinition.name.official @*; # Details of the official nature of # this name fhir:SubstanceDefinition.name.source @*; # Supporting literature fhir:index xsd:integer? # Relative position in a list } # The molecular weight or weight range CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.molecularWeight.method @?; # The method by which the weight was # determined fhir:SubstanceDefinition.molecularWeight.type @?; # Type of molecular weight e.g. # exact, average, weight average fhir:SubstanceDefinition.molecularWeight.amount @; # Used to capture quantitative # values for a variety of elements fhir:index xsd:integer? # Relative position in a list } # Moiety, for structural modifications CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.moiety.role @?; # Role that the moiety is playing fhir:SubstanceDefinition.moiety.identifier @?; # Identifier by which this moiety # substance is known fhir:SubstanceDefinition.moiety.name @?; # Textual name for this moiety # substance fhir:SubstanceDefinition.moiety.stereochemistry @?; # Stereochemistry type fhir:SubstanceDefinition.moiety.opticalActivity @?; # Optical activity type fhir:SubstanceDefinition.moiety.molecularFormula @?; # Molecular formula for this moiety # (e.g. with the Hill system) ( # Quantitative value for this moiety fhir:SubstanceDefinition.moiety.amountQuantity @ | fhir:SubstanceDefinition.moiety.amountString @ )?; fhir:SubstanceDefinition.moiety.measurementType @?; # The measurement type of the # quantitative value fhir:index xsd:integer? # Relative position in a list } # Structural information CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.structure.stereochemistry @?; # Stereochemistry type fhir:SubstanceDefinition.structure.opticalActivity @?; # Optical activity type fhir:SubstanceDefinition.structure.molecularFormula @?; # Molecular formula (e.g. using the # Hill system) fhir:SubstanceDefinition.structure.molecularFormulaByMoiety @?; # Specified per moiety according to # the Hill system fhir:SubstanceDefinition.structure.molecularWeight @?; # The molecular weight or weight # range fhir:SubstanceDefinition.structure.technique @*; # The method used to find the # structure e.g. X-ray, NMR fhir:SubstanceDefinition.structure.sourceDocument @*; # Source of information for the # structure fhir:SubstanceDefinition.structure.representation @*; # A depiction of the structure or # characterization of the substance fhir:index xsd:integer? # Relative position in a list } # A link between this substance and another CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized ( # A pointer to another substance, as # a resource or a representational # code fhir:SubstanceDefinition.relationship.substanceDefinitionReference @ | fhir:SubstanceDefinition.relationship.substanceDefinitionCodeableConcept @ )?; fhir:SubstanceDefinition.relationship.type @; # For example "salt to parent", # "active moiety" fhir:SubstanceDefinition.relationship.isDefining @?; # For example where an enzyme # strongly bonds with a particular # substance, this is a defining # relationship for that enzyme, out # of several possible relationships ( # A numeric factor for the # relationship, e.g. that a # substance salt has some percentage # of active substance in relation to # some other fhir:SubstanceDefinition.relationship.amountQuantity @ | fhir:SubstanceDefinition.relationship.amountRatio @ | fhir:SubstanceDefinition.relationship.amountString @ )?; fhir:SubstanceDefinition.relationship.ratioHighLimitAmount @?; # For use when the numeric has an # uncertain range fhir:SubstanceDefinition.relationship.comparator @?; # An operator for the amount, for # example "average", # "approximately", "less than" fhir:SubstanceDefinition.relationship.source @*; # Supporting literature fhir:index xsd:integer? # Relative position in a list } # General specifications for this substance CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.property.type @; # A code expressing the type of # property ( # A value for the property fhir:SubstanceDefinition.property.valueCodeableConcept @ | fhir:SubstanceDefinition.property.valueQuantity @ | fhir:SubstanceDefinition.property.valueDate @ | fhir:SubstanceDefinition.property.valueBoolean @ | fhir:SubstanceDefinition.property.valueAttachment @ )?; fhir:index xsd:integer? # Relative position in a list } # A depiction of the structure or characterization of the substance CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.structure.representation.type @?; # The kind of structural # representation (e.g. full, # partial) fhir:SubstanceDefinition.structure.representation.representation @?; # The structural representation or # characterization as a text string # in a standard format fhir:SubstanceDefinition.structure.representation.format @?; # The format of the representation # e.g. InChI, SMILES, MOLFILE (note: # not the physical file format) fhir:SubstanceDefinition.structure.representation.document @?; # An attachment with the structural # representation e.g. a structure # graphic or AnIML file fhir:index xsd:integer? # Relative position in a list } # A translation for this name into another human language CLOSED { fhir:index xsd:integer? # Relative position in a list } # A synonym of this particular name, by which the substance is also known CLOSED { fhir:index xsd:integer? # Relative position in a list } # Details of the official nature of this name CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:SubstanceDefinition.name.official.authority @?; # Which authority uses this official # name fhir:SubstanceDefinition.name.official.status @?; # The status of the official name, # for example 'draft', 'active' fhir:SubstanceDefinition.name.official.date @?; # Date of official name change fhir:index xsd:integer? # Relative position in a list } # The molecular weight or weight range CLOSED { fhir:index xsd:integer? # Relative position in a list } #---------------------- Data Types ------------------- # Primitive Type dateTime CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value dateTime?; # Primitive value for dateTime fhir:index xsd:integer? # Relative position in a list } # Primitive Type date CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value date?; # Primitive value for date fhir:index xsd:integer? # Relative position in a list } # Metadata about a resource CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Meta.versionId @?; # Version specific identifier fhir:Meta.lastUpdated @?; # When the resource version last # changed fhir:Meta.source @?; # Identifies where the resource # comes from fhir:Meta.profile @*; # Profiles this resource claims to # conform to fhir:Meta.security @*; # Security Labels applied to this # resource fhir:Meta.tag @*; # Tags applied to this resource fhir:index xsd:integer? # Relative position in a list } # Primitive Type code CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value code?; # Primitive value for code fhir:index xsd:integer? # Relative position in a list } # Primitive Type string CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value string MAXLENGTH 1048576?; # Primitive value for string fhir:index xsd:integer? # Relative position in a list } # A reference from one resource to another CLOSED { fhir:link IRI?; fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Reference.reference @?; # Literal reference, Relative, # internal or absolute URL fhir:Reference.type @?; # Type the reference refers to (e.g. # "Patient") fhir:Reference.identifier @?; # Logical reference, when literal # reference is not known fhir:Reference.display @?; # Text alternative for the resource fhir:index xsd:integer? # Relative position in a list } # Base Resource {a .+; fhir:Resource.id id?; # Logical id of this artifact fhir:Resource.meta @?; # Metadata about the resource fhir:Resource.implicitRules @?; # A set of rules under which this # content was created fhir:Resource.language @?; # Language of the resource content fhir:index xsd:integer? } # A measured or measurable amount CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Quantity.value @?; # Numerical value (with implicit # precision) fhir:Quantity.comparator @ AND {fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to # understand the value fhir:Quantity.unit @?; # Unit representation fhir:Quantity.system @?; # System that defines coded unit form fhir:Quantity.code @?; # Coded form of the unit fhir:index xsd:integer? # Relative position in a list } # Content in a format defined elsewhere CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Attachment.contentType @ AND {fhir:value @fhirvs:mimetypes}?; # Mime type of the content, with # charset etc. fhir:Attachment.language @?; # Human language of the content # (BCP-47) fhir:Attachment.data @?; # Data inline, base64ed fhir:Attachment.url @?; # Uri where the data can be found fhir:Attachment.size @?; # Number of bytes of content (if url # provided) fhir:Attachment.hash @?; # Hash of the data (sha-1, base64ed) fhir:Attachment.title @?; # Label to display in place of the # data fhir:Attachment.creation @?; # Date attachment was first created fhir:index xsd:integer? # Relative position in a list } # Primitive Type uri CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value uri?; # Primitive value for uri fhir:index xsd:integer? # Relative position in a list } # Text node with attribution CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations ( # Individual responsible for the # annotation fhir:Annotation.authorReference @ | fhir:Annotation.authorString @ )?; fhir:Annotation.time @?; # When the annotation was made fhir:Annotation.text @; # The annotation - text content (as # markdown) fhir:index xsd:integer? # Relative position in a list } # Optional Extensions Element CLOSED { fhir:Element.id id?; fhir:Element.extension @*; fhir:Extension.url uri; ( fhir:Extension.valueBase64Binary @ | fhir:Extension.valueBoolean @ | fhir:Extension.valueCanonical @ | fhir:Extension.valueCode @ | fhir:Extension.valueDate @ | fhir:Extension.valueDateTime @ | fhir:Extension.valueDecimal @ | fhir:Extension.valueId @ | fhir:Extension.valueInstant @ | fhir:Extension.valueInteger @ | fhir:Extension.valueMarkdown @ | fhir:Extension.valueOid @ | fhir:Extension.valuePositiveInt @ | fhir:Extension.valueString @ | fhir:Extension.valueTime @