This draft implementation guidance was developed between February and March 2023 as part of the NHS England Virtual Wards Interoperability Discovery. It is provided for information only and is not currently being updated.

If you are not participating in the Discovery, you are advised not to develop against this guidance until a formal announcement has been made. The team can be contacted by emailing england.virtualward.interoperability@nhs.net.

Contents

← Back to Homepage

  1. Background & Use Case
  2. Architecture
  3. Data Model
  1. Data Transfer Mechanisms
  2. Assurance
  3. Help & Support

3.4.6 FHIR UK Core Observation Profile

IMPORTANT – The UK Core Observation profile is currently in draft status and is currently undergoing Clinical & Technical Assurance review, and has not been part of the HL7 UK Ballot process. This profile may change in future releases of the UK Core.

IMPORTANT - this page is intended as guidance only, solutions must be clinically assured locally within organisations before deployment into a live environment.

Usage

An Observation resource represents a single clinical observation or measurement made about a patient, such as a laboratory test result, a vital sign, or a diagnostic imaging study. The Observation resource is used to capture structured data about the observation, including the type of observation, the value or result, the time and location of the observation, and other relevant metadata. It supports a range of data types, such as numeric values, text, and codes, and allows for the inclusion of additional information, such as the device or method used to capture the observation and any relevant comments or interpretations.

Structure Definition

https://simplifier.net/HL7FHIRUKCoreR4/UKCoreObservation/~json

Optionality Guidance

The population guidance below uses the following definitions for data item optionality:

  1. Mandatory - the data item MUST be recorded in the resource every time it is produced
  2. Required - if the system that is providing the data item contains this piece of data, then it should include it in the resource
  3. Optional - the system has the option to include this data if it is available

Note that the population guidance for this profile does not include all data items available in the resource. As per FHIR guidance, all data items inherited from the base resource can be included and used as appropriate, however only those considered relevant to Supplementary RM Data are covered in this guidance.

Required Elements (for Supplementary RM Data)

A minimum viable content that all provider and consumer systems should support is the following elements.

Element Optionality
Observation.id Mandatory
Observation.meta Mandatory
Observation.identifier Optional
Observation.status Mandatory
Observation.category Optional
Observation.code Mandatory
Observation.subject Mandatory
Observation.effectiveDateTime Mandatory
Observation.performer Optional
Observation.value Mandatory
Observation.note Optional
Observation.hasMember Optional
Observation.derivedFrom Optional

Id

FHIR Attribute DataType Optionality Cardinality Usage Guidance
id id Mandatory 1:1 A logical identifier generated for this observation resource. Additional Guidance: Any combination of upper- or lower-case ASCII letters ('A'..'Z', and 'a'..'z', numerals ('0'..'9'), '-' and '.', with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID or any other identifier pattern that meets these constraints.)

Example

{
    "id": "c29b0ed6-0a6b-4606-a8b6-99a6b1736c7a"
}


Meta

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Meta Element Mandatory 1:1 Metadata about the resource
meta.profile Canonical Mandatory 1:1 To identify the FHIR profile the resource conforms to Fixed value: "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation"

Example

"meta": {
    "profile": [
        "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation"
    ]
}


Observation.identifier

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Identifier Identifier Optional 0:1 A unique identifier assigned to this observation. Allows observations to be distinguished and referenced.
Observation.Identifier.System uri Required (if using) 0:1 Establishes namespace for the value A URL that describes a set values that are unique
Observation.Identifier.Value String Required (if using) 0:1 The identifier value that is unique within the context of the system.

Example

    "identifier":  [
        {
            "system": "https://tools.ietf.org/html/rfc4122",
            "value": "3b1670c3-cad9-4202-9445-872030cec058"
        }
    ]

Observation.Status

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Status Code Mandatory 1:1 The status of this observation. Value must be one of: registered | preliminary | final | amended (ObservationStatus value set)

Example

 "status": "final"


Observation.Category

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Category CodeableConcept Required 0:* Classification of type of observation. Recommended value is "survey" from the ObservationCategoryCodes value set

Example

     "category":  [
        {
            "coding":  [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                    "code": "survey",
                    "display": "Survey"
                }
            ]
        }
    ]


Observation.Code

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Code CodeableConcept Mandatory 1:1 Type of observation - describes what was observed
Observation.Code.Coding Coding Mandatory 1:* Code defined by a terminology system. Allows for alternative encodings within a code system, and translations to other code systems. A SNOMED CT code should be used at minimum.
Observation.Code.Coding:snomedCT Coding Mandatory 1:1 SnomedCT: Code defined by a terminology system Allows for alternative encodings within a code system, and translations to other code systems.
Observation.Code.Coding:snomedCT.System URI (Fixed Value) Mandatory 1:1 Identity of the terminology system Fixed value: "http://snomed.info/sct"
Observation.Code.Coding:snomedCT.Code Code Mandatory 1:1 SNOMED CT code representing the Observation
Observation.Code.Coding:snomedCT.Display String Mandatory 1:1 Display representation of SNOMED CT code

SNOMED CT Codes (Total Score, Individual Component NEWS2 Score and Raw Clinical Observation Reading)

For further information on how the SNOMED CT codes should be used in nested observations representing the NEWS2 scores and the observations from which they were derived, please see section 3 on the Data Model

