Current Build

Переводит команда Health Samurai. Приглашаем поучаствовать в русификации стандарта FHIR: GitHub, Email.

Substancesourcematerial.shex

Biomedical Research and Regulation Work GroupMaturity Level: N/ABallot Status: InformativeCompartments: Not linked to any defined compartments

Raw ShEx

ShEx statement for substancesourcematerial

PREFIX fhir: <http://hl7.org/fhir/> 
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
BASE <http://hl7.org/fhir/shape/>

start=@<SubstanceSourceMaterial> AND {fhir:nodeRole [fhir:treeRoot]}


# Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex
<SubstanceSourceMaterial> CLOSED {
    a [fhir:SubstanceSourceMaterial];
    fhir:nodeRole [fhir:treeRoot]?;
    fhir:Resource.id @<id>?;                # Logical id of this artifact
    fhir:Resource.meta @<Meta>?;            # Метаданные ресурса
    fhir:Resource.implicitRules @<uri>?;    # Свод правил, в соответствии с 
                                            # которыми создавалось это 
                                            # содержимое 
    fhir:Resource.language @<code>?;        # Язык содержимого ресурса
    fhir:DomainResource.text @<Narrative>?;  # Краткое текстовое изложение 
                                            # ресурса для интерпретации 
                                            # человеком 
    fhir:DomainResource.contained @<Resource>*;  # Вложенные, встроенные инлайн 
                                            # ресурсы 
    fhir:DomainResource.extension @<Extension>*;  # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:DomainResource.modifierExtension @<Extension>*;  # Расширения, которые нельзя 
                                            # игнорировать 
    fhir:SubstanceSourceMaterial.sourceMaterialClass @<CodeableConcept>?;  # General high level classification 
                                            # of the source material specific to 
                                            # the origin of the material 
    fhir:SubstanceSourceMaterial.sourceMaterialType @<CodeableConcept>?;  # The type of the source material 
                                            # shall be specified based on a 
                                            # controlled vocabulary. For 
                                            # vaccines, this subclause refers to 
                                            # the class of infectious agent 
    fhir:SubstanceSourceMaterial.sourceMaterialState @<CodeableConcept>?;  # The state of the source material 
                                            # when extracted 
    fhir:SubstanceSourceMaterial.organismId @<Identifier>?;  # The unique identifier associated 
                                            # with the source material parent 
                                            # organism shall be specified 
    fhir:SubstanceSourceMaterial.organismName @<string>?;  # The organism accepted Scientific 
                                            # name shall be provided based on 
                                            # the organism taxonomy 
    fhir:SubstanceSourceMaterial.parentSubstanceId @<Identifier>*;  # The parent of the herbal drug 
                                            # Ginkgo biloba, Leaf is the 
                                            # substance ID of the substance 
                                            # (fresh) of Ginkgo biloba L. or 
                                            # Ginkgo biloba L. (Whole plant) 
    fhir:SubstanceSourceMaterial.parentSubstanceName @<string>*;  # The parent substance of the Herbal 
                                            # Drug, or Herbal preparation 
    fhir:SubstanceSourceMaterial.countryOfOrigin @<CodeableConcept>*;  # The country where the plant 
                                            # material is harvested or the 
                                            # countries where the plasma is 
                                            # sourced from as laid down in 
                                            # accordance with the Plasma Master 
                                            # File. For “Plasma-derived 
                                            # substances” the attribute country 
                                            # of origin provides information 
                                            # about the countries used for the 
                                            # manufacturing of the Cryopoor 
                                            # plama or Crioprecipitate 
    fhir:SubstanceSourceMaterial.geographicalLocation @<string>*;  # The place/region where the plant 
                                            # is harvested or the places/regions 
                                            # where the animal source material 
                                            # has its habitat 
    fhir:SubstanceSourceMaterial.developmentStage @<CodeableConcept>?;  # Stage of life for animals, plants, 
                                            # insects and microorganisms. This 
                                            # information shall be provided only 
                                            # when the substance is 
                                            # significantly different in these 
                                            # stages (e.g. foetal bovine serum) 
    fhir:SubstanceSourceMaterial.fractionDescription @<SubstanceSourceMaterial.fractionDescription>*;  # Many complex materials are 
                                            # fractions of parts of plants, 
                                            # animals, or minerals. Fraction 
                                            # elements are often necessary to 
                                            # define both Substances and 
                                            # Specified Group 1 Substances. For 
                                            # substances derived from Plants, 
                                            # fraction information will be 
                                            # captured at the Substance 
                                            # information level ( . Oils, Juices 
                                            # and Exudates). Additional 
                                            # information for Extracts, such as 
                                            # extraction solvent composition, 
                                            # will be captured at the Specified 
                                            # Substance Group 1 information 
                                            # level. For plasma-derived products 
                                            # fraction information will be 
                                            # captured at the Substance and the 
                                            # Specified Substance Group 1 levels 
    fhir:SubstanceSourceMaterial.organism @<SubstanceSourceMaterial.organism>?;  # This subclause describes the 
                                            # organism which the substance is 
                                            # derived from. For vaccines, the 
                                            # parent organism shall be specified 
                                            # based on these subclause elements. 
                                            # As an example, full taxonomy will 
                                            # be described for the Substance 
                                            # Name: ., Leaf 
    fhir:SubstanceSourceMaterial.partDescription @<SubstanceSourceMaterial.partDescription>*;  # To do
    fhir:index xsd:integer?                 # Relative position in a list
}

# To do
<SubstanceSourceMaterial.partDescription> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.partDescription.part @<CodeableConcept>?;  # Entity of anatomical origin of 
                                            # source material within an organism 
    fhir:SubstanceSourceMaterial.partDescription.partLocation @<CodeableConcept>?;  # The detailed anatomic location 
                                            # when the part can be extracted 
                                            # from different anatomical 
                                            # locations of the organism. 
                                            # Multiple alternative locations may 
                                            # apply 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels
