PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
BASE
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# A medically related item or items, in a container or package
CLOSED {
a [fhir:PackagedProductDefinition];
fhir:nodeRole [fhir:treeRoot]?;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:DomainResource.text @?; # Text summary of the resource, for
# human interpretation
fhir:DomainResource.contained @*; # Contained, inline Resources
fhir:DomainResource.extension @*; # Additional content defined by
# implementations
fhir:DomainResource.modifierExtension @*; # Extensions that cannot be ignored
fhir:PackagedProductDefinition.identifier @*; # A unique identifier for this
# package as whole
fhir:PackagedProductDefinition.name @?; # A name for this package. Typically
# as listed in a drug formulary,
# catalogue, inventory etc
fhir:PackagedProductDefinition.type @?; # A high level category e.g.
# medicinal product, raw material,
# shipping container etc
fhir:PackagedProductDefinition.packageFor @*; # The product that this is a pack for
fhir:PackagedProductDefinition.status @?; # The status within the lifecycle of
# this item. High level - not
# intended to duplicate details
# elsewhere e.g. legal status, or
# authorization/marketing status
fhir:PackagedProductDefinition.statusDate @?; # The date at which the given status
# became applicable
fhir:PackagedProductDefinition.containedItemQuantity @*; # A total of the complete count of
# contained items of a particular
# type/form, independent of
# sub-packaging or organization.
# This can be considered as the pack
# size
fhir:PackagedProductDefinition.description @?; # Textual description. Note that
# this is not the name of the
# package or product
fhir:PackagedProductDefinition.legalStatusOfSupply @*; # The legal status of supply of the
# packaged item as classified by the
# regulator
fhir:PackagedProductDefinition.marketingStatus @*; # Allows specifying that an item is
# on the market for sale, or that it
# is not available, and the dates
# and locations associated
fhir:PackagedProductDefinition.characteristic @*; # Allows the key features to be
# recorded, such as "hospital pack",
# "nurse prescribable"
fhir:PackagedProductDefinition.copackagedIndicator @?; # If the drug product is supplied
# with another item such as a
# diluent or adjuvant
fhir:PackagedProductDefinition.manufacturer @*; # Manufacturer of this package type
# (multiple means these are all
# possible manufacturers)
fhir:PackagedProductDefinition.package @?; # A packaging item, as a container
# for medically related items,
# possibly with other packaging
# items within, or a packaging
# component, such as bottle cap
fhir:index xsd:integer? # Relative position in a list
}
# A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:PackagedProductDefinition.package.identifier @*; # An identifier that is specific to
# this particular part of the
# packaging. Including possibly a
# Data Carrier Identifier
fhir:PackagedProductDefinition.package.type @?; # The physical type of the container
# of the items
fhir:PackagedProductDefinition.package.quantity @?; # The quantity of this level of
# packaging in the package that
# contains it (with the outermost
# level being 1)
fhir:PackagedProductDefinition.package.material @*; # Material type of the package item
fhir:PackagedProductDefinition.package.alternateMaterial @*; # A possible alternate material for
# this part of the packaging, that
# is allowed to be used instead of
# the usual material
fhir:PackagedProductDefinition.package.shelfLifeStorage @*; # Shelf Life and storage information
fhir:PackagedProductDefinition.package.manufacturer @*; # Manufacturer of this package Item
# (multiple means these are all
# possible manufacturers)
fhir:PackagedProductDefinition.package.property @*; # General characteristics of this
# item
fhir:PackagedProductDefinition.package.containedItem @*; # The item(s) within the packaging
fhir:PackagedProductDefinition.package.package @*; # Allows containers (and parts of
# containers) within containers,
# still a single packaged product
fhir:index xsd:integer? # Relative position in a list
}
# The legal status of supply of the packaged item as classified by the regulator
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:PackagedProductDefinition.legalStatusOfSupply.code @?; # The actual status of supply. In
# what situation this package type
# may be supplied for use
fhir:PackagedProductDefinition.legalStatusOfSupply.jurisdiction @?; # The place where the legal status
# of supply applies
fhir:index xsd:integer? # Relative position in a list
}
# The item(s) within the packaging
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:PackagedProductDefinition.package.containedItem.item @; # The actual item(s) of medication,
# as manufactured, or a device, or
# other medically related item
# (food, biologicals, raw materials,
# medical fluids, gases etc.), as
# contained in the package
fhir:PackagedProductDefinition.package.containedItem.amount @?; # The number of this type of item
# within this packaging
fhir:index xsd:integer? # Relative position in a list
}
# Allows containers (and parts of containers) within containers, still a single packaged product
CLOSED {
fhir:index xsd:integer? # Relative position in a list
}
# General characteristics of this item
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:PackagedProductDefinition.package.property.type @; # A code expressing the type of
# characteristic
( # A value for the characteristic
fhir:PackagedProductDefinition.package.property.valueCodeableConcept @ |
fhir:PackagedProductDefinition.package.property.valueQuantity @ |
fhir:PackagedProductDefinition.package.property.valueDate @ |
fhir:PackagedProductDefinition.package.property.valueBoolean @ |
fhir:PackagedProductDefinition.package.property.valueAttachment @
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Shelf Life and storage information
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:PackagedProductDefinition.package.shelfLifeStorage.type @?; # This describes the shelf life,
# taking into account various
# scenarios such as shelf life of
# the packaged Medicinal Product
# itself, shelf life after
# transformation where necessary and
# shelf life after the first opening
# of a bottle, etc. The shelf life
# type shall be specified using an
# appropriate controlled vocabulary
# The controlled term and the
# controlled term identifier shall
# be specified
( # The shelf life time period can be
# specified using a numerical value
# for the period of time and its
# unit of time measurement The unit
# of measurement shall be specified
# in accordance with ISO 11240 and
# the resulting terminology The
# symbol and the symbol identifier
# shall be used
fhir:PackagedProductDefinition.package.shelfLifeStorage.periodDuration @ |
fhir:PackagedProductDefinition.package.shelfLifeStorage.periodString @
)?;
fhir:PackagedProductDefinition.package.shelfLifeStorage.specialPrecautionsForStorage @*; # Special precautions for storage,
# if any, can be specified using an
# appropriate controlled vocabulary.
# The controlled term and the
# controlled term identifier shall
# be specified
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Data Types -------------------
# Primitive Type dateTime
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value dateTime?; # Primitive value for dateTime
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type date
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value date?; # Primitive value for date
fhir:index xsd:integer? # Relative position in a list
}
# Metadata about a resource
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Meta.versionId @?; # Version specific identifier
fhir:Meta.lastUpdated @?; # When the resource version last
# changed
fhir:Meta.source @?; # Identifies where the resource
# comes from
fhir:Meta.profile @*; # Profiles this resource claims to
# conform to
fhir:Meta.security @*; # Security Labels applied to this
# resource
fhir:Meta.tag @*; # Tags applied to this resource
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type code
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value code?; # Primitive value for code
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type string
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value string MAXLENGTH 1048576?; # Primitive value for string
fhir:index xsd:integer? # Relative position in a list
}
# A reference from one resource to another
CLOSED {
fhir:link IRI?;
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Reference.reference @?; # Literal reference, Relative,
# internal or absolute URL
fhir:Reference.type @?; # Type the reference refers to (e.g.
# "Patient")
fhir:Reference.identifier @?; # Logical reference, when literal
# reference is not known
fhir:Reference.display @?; # Text alternative for the resource
fhir:index xsd:integer? # Relative position in a list
}
# Base Resource
{a .+;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:index xsd:integer?
}
# A measured or measurable amount
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @ AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Content in a format defined elsewhere
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Attachment.contentType @ AND
{fhir:value @fhirvs:mimetypes}?; # Mime type of the content, with
# charset etc.
fhir:Attachment.language @?; # Human language of the content
# (BCP-47)
fhir:Attachment.data @?; # Data inline, base64ed
fhir:Attachment.url @?; # Uri where the data can be found
fhir:Attachment.size @?; # Number of bytes of content (if url
# provided)
fhir:Attachment.hash @?; # Hash of the data (sha-1, base64ed)
fhir:Attachment.title @?; # Label to display in place of the
# data
fhir:Attachment.creation @?; # Date attachment was first created
fhir:index xsd:integer? # Relative position in a list
}
# A length of time
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @ AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type integer
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value integer MININCLUSIVE -2147483648 MAXINCLUSIVE 2147483647?; # Primitive value for integer
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type uri
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value uri?; # Primitive value for uri
fhir:index xsd:integer? # Relative position in a list
}
# Optional Extensions Element
CLOSED {
fhir:Element.id id?;
fhir:Element.extension @*;
fhir:Extension.url uri;
(
fhir:Extension.valueBase64Binary @ |
fhir:Extension.valueBoolean @ |
fhir:Extension.valueCanonical @ |
fhir:Extension.valueCode @ |
fhir:Extension.valueDate @ |
fhir:Extension.valueDateTime @ |
fhir:Extension.valueDecimal @ |
fhir:Extension.valueId @ |
fhir:Extension.valueInstant @ |
fhir:Extension.valueInteger @ |
fhir:Extension.valueMarkdown @ |
fhir:Extension.valueOid @ |
fhir:Extension.valuePositiveInt @ |
fhir:Extension.valueString @ |
fhir:Extension.valueTime @