Foundation
This
page
is
part
of
the
Continuous
Integration
Build
of
FHIR
Specification
(v5.0.0:
R5
-
STU
).
This
is
the
current
published
version
in
it's
permanent
home
(it
will
always
(will
be
available
incorrect/inconsistent
at
this
URL).
For
a
full
list
of
available
versions,
see
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
| Responsible Owner: Orders and Observations Work Group | Standards Status : Informative | Compartments : Device , Encounter , Group , Patient , Practitioner , RelatedPerson |
ShEx statement for observation
PREFIX fhir: <http://hl7.org/fhir/> PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>IMPORT <code.shex> IMPORT <time.shex># ShEx Version 2.2 IMPORT <Code.shex> IMPORT <Time.shex> IMPORT <Group.shex> IMPORT <Range.shex> IMPORT <Ratio.shex> IMPORT <Device.shex> IMPORT <Period.shex> IMPORT <Timing.shex>IMPORT <string.shex>IMPORT <String.shex> IMPORT <Patient.shex>IMPORT <instant.shex> IMPORT <boolean.shex> IMPORT <integer.shex>IMPORT <Boolean.shex> IMPORT <Instant.shex> IMPORT <Integer.shex> IMPORT <Location.shex>IMPORT <dateTime.shex>IMPORT <DateTime.shex> IMPORT <Quantity.shex> IMPORT <Specimen.shex>IMPORT <markdown.shex>IMPORT <Markdown.shex> IMPORT <CarePlan.shex> IMPORT <Resource.shex> IMPORT <CareTeam.shex>IMPORT <canonical.shex>IMPORT <Reference.shex> IMPORT <Procedure.shex> IMPORT <Substance.shex> IMPORT <Encounter.shex> IMPORT <Identifier.shex> IMPORT <Medication.shex> IMPORT <Attachment.shex> IMPORT <Annotation.shex> IMPORT <SampledData.shex> IMPORT <Organization.shex> IMPORT <Practitioner.shex> IMPORT <DeviceMetric.shex>IMPORT <GenomicStudy.shex>IMPORT <ImagingStudy.shex> IMPORT <Immunization.shex>IMPORT <BodyStructure.shex>IMPORT <DeviceRequest.shex> IMPORT <RelatedPerson.shex> IMPORT <DomainResource.shex> IMPORT <NutritionOrder.shex> IMPORT <ServiceRequest.shex> IMPORT <CodeableConcept.shex> IMPORT <BackboneElement.shex> IMPORT <NutritionProduct.shex> IMPORT <PractitionerRole.shex> IMPORT <ImagingSelection.shex>IMPORT <MolecularSequence.shex>IMPORT <CodeableReference.shex> IMPORT <MedicationRequest.shex> IMPORT <HealthcareService.shex> IMPORT <DocumentReference.shex> IMPORT <MedicationDispense.shex> IMPORT <MedicationStatement.shex> IMPORT <QuestionnaireResponse.shex> IMPORT <MedicationAdministration.shex> IMPORT <BiologicallyDerivedProduct.shex>IMPORT <ImmunizationRecommendation.shex>start=@<Observation> AND {fhir:nodeRole [fhir:treeRoot]} # Measurements and simple assertions <Observation> EXTENDS @<DomainResource> CLOSED {a [fhir:Observation]?; fhir:nodeRole [fhir:treeRoot]?;a [fhir:Observation]?;fhir:nodeRole [fhir:treeRoot]?; fhir:identifier @<OneOrMore_Identifier>?; # Business Identifier for observationfhir:instantiates (@<canonical> AND {fhir:link @<ObservationDefinition> }) OR (@<Reference> AND {fhir:link @<ObservationDefinition> }) ?; # Instantiates FHIR # ObservationDefinition fhir:basedOn @<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_ImmunizationRecommendation_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest>?; # Fulfills plan, proposal or orderfhir:basedOn @<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest>?; # Fulfills plan, proposal or order fhir:triggeredBy @<OneOrMore_Observation.triggeredBy>?; # Triggering observation(s)fhir:partOf @<OneOrMore_Reference_GenomicStudy_OR_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure>?; # Part of referenced event fhir:status @<code> AND {fhir:v @fhirvs:observation-status}; # registered | preliminary | final | # amended +fhir:partOf @<OneOrMore_Reference_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure>?; # Part of referenced event fhir:status @<Code> AND {fhir:v @fhirvs:observation-status}; # registered | specimen-in-process | # preliminary | final | amended | # corrected | appended | cancelled | # entered-in-error | unknown | # cannot-be-obtained fhir:category @<OneOrMore_CodeableConcept>?; # Classification of type of # observation fhir:code @<CodeableConcept>; # Type of observation (code / type)fhir:subject @<Reference> AND {fhir:linkfhir:subject @<Reference> AND {fhir:l @<BiologicallyDerivedProduct> OR @<Device> OR @<Group> OR @<Location> OR @<Medication> OR @<NutritionProduct> OR @<Organization> OR @<Patient> OR @<Practitioner> OR @<Procedure> OR @<Substance> ? }?; # Who and/or what the observation is # about fhir:focus @<OneOrMore_Reference_Resource>?; # What the observation is about, # when it is not about the subject # of recordfhir:encounter @<Reference> AND {fhir:linkfhir:organizer @<Boolean>?; # This observation organizes/groups # a set of sub-observations fhir:encounter @<Reference> AND {fhir:l @<Encounter> ? }?; # Healthcare event during which this# observation is made fhir:effective @<dateTime> OR# observation is made. If you need # to place the observation within # one or more episodes of care, use # the workflow-episodeOfCare # extension fhir:effective @<DateTime> OR @<Period> OR @<Timing> OR@<instant> ?; # Clinically relevant@<Instant> ?; # Clinically relevant # time/time-period for observationfhir:issued @<instant>?; # Date/Time this version was madefhir:issued @<Instant>?; # Date/Time this version was made # availablefhir:performer @<OneOrMore_Reference_CareTeam_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson>?; # Who is responsible for thefhir:performer @<OneOrMore_Reference_CareTeam_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson>?; # Who is responsible for the # observation fhir:value @<Quantity> OR @<CodeableConcept> OR@<string> OR @<boolean> OR @<integer> OR@<String> OR @<Boolean> OR @<Integer> OR @<Range> OR @<Ratio> OR @<SampledData> OR@<time> OR @<dateTime> OR@<Time> OR @<DateTime> OR @<Period> OR @<Attachment> OR(@<Reference> AND {fhir:link @<MolecularSequence> }) ?; # Actual result fhir:dataAbsentReason @<CodeableConcept>?; # Why the result is missing@<Reference> ?; # Actual result fhir:dataAbsentReason @<CodeableConcept>?; # Why the result value is missing fhir:interpretation @<OneOrMore_CodeableConcept>?; # High, low, normal, etc fhir:interpretationContext @<OneOrMore_CodeableReference>?; # Context for understanding the # observation fhir:note @<OneOrMore_Annotation>?; # Comments about the observationfhir:bodySite @<CodeableConcept>?; # Observed body part fhir:bodyStructure @<Reference> AND {fhir:link @<BodyStructure> ? }?; # Observed body structurefhir:bodySite @<CodeableConcept>?; # DEPRECATED: Observed body part fhir:bodyStructure @<CodeableReference>?; # Observed body structure fhir:method @<CodeableConcept>?; # How it was donefhir:specimen @<Reference> AND {fhir:linkfhir:specimen @<Reference> AND {fhir:l @<Group> OR @<Specimen> ? }?; # Specimen used for this observationfhir:device @<Reference> AND {fhir:linkfhir:device @<Reference> AND {fhir:l @<Device> OR @<DeviceMetric> ? }?; # A reference to the device that # generates the measurements or the # device settings for the device fhir:referenceRange @<OneOrMore_Observation.referenceRange>?; # Provides guide for interpretationfhir:hasMember @<OneOrMore_Reference_MolecularSequence_OR_Observation_OR_QuestionnaireResponse>?; # Related resource that belongs tofhir:hasMember @<OneOrMore_Reference_Observation_OR_QuestionnaireResponse>?; # Related resource that belongs to # the Observation groupfhir:derivedFrom @<OneOrMore_Reference_DocumentReference_OR_GenomicStudy_OR_ImagingSelection_OR_ImagingStudy_OR_MolecularSequence_OR_Observation_OR_QuestionnaireResponse>?; # Related resource from which thefhir:derivedFrom @<OneOrMore_Reference_DocumentReference_OR_ImagingSelection_OR_ImagingStudy_OR_Observation_OR_QuestionnaireResponse>?; # Related resource from which the # observation is made fhir:component @<OneOrMore_Observation.component>?; # Component results } # Component results <Observation.component> EXTENDS @<BackboneElement> CLOSED { fhir:code @<CodeableConcept>; # Type of component observation # (code / type) fhir:value @<Quantity> OR @<CodeableConcept> OR@<string> OR @<boolean> OR @<integer> OR@<String> OR @<Boolean> OR @<Integer> OR @<Range> OR @<Ratio> OR @<SampledData> OR@<time> OR @<dateTime> OR@<Time> OR @<DateTime> OR @<Period> OR @<Attachment> OR(@<Reference> AND {fhir:link @<MolecularSequence> }) ?; # Actual component result fhir:dataAbsentReason @<CodeableConcept>?; # Why the component result is missing@<Reference> ?; # Actual component result fhir:dataAbsentReason @<CodeableConcept>?; # Why the component result value is # missing fhir:interpretation @<OneOrMore_CodeableConcept>?; # High, low, normal, etc fhir:referenceRange @<OneOrMore_Observation.referenceRange>?; # Provides guide for interpretation# of component result } # Triggering observation(s) <Observation.triggeredBy> EXTENDS @<BackboneElement> CLOSED { fhir:observation @<Reference> AND {fhir:link @<Observation> ? }; # Triggering observation fhir:type @<code> AND {fhir:v @fhirvs:observation-triggeredbytype}; # reflex | repeat | re-run fhir:reason @<string>?; # Reason that the observation was # triggered# of component result value } # Provides guide for interpretation <Observation.referenceRange> EXTENDS @<BackboneElement> CLOSED { fhir:low @<Quantity>?; # Low Range, if relevant fhir:high @<Quantity>?; # High Range, if relevant fhir:normalValue @<CodeableConcept>?; # Normal value, if relevant fhir:type @<CodeableConcept>?; # Reference range qualifier fhir:appliesTo @<OneOrMore_CodeableConcept>?; # Reference range population fhir:age @<Range>?; # Applicable age range, if relevantfhir:text @<markdown>?; # Text based reference range in anfhir:text @<Markdown>?; # Text based reference range in an # observation }#---------------------- Cardinality Types (OneOrMore) -------------------# Triggering observation(s) <Observation.triggeredBy> EXTENDS @<BackboneElement> CLOSED { fhir:observation @<Reference> AND {fhir:l @<Observation> ? }; # Triggering observation fhir:type @<Code> AND {fhir:v @fhirvs:observation-triggeredbytype}; # reflex | repeat | re-run fhir:reason @<String>?; # Reason that the observation was # triggered } #---------------------- Cardinality Types (OneOrMore) ------------------- <OneOrMore_Identifier> CLOSED { rdf:first @<Identifier> ; rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> }<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_ImmunizationRecommendation_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest> CLOSED { rdf:first @<Reference> AND {fhir:link<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest> CLOSED { rdf:first @<Reference> AND {fhir:l @<CarePlan> OR @<DeviceRequest> OR@<ImmunizationRecommendation> OR@<MedicationRequest> OR @<NutritionOrder> OR @<ServiceRequest> } ;rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_ImmunizationRecommendation_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest>rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CarePlan_OR_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest> } <OneOrMore_Observation.triggeredBy> CLOSED { rdf:first @<Observation.triggeredBy> ; rdf:rest [rdf:nil] OR @<OneOrMore_Observation.triggeredBy> }<OneOrMore_Reference_GenomicStudy_OR_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure> CLOSED { rdf:first @<Reference> AND {fhir:link @<GenomicStudy> OR<OneOrMore_Reference_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure> CLOSED { rdf:first @<Reference> AND {fhir:l @<ImagingStudy> OR @<Immunization> OR @<MedicationAdministration> OR @<MedicationDispense> OR @<MedicationStatement> OR @<Procedure> } ;rdf:rest [rdf:nil] OR @<OneOrMore_Reference_GenomicStudy_OR_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure>rdf:rest [rdf:nil] OR @<OneOrMore_Reference_ImagingStudy_OR_Immunization_OR_MedicationAdministration_OR_MedicationDispense_OR_MedicationStatement_OR_Procedure> } <OneOrMore_CodeableConcept> CLOSED { rdf:first @<CodeableConcept> ; rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> } <OneOrMore_Reference_Resource> CLOSED {rdf:first @<Reference> AND {fhir:linkrdf:first @<Reference> AND {fhir:l @<Resource> } ; rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Resource> }<OneOrMore_Reference_CareTeam_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> CLOSED { rdf:first @<Reference> AND {fhir:link<OneOrMore_Reference_CareTeam_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> CLOSED { rdf:first @<Reference> AND {fhir:l @<CareTeam> OR @<Group> OR @<HealthcareService> OR @<Organization> OR @<Patient> OR @<Practitioner> OR @<PractitionerRole> OR @<RelatedPerson> } ;rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CareTeam_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson>rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CareTeam_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> } <OneOrMore_CodeableReference> CLOSED { rdf:first @<CodeableReference> ; rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference> } <OneOrMore_Annotation> CLOSED { rdf:first @<Annotation> ; rdf:rest [rdf:nil] OR @<OneOrMore_Annotation> } <OneOrMore_Observation.referenceRange> CLOSED { rdf:first @<Observation.referenceRange> ; rdf:rest [rdf:nil] OR @<OneOrMore_Observation.referenceRange> }<OneOrMore_Reference_MolecularSequence_OR_Observation_OR_QuestionnaireResponse> CLOSED { rdf:first @<Reference> AND {fhir:link @<MolecularSequence> OR<OneOrMore_Reference_Observation_OR_QuestionnaireResponse> CLOSED { rdf:first @<Reference> AND {fhir:l @<Observation> OR @<QuestionnaireResponse> } ;rdf:rest [rdf:nil] OR @<OneOrMore_Reference_MolecularSequence_OR_Observation_OR_QuestionnaireResponse>rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Observation_OR_QuestionnaireResponse> }<OneOrMore_Reference_DocumentReference_OR_GenomicStudy_OR_ImagingSelection_OR_ImagingStudy_OR_MolecularSequence_OR_Observation_OR_QuestionnaireResponse> CLOSED { rdf:first @<Reference> AND {fhir:link<OneOrMore_Reference_DocumentReference_OR_ImagingSelection_OR_ImagingStudy_OR_Observation_OR_QuestionnaireResponse> CLOSED { rdf:first @<Reference> AND {fhir:l @<DocumentReference> OR@<GenomicStudy> OR@<ImagingSelection> OR @<ImagingStudy> OR@<MolecularSequence> OR@<Observation> OR @<QuestionnaireResponse> } ;rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DocumentReference_OR_GenomicStudy_OR_ImagingSelection_OR_ImagingStudy_OR_MolecularSequence_OR_Observation_OR_QuestionnaireResponse>rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DocumentReference_OR_ImagingSelection_OR_ImagingStudy_OR_Observation_OR_QuestionnaireResponse> } <OneOrMore_Observation.component> CLOSED { rdf:first @<Observation.component> ; rdf:rest [rdf:nil] OR @<OneOrMore_Observation.component> } #---------------------- Value Sets ------------------------ # Codes providing the status of an observation.fhirvs:observation-status ["registered" "preliminary" "final" "amended" "corrected" "cancelled" "entered-in-error" "unknown"]fhirvs:observation-status ["registered" "specimen-in-process" "preliminary" "final" "amended" "corrected" "appended" "cancelled" "entered-in-error" "unknown" "cannot-be-obtained"] # Codes providing the type of triggeredBy observation. fhirvs:observation-triggeredbytype ["reflex" "repeat" "re-run"]
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.
FHIR
®©
HL7.org
2011+.
FHIR
R5
hl7.fhir.core#5.0.0
R6
hl7.fhir.core#6.0.0-ballot3
generated
on
Sun,
Mar
26,
2023
15:25+1100.
Thu,
Nov
27,
2025
16:54+0000.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
Compare
to
Last
Ballot
|
|
Propose
a
change