<SubstanceSourceMaterial.fractionDescription> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.fractionDescription.fraction @<string>?;  # This element is capturing 
                                            # information about the fraction of 
                                            # a plant part, or human plasma for 
                                            # fractionation 
    fhir:SubstanceSourceMaterial.fractionDescription.materialType @<CodeableConcept>?;  # The specific type of the material 
                                            # constituting the component. For 
                                            # Herbal preparations the 
                                            # particulars of the extracts 
                                            # (liquid/dry) is described in 
                                            # Specified Substance Group 1 
    fhir:index xsd:integer?                 # Relative position in a list
}

# This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf
<SubstanceSourceMaterial.organism> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.organism.family @<CodeableConcept>?;  # The family of an organism shall be 
                                            # specified 
    fhir:SubstanceSourceMaterial.organism.genus @<CodeableConcept>?;  # The genus of an organism shall be 
                                            # specified; refers to the Latin 
                                            # epithet of the genus element of 
                                            # the plant/animal scientific name; 
                                            # it is present in names for genera, 
                                            # species and infraspecies 
    fhir:SubstanceSourceMaterial.organism.species @<CodeableConcept>?;  # The species of an organism shall 
                                            # be specified; refers to the Latin 
                                            # epithet of the species of the 
                                            # plant/animal; it is present in 
                                            # names for species and infraspecies 
    fhir:SubstanceSourceMaterial.organism.intraspecificType @<CodeableConcept>?;  # The Intraspecific type of an 
                                            # organism shall be specified 
    fhir:SubstanceSourceMaterial.organism.intraspecificDescription @<string>?;  # The intraspecific description of 
                                            # an organism shall be specified 
                                            # based on a controlled vocabulary. 
                                            # For Influenza Vaccine, the 
                                            # intraspecific description shall 
                                            # contain the syntax of the antigen 
                                            # in line with the WHO convention 
    fhir:SubstanceSourceMaterial.organism.author @<SubstanceSourceMaterial.organism.author>*;  # 4.9.13.6.1 Author type 
                                            # (Conditional) 
    fhir:SubstanceSourceMaterial.organism.hybrid @<SubstanceSourceMaterial.organism.hybrid>?;  # 4.9.13.8.1 Hybrid species maternal 
                                            # organism ID (Optional) 
    fhir:SubstanceSourceMaterial.organism.organismGeneral @<SubstanceSourceMaterial.organism.organismGeneral>?;  # 4.9.13.7.1 Kingdom (Conditional)
    fhir:index xsd:integer?                 # Relative position in a list
}

# 4.9.13.7.1 Kingdom (Conditional)
<SubstanceSourceMaterial.organism.organismGeneral> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.organism.organismGeneral.kingdom @<CodeableConcept>?;  # The kingdom of an organism shall 
                                            # be specified 
    fhir:SubstanceSourceMaterial.organism.organismGeneral.phylum @<CodeableConcept>?;  # The phylum of an organism shall be 
                                            # specified 
    fhir:SubstanceSourceMaterial.organism.organismGeneral.class @<CodeableConcept>?;  # The class of an organism shall be 
                                            # specified 
    fhir:SubstanceSourceMaterial.organism.organismGeneral.order @<CodeableConcept>?;  # The order of an organism shall be 
                                            # specified, 
    fhir:index xsd:integer?                 # Relative position in a list
}

# 4.9.13.6.1 Author type (Conditional)
<SubstanceSourceMaterial.organism.author> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.organism.author.authorType @<CodeableConcept>?;  # The type of author of an organism 
                                            # species shall be specified. The 
                                            # parenthetical author of an 
                                            # organism species refers to the 
                                            # first author who published the 
                                            # plant/animal name (of any rank). 
                                            # The primary author of an organism 
                                            # species refers to the first 
                                            # author(s), who validly published 
                                            # the plant/animal name 
    fhir:SubstanceSourceMaterial.organism.author.authorDescription @<string>?;  # The author of an organism species 
                                            # shall be specified. The author 
                                            # year of an organism shall also be 
                                            # specified when applicable; refers 
                                            # to the year in which the first 
                                            # author(s) published the 
                                            # infraspecific plant/animal name 
                                            # (of any rank) 
    fhir:index xsd:integer?                 # Relative position in a list
}

# 4.9.13.8.1 Hybrid species maternal organism ID (Optional)
<SubstanceSourceMaterial.organism.hybrid> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:SubstanceSourceMaterial.organism.hybrid.maternalOrganismId @<string>?;  # The identifier of the maternal 
                                            # species constituting the hybrid 
                                            # organism shall be specified based 
                                            # on a controlled vocabulary. For 
                                            # plants, the parents aren’t always 
                                            # known, and it is unlikely that it 
                                            # will be known which is maternal 
                                            # and which is paternal 
    fhir:SubstanceSourceMaterial.organism.hybrid.maternalOrganismName @<string>?;  # The name of the maternal species 
                                            # constituting the hybrid organism 
                                            # shall be specified. For plants, 
                                            # the parents aren’t always known, 
                                            # and it is unlikely that it will be 
                                            # known which is maternal and which 
                                            # is paternal 
    fhir:SubstanceSourceMaterial.organism.hybrid.paternalOrganismId @<string>?;  # The identifier of the paternal 
                                            # species constituting the hybrid 
                                            # organism shall be specified based 
                                            # on a controlled vocabulary 
    fhir:SubstanceSourceMaterial.organism.hybrid.paternalOrganismName @<string>?;  # The name of the paternal species 
                                            # constituting the hybrid organism 
                                            # shall be specified 
    fhir:SubstanceSourceMaterial.organism.hybrid.hybridType @<CodeableConcept>?;  # The hybrid type of an organism 
                                            # shall be specified 
    fhir:index xsd:integer?                 # Relative position in a list
}

#---------------------- Data Types -------------------

