PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
BASE
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Immunization event information
CLOSED {
a [fhir:Immunization];
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:Immunization.identifier @*; # Business identifier
fhir:Immunization.status @ AND
{fhir:value @fhirvs:immunization-status}; # completed | entered-in-error |
# not-done
fhir:Immunization.statusReason @?; # Reason not done
fhir:Immunization.vaccineCode @; # Vaccine product administered
fhir:Immunization.patient @; # Who was immunized
fhir:Immunization.encounter @?; # Encounter immunization was part of
( # Vaccine administration date
fhir:Immunization.occurrenceDateTime @ |
fhir:Immunization.occurrenceString @
);
fhir:Immunization.recorded @?; # When the immunization was first
# captured in the subject's record
fhir:Immunization.primarySource @?; # Indicates context the data was
# recorded in
fhir:Immunization.reportOrigin @?; # Indicates the source of a
# secondarily reported record
fhir:Immunization.location @?; # Where immunization occurred
fhir:Immunization.manufacturer @?; # Vaccine manufacturer
fhir:Immunization.lotNumber @?; # Vaccine lot number
fhir:Immunization.expirationDate @?; # Vaccine expiration date
fhir:Immunization.site @?; # Body site vaccine was administered
fhir:Immunization.route @?; # How vaccine entered body
fhir:Immunization.doseQuantity @?; # Amount of vaccine administered
fhir:Immunization.performer @*; # Who performed event
fhir:Immunization.note @*; # Additional immunization notes
fhir:Immunization.reasonCode @*; # Why immunization occurred
fhir:Immunization.reasonReference @*; # Why immunization occurred
fhir:Immunization.isSubpotent @?; # Dose potency
fhir:Immunization.subpotentReason @*; # Reason for being subpotent
fhir:Immunization.education @*; # Educational material presented to
# patient
fhir:Immunization.programEligibility @*; # Patient eligibility for a
# vaccination program
fhir:Immunization.fundingSource @?; # Funding source for the vaccine
fhir:Immunization.reaction @*; # Details of a reaction that follows
# immunization
fhir:Immunization.protocolApplied @*; # Protocol followed by the provider
fhir:index xsd:integer? # Relative position in a list
}
# Details of a reaction that follows immunization
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:Immunization.reaction.date @?; # When reaction started
fhir:Immunization.reaction.detail @?; # Additional information on reaction
fhir:Immunization.reaction.reported @?; # Indicates self-reported reaction
fhir:index xsd:integer? # Relative position in a list
}
# Who performed event
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:Immunization.performer.function @?; # What type of performance was done
fhir:Immunization.performer.actor @; # Individual or organization who was
# performing
fhir:index xsd:integer? # Relative position in a list
}
# Protocol followed by the provider
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:Immunization.protocolApplied.series @?; # Name of vaccine series
fhir:Immunization.protocolApplied.authority @?; # Who is responsible for publishing
# the recommendations
fhir:Immunization.protocolApplied.targetDisease @*; # Vaccine preventatable disease
# being targetted
( # Dose number within series
fhir:Immunization.protocolApplied.doseNumberPositiveInt @ |
fhir:Immunization.protocolApplied.doseNumberString @
);
( # Recommended number of doses for
# immunity
fhir:Immunization.protocolApplied.seriesDosesPositiveInt @ |
fhir:Immunization.protocolApplied.seriesDosesString @
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Educational material presented to patient
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:Immunization.education.documentType @?; # Educational material document
# identifier
fhir:Immunization.education.reference @?; # Educational material reference
# pointer
fhir:Immunization.education.publicationDate @?; # Educational material publication
# date
fhir:Immunization.education.presentationDate @?; # Educational material presentation
# date
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 fixed quantity (no comparator)
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.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 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
}
# Text node with attribution
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
( # Individual responsible for the
# annotation
fhir:Annotation.authorReference @ |
fhir:Annotation.authorString @
)?;
fhir:Annotation.time @?; # When the annotation was made
fhir:Annotation.text @; # The annotation - text content (as
# markdown)
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 @