Current Build

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

Substanceprotein.shex

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

Raw ShEx

ShEx statement for substanceprotein

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=@<SubstanceProtein> AND {fhir:nodeRole [fhir:treeRoot]}


# A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators
<SubstanceProtein> CLOSED {
    a [fhir:SubstanceProtein];
    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:SubstanceProtein.sequenceType @<CodeableConcept>?;  # The SubstanceProtein descriptive 
                                            # elements will only be used when a 
                                            # complete or partial amino acid 
                                            # sequence is available or derivable 
                                            # from a nucleic acid sequence 
    fhir:SubstanceProtein.numberOfSubunits @<integer>?;  # Number of linear sequences of 
                                            # amino acids linked through peptide 
                                            # bonds. The number of subunits 
                                            # constituting the SubstanceProtein 
                                            # shall be described. It is possible 
                                            # that the number of subunits can be 
                                            # variable 
    fhir:SubstanceProtein.disulfideLinkage @<string>*;  # The disulphide bond between two 
                                            # cysteine residues either on the 
                                            # same subunit or on two different 
                                            # subunits shall be described. The 
                                            # position of the disulfide bonds in 
                                            # the SubstanceProtein shall be 
                                            # listed in increasing order of 
                                            # subunit number and position within 
                                            # subunit followed by the 
                                            # abbreviation of the amino acids 
                                            # involved. The disulfide linkage 
                                            # positions shall actually contain 
                                            # the amino acid Cysteine at the 
                                            # respective positions 
    fhir:SubstanceProtein.subunit @<SubstanceProtein.subunit>*;  # This subclause refers to the 
                                            # description of each subunit 
                                            # constituting the SubstanceProtein. 
                                            # A subunit is a linear sequence of 
                                            # amino acids linked through peptide 
                                            # bonds. The Subunit information 
                                            # shall be provided when the 
                                            # finished SubstanceProtein is a 
                                            # complex of multiple sequences; 
                                            # subunits are not used to delineate 
                                            # domains within a single sequence. 
                                            # Subunits are listed in order of 
                                            # decreasing length; sequences of 
                                            # the same length will be ordered by 
                                            # decreasing molecular weight; 
                                            # subunits that have identical 
                                            # sequences will be repeated 
                                            # multiple times 
    fhir:index xsd:integer?                 # Relative position in a list
}

# This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times
<SubstanceProtein.subunit> 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:SubstanceProtein.subunit.subunit @<integer>?;  # Index of primary sequences of 
                                            # amino acids linked through peptide 
                                            # bonds in order of decreasing 
                                            # length. Sequences of the same 
                                            # length will be ordered by 
                                            # molecular weight. Subunits that 
                                            # have identical sequences will be 
                                            # repeated and have sequential 
                                            # subscripts 
    fhir:SubstanceProtein.subunit.sequence @<string>?;  # The sequence information shall be 
                                            # provided enumerating the amino 
                                            # acids from N- to C-terminal end 
                                            # using standard single-letter amino 
                                            # acid codes. Uppercase shall be 
                                            # used for L-amino acids and 
                                            # lowercase for D-amino acids. 
                                            # Transcribed SubstanceProteins will 
                                            # always be described using the 
                                            # translated sequence; for synthetic 
                                            # peptide containing amino acids 
                                            # that are not represented with a 
                                            # single letter code an X should be 
                                            # used within the sequence. The 
                                            # modified amino acids will be 
                                            # distinguished by their position in 
                                            # the sequence 
    fhir:SubstanceProtein.subunit.length @<integer>?;  # Length of linear sequences of 
                                            # amino acids contained in the 
                                            # subunit 
    fhir:SubstanceProtein.subunit.sequenceAttachment @<Attachment>?;  # The sequence information shall be 
                                            # provided enumerating the amino 
                                            # acids from N- to C-terminal end 
                                            # using standard single-letter amino 
                                            # acid codes. Uppercase shall be 
                                            # used for L-amino acids and 
                                            # lowercase for D-amino acids. 
                                            # Transcribed SubstanceProteins will 
                                            # always be described using the 
                                            # translated sequence; for synthetic 
                                            # peptide containing amino acids 
                                            # that are not represented with a 
                                            # single letter code an X should be 
                                            # used within the sequence. The 
                                            # modified amino acids will be 
                                            # distinguished by their position in 
                                            # the sequence 
    fhir:SubstanceProtein.subunit.nTerminalModificationId @<Identifier>?;  # Unique identifier for molecular 
                                            # fragment modification based on the 
                                            # ISO 11238 Substance ID 
    fhir:SubstanceProtein.subunit.nTerminalModification @<string>?;  # The name of the fragment modified 
                                            # at the N-terminal of the 
                                            # SubstanceProtein shall be 
                                            # specified 
    fhir:SubstanceProtein.subunit.cTerminalModificationId @<Identifier>?;  # Unique identifier for molecular 
                                            # fragment modification based on the 
                                            # ISO 11238 Substance ID 
    fhir:SubstanceProtein.subunit.cTerminalModification @<string>?;  # The modification at the C-terminal 
                                            # shall be specified 
    fhir:index xsd:integer?                 # Relative position in a list
}

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

# 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
}

# 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
}

# Базовый ресурс
<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?
}

# 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
}

# 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
}

# 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
}

# Идентификатор, предназначенный для вычислений
<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
}

# 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
}

# 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
}

# 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
}

# 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-файлы, но нормативно они не являются частью спецификации.