Estonian Base Implementation Guide
1.0.0 - ballot Estonia flag

Estonian Base Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions

Resource Profile: EEBase Observation

Official URL: https://fhir.ee/StructureDefinition/ee-observation Version: 1.0.0
Draft as of 2023-05-29 Computable Name: EEBaseObservation

Observation represents one of the most important and central units of healthcare data exchange - different kinds of observations varying from clinical findings and measurements to social history. The resource is designed to cover a wide variety of use cases and as a result, at its simplest, a resource instance can consist of only a code, value, and status flag. The granularity of instance highly depends on the use case, therefore the minimal viable data considered is a decision that needs to be made during profiling process.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationMeasurements and simple assertions
... triggeredBy
.... observation 1..1Reference(EEBase Observation)Triggering observation
... status S1..1coderegistered | preliminary | final | amended +
... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
..... coding
...... system 0..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
... subject S0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... encounter S0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] S0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... performer S0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] S0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence)Actual result
... dataAbsentReason S0..1CodeableConceptWhy the result is missing
... interpretation S0..*CodeableConceptHigh, low, normal, etc
... bodySite S0..1CodeableConceptObserved body part
... bodyStructure S0..1Reference(BodyStructure)Observed body structure
... specimen S0..1Reference(Specimen | Group)Specimen used for this observation
... hasMember 0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom 0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component S0..*BackboneElementComponent results

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.category:obscatrequiredEEBaseObservationCategory
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
... code SΣC1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

... subject SΣ0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... encounter SΣ0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... performer SΣ0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... valueAttachmentAttachment
.... valueReferenceReference(MolecularSequence)
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... bodySite SC0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts

... bodyStructure SC0..1Reference(BodyStructure)Observed body structure
... specimen SC0..1Reference(Specimen | Group)Specimen used for this observation
... hasMember Σ0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component SΣC0..*BackboneElementComponent results
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:obscatrequiredEEBaseObservationCategory
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorObservationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value).
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-8errorObservationbodyStructure SHALL only be present if Observation.bodySite is not present
: bodySite.exists() implies bodyStructure.empty()
obs-9errorObservation.specimenIf Observation.specimen is a reference to Group, the group can only have specimens
: (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... instantiates[x] ΣTU0..1canonical(ObservationDefinition), Reference(ObservationDefinition)Instantiates FHIR ObservationDefinition
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)Fulfills plan, proposal or order
... triggeredBy TU0..*BackboneElementTriggering observation(s)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observation Σ1..1Reference(EEBase Observation)Triggering observation
.... type Σ1..1codereflex | repeat | re-run
Binding: TriggeredBytype (required): The type of TriggeredBy Observation.

.... reason 0..1stringReason that the observation was triggered
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy)Part of referenced event
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
...... id 0..1idUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code ΣC0..1codeSymbol in syntax defined by the system
...... display ΣC0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣC1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

... subject SΣ0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... focus ΣTU0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter SΣ0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued Σ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... valueAttachmentAttachment
.... valueReferenceReference(MolecularSequence)
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note 0..*AnnotationComments about the observation
... bodySite SC0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts

... bodyStructure SC0..1Reference(BodyStructure)Observed body structure
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen SC0..1Reference(Specimen | Group)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)A reference to the device that generates the measurements or the device settings for the device
... referenceRange C0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... normalValue TU0..1CodeableConceptNormal value, if relevant
Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation.

.... type TU0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text C0..1markdownText based reference range in an observation
... hasMember Σ0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component SΣC0..*BackboneElementComponent results
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... value[x] Σ0..1Actual component result
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
..... valueAttachmentAttachment
..... valueReferenceReference(MolecularSequence)
.... dataAbsentReason 0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.languagerequiredAllLanguages
Observation.triggeredBy.typerequiredTriggeredBytype
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:obscatrequiredEEBaseObservationCategory
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.methodexampleObservationMethods
Observation.referenceRange.normalValueextensibleObservationReferenceRangeNormalValueCodes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-9errorObservation.specimenIf Observation.specimen is a reference to Group, the group can only have specimens
: (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*ObservationMeasurements and simple assertions
... triggeredBy
.... observation 1..1Reference(EEBase Observation)Triggering observation
... status S1..1coderegistered | preliminary | final | amended +
... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
..... coding
...... system 0..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
... subject S0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... encounter S0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] S0..1dateTime, Period, Timing, instantClinically relevant time/time-period for observation
... performer S0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] S0..1Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment, Reference(MolecularSequence)Actual result
... dataAbsentReason S0..1CodeableConceptWhy the result is missing
... interpretation S0..*CodeableConceptHigh, low, normal, etc
... bodySite S0..1CodeableConceptObserved body part
... bodyStructure S0..1Reference(BodyStructure)Observed body structure
... specimen S0..1Reference(Specimen | Group)Specimen used for this observation
... hasMember 0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom 0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component S0..*BackboneElementComponent results

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.category:obscatrequiredEEBaseObservationCategory

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
... code SΣC1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

