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
- FHIR Bundle
- FHIR Patient
- FHIR Organization
- FHIR Encounter
- FHIR DocumentReference
- FHIR Observation
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:
- Mandatory - the data item MUST be recorded in the resource every time it is produced
- Required - if the system that is providing the data item contains this piece of data, then it should include it in the resource
- 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
andderivedFrom
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
andderivedFrom
fields should be used to nest observations, please see section 3 on the Data Model