Observation resource implementation guidance
Important: This site is under active development by NHS Digital and is intended to provide all the technical resources you need to successfully develop applications using the FHIR® CDS API.
Observation: Implementation Guidance
Usage
The Observation resource is used to carry a clinical assertion in the scope of this implementation guide and is created and populated by a CDSS, which will work from clinical assertions to reach decisions.
Due to the nature of triage in unscheduled care, these assertions are often time-bounded and limited, so are appropriate to capture as Observations
. The assertions are normally based on input from the patient, captured as QuestionnaireResponses
.
A single QuestionnaireResponse
can drive a single assertion, or multiple assertions.
Similarly, an assertion may need multiple QuestionnaireResponses
to be validated.
Detailed implementation guidance for an Observation
resource in the CDS context is given below:
Name | Cardinality | Type | FHIR Documentation | CDS Implementation Guidance |
---|---|---|---|---|
id |
0..1 |
id | Logical id of this artifact | Note that this will always be populated except when the resource is being created (initial creation call) |
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. Common Languages (Extensible but limited to All Languages) |
|
text |
0..1 |
Narrative | Text summary of the resource, for human interpretation | |
contained |
0..* |
Resource | Contained, inline Resources | This SHOULD NOT be populated |
extension |
0..* |
Extension | Additional Content defined by implementations | |
modifierExtension |
0..* |
Extension | Extensions that cannot be ignored | |
identifier |
0..* |
Identifier | Business Identifier for observation | A unique identifier for the Observation . |
basedOn |
0..* |
Reference (Careplan | DeviceRequest | Immunization Recommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest) |
Fulfils plan, proposal or order | This MUST NOT be populated. |
status |
1..1 |
code | registered | preliminary | final | amended + ObservationStatus (Required). | This will normally be 'final', but may be 'amended' (where a user has amended his/her answers to a question). |
category |
0..* |
CodeableConcept | Classification of type of observation Observation Category Codes (Preferred). | |
code |
1..1 |
CodeableConcept | Identifies the concept represented in the Observation . This may be a Snomed code for clinical observations, or use another system for non-clinical observations if appropriate. A custom ValueSet has been created to provide SNOMED clinical coding for a number of Urgent and Emergency Care observations, UEC Observation Code. The ValueSet is not exhaustive, and the element has a binding of Example. |
|
subject |
0..1 |
Reference (Patient | Group | Device | Location) |
Who and/or what this is about | This MUST be populated with the Patient. |
context |
0..1 |
Reference (Encounter | EpisodeOfCare) |
Healthcare event during which this observation is made | This MUST be populated with the Encounter. |
effective[x] |
0..1 |
dateTime | Period |
Clinically relevant time/time-period for observation | This MUST be populated with a Period. The end of the period MAY be in the future. |
issued |
0..1 |
instant | Date/Time this was made available | This SHOULD be populated. |
performer |
0..* |
Reference (Practitioner | Organization | Patient | RelatedPerson) |
Who is responsible for the observation | This MUST NOT be populated. |
value[x] |
0..1 |
Quantity | CodeableConcept | string | boolean | Range | Ratio | SampledData | Attachment | time | dateTime | Period | Actual result | This MUST be populated with the type CodeableConcept using values from the UEC Observation Value ValueSet, or left unpopulated. If unpopulated, the value is assumed to take the default value 'present and confirmed'. This is to enable the appropriate definition of DataRequirements. |
dataAbsentReason |
0..1 |
CodeableConcept | Why the result is missing Observation Value Absent Reason (Extensible) | This MUST NOT be populated. |
interpretation |
0..1 |
CodeableConcept | High, low, normal, etc. Observation Interpretation Codes (Extensible) | Valueset should be restricted to A (Abnormal) and N (Normal) and 'null'. Null means no interpretation given. |
comment |
0..1 |
string | Comments about result | This MUST NOT be populated.
If there is information about the Observation to be communicated, it must be communicated in a structured form. |
bodySite |
0..1 |
CodeableConcept | Observed body part SNOMED CT Body Structures (Example) | This SHOULD be populated where available. |
method |
0..1 |
CodeableConcept | How it was done Observation Methods (Example) | This SHOULD NOT be populated. |
specimen |
0..1 |
Reference(Specimen) | Specimen used for this observation | |
device |
0..1 |
Reference (Device | DeviceMetric) |
(Measurement) Device | |
referenceRange |
0..* |
BackboneElement | Provides guide for interpretation + Must have at least a low or a high or text |
|
low |
0..1 |
SimpleQuantity | Low Range, if relevant | |
high |
0..1 |
SimpleQuantity | High Range, if relevant | |
type |
0..1 |
CodeableConcept | Reference range qualifier Observation Reference Range Meaning Codes (Extensible) | |
appliesTo |
0..* |
CodeableConcept | Reference range population Observation Reference Range Applies To Codes (Example) | |
age |
0..1 |
Range | Applicable age range, if relevant | |
text |
0..1 |
string | Text based reference range in an observation | |
related |
0..* |
BackboneElement | Resource related to this observation | This SHOULD be populated with the QuestionnaireResponse resources which affected the population of this Observation . |
type |
0..1 |
code | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by ObservationRelationshipType (Required) | This should be populated with the value 'derived-from'. |
target |
1..1 |
Reference (Observation | Questionnaire Response | Sequence) |
Resource that is related to this one | This SHOULD only be populated with a reference to the QuestionnaireResponse resource. |
component |
0..* |
BackboneElement | Component results | This MUST NOT be populated. |
code |
1..1 |
CodeableConcept | Type of component observation (code/type) LOINC Codes (Example) | This MUST NOT be populated. |
value[x] |
0..1 |
Quantity | CodeableConcept | string | Range | Ratio | SampledData | Attachment | time | dateTime | Period | Actual component result | This MUST NOT be populated. |
dataAbsentReason |
0..1 |
CodeableConcept | Why the component result is missing Observation Value Absent Reason (Extensible) | This MUST NOT be populated. |
interpretation |
0..1 |
CodeableConcept | High, low, normal, etc. Observation Interpretation Codes (Extensible) | This MUST NOT be populated. |
referenceRange |
0..* |
see referenceRange | Provides guide for interpretation of component result | This MUST NOT be populated. |