# Optional Extensions Element
<Extension> CLOSED {
    fhir:Element.id @<string>?; 
    fhir:Element.extension @<Extension>*; 
    fhir:Extension.url xsd:string; 
    ( 
        fhir:Extension.valueBase64Binary @<base64Binary>  |
        fhir:Extension.valueBoolean @<boolean>  |
        fhir:Extension.valueCanonical @<canonical>  |
        fhir:Extension.valueCode @<code>  |
        fhir:Extension.valueDate @<date>  |
        fhir:Extension.valueDateTime @<dateTime>  |
        fhir:Extension.valueDecimal @<decimal>  |
        fhir:Extension.valueId @<id>  |
        fhir:Extension.valueInstant @<instant>  |
        fhir:Extension.valueInteger @<integer>  |
        fhir:Extension.valueMarkdown @<markdown>  |
        fhir:Extension.valueOid @<oid>  |
        fhir:Extension.valuePositiveInt @<positiveInt>  |
        fhir:Extension.valueString @<string>  |
        fhir:Extension.valueTime @<time>  |
        fhir:Extension.valueUnsignedInt @<unsignedInt>  |
        fhir:Extension.valueUri @<uri>  |
        fhir:Extension.valueUrl @<url>  |
        fhir:Extension.valueUuid @<uuid>  |
        fhir:Extension.valueAddress @<Address>  |
        fhir:Extension.valueAge @<Age>  |
        fhir:Extension.valueAnnotation @<Annotation>  |
        fhir:Extension.valueAttachment @<Attachment>  |
        fhir:Extension.valueCodeableConcept @<CodeableConcept>  |
        fhir:Extension.valueCoding @<Coding>  |
        fhir:Extension.valueContactPoint @<ContactPoint>  |
        fhir:Extension.valueCount @<Count>  |
        fhir:Extension.valueDistance @<Distance>  |
        fhir:Extension.valueDuration @<Duration>  |
        fhir:Extension.valueHumanName @<HumanName>  |
        fhir:Extension.valueIdentifier @<Identifier>  |
        fhir:Extension.valueMoney @<Money>  |
        fhir:Extension.valuePeriod @<Period>  |
        fhir:Extension.valueQuantity @<Quantity>  |
        fhir:Extension.valueRange @<Range>  |
        fhir:Extension.valueRatio @<Ratio>  |
        fhir:Extension.valueReference @<Reference>  |
        fhir:Extension.valueSampledData @<SampledData>  |
        fhir:Extension.valueSignature @<Signature>  |
        fhir:Extension.valueTiming @<Timing>  |
        fhir:Extension.valueContactDetail @<ContactDetail>  |
        fhir:Extension.valueContributor @<Contributor>  |
        fhir:Extension.valueDataRequirement @<DataRequirement>  |
        fhir:Extension.valueExpression @<Expression>  |
        fhir:Extension.valueParameterDefinition @<ParameterDefinition>  |
        fhir:Extension.valueRelatedArtifact @<RelatedArtifact>  |
        fhir:Extension.valueTriggerDefinition @<TriggerDefinition>  |
        fhir:Extension.valueUsageContext @<UsageContext>  |
        fhir:Extension.valueDosage @<Dosage> 
    )?;
    fhir:index xsd:integer?                 # Relative position in a list
}

# Metadata about a resource
<Meta> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Meta.versionId @<id>?;             # Version specific identifier
    fhir:Meta.lastUpdated @<instant>?;      # When the resource version last 
                                            # changed 
    fhir:Meta.source @<uri>?;               # Identifies where the resource 
                                            # comes from 
    fhir:Meta.profile @<canonical>*;        # Profiles this resource claims to 
                                            # conform to 
    fhir:Meta.security @<Coding>*;          # Security Labels applied to this 
                                            # resource 
    fhir:Meta.tag @<Coding>*;               # Tags applied to this resource
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type code
<code> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for code
    fhir:index xsd:integer?                 # Relative position in a list
}

# Идентификатор, предназначенный для вычислений
<Identifier> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Identifier.use @<code> AND
    	{fhir:value @fhirvs:identifier-use}?;  # usual | official | temp | 
                                            # secondary | old (If known) 
    fhir:Identifier.type @<CodeableConcept>?;  # Описание идентификатора
    fhir:Identifier.system @<uri>?;         # The namespace for the identifier 
                                            # value 
    fhir:Identifier.value @<string>?;       # Значение, являющееся уникальным
    fhir:Identifier.period @<Period>?;      # Временной период, когда id 
                                            # является/являлся допустимым к 
                                            # использованию 
    fhir:Identifier.assigner @<Reference>?;  # Организация, которая назначила 
                                            # идентификатор (может быть просто 
                                            # текстом) 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type string
<string> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string MAXLENGTH 1048576?;  # Primitive value for string
    fhir:index xsd:integer?                 # Relative position in a list
}

# Human-readable summary of the resource (essential clinical and business information)
<Narrative> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Narrative.status @<code> AND
    	{fhir:value @fhirvs:narrative-status};  # generated | extensions | 
                                            # additional | empty 
    fhir:Narrative.div xsd:string;          # Limited xhtml content
    fhir:index xsd:integer?                 # Relative position in a list
}

# Базовый ресурс
<Resource> {a .+;
    fhir:Resource.id @<id>?;                # Logical id of this artifact
    fhir:Resource.meta @<Meta>?;            # Метаданные ресурса
    fhir:Resource.implicitRules @<uri>?;    # Свод правил, в соответствии с 
                                            # которыми создавалось это 
                                            # содержимое 
    fhir:Resource.language @<code>?;        # Язык содержимого ресурса
    fhir:index xsd:integer?
}

# Primitive Type id
<id> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for id
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type uri
<uri> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for uri
    fhir:index xsd:integer?                 # Relative position in a list
}

# Concept - reference to a terminology or just  text
<CodeableConcept> CLOSED {
    a NONLITERAL*;
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:CodeableConcept.coding @<Coding>*;  # Code defined by a terminology 
                                            # system 
    fhir:CodeableConcept.text @<string>?;   # Plain text representation of the 
                                            # concept 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type date
<date> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:gYear OR xsd:gYearMonth OR xsd:date?;  # Primitive value for date
    fhir:index xsd:integer?                 # Relative position in a list
}

# An address expressed using postal conventions (as opposed to GPS or other location definition formats)
<Address> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Address.use @<code> AND
    	{fhir:value @fhirvs:address-use}?;  # home | work | temp | old | billing 
                                            # - purpose of this address 
    fhir:Address.type @<code> AND
    	{fhir:value @fhirvs:address-type}?;  # postal | physical | both
    fhir:Address.text @<string>?;           # Текстовое представление адреса
    fhir:Address.line @<string>*;           # Street name, number, direction & 
                                            # P.O. Box etc. 
    fhir:Address.city @<string>?;           # Название города, поселка и т. п
    fhir:Address.district @<string>?;       # District name (aka county)
    fhir:Address.state @<string>?;          # Sub-unit of country (abbreviations 
                                            # ok) 
    fhir:Address.postalCode @<string>?;     # Почтовый индекс области
    fhir:Address.country @<string>?;        # Country (e.g. can be ISO 3166 2 or 
                                            # 3 letter code) 
    fhir:Address.period @<Period>?;         # Период времени, в течение которого 
                                            # адрес был/находится в 
                                            # использовании 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Content in a format defined elsewhere
