feat(measurements): add Sleep Score and body-temperature deviation types

Two additive measurement_type values for the Oura coverage completion:

  - SLEEP_SCORE — the headline 0-100 sleep-quality score (unit score),
    kept apart from the WHOOP sleep sub-scores so two vendors' headline
    numbers never share a bucket.
  - BODY_TEMPERATURE_DEVIATION — a signed nightly body-temperature offset
    from the personal baseline (celsius). It is a deviation, not an
    absolute reading, so it cannot share the body / skin / wrist
    temperature buckets.

Migration 0165 extends the enum (additive, no backfill). Register both in
the validation enum, units, plausibility ranges, category overlay, list-UI
label/icon/colour maps, chart-token allowlist, and the PR-direction switch
(both resolve to no record direction). Both are descriptive signals, not
clinical vitals, so they stay out of the doctor-report PDF. Localise the
two list labels across all six locales and regenerate the OpenAPI contract.
This commit is contained in:
Marc-André Bombeck committed 2026-06-15 00:09:33 +02:00
1 parent 44eed87e89
commit 3cdbab908c
17 files changed
+133 -1

No files matched your search

+10
View File
@@ -1569,6 +1569,8 @@ paths:
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- SLEEP_DISTURBANCE_COUNT
- SLEEP_SCORE
- BODY_TEMPERATURE_DEVIATION
- in: query
name: from
schema:
@@ -1743,6 +1745,8 @@ paths:
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- SLEEP_DISTURBANCE_COUNT
- SLEEP_SCORE
- BODY_TEMPERATURE_DEVIATION
value:
type: number
measuredAt:
@@ -4372,6 +4376,8 @@ paths:
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- SLEEP_DISTURBANCE_COUNT
- SLEEP_SCORE
- BODY_TEMPERATURE_DEVIATION
description: "The measurement type to read (single metric — no fan-out). Closed enum: an unknown type 422s."
required: true
description: "The measurement type to read (single metric — no fan-out). Closed enum: an unknown type 422s."
@@ -8831,6 +8837,8 @@ components:
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- SLEEP_DISTURBANCE_COUNT
- SLEEP_SCORE
- BODY_TEMPERATURE_DEVIATION
value:
type: number
unit:
@@ -9260,6 +9268,8 @@ components:
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- SLEEP_DISTURBANCE_COUNT
- SLEEP_SCORE
- BODY_TEMPERATURE_DEVIATION
value:
type: number
unit: