Cadence Clinical
Patterns

Observation table

Shows observations over time as a flowsheet, with the band each value was given, its change since the value before, and a total for each round.

GradeTested

ObservationYesterdayToday
Respiratory ratebreaths/minRespiratory rate, 16 breaths/min, Within the synthetic range, Tuesday 22 September 2026, 02:00Respiratory rate, 23 breaths/min, Synthetic level 1, Tuesday 22 September 2026, 06:00, up 7 since 02:00Respiratory rate, 24 breaths/min, Synthetic level 1, Tuesday 22 September 2026, 10:00, up 1 since 06:00Respiratory rate, 20 breaths/min, Within the synthetic range, Tuesday 22 September 2026, 14:00, down 4 since 10:00Respiratory rate, 17 breaths/min, Within the synthetic range, Tuesday 22 September 2026, 22:00, down 3 since 14:00Respiratory rate, 16 breaths/min, Within the synthetic range, Wednesday 23 September 2026, 06:00, down 1 since Yesterday 22:00Respiratory rate, 16 breaths/min, Within the synthetic range, Wednesday 23 September 2026, 10:00, no change since 06:00
SpO₂%SpO₂, 97 %, Within the synthetic range, Tuesday 22 September 2026, 02:00SpO₂, 92 %, Synthetic level 1, Tuesday 22 September 2026, 06:00, down 5 since 02:00SpO₂, 93 %, Synthetic level 1, Tuesday 22 September 2026, 10:00, up 1 since 06:00SpO₂, 95 %, Within the synthetic range, Tuesday 22 September 2026, 14:00, up 2 since 10:00SpO₂, 96 %, Within the synthetic range, Tuesday 22 September 2026, 22:00, up 1 since 14:00SpO₂, 97 %, Within the synthetic range, Wednesday 23 September 2026, 06:00, up 1 since Yesterday 22:00SpO₂, 97 %, Within the synthetic range, Wednesday 23 September 2026, 10:00, no change since 06:00
Oxygen flowL/minOxygen flow, 2 L/min, Synthetic level 1, Tuesday 22 September 2026, 06:00Oxygen flow, 4 L/min, Synthetic level 2, Tuesday 22 September 2026, 10:00, up 2 since 06:00Oxygen flow, 2 L/min, Synthetic level 1, Tuesday 22 September 2026, 14:00, down 2 since 10:00
Heart ratebeats/minHeart rate, 84 beats/min, Within the synthetic range, Tuesday 22 September 2026, 02:00Heart rate, 108 beats/min, Synthetic level 1, Tuesday 22 September 2026, 06:00, up 24 since 02:00Heart rate, 114 beats/min, Synthetic level 1, Tuesday 22 September 2026, 10:00, up 6 since 06:00Heart rate, 96 beats/min, Within the synthetic range, Tuesday 22 September 2026, 14:00, down 18 since 10:00Heart rate, 86 beats/min, Within the synthetic range, Tuesday 22 September 2026, 22:00, down 10 since 14:00Heart rate, 80 beats/min, Within the synthetic range, Wednesday 23 September 2026, 06:00, down 6 since Yesterday 22:00Heart rate, 79 beats/min, Within the synthetic range, Wednesday 23 September 2026, 10:00, down 1 since 06:00
Systolic blood pressuremmHgSystolic blood pressure, 126 mmHg, Within the synthetic range, Tuesday 22 September 2026, 02:00Systolic blood pressure, 112 mmHg, Within the synthetic range, Tuesday 22 September 2026, 06:00, down 14 since 02:00Systolic blood pressure, 106 mmHg, Within the synthetic range, Tuesday 22 September 2026, 10:00, down 6 since 06:00Systolic blood pressure, 118 mmHg, Within the synthetic range, Tuesday 22 September 2026, 14:00, up 12 since 10:00Systolic blood pressure, 124 mmHg, Within the synthetic range, Tuesday 22 September 2026, 22:00, up 6 since 14:00Systolic blood pressure, 129 mmHg, Within the synthetic range, Wednesday 23 September 2026, 06:00, up 5 since Yesterday 22:00Systolic blood pressure, 127 mmHg, Within the synthetic range, Wednesday 23 September 2026, 10:00, down 2 since 06:00
Diastolic blood pressuremmHgDiastolic blood pressure, 78 mmHg, Within the synthetic range, Tuesday 22 September 2026, 02:01Diastolic blood pressure, 68 mmHg, Within the synthetic range, Tuesday 22 September 2026, 06:01, down 10 since 02:01Diastolic blood pressure, 64 mmHg, Within the synthetic range, Tuesday 22 September 2026, 10:01, down 4 since 06:01Diastolic blood pressure, 70 mmHg, Within the synthetic range, Tuesday 22 September 2026, 14:01, up 6 since 10:01Diastolic blood pressure, 76 mmHg, Within the synthetic range, Tuesday 22 September 2026, 22:01, up 6 since 14:01Diastolic blood pressure, 79 mmHg, Within the synthetic range, Wednesday 23 September 2026, 06:01, up 3 since Yesterday 22:01Diastolic blood pressure, 78 mmHg, Within the synthetic range, Wednesday 23 September 2026, 10:01, down 1 since 06:01
Temperature°CTemperature, 37.1 °C, Within the synthetic range, Tuesday 22 September 2026, 02:01Temperature, 38.3 °C, Synthetic level 2, Tuesday 22 September 2026, 06:01, up 1.2 since 02:01Temperature, 38.6 °C, Synthetic level 2, Tuesday 22 September 2026, 10:01, up 0.3 since 06:01Temperature, 37.6 °C, Within the synthetic range, Tuesday 22 September 2026, 14:01, down 1 since 10:01Temperature, Not recorded, Tuesday 22 September 2026, 22:01Temperature, 36.9 °C, Within the synthetic range, Wednesday 23 September 2026, 06:01, down 0.7 since Yesterday 14:01Temperature, 36.8 °C, Within the synthetic range, Wednesday 23 September 2026, 10:01, down 0.1 since 06:01
Glasgow Coma ScaleGlasgow Coma Scale, 15, Within the synthetic range, Tuesday 22 September 2026, 02:01Glasgow Coma Scale, 15, Within the synthetic range, Tuesday 22 September 2026, 06:01, no change since 02:01Glasgow Coma Scale, 14, Synthetic level 1, Tuesday 22 September 2026, 10:01, down 1 since 06:01Glasgow Coma Scale, 15, Within the synthetic range, Tuesday 22 September 2026, 14:01, up 1 since 10:01Glasgow Coma Scale, 15, Within the synthetic range, Tuesday 22 September 2026, 22:01, no change since 14:01Glasgow Coma Scale, 15, Within the synthetic range, Wednesday 23 September 2026, 06:01, no change since Yesterday 22:01Glasgow Coma Scale, 15, Within the synthetic range, Wednesday 23 September 2026, 10:01, no change since 06:01
Synthetic total scoreSynthetic total score 0, Within the synthetic rangeSynthetic total score 6, Synthetic level 3, Respiratory rate 1, SpO₂ 1, Oxygen flow 1, Heart rate 1, Temperature 2Synthetic total score 8, Synthetic level 3, Respiratory rate 1, SpO₂ 1, Oxygen flow 2, Heart rate 1, Temperature 2, Glasgow Coma Scale 1Synthetic total score 1, Synthetic level 1, Oxygen flow 1Synthetic total score: Incomplete, Missing: TemperatureSynthetic total score 0, Within the synthetic rangeSynthetic total score 0, Within the synthetic range