<Attachment> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Attachment.contentType @<code> AND
    	{fhir:value @fhirvs:mimetypes}?;  # Mime type of the content, with 
                                            # charset etc. 
    fhir:Attachment.language @<code>?;      # Human language of the content 
                                            # (BCP-47) 
    fhir:Attachment.data @<base64Binary>?;  # Data inline, base64ed
    fhir:Attachment.url @<url>?;            # Uri where the data can be found
    fhir:Attachment.size @<unsignedInt>?;   # Number of bytes of content (if url 
                                            # provided) 
    fhir:Attachment.hash @<base64Binary>?;  # Hash of the data (sha-1, base64ed)
    fhir:Attachment.title @<string>?;       # Label to display in place of the 
                                            # data 
    fhir:Attachment.creation @<dateTime>?;  # Дата создания вложения
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type integer
<integer> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:integer MININCLUSIVE "-2147483648"^^xsd:integer MAXINCLUSIVE "2147483647"^^xsd:integer?;  # Primitive value for integer
    fhir:index xsd:integer?                 # Relative position in a list
}

# A measured or measurable amount
<Count> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.comparator @<code> AND
    	{fhir:value @fhirvs:quantity-comparator}?;  # < | <= | >= | > - how to 
                                            # understand the value 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Describes a required data item
<DataRequirement> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:DataRequirement.type @<code> AND
    	{fhir:value @fhirvs:all-types};  # The type of the required data
    fhir:DataRequirement.profile @<canonical>*;  # The profile of the required data
    (                                       # E.g. Patient, Practitioner, 
                                            # RelatedPerson, Organization, 
                                            # Location, Device 
        fhir:DataRequirement.subjectCodeableConcept @<CodeableConcept>  |
        fhir:DataRequirement.subjectReference @<Reference> 
    )?;
    fhir:DataRequirement.mustSupport @<string>*;  # Indicates specific structure 
                                            # elements that are referenced by 
                                            # the knowledge module 
    fhir:DataRequirement.codeFilter @<DataRequirement.codeFilter>*;  # What codes are expected
    fhir:DataRequirement.dateFilter @<DataRequirement.dateFilter>*;  # What dates/date ranges are expected
    fhir:DataRequirement.limit @<positiveInt>?;  # Number of results
    fhir:DataRequirement.sort @<DataRequirement.sort>*;  # Order of the results
    fhir:index xsd:integer?                 # Relative position in a list
}

# How the medication is/was taken or should be taken
<Dosage> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:Dosage.sequence @<integer>?;       # The order of the dosage 
                                            # instructions 
    fhir:Dosage.text @<string>?;            # Free text dosage instructions e.g. 
                                            # SIG 
    fhir:Dosage.additionalInstruction @<CodeableConcept>*;  # Supplemental instruction or 
                                            # warnings to the patient - e.g. 
                                            # "with meals", "may cause 
                                            # drowsiness" 
    fhir:Dosage.patientInstruction @<string>?;  # Patient or consumer oriented 
                                            # instructions 
    fhir:Dosage.timing @<Timing>?;          # When medication should be 
                                            # administered 
    (                                       # Take "as needed" (for x)
        fhir:Dosage.asNeededBoolean @<boolean>  |
        fhir:Dosage.asNeededCodeableConcept @<CodeableConcept> 
    )?;
    fhir:Dosage.site @<CodeableConcept>?;   # Body site to administer to
    fhir:Dosage.route @<CodeableConcept>?;  # How drug should enter body
    fhir:Dosage.method @<CodeableConcept>?;  # Technique for administering 
                                            # medication 
    fhir:Dosage.doseAndRate @<Dosage.doseAndRate>*;  # Amount of medication administered
    fhir:Dosage.maxDosePerPeriod @<Ratio>?;  # Upper limit on medication per unit 
                                            # of time 
    fhir:Dosage.maxDosePerAdministration @<SimpleQuantity>?;  # Upper limit on medication per 
                                            # administration 
    fhir:Dosage.maxDosePerLifetime @<SimpleQuantity>?;  # Upper limit on medication per 
                                            # lifetime of the patient 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type uuid
<uuid> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for uuid
    fhir:index xsd:integer?                 # Relative position in a list
}

# Ссылка на код, определенный терминологической системой
<Coding> CLOSED {
    a NONLITERAL?;
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Coding.system @<uri>?;             # Identity of the terminology system
    fhir:Coding.version @<string>?;         # Версия системы - при необходимости
    fhir:Coding.code @<code>?;              # Обозначение в синтаксисе, 
                                            # определенном системой 
    fhir:Coding.display @<string>?;         # Представление, определенное 
                                            # системой 
    fhir:Coding.userSelected @<boolean>?;   # Если этот кодинг был выбран 
                                            # непосредственно пользователем 
    fhir:index xsd:integer?                 # Relative position in a list
}

# A series of measurements taken by a device
<SampledData> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:SampledData.origin @<SimpleQuantity>;  # Zero value and units
    fhir:SampledData.period @<decimal>;     # Number of milliseconds between 
                                            # samples 
    fhir:SampledData.factor @<decimal>?;    # Multiply data by this before 
                                            # adding to origin 
    fhir:SampledData.lowerLimit @<decimal>?;  # Lower limit of detection
    fhir:SampledData.upperLimit @<decimal>?;  # Upper limit of detection
    fhir:SampledData.dimensions @<positiveInt>;  # Number of sample points at each 
                                            # time point 
    fhir:SampledData.data @<string>?;       # Decimal values with spaces, or "E" 
                                            # | "U" | "L" 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type positiveInt
<positiveInt> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:positiveInteger?;        # Primitive value for positiveInt
    fhir:index xsd:integer?                 # Relative position in a list
}

