This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
. Page versions: R5 R4B
| Biomedical Research and Regulation Work Group | Maturity Level: N/A | Standards Status: Informative | Compartments: Not linked to any defined compartments |
ShEx statement for medicinalproductdefinition
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=@<MedicinalProductDefinition> AND {fhir:nodeRole [fhir:treeRoot]}
# Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs)
<MedicinalProductDefinition> CLOSED {
a [fhir:MedicinalProductDefinition];
fhir:nodeRole [fhir:treeRoot]?;
fhir:Resource.id @<id>?; # Logical id of this artifact
fhir:Resource.meta @<Meta>?; # Metadata about the resource
fhir:Resource.implicitRules @<uri>?; # A set of rules under which this
# content was created
fhir:Resource.language @<code>?; # Language of the resource content
fhir:DomainResource.text @<Narrative>?; # Text summary of the resource, for
# human interpretation
fhir:DomainResource.contained @<Resource>*; # Contained, inline Resources
fhir:DomainResource.extension @<Extension>*; # Additional content defined by
# implementations
fhir:DomainResource.modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:MedicinalProductDefinition.identifier @<Identifier>*; # Business identifier for this
# product. Could be an MPID
fhir:MedicinalProductDefinition.type @<CodeableConcept>?; # Regulatory type, e.g.
# Investigational or Authorized
fhir:MedicinalProductDefinition.domain @<CodeableConcept>?; # If this medicine applies to human
# or veterinary uses
fhir:MedicinalProductDefinition.version @<string>?; # A business identifier relating to
# a specific version of the product,
# this is commonly used to support
# revisions to an existing product
fhir:MedicinalProductDefinition.status @<CodeableConcept>?; # The status within the lifecycle of
# this product record. A high-level
# status, this is not intended to
# duplicate details carried
# elsewhere such as legal status, or
# authorization status
fhir:MedicinalProductDefinition.statusDate @<dateTime>?; # The date at which the given status
# became applicable
fhir:MedicinalProductDefinition.description @<markdown>?; # General description of this product
fhir:MedicinalProductDefinition.combinedPharmaceuticalDoseForm @<CodeableConcept>?; # The dose form for a single part
# product, or combined form of a
# multiple part product
fhir:MedicinalProductDefinition.indication @<markdown>?; # Description of indication(s) for
# this product, used when structured
# indications are not required. In
# cases where structured indications
# are required, they are captured
# using the ClinicalUseIssue
# resource. An indication is a
# medical situation for which using
# the product is appropriate
fhir:MedicinalProductDefinition.legalStatusOfSupply @<CodeableConcept>?; # The legal status of supply of the
# medicinal product as classified by
# the regulator
fhir:MedicinalProductDefinition.additionalMonitoringIndicator @<CodeableConcept>?; # Whether the Medicinal Product is
# subject to additional monitoring
# for regulatory reasons
fhir:MedicinalProductDefinition.specialMeasures @<CodeableConcept>*; # Whether the Medicinal Product is
# subject to special measures for
# regulatory reasons
fhir:MedicinalProductDefinition.paediatricUseIndicator @<CodeableConcept>?; # If authorised for use in children
fhir:MedicinalProductDefinition.classification @<CodeableConcept>*; # Allows the product to be
# classified by various systems
fhir:MedicinalProductDefinition.characteristic @<CodeableConcept>*; # Allows the key product features to
# be recorded, such as "sugar free",
# "modified release", "parallel
# import"
fhir:MedicinalProductDefinition.marketingStatus @<MarketingStatus>*; # Marketing status of the medicinal
# product, in contrast to marketing
# authorization
fhir:MedicinalProductDefinition.ingredient @<CodeableReference>*; # The ingredients of this medicinal
# product - when not detailed in
# other resources. This is only
# needed if the ingredients are not
# specified by the
# AdministrableProductDefinition or
# via the PackagedProductDefinition
# references above. In cases where
# those levels of detail are not
# used, the ingredients may be
# specified directly here
fhir:MedicinalProductDefinition.impurity @<Reference>*; # Any component of the drug product
# which is not the chemical entity
# defined as the drug substance or
# an excipient in the drug product.
# This includes process-related
# impurities and contaminants,
# product-related impurities
# including degradation products
fhir:MedicinalProductDefinition.attachedDocument @<Reference>*; # Additional information or
# supporting documentation about the
# medicinal product
fhir:MedicinalProductDefinition.masterFile @<Reference>*; # A master file for to the medicinal
# product (e.g. Pharmacovigilance
# System Master File)
fhir:MedicinalProductDefinition.contact @<MedicinalProductDefinition.contact>*; # A product specific contact, person
# (in a role), or an organization
fhir:MedicinalProductDefinition.clinicalTrial @<Reference>*; # Clinical trials or studies that
# this product is involved in
fhir:MedicinalProductDefinition.name @<MedicinalProductDefinition.name>+; # The product's name, including full
# name and possibly coded parts
fhir:MedicinalProductDefinition.crossReference @<MedicinalProductDefinition.crossReference>*; # Reference to another product, e.g.
# for linking authorised to
# investigational product
fhir:MedicinalProductDefinition.operation @<MedicinalProductDefinition.operation>*; # A manufacturing or administrative
# process or step associated with
# (or performed on) the medicinal
# product
fhir:MedicinalProductDefinition.package @<MedicinalProductDefinition.package>*; # Package representation for the
# product
fhir:MedicinalProductDefinition.administrableProduct @<MedicinalProductDefinition.administrableProduct>*; # The product in its final form,
# mixed from its components if
# necessary, and ready to be
# administered to the patient. Also
# known as the 'Pharmaceutical
# Product'. Can repeat, for cases
# where the product has components
# that result in more than one
# administrable item
fhir:index xsd:integer? # Relative position in a list
}
# The product's name, including full name and possibly coded parts
<MedicinalProductDefinition.name> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.name.productName @<string>; # The full product name
fhir:MedicinalProductDefinition.name.type @<CodeableConcept>?; # Type of product name, such as
# rINN, BAN, Proprietary,
# Non-Proprietary
fhir:MedicinalProductDefinition.name.namePart @<MedicinalProductDefinition.name.namePart>*; # Coding words or phrases of the name
fhir:MedicinalProductDefinition.name.countryLanguage @<MedicinalProductDefinition.name.countryLanguage>*; # Country where the name applies
fhir:index xsd:integer? # Relative position in a list
}
# A product specific contact, person (in a role), or an organization
<MedicinalProductDefinition.contact> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.contact.type @<CodeableConcept>?; # Allows the contact to be
# classified, for example QPPV,
# Pharmacovigilance Enquiry
# Information
fhir:MedicinalProductDefinition.contact.contact @<Reference>; # A product specific contact, person
# (in a role), or an organization
fhir:index xsd:integer? # Relative position in a list
}
# A manufacturing or administrative process or step associated with (or performed on) the medicinal product
<MedicinalProductDefinition.operation> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.operation.type @<CodeableReference>?; # The type of manufacturing
# operation e.g. manufacturing
# itself, re-packaging. This may be
# a subtype of some other wider
# scope of authorized operation,
# referenced by the authorization
# attribute
fhir:MedicinalProductDefinition.operation.effectiveDate @<Period>?; # Date range of applicability
fhir:MedicinalProductDefinition.operation.organization @<Reference>*; # The organization or establishment
# responsible for (or associated
# with) the particular process or
# step, examples include the
# manufacturer, importer, agent
fhir:MedicinalProductDefinition.operation.authorization @<Reference>?; # An authorization for this process,
# either as a logical reference,
# holding just an identifier, or a
# full reference to a resource that
# captures the details. The
# authorization may possibly apply
# to several products or a wider
# scope of process of which this is
# a part
fhir:MedicinalProductDefinition.operation.confidentialityIndicator @<CodeableConcept>?; # Specifies whether this particular
# business or manufacturing process
# is considered proprietary or
# confidential
fhir:index xsd:integer? # Relative position in a list
}
# The product in its final form, mixed from its components if necessary, and ready to be administered to the patient. Also known as the 'Pharmaceutical Product'. Can repeat, for cases where the product has components that result in more than one administrable item
<MedicinalProductDefinition.administrableProduct> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.administrableProduct.route @<CodeableConcept>*; # The path by which the product is
# taken into or makes contact with
# the body. In some regions this is
# referred to as the licenced or
# approved route
fhir:MedicinalProductDefinition.administrableProduct.product @<Reference>?; # Full description of the
# administrable product
fhir:index xsd:integer? # Relative position in a list
}
# Reference to another product, e.g. for linking authorised to investigational product
<MedicinalProductDefinition.crossReference> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.crossReference.product @<CodeableReference>; # Reference to another product, e.g.
# for linking authorised to
# investigational product
fhir:MedicinalProductDefinition.crossReference.type @<CodeableConcept>?; # The type of relationship, for
# instance branded to generic,
# product to development product
# (investigational), parallel import
# version
fhir:index xsd:integer? # Relative position in a list
}
# Package representation for the product
<MedicinalProductDefinition.package> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.package.type @<CodeableConcept>?; # A descriptive type for this
# package, such as box, carton or
# bottle
( # The amount of items, or of
# substance, in the package
fhir:MedicinalProductDefinition.package.sizeQuantity @<Quantity> |
fhir:MedicinalProductDefinition.package.sizeInteger @<integer>
)?;
fhir:MedicinalProductDefinition.package.package @<Reference>?; # Full package representation for
# the product
fhir:index xsd:integer? # Relative position in a list
}
# Country where the name applies
<MedicinalProductDefinition.name.countryLanguage> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.name.countryLanguage.country @<CodeableConcept>; # Country code for where this name
# applies
fhir:MedicinalProductDefinition.name.countryLanguage.jurisdiction @<CodeableConcept>?; # Jurisdiction code for where this
# name applies
fhir:MedicinalProductDefinition.name.countryLanguage.language @<CodeableConcept>; # Language code for this name
fhir:index xsd:integer? # Relative position in a list
}
# Coding words or phrases of the name
<MedicinalProductDefinition.name.namePart> CLOSED {
fhir:Element.id @<id>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MedicinalProductDefinition.name.namePart.part @<string>; # A fragment of a product name
fhir:MedicinalProductDefinition.name.namePart.type @<CodeableConcept>; # Identifying type for this part of
# the name (e.g. strength part)
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Data Types -------------------
# Primitive Type dateTime
<dateTime> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:value @<dateTime>?; # Primitive value for dateTime
fhir:index xsd:integer? # Relative position in a list
}
# Metadata about a resource
<Meta> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # Primitive value for string
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>?; # Unique id for inter-element
# referencing
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
}
# Base Resource
<Resource> {a .+;
fhir:Resource.id @<id>?; # Logical id of this artifact
fhir:Resource.meta @<Meta>?; # Metadata about the resource
fhir:Resource.implicitRules @<uri>?; # A set of rules under which this
# content was created
fhir:Resource.language @<code>?; # Language of the resource content
fhir:index xsd:integer?
}
# Time range defined by start and end date/time
<Period> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Period.start @<dateTime>?; # Starting time with inclusive
# boundary
fhir:Period.end @<dateTime>?; # End time with inclusive boundary,
# if not ongoing
fhir:index xsd:integer? # Relative position in a list
}
# A measured or measurable amount
<Quantity> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > | ad - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
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>*; # Additional content defined by
# implementations
fhir:value @<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>*; # Additional content defined by
# implementations
fhir:value @<uri>?; # 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 @<uri>;
(
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.valueInteger64 @<integer64> |
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:Extension.valueMeta @<Meta>
)?;
fhir:index xsd:integer? # Relative position in a list
}
# The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available
<MarketingStatus> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneType.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:MarketingStatus.country @<CodeableConcept>?; # The country in which the marketing
# authorisation has been granted
# shall be specified It should be
# specified using the ISO 3166 ‑ 1
# alpha-2 code elements
fhir:MarketingStatus.jurisdiction @<CodeableConcept>?; # Where a Medicines Regulatory
# Agency has granted a marketing
# authorisation for which specific
# provisions within a jurisdiction
# apply, the jurisdiction can be
# specified using an appropriate
# controlled terminology The
# controlled term and the controlled
# term identifier shall be specified
fhir:MarketingStatus.status @<CodeableConcept>; # This attribute provides
# information on the status of the
# marketing of the medicinal product
# See ISO/TS 20443 for more
# information and examples
fhir:MarketingStatus.dateRange @<Period>?; # The date when the Medicinal
# Product is placed on the market by
# the Marketing Authorisation Holder
# (or where applicable, the
# manufacturer/distributor) in a
# country and/or jurisdiction shall
# be provided A complete date
# consisting of day, month and year
# shall be specified using the ISO
# 8601 date format NOTE “Placed on
# the market” refers to the release
# of the Medicinal Product into the
# distribution chain
fhir:MarketingStatus.restoreDate @<dateTime>?; # The date when the Medicinal
# Product is placed on the market by
# the Marketing Authorisation Holder
# (or where applicable, the
# manufacturer/distributor) in a
# country and/or jurisdiction shall
# be provided A complete date
# consisting of day, month and year
# shall be specified using the ISO
# 8601 date format NOTE “Placed on
# the market” refers to the release
# of the Medicinal Product into the
# distribution chain
fhir:index xsd:integer? # Relative position in a list
}
# An identifier intended for computation
<Identifier> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>?; # Description of identifier
fhir:Identifier.system @<uri>?; # The namespace for the identifier
# value
fhir:Identifier.value @<string>?; # The value that is unique
fhir:Identifier.period @<Period>?; # Time period when id is/was valid
# for use
fhir:Identifier.assigner @<Reference>?; # Organization that issued id (may
# be just text)
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>?; # Unique id for inter-element
# referencing
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
}
# Reference to a resource or a concept
<CodeableReference> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:CodeableReference.concept @<CodeableConcept>?; # Reference to a concept (by class)
fhir:CodeableReference.reference @<Reference>?; # Reference to a resource (by
# instance)
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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # Primitive value for markdown
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>*; # Additional content defined by
# implementations
fhir:value @<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>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<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>?; # Unique id for inter-element
# referencing
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>?; # Text representation of the address
fhir:Address.line @<string>*; # Street name, number, direction &
# P.O. Box etc.
fhir:Address.city @<string>?; # Name of city, town etc.
fhir:Address.district @<string>?; # District name (aka county)
fhir:Address.state @<string>?; # Sub-unit of country (abbreviations
# ok)
fhir:Address.postalCode @<string>?; # Postal code for area
fhir:Address.country @<string>?; # Country (e.g. may be ISO 3166 2 or
# 3 letter code)
fhir:Address.period @<Period>?; # Time period when address was/is in
# use
fhir:index xsd:integer? # Relative position in a list
}
# Content in a format defined elsewhere
<Attachment> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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 @<integer64>?; # 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>?; # Date attachment was first created
fhir:Attachment.height @<positiveInt>?; # Height of the image in pixels
# (photo/video)
fhir:Attachment.width @<positiveInt>?; # Width of the image in pixels
# (photo/video)
fhir:Attachment.frames @<positiveInt>?; # Number of frames if > 1 (photo)
fhir:Attachment.duration @<decimal>?; # Length in seconds (audio / video)
fhir:Attachment.pages @<positiveInt>?; # Number of printed pages
fhir:index xsd:integer? # Relative position in a list
}
# A measured or measurable amount
<Count> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > | ad - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Describes a required data item
<DataRequirement> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneType.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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # Primitive value for uuid
fhir:index xsd:integer? # Relative position in a list
}
# A reference to a code defined by a terminology system
<Coding> CLOSED {
a NONLITERAL?;
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Coding.system @<uri>?; # Identity of the terminology system
fhir:Coding.version @<string>?; # Version of the system - if relevant
fhir:Coding.code @<code>?; # Symbol in syntax defined by the
# system
fhir:Coding.display @<string>?; # Representation defined by the
# system
fhir:Coding.userSelected @<boolean>?; # If this coding was chosen directly
# by the user
fhir:index xsd:integer? # Relative position in a list
}
# A series of measurements taken by a device
<SampledData> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # 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>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > | ad - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type integer64
<integer64> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:value @<integer64>?; # Primitive value for integer64
fhir:index xsd:integer? # Relative position in a list
}
# A length of time
<Duration> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > | ad - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # Primitive value for canonical
fhir:index xsd:integer? # Relative position in a list
}
# Set of values bounded by low and high
<Range> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Range.low @<SimpleQuantity>?; # Low limit
fhir:Range.high @<SimpleQuantity>?; # High limit
fhir:index xsd:integer? # Relative position in a list
}
# Related artifacts for a knowledge resource
<RelatedArtifact> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<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>?; # Unique id for inter-element
# referencing
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
}
# A timing schedule that specifies an event that may occur multiple times
<Timing> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:BackboneType.modifierExtension @<Extension>*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Timing.event @<dateTime>*; # When the event occurs
fhir:Timing.repeat @<Timing.repeat>?; # When the event is to occur
fhir:Timing.code @<CodeableConcept>?; # C | 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>*; # Additional content defined by
# implementations
fhir:value @<decimal>?; # 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>?; # Unique id for inter-element
# referencing
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
}
# Contributor information
<Contributor> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<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>*; # Additional content defined by
# implementations
fhir:value @<instant>?; # 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>?; # Unique id for inter-element
# referencing
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>?; # The actual contact point details
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>?; # Time period when the contact point
# was/is in use
fhir:index xsd:integer? # Relative position in a list
}
# Name of a human - parts and usage
<HumanName> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>?; # Unique id for inter-element
# referencing
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
}
# A ratio of two Quantity values - a numerator and a denominator
<Ratio> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Ratio.numerator @<Quantity>?; # Numerator value
fhir:Ratio.denominator @<SimpleQuantity>?; # Denominator value
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>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > | ad - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Defines an expected trigger for a module
<TriggerDefinition> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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
}
# Primitive Type url
<url> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:value @<string>?; # Primitive value for url
fhir:index xsd:integer? # Relative position in a list
}
# Text node with attribution
<Annotation> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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>?; # Unique id for inter-element
# referencing
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>*; # Additional content defined by
# implementations
fhir:value @<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>?; # Unique id for inter-element
# referencing
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>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Signature.type @<Coding>+; # Indication of the reason the
# entity signed the object(s)
fhir:Signature.when @<instant>; # When the signature was created
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>*; # Additional content defined by
# implementations
fhir:value @<string>?; # 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>*; # Additional content defined by
# implementations
fhir:value @<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>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Amount of medication administered
<Dosage.doseAndRate> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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
}
# Order of the results
<DataRequirement.sort> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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
}
# When the event is to occur
<Timing.repeat> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
fhir:Element.extension @<Extension>*; # Additional content defined by
# implementations
( # Length/Range of lengths, or (Start
# and/or end) limits
fhir:Timing.repeat.boundsDuration @<Duration> |
fhir:Timing.repeat.boundsRange @<Range> |
fhir:Timing.repeat.boundsPeriod @<Period>
)?;
fhir:Timing.repeat.count @<positiveInt>?; # Number of times to repeat
fhir:Timing.repeat.countMax @<positiveInt>?; # Maximum number of times to repeat
fhir:Timing.repeat.duration @<decimal>?; # How long when it happens
fhir:Timing.repeat.durationMax @<decimal>?; # How long when it happens (Max)
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>?; # Indicates the number of
# repetitions that should occur
# within a period. I.e. Event occurs
# frequency times per period
fhir:Timing.repeat.frequencyMax @<positiveInt>?; # Event occurs up to frequencyMax
# times per period
fhir:Timing.repeat.period @<decimal>?; # The duration to which the
# frequency applies. I.e. Event
# occurs frequency times per period
fhir:Timing.repeat.periodMax @<decimal>?; # Upper limit of period (3-4 hours)
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
}
# What dates/date ranges are expected
<DataRequirement.dateFilter> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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
}
# What codes are expected
<DataRequirement.codeFilter> CLOSED {
fhir:Element.id @<string>?; # Unique id for inter-element
# referencing
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
}
#---------------------- Reference Types -------------------
#---------------------- Value Sets ------------------------
# The days of the week.
fhirvs:days-of-week ["mon" "tue" "wed" "thu" "fri" "sat" "sun"]
# The possible sort directions, ascending or descending.
fhirvs:sort-direction ["ascending" "descending"]
# How the Quantity should be understood and represented.
fhirvs:quantity-comparator ["<" "<=" ">=" ">" "ad"]
# The type of relationship to the related artifact.
fhirvs:related-artifact-type ["documentation" "justification" "citation" "predecessor" "successor" "derived-from" "depends-on" "composed-of"]
# Telecommunications form for contact point.
fhirvs:contact-point-system ["phone" "fax" "email" "pager" "url" "sms" "other"]
# Identifies the purpose for this identifier, if known .
fhirvs:identifier-use ["usual" "official" "temp" "secondary" "old"]
# Whether an operation parameter is an input or an output parameter.
fhirvs:operation-parameter-use ["in" "out"]
# Use of contact point.
fhirvs:contact-point-use ["home" "work" "temp" "old" "mobile"]
# The use of a human name.
fhirvs:name-use ["usual" "official" "temp" "nickname" "anonymous" "old" "maiden"]
# 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"]
# This value set includes all possible codes from BCP-13 (http://tools.ietf.org/html/bcp13)
fhirvs:mimetypes EXTERNAL
# The type of an address (physical / postal).
fhirvs:address-type ["postal" "physical" "both"]
# The use of an address.
fhirvs:address-use ["home" "work" "temp" "old" "billing"]
# A unit of time (units from UCUM).
fhirvs:units-of-time ["s" "min" "h" "d" "wk" "mo" "a"]
# The type of contributor.
fhirvs:contributor-type ["author" "editor" "reviewer" "endorser"]
# The type of trigger.
fhirvs:trigger-type ["named-event" "periodic" "data-changed" "data-added" "data-modified" "data-removed" "data-accessed" "data-access-ended"]
# 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" "BackboneType" "Base" "CodeableConcept" "CodeableReference" "Coding" "ContactDetail" "ContactPoint" "Contributor" "Count" "DataRequirement" "DataType" "Distance" "Dosage" "Duration" "Element" "ElementDefinition" "Expression" "Extension" "HumanName" "Identifier" "MarketingStatus" "Meta" "Money" "MoneyQuantity" "Narrative" "OrderedDistribution" "ParameterDefinition" "Period" "Population" "PrimitiveType" "ProdCharacteristic" "ProductShelfLife" "Quantity" "Range" "Ratio" "RatioRange" "Reference" "RelatedArtifact" "SampledData" "Signature" "SimpleQuantity" "Statistic" "Timing" "TriggerDefinition" "UsageContext" "base64Binary" "boolean" "canonical" "code" "date" "dateTime" "decimal" "id" "instant" "integer" "integer64" "markdown" "oid" "positiveInt" "string" "time" "unsignedInt" "uri" "url" "uuid" "xhtml" "Account" "ActivityDefinition" "AdministrableProductDefinition" "AdverseEvent" "AllergyIntolerance" "Appointment" "AppointmentResponse" "AuditEvent" "Basic" "Binary" "BiologicallyDerivedProduct" "BodyStructure" "Bundle" "CanonicalResource" "CapabilityStatement" "CapabilityStatement2" "CarePlan" "CareTeam" "CatalogEntry" "ChargeItem" "ChargeItemDefinition" "Citation" "Claim" "ClaimResponse" "ClinicalImpression" "ClinicalUseIssue" "CodeSystem" "Communication" "CommunicationRequest" "CompartmentDefinition" "Composition" "ConceptMap" "Condition" "ConditionDefinition" "Consent" "Contract" "Coverage" "CoverageEligibilityRequest" "CoverageEligibilityResponse" "DetectedIssue" "Device" "DeviceDefinition" "DeviceMetric" "DeviceRequest" "DeviceUsage" "DiagnosticReport" "DocumentManifest" "DocumentReference" "DomainResource" "Encounter" "Endpoint" "EnrollmentRequest" "EnrollmentResponse" "EpisodeOfCare" "EventDefinition" "Evidence" "EvidenceReport" "EvidenceVariable" "ExampleScenario" "ExplanationOfBenefit" "FamilyMemberHistory" "Flag" "Goal" "GraphDefinition" "Group" "GuidanceResponse" "HealthcareService" "ImagingStudy" "Immunization" "ImmunizationEvaluation" "ImmunizationRecommendation" "ImplementationGuide" "Ingredient" "InsurancePlan" "InventoryReport" "Invoice" "Library" "Linkage" "List" "Location" "ManufacturedItemDefinition" "Measure" "MeasureReport" "Medication" "MedicationAdministration" "MedicationDispense" "MedicationKnowledge" "MedicationRequest" "MedicationUsage" "MedicinalProductDefinition" "MessageDefinition" "MessageHeader" "MetadataResource" "MolecularSequence" "NamingSystem" "NutritionIntake" "NutritionOrder" "NutritionProduct" "Observation" "ObservationDefinition" "OperationDefinition" "OperationOutcome" "Organization" "OrganizationAffiliation" "PackagedProductDefinition" "Parameters" "Patient" "PaymentNotice" "PaymentReconciliation" "Permission" "Person" "PlanDefinition" "Practitioner" "PractitionerRole" "Procedure" "Provenance" "Questionnaire" "QuestionnaireResponse" "RegulatedAuthorization" "RelatedPerson" "RequestGroup" "ResearchStudy" "ResearchSubject" "Resource" "RiskAssessment" "Schedule" "SearchParameter" "ServiceRequest" "Slot" "Specimen" "SpecimenDefinition" "StructureDefinition" "StructureMap" "Subscription" "SubscriptionStatus" "SubscriptionTopic" "Substance" "SubstanceDefinition" "SubstanceNucleicAcid" "SubstancePolymer" "SubstanceProtein" "SubstanceReferenceInformation" "SubstanceSourceMaterial" "SupplyDelivery" "SupplyRequest" "Task" "TerminologyCapabilities" "TestReport" "TestScript" "ValueSet" "VerificationResult" "VisionPrescription" "Type" "Any"]
# 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" "IMD" "HS" "WAKE" "C" "CM" "CD" "CV" "AC" "ACM" "ACD" "ACV" "PC" "PCM" "PCD" "PCV"]
Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.