SNOMED CT ID Description Purpose
1104051000000101 Royal College of Physicians National Early Warning Score 2 - total score (observable entity) Total NEWS2 Score
1104351000000103 Royal College of Physicians National Early Warning Score 2 - pulse score (observable entity) Individual Component NEWS2 Score
1104371000000107 Royal College of Physicians National Early Warning Score 2 - temperature score (observable entity) Individual Component NEWS2 Score
1104331000000105 Royal College of Physicians National Early Warning Score 2 - air or oxygen score (observable entity) Individual Component NEWS2 Score
1104361000000100 Royal College of Physicians National Early Warning Score 2 - consciousness score (observable entity) Individual Component NEWS2 Score
1104301000000104 Royal College of Physicians National Early Warning Score 2 - respiration rate score (observable entity) Individual Component NEWS2 Score
1104341000000101 Royal College of Physicians National Early Warning Score 2 - systolic blood pressure score (observable entity) Individual Component NEWS2 Score
1104321000000108 Royal College of Physicians National Early Warning Score 2 - oxygen saturation scale 2 score (observable entity) Individual Component NEWS2 Score
1104311000000102 Royal College of Physicians National Early Warning Score 2 - oxygen saturation scale 1 score (observable entity) Individual Component NEWS2 Score
78564009 Pulse rate Raw Clinical Observation Reading
276885007 Core body temperature Raw Clinical Observation Reading
447755005 Finding of oxygen saturation (finding) Raw Clinical Observation Reading
104441000000107 ACVPU (Alert Confusion Voice Pain Unresponsive) scale score Raw Clinical Observation Reading
86290005 Respiratory rate Raw Clinical Observation Reading
72313002 Systolic arterial pressure Raw Clinical Observation Reading
1091811000000102 Diastolic arterial pressure Raw Clinical Observation Reading

Example

 "code": {
        "coding":  [
            {
                "system": "http://snomed.info/sct",
                "code": "1104051000000101",
                "display": "Royal College of Physicians NEWS2 (National Early Warning Score 2) total score"
            }
        ]
    }


Observation.Subject

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.subject Reference(UK Core Patient) Mandatory 1:1 The subject of the observation This must reference the patient resource included in the Bundle
Observation.subject.reference string Mandatory 1:1 A reference to a location at which the Patient resource is found. A reference to Patient.id for the Patient resource in the Bundle.

Example

"subject" : {
    "reference": "urn:uuid:dd9724d1-7b61-44e2-9023-b72e6b966018-76563212455590986546"
}

Observation.effectiveDateTime

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.effectiveDateTime Instant Mandatory 1:1 Clinically relevant time/time-period for observation

Example

"effectiveDateTime": "2018-10-04T14:17:59+01:00"


Observation.Performer

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Performer Reference (UK Core Patient | UK Core Organization) Optional 0:* Who is responsible for the observation.
Observation.performer.reference string Required (if using) 0:1 A reference to a location at which the referenced resource is found. Should reference the patient.id or organization.id field for a resource included within the bundle

Example

 "performer":  [
        {
            "reference": "urn:uuid:9b9dfe0d-1747-424f-a739-35f7be8e8d71"
        }
    ]



Observation.Value

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Value Mandatory 1:1 Actual result. The information determined as a result of making the observation, if the information has a simple value. Integer data type should be used for NEWS2 scores.
Observation.ValueInteger Required (dependent on observation type) 0:1 Actual result as an integer value. For example, NEWS2 score.

Example

  "valueInteger": "12"


Observation.note

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.Note Annotation Optional 0:* Comments about the observation. May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. When using Observation Profile for Oxygen Raw Observation (SNOMED CT: Finding of oxygen saturation (finding) SCTID:447755005) Specify in the notes whether this is reading 1 or reading 2. Ie "Use Scale 2 if target range is 88–92%, eg COPD, in hypercapnic respiratory failure"

Example

{
  "note": "Patient presents with..." 
}


Observation.hasMember

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.hasMember Reference Optional 0:* Related resource that belongs to the Observation group This field should be used on Observations which represent the NEWS2 total score, to reference the subscores from which the total score has been calculated.
Observation.hasMember.reference String Optional 0:* A reference to a location at which the referenced resource is found. This should reference the logical ID of another Observation resource within the bundle (Observation.id)

Example

{
  "reference": "889817f6-e67b-451a-b66a-9093197b3bbe" 
}

For further information on how the hasMember and derivedFrom fields should be used to nest observations, please see section 3 on the Data Model


Observation.derivedFrom

FHIR Attribute DataType Optionality Cardinality Usage Guidance
Observation.derivedFrom Reference Optional 0:* Related measurements the observation is made from This field should be used on Observations which represent the NEWS2 subscores, to reference the raw Observation values from which the scores have been calculated.
Observation.derivedFrom.reference String Optional 0:* A reference to a location at which the referenced resource is found. This should reference the logical ID of another Observation resource within the bundle (Observation.id)

Example

{
  "reference": "23c84ed9-4b3c-4cdd-be0d-3c7fab95b3d3" 
}

For further information on how the hasMember and derivedFrom fields should be used to nest observations, please see section 3 on the Data Model