# A length - a value with a unit that is a physical distance
<Distance> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.comparator @<code> AND
    	{fhir:value @fhirvs:quantity-comparator}?;  # < | <= | >= | > - how to 
                                            # understand the value 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Интервал времени, заданный датой/временем начала и окончания
<Period> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Period.start @<dateTime>?;         # Время начала (включительно)
    fhir:Period.end @<dateTime>?;           # Время окончания, граничное 
                                            # значение включительно, если не 
                                            # продолжается 
    fhir:index xsd:integer?                 # Relative position in a list
}

# A length of time
<Duration> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.comparator @<code> AND
    	{fhir:value @fhirvs:quantity-comparator}?;  # < | <= | >= | > - how to 
                                            # understand the value 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type canonical
<canonical> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for canonical
    fhir:index xsd:integer?                 # Relative position in a list
}

# Ряд значений, ограниченных верхним и нижним
<Range> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Range.low @<SimpleQuantity>?;      # Low limit
    fhir:Range.high @<SimpleQuantity>?;     # Верхний предел
    fhir:index xsd:integer?                 # Relative position in a list
}

# Related artifacts for a knowledge resource
<RelatedArtifact> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:RelatedArtifact.type @<code> AND
    	{fhir:value @fhirvs:related-artifact-type};  # documentation | justification | 
                                            # citation | predecessor | successor 
                                            # | derived-from | depends-on | 
                                            # composed-of 
    fhir:RelatedArtifact.label @<string>?;  # Short label
    fhir:RelatedArtifact.display @<string>?;  # Brief description of the related 
                                            # artifact 
    fhir:RelatedArtifact.citation @<markdown>?;  # Bibliographic citation for the 
                                            # artifact 
    fhir:RelatedArtifact.url @<url>?;       # Where the artifact can be accessed
    fhir:RelatedArtifact.document @<Attachment>?;  # What document is being referenced
    fhir:RelatedArtifact.resource @<canonical>?;  # What resource is being referenced
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type base64Binary
<base64Binary> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:base64Binary?;           # Primitive value for base64Binary
    fhir:index xsd:integer?                 # Relative position in a list
}

# Describes the context of use for a conformance or knowledge resource
<UsageContext> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:UsageContext.code @<Coding>;       # Type of context being specified
    (                                       # Value that defines the context
        fhir:UsageContext.valueCodeableConcept @<CodeableConcept>  |
        fhir:UsageContext.valueQuantity @<Quantity>  |
        fhir:UsageContext.valueRange @<Range>  |
        fhir:UsageContext.valueReference @<Reference> 
    );
    fhir:index xsd:integer?                 # Relative position in a list
}

# Расписание для события, которое может наступить несколько раз
<Timing> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:BackboneElement.modifierExtension @<Extension>*;  # Extensions that cannot be ignored 
                                            # even if unrecognized 
    fhir:Timing.event @<dateTime>*;         # Когда происходит событие
    fhir:Timing.repeat @<Timing.repeat>?;   # Когда именно произойдет событие
    fhir:Timing.code @<CodeableConcept>?;   # BID | TID | QID | AM | PM | QD | 
                                            # QOD | + 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type decimal
<decimal> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:decimal OR xsd:double?;  # Primitive value for decimal
    fhir:index xsd:integer?                 # Relative position in a list
}

# Definition of a parameter to a module
<ParameterDefinition> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:ParameterDefinition.name @<code>?;  # Name used to access the parameter 
                                            # value 
    fhir:ParameterDefinition.use @<code> AND
    	{fhir:value @fhirvs:operation-parameter-use};  # in | out
    fhir:ParameterDefinition.min @<integer>?;  # Minimum cardinality
    fhir:ParameterDefinition.max @<string>?;  # Maximum cardinality (a number of *)
    fhir:ParameterDefinition.documentation @<string>?;  # A brief description of the 
                                            # parameter 
    fhir:ParameterDefinition.type @<code> AND
    	{fhir:value @fhirvs:all-types};  # What type of value
    fhir:ParameterDefinition.profile @<canonical>?;  # What profile the value is expected 
                                            # to be 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type dateTime
<dateTime> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:gYear OR xsd:gYearMonth OR xsd:date OR xsd:dateTime?;  # Primitive value for dateTime
    fhir:index xsd:integer?                 # Relative position in a list
}

# Contributor information
<Contributor> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Contributor.type @<code> AND
    	{fhir:value @fhirvs:contributor-type};  # author | editor | reviewer | 
                                            # endorser 
    fhir:Contributor.name @<string>;        # Who contributed the content
    fhir:Contributor.contact @<ContactDetail>*;  # Contact details of the contributor
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type oid
<oid> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for oid
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type instant
<instant> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:dateTime?;               # Primitive value for instant
    fhir:index xsd:integer?                 # Relative position in a list
}

# Details of a Technology mediated contact point (phone, fax, email, etc.)
<ContactPoint> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:ContactPoint.system @<code> AND
    	{fhir:value @fhirvs:contact-point-system}?;  # phone | fax | email | pager | url 
                                            # | sms | other 
    fhir:ContactPoint.value @<string>?;     # Детали самой точки контакта
    fhir:ContactPoint.use @<code> AND
    	{fhir:value @fhirvs:contact-point-use}?;  # home | work | temp | old | mobile 
                                            # - purpose of this contact point 
    fhir:ContactPoint.rank @<positiveInt>?;  # Specify preferred order of use (1 
                                            # = highest) 
    fhir:ContactPoint.period @<Period>?;    # Период времени, когда контактная 
                                            # точка была/находится в 
                                            # употреблении 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Name of a human - parts and usage
<HumanName> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:HumanName.use @<code> AND
    	{fhir:value @fhirvs:name-use}?;  # usual | official | temp | nickname 
                                            # | anonymous | old | maiden 
    fhir:HumanName.text @<string>?;         # Text representation of the full 
                                            # name 
    fhir:HumanName.family @<string>?;       # Family name (often called 
                                            # 'Surname') 
    fhir:HumanName.given @<string>*;        # Given names (not always 'first'). 
                                            # Includes middle names 
    fhir:HumanName.prefix @<string>*;       # Parts that come before the name
    fhir:HumanName.suffix @<string>*;       # Parts that come after the name
    fhir:HumanName.period @<Period>?;       # Time period when name was/is in use
    fhir:index xsd:integer?                 # Relative position in a list
}

