Skip to content
wardkitGitHub

Not a medical device and not for clinical use. All patients and data on this site are fictional.

News2Panel

NEWS2 from the latest Observations, with the clinical risk band and the response it calls for.

Rule it enforces: NEWS2 is scored only from a complete, current set; otherwise it says which parameter is missing. Never from a guessed value.

Install

npx shadcn@latest add https://raw.githubusercontent.com/Henrycarto/wardkit/main/public/r/news2-panel.json

Usage

import { News2Panel } from '@/components/wardkit/news2-panel';

<News2Panel observations={latest} now={new Date()} maxAgeMinutes={60} />

Examples

Bed 3 at 01:00: score 17, high risk

Three parameters score 3 on their own.

NEWS2

SpO₂ scale 1

Score 17High clinical risk

Score of 3 in a single parameter: Respiration rate, SpO₂, Consciousness.

Emergency response: immediate assessment by a team with critical care skills, usually transfer to a higher level of care.

Continuous monitoring of vital signs.

NEWS2 parameters, values used and points
ParameterValue usedPoints
Respiration rate28 /min at 01:003 (red)
SpO₂91 % at 01:003 (red)
Air or oxygenOxygen at 01:002
Systolic BP94 mmHg at 01:002
Pulse124 /min at 01:002
ConsciousnessConfused (scored as new confusion) at 01:003 (red)
Temperature39.4 °C at 01:002

No air or oxygen record: incomplete

The same normal set with the oxygen flow Observation removed. Room air is not assumed.

NEWS2

SpO₂ scale 1

Incomplete: no score

Missing: Air or oxygen. NEWS2 is not calculated from a partial set or a guessed value.

NEWS2 parameters, values used and points
ParameterValue usedPoints
Respiration rate16 /min at 06:000
SpO₂97 % at 06:000
Air or oxygenMissing. No air or oxygen record (room air is not assumed)none
Systolic BP125 mmHg at 06:000
Pulse72 /min at 06:000
ConsciousnessAlert at 06:000
Temperature36.8 °C at 06:000

Stale readings: incomplete

The normal set, scored at 07:30 with a 60 minute window.

NEWS2

SpO₂ scale 1

Incomplete: no score

Missing: Respiration rate, SpO₂, Air or oxygen, Systolic BP, Pulse, Consciousness, Temperature. NEWS2 is not calculated from a partial set or a guessed value.

NEWS2 parameters, values used and points
ParameterValue usedPoints
Respiration rateMissing. Stale: last recorded 90 min ago (limit 60 min)none
SpO₂Missing. Stale: last recorded 90 min ago (limit 60 min)none
Air or oxygenMissing. Stale: last recorded 90 min ago (limit 60 min)none
Systolic BPMissing. Stale: last recorded 90 min ago (limit 60 min)none
PulseMissing. Stale: last recorded 90 min ago (limit 60 min)none
ConsciousnessMissing. Stale: last recorded 90 min ago (limit 60 min)none
TemperatureMissing. Stale: last recorded 90 min ago (limit 60 min)none

A rounded value is shown with what was recorded

Respiration rate 11.5 is scored as 12 (0 points); 11 would score 1.

NEWS2

SpO₂ scale 1

Score 0Low clinical risk

Continue routine monitoring.

Observations at least every 12 hours.

NEWS2 parameters, values used and points
ParameterValue usedPoints
Respiration rate12 /min (recorded 11.5) at 06:000
SpO₂97 % at 06:000
Air or oxygenAir at 06:000
Systolic BP125 mmHg at 06:000
Pulse72 /min at 06:000
ConsciousnessAlert at 06:000
Temperature36.8 °C at 06:000

COPD at target on SpO₂ scale 2

Scale 2 is turned on by the caller. On scale 1 the same readings score 5.

NEWS2

SpO₂ scale 2, prescribed target 88 to 92%

Score 2Low clinical risk

Inform the nurse in charge, who decides whether to increase monitoring or escalate.

Observations at least every 4 to 6 hours.

NEWS2 parameters, values used and points
ParameterValue usedPoints
Respiration rate19 /min at 06:000
SpO₂90 % at 06:000
Air or oxygenOxygen at 06:002
Systolic BP134 mmHg at 06:000
Pulse84 /min at 06:000
ConsciousnessAlert at 06:000
Temperature36.8 °C at 06:000