... subject SΣ0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... encounter SΣ0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... performer SΣ0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... valueAttachmentAttachment
.... valueReferenceReference(MolecularSequence)
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... bodySite SC0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts

... bodyStructure SC0..1Reference(BodyStructure)Observed body structure
... specimen SC0..1Reference(Specimen | Group)Specimen used for this observation
... hasMember Σ0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component SΣC0..*BackboneElementComponent results
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:obscatrequiredEEBaseObservationCategory
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorObservationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.component.code is the same as Observation.code, then Observation.value SHALL NOT be present (the Observation.component.value[x] holds the value).
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
obs-8errorObservationbodyStructure SHALL only be present if Observation.bodySite is not present
: bodySite.exists() implies bodyStructure.empty()
obs-9errorObservation.specimenIf Observation.specimen is a reference to Group, the group can only have specimens
: (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*ObservationMeasurements and simple assertions
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... instantiates[x] ΣTU0..1canonical(ObservationDefinition), Reference(ObservationDefinition)Instantiates FHIR ObservationDefinition
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)Fulfills plan, proposal or order
... triggeredBy TU0..*BackboneElementTriggering observation(s)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observation Σ1..1Reference(EEBase Observation)Triggering observation
.... type Σ1..1codereflex | repeat | re-run
Binding: TriggeredBytype (required): The type of TriggeredBy Observation.

.... reason 0..1stringReason that the observation was triggered
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy)Part of referenced event
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... Slices for category S0..*CodeableConceptClassification of type of observation
Slice: Unordered, Open by pattern:coding
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:obscat S0..*CodeableConceptClassification of type of observation
Binding: Observation Category (required)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
...... id 0..1idUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code ΣC0..1codeSymbol in syntax defined by the system
...... display ΣC0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣC1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

... subject SΣ0..1Reference(EEBase Patient | Group | Device | EEBase Location | EEBase Organization | Procedure | EEBase Practitioner | Medication | Substance | BiologicallyDerivedProduct | NutritionProduct)Who and/or what the observation is about
... focus ΣTU0..*Reference(Resource)What the observation is about, when it is not about the subject of record
... encounter SΣ0..1Reference(EEBase Encounter)Healthcare event during which this observation is made
... effective[x] SΣ0..1Clinically relevant time/time-period for observation
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
.... effectiveInstantinstant
... issued Σ0..1instantDate/Time this version was made available
... performer SΣ0..*Reference(EEBase Practitioner | EEBase PractitionerRole | EEBase Organization | CareTeam | EEBase Patient | EEBase RelatedPerson)Who is responsible for the observation
... value[x] SΣC0..1Actual result
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
.... valueAttachmentAttachment
.... valueReferenceReference(MolecularSequence)
... dataAbsentReason SC0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note 0..*AnnotationComments about the observation
... bodySite SC0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts

... bodyStructure SC0..1Reference(BodyStructure)Observed body structure
... method 0..1CodeableConceptHow it was done
Binding: ObservationMethods (example): Methods for simple observations.

... specimen SC0..1Reference(Specimen | Group)Specimen used for this observation
... device 0..1Reference(Device | DeviceMetric)A reference to the device that generates the measurements or the device settings for the device
... referenceRange C0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... normalValue TU0..1CodeableConceptNormal value, if relevant
Binding: ObservationReferenceRangeNormalValueCodes (extensible): Codes identifying the normal value of the observation.

.... type TU0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text C0..1markdownText based reference range in an observation
... hasMember Σ0..*Reference(QuestionnaireResponse | MolecularSequence | EEBase Observation)Related resource that belongs to the Observation group
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | ImagingSelection | QuestionnaireResponse | EEBase Observation | MolecularSequence | GenomicStudy)Related resource from which the observation is made
... component SΣC0..*BackboneElementComponent results
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... value[x] Σ0..1Actual component result
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
..... valueAttachmentAttachment
..... valueReferenceReference(MolecularSequence)
.... dataAbsentReason 0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..*CodeableConceptHigh, low, normal, etc
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Observation.languagerequiredAllLanguages
Observation.triggeredBy.typerequiredTriggeredBytype
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:obscatrequiredEEBaseObservationCategory
Observation.codeexampleLOINCCodes (a valid code from LOINC)
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.methodexampleObservationMethods
Observation.referenceRange.normalValueextensibleObservationReferenceRangeNormalValueCodes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-9errorObservation.specimenIf Observation.specimen is a reference to Group, the group can only have specimens
: (reference.resolve().exists() and reference.resolve() is Group) implies reference.resolve().member.entity.resolve().all($this is Specimen)

 

Other representations of profile: CSV, Excel, Schematron