# An amount of economic utility in some recognized currency
<Money> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Money.value @<decimal>?;           # Numerical value (with implicit 
                                            # precision) 
    fhir:Money.currency @<code> AND
    	{fhir:value @fhirvs:currencies}?;  # ISO 4217 Currency Code
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type markdown
<markdown> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for markdown
    fhir:index xsd:integer?                 # Relative position in a list
}

# Отношение двух значений величины - числитель и знаменатель
<Ratio> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Ratio.numerator @<Quantity>?;      # Значение числителя
    fhir:Ratio.denominator @<Quantity>?;    # Значение знаменателя
    fhir:index xsd:integer?                 # Relative position in a list
}

# A duration of time during which an organism (or a process) has existed
<Age> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.comparator @<code> AND
    	{fhir:value @fhirvs:quantity-comparator}?;  # < | <= | >= | > - how to 
                                            # understand the value 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# A reference from one resource to another
<Reference> CLOSED {
    fhir:link IRI?;
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Reference.reference @<string>?;    # Literal reference, Relative, 
                                            # internal or absolute URL 
    fhir:Reference.type @<uri>?;            # Type the reference refers to (e.g. 
                                            # "Patient") 
    fhir:Reference.identifier @<Identifier>?;  # Logical reference, when literal 
                                            # reference is not known 
    fhir:Reference.display @<string>?;      # Text alternative for the resource
    fhir:index xsd:integer?                 # Relative position in a list
}

# Defines an expected trigger for a module
<TriggerDefinition> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:TriggerDefinition.type @<code> AND
    	{fhir:value @fhirvs:trigger-type};  # named-event | periodic | 
                                            # data-changed | data-added | 
                                            # data-modified | data-removed | 
                                            # data-accessed | data-access-ended 
    fhir:TriggerDefinition.name @<string>?;  # Name or URI that identifies the 
                                            # event 
    (                                       # Timing of the event
        fhir:TriggerDefinition.timingTiming @<Timing>  |
        fhir:TriggerDefinition.timingReference @<Reference>  |
        fhir:TriggerDefinition.timingDate @<date>  |
        fhir:TriggerDefinition.timingDateTime @<dateTime> 
    )?;
    fhir:TriggerDefinition.data @<DataRequirement>*;  # Triggering data of the event 
                                            # (multiple = 'and') 
    fhir:TriggerDefinition.condition @<Expression>?;  # Whether the event triggers 
                                            # (boolean expression) 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Измеренная или измеримая величина
<Quantity> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.comparator @<code> AND
    	{fhir:value @fhirvs:quantity-comparator}?;  # < | <= | >= | > - how to 
                                            # understand the value 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type url
<url> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:string?;                 # Primitive value for url
    fhir:index xsd:integer?                 # Relative position in a list
}

# Text node with attribution
<Annotation> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    (                                       # Individual responsible for the 
                                            # annotation 
        fhir:Annotation.authorReference @<Reference>  |
        fhir:Annotation.authorString @<string> 
    )?;
    fhir:Annotation.time @<dateTime>?;      # When the annotation was made
    fhir:Annotation.text @<markdown>;       # The annotation  - text content (as 
                                            # markdown) 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Contact information
<ContactDetail> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:ContactDetail.name @<string>?;     # Name of an individual to contact
    fhir:ContactDetail.telecom @<ContactPoint>*;  # Contact details for individual or 
                                            # organization 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type boolean
<boolean> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:boolean?;                # Primitive value for boolean
    fhir:index xsd:integer?                 # Relative position in a list
}

# An expression that can be used to generate a value
<Expression> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Expression.description @<string>?;  # Natural language description of 
                                            # the condition 
    fhir:Expression.name @<id>?;            # Short name assigned to expression 
                                            # for reuse 
    fhir:Expression.language @<code>;       # text/cql | text/fhirpath | 
                                            # application/x-fhir-query | etc. 
    fhir:Expression.expression @<string>?;  # Expression in specified language
    fhir:Expression.reference @<uri>?;      # Where the expression is found
    fhir:index xsd:integer?                 # Relative position in a list
}

# A Signature - XML DigSig, JWS, Graphical image of signature, etc.
<Signature> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Signature.type @<Coding>+;         # Указание причины подписания 
                                            # объекта(-ов) сущностью 
    fhir:Signature.when @<instant>;         # Когда подпись была создана
    fhir:Signature.who @<Reference>;        # Who signed
    fhir:Signature.onBehalfOf @<Reference>?;  # The party represented
    fhir:Signature.targetFormat @<code> AND
    	{fhir:value @fhirvs:mimetypes}?;  # The technical format of the signed 
                                            # resources 
    fhir:Signature.sigFormat @<code> AND
    	{fhir:value @fhirvs:mimetypes}?;  # The technical format of the 
                                            # signature 
    fhir:Signature.data @<base64Binary>?;   # The actual signature content (XML 
                                            # DigSig. JWS, picture, etc.) 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type unsignedInt
<unsignedInt> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:nonNegativeInteger?;     # Primitive value for unsignedInt
    fhir:index xsd:integer?                 # Relative position in a list
}

# Primitive Type time
<time> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Дополнительное содержимое, 
                                            # определенное реализаторами 
    fhir:value xsd:time?;                   # Primitive value for time
    fhir:index xsd:integer?                 # Relative position in a list
}

# A fixed quantity (no comparator)
<SimpleQuantity> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Quantity.value @<decimal>?;        # Численное значение (неявной 
                                            # точности) 
    fhir:Quantity.unit @<string>?;          # Представление единиц измерения
    fhir:Quantity.system @<uri>?;           # Система, которая определяет 
                                            # кодированную форму единиц 
                                            # измерения 
    fhir:Quantity.code @<code>?;            # Кодированная форма единицы 
                                            # измерений 
    fhir:index xsd:integer?                 # Relative position in a list
}