Props

PropTypeDescription
observationsObservation[]Recent Observations for one patient. Only the codes listed below are read. Required.
nowDate | stringThe time the score is for. Required.
maxAgeMinutesnumberHow old a reading may be and still count. Required.
spo2Scale?1 | 2SpO2 scale 2 only when a clinician has prescribed it. Default 1.
timeZone?stringIANA time zone for displayed times, e.g. "Europe/Vienna". Defaults to the runtime zone; pass it when rendering on a server.
className?stringExtra classes for the outer element.

Clinical rules and sources

  1. Points per parameter and the aggregate follow the RCP NEWS2 chart (2017): 0 is low, 1 to 4 low, 5 to 6 medium, 7 or more high clinical risk.Source: Royal College of Physicians, National Early Warning Score (NEWS) 2, 2017
  2. A score of 3 in any single parameter sets the risk to at least low-medium (urgent ward-based response). The panel names the parameter.Source: Royal College of Physicians, National Early Warning Score (NEWS) 2, 2017
  3. SpO2 scale 2 is used only when the caller turns it on. On scale 2, saturations above 92% score only when on oxygen.Source: Royal College of Physicians, National Early Warning Score (NEWS) 2, 2017
  4. Each parameter uses its most recent reading. If that reading has a dataAbsentReason, is older than maxAgeMinutes, is timed after now, has a comparator or an unsupported unit, the parameter is missing and there is no total. An older value never stands in for a newer failed one.Source: Royal College of Physicians, National Early Warning Score (NEWS) 2, 2017; FHIR R4: DataAbsentReason
  5. Any supplemental oxygen scores 2 (RCP). wardkit convention: air or oxygen must be recorded; there is no default to room air, so without a record the score is incomplete.Source: Royal College of Physicians, National Early Warning Score (NEWS) 2, 2017
  6. wardkit convention, not an RCP rule: the chart bands are whole numbers (one decimal for temperature), so respiration rate, SpO2, systolic pressure and pulse are rounded half up to whole numbers and temperature to one decimal. When a value was rounded, the panel shows the recorded value next to the one used, for example "12 /min (recorded 11.5)".

LOINC codes read

Each code was checked against LOINC 2.82 (all active) through the HL7 terminology server, and the vital sign codes against the FHIR R4 vital signs profiles. Observations with other codes are ignored.

Observation.code (system http://loinc.org)
CodeMeaningUsed for
9279-1Respiratory rateRespiration rate. Units /min, {breaths}/min
2708-6Oxygen saturation in Arterial bloodSpO₂. Unit %
59408-5Oxygen saturation in Arterial blood by Pulse oximetrySpO₂, accepted as well
85354-9Blood pressure panel with all children optionalSystolic read from its 8480-6 component
8480-6Systolic blood pressureSystolic BP, standalone or as a component. Unit mm[Hg]
8867-4Heart ratePulse. Units /min, {beats}/min
8310-5Body temperatureTemperature. Units Cel, [degF] (converted)
67775-7Level of responsivenessConsciousness, AVPU answers (LL1845-8)
80288-4Level of consciousnessConsciousness, answers LL3828-2 including Confused
3151-8Inhaled oxygen flow rateAir (0 L/min) or oxygen (more than 0)
3150-0Inhaled oxygen concentrationAir (21%) or oxygen (more than 21%)
88658-0Use of supplemental oxygenOxygen (any answer in LL4908-1)
Consciousness answers (valueCodeableConcept, system http://loinc.org). Any other answer makes the parameter missing.
CodeMeaningUsed for
LA9340-6Alert0 points
LA6560-2Confused3 points, labelled "scored as new confusion"
LA17108-4Verbal3 points
LA17107-6Painful3 points
LA9343-0Unresponsive3 points
LA25161-3Lethargic3 points
LA25162-1Obtunded3 points
LA25163-9Stuporous3 points

LOINC has no ACVPU answer list. LA6560-2 says Confused, not new confusion; it is scored 3 as new confusion and labelled so on the panel, because scoring it 0 could hide a deterioration.