Synthetic data. The bands, scores and total are arbitrary and are not clinical thresholds.

Use it for

  • Reviewing a patient's observations over hours or days, round by round.
  • The rows beside an observation chart: the same values, readable by a screen reader.
  • Showing a total score for each round, such as an early warning score, that an observation schema defines.

Do not use it for

  • A list of records to sort, filter or select. Use the Data table.
  • A trend at a glance. A chart shows the shape of a series better. Offer the table beside it.
  • Working out a band or a score. The table shows the bands and totals it is given. They come from an observation schema you choose, as Clinical safety explains.

Apply a schema before you show the table

The table holds no threshold. An observation schema says which band each value is in and what each band scores, and applyObservationSchema and scoreRounds in @cadence-clinical/core apply it before the table sees the data. Cadence ships no clinical schema: yours comes from your organisation, or from a Region package that cites its source. Code shows the steps.

Read a round down its column

A set of vital signs is recorded over a minute or two, and each value carries its own time. The table puts readings taken within five minutes of a round's first reading in one column, headed by that first time. The newest round is on the right, and the table opens there.

When a round has two values for one row, such as a heart rate from a monitor and one counted by hand, the cell shows both. Neither is dropped.

Show every band in words as well as colour

A value in a band has four signs of it: a fill and an edge from the fixed severity scale, the level's short label in a box before the value, and bold figures. Its tooltip and a screen reader give the level in words. Keep each level's short label to a character or two, such as 2, so it reads apart from the number.

Trust Incomplete over a number

A total is shown only when every observation the schema requires is in the round. When one is missing, the cell says Incomplete and its tooltip names what is missing. The sum of what is there would read lower than the round is, so it is never shown.

A schema can say that one observation at a level, such as an emergency level, raises the round whatever the sum. That round shows the raised level even when it is incomplete.

Look at what the schema could not judge

A value with a dashed edge and a question mark is one the schema could not place in a band. Its tooltip says why:

  • Another unit. The value shows its own unit, and is never compared with bands written in another.
  • A bound, such as less than 95, that could be in more than one band.
  • An answer the schema does not list. Answers are matched exactly, never guessed.
  • Outside every band the schema has.

A value that was not recorded says Not recorded, rather than leaving the cell empty.

Name rows by their short names in a dense view

Rows are named by the short names a schema gives, such as RR for respiratory rate, unless you set labelStyle to "full". A short name shows its full name on hover, and a screen reader reads the full name rather than the letters. Use the short names your organisation already uses. Medicines are never abbreviated: the national guidelines for showing medicines on screen do not allow it.

Hide rows, not rounds

The Rows menu shows and hides rows, including the total. Hiding a row never moves a column, so a round stays in the same place.

Accessibility

  • Give the table a label, such as "Vital signs". It names the table and its scrolling region.
  • Tell people the arrow keys work. The values are one stop for the Tab key, and the arrow keys, Home and End move between them, each showing its tooltip.

On this page