# Order of the results
<DataRequirement.sort> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:DataRequirement.sort.path @<string>;  # The name of the attribute to 
                                            # perform the sort 
    fhir:DataRequirement.sort.direction @<code> AND
    	{fhir:value @fhirvs:sort-direction};  # ascending | descending
    fhir:index xsd:integer?                 # Relative position in a list
}

# What codes are expected
<DataRequirement.codeFilter> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:DataRequirement.codeFilter.path @<string>?;  # A code-valued attribute to filter 
                                            # on 
    fhir:DataRequirement.codeFilter.searchParam @<string>?;  # A coded (token) parameter to 
                                            # search on 
    fhir:DataRequirement.codeFilter.valueSet @<canonical>?;  # Valueset for the filter
    fhir:DataRequirement.codeFilter.code @<Coding>*;  # What code is expected
    fhir:index xsd:integer?                 # Relative position in a list
}

# What dates/date ranges are expected
<DataRequirement.dateFilter> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:DataRequirement.dateFilter.path @<string>?;  # A date-valued attribute to filter 
                                            # on 
    fhir:DataRequirement.dateFilter.searchParam @<string>?;  # A date valued parameter to search 
                                            # on 
    (                                       # The value of the filter, as a 
                                            # Period, DateTime, or Duration 
                                            # value 
        fhir:DataRequirement.dateFilter.valueDateTime @<dateTime>  |
        fhir:DataRequirement.dateFilter.valuePeriod @<Period>  |
        fhir:DataRequirement.dateFilter.valueDuration @<Duration> 
    )?;
    fhir:index xsd:integer?                 # Relative position in a list
}

# Amount of medication administered
<Dosage.doseAndRate> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    fhir:Dosage.doseAndRate.type @<CodeableConcept>?;  # The kind of dose or rate specified
    (                                       # Amount of medication per dose
        fhir:Dosage.doseAndRate.doseRange @<Range>  |
        fhir:Dosage.doseAndRate.doseQuantity @<SimpleQuantity> 
    )?;
    (                                       # Amount of medication per unit of 
                                            # time 
        fhir:Dosage.doseAndRate.rateRatio @<Ratio>  |
        fhir:Dosage.doseAndRate.rateRange @<Range>  |
        fhir:Dosage.doseAndRate.rateQuantity @<SimpleQuantity> 
    )?;
    fhir:index xsd:integer?                 # Relative position in a list
}

# Когда именно произойдет событие
<Timing.repeat> CLOSED {
    fhir:Element.id @<string>?;             # xml:id (or equivalent in JSON)
    fhir:Element.extension @<Extension>*;   # Additional content defined by 
                                            # implementations 
    (                                       # Продолжительность/Диапазон 
                                            # продолжительности, либо (начальный 
                                            # и/или конечный) пределы 
        fhir:Timing.repeat.boundsDuration @<Duration>  |
        fhir:Timing.repeat.boundsRange @<Range>  |
        fhir:Timing.repeat.boundsPeriod @<Period> 
    )?;
    fhir:Timing.repeat.count @<positiveInt>?;  # Количество повторов
    fhir:Timing.repeat.countMax @<positiveInt>?;  # Maximum number of times to repeat
    fhir:Timing.repeat.duration @<decimal>?;  # Сколько оно будет длиться
    fhir:Timing.repeat.durationMax @<decimal>?;  # Сколько будет продолжаться, когда 
                                            # это произойдет (макс.) 
    fhir:Timing.repeat.durationUnit @<code> AND
    	{fhir:value @fhirvs:units-of-time}?;  # s | min | h | d | wk | mo | a - 
                                            # unit of time (UCUM) 
    fhir:Timing.repeat.frequency @<positiveInt>?;  # Событие происходит "frequency" раз 
                                            # за период 
    fhir:Timing.repeat.frequencyMax @<positiveInt>?;  # Event occurs up to frequencyMax 
                                            # times per period 
    fhir:Timing.repeat.period @<decimal>?;  # Событие происходит "frequency" раз 
                                            # за период 
    fhir:Timing.repeat.periodMax @<decimal>?;  # Верхний предел периода (3-4 часа)
    fhir:Timing.repeat.periodUnit @<code> AND
    	{fhir:value @fhirvs:units-of-time}?;  # s | min | h | d | wk | mo | a - 
                                            # unit of time (UCUM) 
    fhir:Timing.repeat.dayOfWeek @<code> AND
    	{fhir:value @fhirvs:days-of-week}*;  # mon | tue | wed | thu | fri | sat 
                                            # | sun 
    fhir:Timing.repeat.timeOfDay @<time>*;  # Time of day for action
    fhir:Timing.repeat.when @<code> AND
    	{fhir:value @fhirvs:event-timing}*;  # Code for time period of occurrence
    fhir:Timing.repeat.offset @<unsignedInt>?;  # Minutes from event (before or 
                                            # after) 
    fhir:index xsd:integer?                 # Relative position in a list
}

#---------------------- Reference Types -------------------

#---------------------- Value Sets ------------------------

# Use of contact point.
fhirvs:contact-point-use ["home" "work" "temp" "old" "mobile"]

# Telecommunications form for contact point.
fhirvs:contact-point-system ["phone" "fax" "email" "pager" "url" "sms" "other"]

# This value set includes all possible codes from BCP-13 (http://tools.ietf.org/html/bcp13)
fhirvs:mimetypes EXTERNAL

# The type of relationship to the related artifact.
fhirvs:related-artifact-type ["documentation" "justification" "citation" "predecessor" "successor" "derived-from" "depends-on" "composed-of"]

# Identifies the purpose for this identifier, if known .
fhirvs:identifier-use ["usual" "official" "temp" "secondary" "old"]

# The type of trigger.
fhirvs:trigger-type ["named-event" "periodic" "data-changed" "data-added" "data-modified" "data-removed" "data-accessed" "data-access-ended"]

# A unit of time (units from UCUM).
fhirvs:units-of-time ["s" "min" "h" "d" "wk" "mo" "a"]

# Дни недели.
fhirvs:days-of-week ["mon" "tue" "wed" "thu" "fri" "sat" "sun"]

# The possible sort directions, ascending or descending.
fhirvs:sort-direction ["ascending" "descending"]

# The type of an address (physical / postal).
fhirvs:address-type ["postal" "physical" "both"]

