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 @