FHIR R4 Symptoms Implementation Guide
0.1.0 - ci-build International flag

FHIR R4 Symptoms Implementation Guide, published by HL7 International / Clinical Interoperability Council. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-symptoms-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Symptom Absent Observation

Official URL: http://hl7.org/fhir/uv/symptoms/StructureDefinition/SymptomAbsentObservation Version: 0.1.0
Standards status: Trial-use Maturity Level: 1 Computable Name: SymptomAbsentObservation

Used to record the absence of a Symptom as reported by a patient or their caregiver.

Mandatory Data Elements

The following data elements must always be present or must be supported if the data is present in the sending system (Must Support definition). They are presented below with a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Symptom Absent Observation SHALL Have:

  1. a status
  2. a category - one repetition must be set to 'symptom'
  3. a code (LOINC: 111551-8) that indicates this is a Symptom Absent observation
  4. a patient
  5. a dateTime or period detailing when the symptom was note present
  6. a performer of either the Patient or a RelatedPerson who provided the information about the symptom
  7. a valueCodeableConcept that provides the code identifying the specific symptom

Each Symptom Absent Observation SHALL support:

  1. bodySite - a code representing the body site where the symptom is NOT occurring, eg. no pain in my right knee

Each Symptom Absent Observation SHALL NOT provide:

  1. a data absent reason - if there is no data about the symptom, then just do not provide information about that symptom
  2. an interpretation code or a reference range - those apply to observations in general but not to symptom observations
  3. a specimen or device - those do not apply to symptom observations

Other Important Data Elements

In a normal profile, we would indicate the remaining data elements using the Must Support flag. But since the expected use of this IG is that other IGs would further constrain the Symptoms profile for their own use, we have intentionally not used the Must Support flag so as not to imply any additionally required conformance statements. Instead, we have indicated data elements that were considered important to convey. These elements are the following:

  1. issued - when the symptoms information was recorded. This is different from the effective dateTime or period.
  2. note - a text description of the symptom provided by the patient or caregiver
  3. associatedSymptom extension - used to associate other symptoms with this symptom for arbitrary groupings
  4. associatedCondition extension - used to indicate a relationship between this symptom and a condition, eg. a symptom known to be due to a patient's condition

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) The patient who is experiencing the symptom
... effective[x] SΣ 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer SΣ 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] SΣC 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If 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-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... status S 1..1 code registered | preliminary | final | amended +
... code S 1..1 CodeableConcept Type of observation (code / type)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
... effective[x] S 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer S 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] S 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)
... specimen 0..0
... device 0..0
... referenceRange 0..0

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) The patient who is experiencing the symptom
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer SΣ 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] SΣC 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... component Σ 0..* BackboneElement Component results
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, 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

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If 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-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 3 elements
Must-Support: 7 elements
Prohibited: 5 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) The patient who is experiencing the symptom
... effective[x] SΣ 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer SΣ 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] SΣC 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If 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-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... status S 1..1 code registered | preliminary | final | amended +
... code S 1..1 CodeableConcept Type of observation (code / type)
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
... effective[x] S 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer S 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] S 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... dataAbsentReason 0..0
... interpretation 0..0
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)
... specimen 0..0
... device 0..0
... referenceRange 0..0

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:associatedSymptom 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Symptom Observation | Symptom Absent Observation) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Other symptoms associated with this symptom
.... extension:associatedCondition 0..* (Complex) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo"
..... value[x] 1..1 Reference(Condition) 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Conditions with some relationship to this symptom
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 111551-8
..... display 1..1 string Representation defined by the system
Fixed Value: Symptom absent
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) The patient who is experiencing the symptom
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 0..1 Clinically relevant time/time-period for observation
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Instant when absence of symptom recorded
... performer SΣ 1..1 Reference(Patient | RelatedPerson) The person who is reporting the symptom information
... value[x] SΣC 1..1 CodeableConcept Coded description of symptom
Binding: Common Set of Symptom Codes (preferred)
Additional BindingsPurpose
SNOMEDCTClinicalFindings Max Binding
... note 0..* Annotation 𝗦𝗛𝗢𝗨𝗟𝗗 𝗦𝗨𝗣𝗣𝗢𝗥𝗧 Patient or caregiver description of absent symptom
... bodySite S 0..1 CodeableConcept Used to indicate a body site where the symptom is NOT occurring, eg. no pain in my right knee
Binding: SNOMEDCTBodyStructures (preferred)
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... component Σ 0..* BackboneElement Component results
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, 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

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.value[x] Base preferred Common Set of Symptom Codes 📦0.1.0 This IG
Observation.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If 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-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()

This structure is derived from Observation

Summary

Mandatory: 3 elements
Must-Support: 7 elements
Prohibited: 5 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

  1. SHALL support searching using the combination of the patient and category search parameters:

    GET [base]/Observation?patient={Type/}[id]&category={system|}[code]

    Example:

    1. GET [base]/Observation?patient=1134281&category=http://terminology.hl7.org/CodeSystem/observation-category|symptom

    Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and a category code = symptom (how to search by reference and how to search by token)

  2. SHALL support searching using the combination of the patient and code search parameters: GET [base]/Observation?patient={Type/}[id]&code={system|}[code]

    Example:

    1. GET [base]/Observation?patient=1134281&code=http://loinc.org|111551-8

    Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and observation code (how to search by reference and how to search by token)

  3. SHALL support searching using the combination of the patient and code-value-concept search parameters: GET [base]/Observation?patient={Type/}[id]&code-value-concept={system|}[code]${system|}[code]

    Example:

    1. GET [base]/Observation?patient=1134281&code-value-concept=http://loinc.org|111551-8$http://www.snomed.info/sct/ 51197009

    Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and observation code and symptom code (how to search by reference and how to search by composite)

  4. SHALL support searching using the combination of the patient and code-value-concept and date search parameters:

    • including support for these date comparators: gt,lt,ge,le
    • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/Observation?patient={Type/}[id]&code-value-concept={system|}[code]${system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]Observation?patient=555580&code-value-concept=http://loinc.org|111551-8$http://www.snomed.info/sct/ 51197009&date=ge2018-03-14T00:00:00Z

    Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and date and observation code and symptom code (how to search by reference and how to search by composite and how to search by date)