# The type of contributor.
fhirvs:contributor-type ["author" "editor" "reviewer" "endorser"]

# Currency codes from ISO 4217 (see https://www.iso.org/iso-4217-currency-codes.html)
fhirvs:currencies ["AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BOV" "BRL" "BSD" "BTN" "BWP" "BYN" "BZD" "CAD" "CDF" "CHE" "CHF" "CHW" "CLF" "CLP" "CNY" "COP" "COU" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRU" "MUR" "MVR" "MWK" "MXN" "MXV" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "SSP" "STN" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TVD" "TWD" "TZS" "UAH" "UGX" "USD" "USN" "UYI" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XBA" "XBB" "XBC" "XBD" "XCD" "XDR" "XOF" "XPD" "XPF" "XPT" "XSU" "XTS" "XUA" "XXX" "YER" "ZAR" "ZMW" "ZWL"]

# The use of an address.
fhirvs:address-use ["home" "work" "temp" "old" "billing"]

# The use of a human name.
fhirvs:name-use ["usual" "official" "temp" "nickname" "anonymous" "old" "maiden"]

# The status of a resource narrative.
fhirvs:narrative-status ["generated" "extensions" "additional" "empty"]

# A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
fhirvs:all-types ["Address" "Age" "Annotation" "Attachment" "BackboneElement" "CodeableConcept" "Coding" "ContactDetail" "ContactPoint" "Contributor" "Count" "DataRequirement" "Distance" "Dosage" "Duration" "Element" "ElementDefinition" "Expression" "Extension" "HumanName" "Identifier" "MarketingStatus" "Meta" "Money" "MoneyQuantity" "Narrative" "ParameterDefinition" "Period" "Population" "ProdCharacteristic" "ProductShelfLife" "Quantity" "Range" "Ratio" "Reference" "RelatedArtifact" "SampledData" "Signature" "SimpleQuantity" "SubstanceAmount" "Timing" "TriggerDefinition" "UsageContext" "base64Binary" "boolean" "canonical" "code" "date" "dateTime" "decimal" "id" "instant" "integer" "markdown" "oid" "positiveInt" "string" "time" "unsignedInt" "uri" "url" "uuid" "xhtml" "Account" "ActivityDefinition" "AdverseEvent" "AllergyIntolerance" "Appointment" "AppointmentResponse" "AuditEvent" "Basic" "Binary" "BiologicallyDerivedProduct" "BodyStructure" "Bundle" "CapabilityStatement" "CarePlan" "CareTeam" "CatalogEntry" "ChargeItem" "ChargeItemDefinition" "Claim" "ClaimResponse" "ClinicalImpression" "CodeSystem" "Communication" "CommunicationRequest" "CompartmentDefinition" "Composition" "ConceptMap" "Condition" "Consent" "Contract" "Coverage" "CoverageEligibilityRequest" "CoverageEligibilityResponse" "DetectedIssue" "Device" "DeviceDefinition" "DeviceMetric" "DeviceRequest" "DeviceUseStatement" "DiagnosticReport" "DocumentManifest" "DocumentReference" "DomainResource" "EffectEvidenceSynthesis" "Encounter" "Endpoint" "EnrollmentRequest" "EnrollmentResponse" "EpisodeOfCare" "EventDefinition" "Evidence" "EvidenceVariable" "ExampleScenario" "ExplanationOfBenefit" "FamilyMemberHistory" "Flag" "Goal" "GraphDefinition" "Group" "GuidanceResponse" "HealthcareService" "ImagingStudy" "Immunization" "ImmunizationEvaluation" "ImmunizationRecommendation" "ImplementationGuide" "InsurancePlan" "Invoice" "ItemInstance" "Library" "Linkage" "List" "Location" "Measure" "MeasureReport" "Media" "Medication" "MedicationAdministration" "MedicationDispense" "MedicationKnowledge" "MedicationRequest" "MedicationStatement" "MedicinalProduct" "MedicinalProductAuthorization" "MedicinalProductContraindication" "MedicinalProductIndication" "MedicinalProductIngredient" "MedicinalProductInteraction" "MedicinalProductManufactured" "MedicinalProductPackaged" "MedicinalProductPharmaceutical" "MedicinalProductUndesirableEffect" "MessageDefinition" "MessageHeader" "MolecularSequence" "NamingSystem" "NutritionOrder" "Observation" "ObservationDefinition" "OperationDefinition" "OperationOutcome" "Organization" "OrganizationAffiliation" "Parameters" "Patient" "PaymentNotice" "PaymentReconciliation" "Person" "PlanDefinition" "Practitioner" "PractitionerRole" "Procedure" "Provenance" "Questionnaire" "QuestionnaireResponse" "RelatedPerson" "RequestGroup" "ResearchDefinition" "ResearchElementDefinition" "ResearchStudy" "ResearchSubject" "Resource" "RiskAssessment" "RiskEvidenceSynthesis" "Schedule" "SearchParameter" "ServiceRequest" "Slot" "Specimen" "SpecimenDefinition" "StructureDefinition" "StructureMap" "Subscription" "Substance" "SubstanceNucleicAcid" "SubstancePolymer" "SubstanceProtein" "SubstanceReferenceInformation" "SubstanceSourceMaterial" "SubstanceSpecification" "SupplyDelivery" "SupplyRequest" "Task" "TerminologyCapabilities" "TestReport" "TestScript" "ValueSet" "VerificationResult" "VisionPrescription" "Type" "Any"]

# How the Quantity should be understood and represented.
fhirvs:quantity-comparator ["<" "<=" ">=" ">"]

# Является ли параметр операции выходным или выходным.
fhirvs:operation-parameter-use ["in" "out"]

# Real world event relating to the schedule.
fhirvs:event-timing ["MORN" "MORN.early" "MORN.late" "NOON" "AFT" "AFT.early" "AFT.late" "EVE" "EVE.early" "EVE.late" "NIGHT" "PHS" "HS" "WAKE" "C" "CM" "CD" "CV" "AC" "ACM" "ACD" "ACV" "PC" "PCM" "PCD" "PCV"]

Примечание к использованию: мы очень стараемся приводить корректные и полезные ShEx-файлы, но нормативно они не являются частью спецификации.