Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/l10n/app_de.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1352,8 +1352,8 @@
"healthCatMovementLoad": "Bewegung & Belastung",
"healthCatBodyWear": "Körper & Tragezeit",
"healthBlurbRestingHr": "Der niedrigste anhaltende Puls der Nacht",
"healthBlurbHrv": "RMSSD im saubersten Schlafabschnitt",
"healthBlurbHrvCv": "Wie stark das von Nacht zu Nacht schwankt",
"healthBlurbHrv": "Mittlerer RMSSD über die 5-Minuten-Fenster der Nacht",
"healthBlurbHrvCv": "SDNN als Anteil des mittleren Schlagintervalls, innerhalb einer Nacht",
"healthBlurbLfHf": "Wie sich die Herzschlag-Variabilität auf die Frequenzbereiche verteilt",
"healthBlurbDip": "Wie stark deine Herzfrequenz im Schlaf sinkt",
"healthBlurbHrr": "Wie schnell sie in der Minute nach einer Belastung sinkt",
Expand Down
8 changes: 4 additions & 4 deletions lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -6737,13 +6737,13 @@
"@healthBlurbRestingHr": {
"description": "Explore catalogue one-line description for resting heart rate"
},
"healthBlurbHrv": "RMSSD over the cleanest window of sleep",
"healthBlurbHrv": "Mean RMSSD across the night's 5-minute windows",
"@healthBlurbHrv": {
"description": "Explore catalogue one-line description for HRV"
"description": "Explore catalogue one-line description for HRV: the nightly mean of the RMSSDs of the sleep session's 5-minute windows"
},
"healthBlurbHrvCv": "How much that swings from night to night",
"healthBlurbHrvCv": "SDNN as a share of the average beat interval, within one night",
"@healthBlurbHrvCv": {
"description": "Explore catalogue one-line description for HRV night-to-night variability"
"description": "Explore catalogue one-line description for HRV stability: within-night SDNN as a percentage of the mean beat interval (not a night-to-night variability)"
},
"healthBlurbLfHf": "Where beat-timing power sits across frequencies",
"@healthBlurbLfHf": {
Expand Down
4 changes: 2 additions & 2 deletions lib/l10n/app_es.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1308,8 +1308,8 @@
"healthCatMovementLoad": "Movimiento y carga",
"healthCatBodyWear": "Cuerpo y uso",
"healthBlurbRestingHr": "El ritmo sostenido más bajo de la noche",
"healthBlurbHrv": "RMSSD durante la ventana de sueño más limpia",
"healthBlurbHrvCv": "Cuánto varía eso de una noche a otra",
"healthBlurbHrv": "RMSSD medio de las ventanas de 5 minutos de la noche",
"healthBlurbHrvCv": "SDNN como fracción del intervalo medio entre latidos, dentro de una noche",
"healthBlurbLfHf": "Dónde se concentra la potencia del ritmo cardíaco entre frecuencias",
"healthBlurbDip": "Cuánto baja tu frecuencia cardíaca mientras duermes",
"healthBlurbHrr": "Cuán rápido baja en el minuto después de un esfuerzo",
Expand Down
4 changes: 2 additions & 2 deletions lib/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1308,8 +1308,8 @@
"healthCatMovementLoad": "Mouvement et charge",
"healthCatBodyWear": "Corps et port",
"healthBlurbRestingHr": "Le rythme soutenu le plus bas de la nuit",
"healthBlurbHrv": "RMSSD sur la fenêtre de sommeil la plus propre",
"healthBlurbHrvCv": "À quel point cela varie d'une nuit à l'autre",
"healthBlurbHrv": "RMSSD moyen sur les fenêtres de 5 minutes de la nuit",
"healthBlurbHrvCv": "SDNN en proportion de l'intervalle moyen entre battements, sur une nuit",
"healthBlurbLfHf": "Où se situe la puissance du rythme cardiaque selon les fréquences",
"healthBlurbDip": "De combien votre fréquence cardiaque baisse pendant votre sommeil",
"healthBlurbHrr": "À quelle vitesse elle baisse dans la minute suivant un effort",
Expand Down
4 changes: 2 additions & 2 deletions lib/l10n/app_hi.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1308,8 +1308,8 @@
"healthCatMovementLoad": "गतिविधि और भार",
"healthCatBodyWear": "शरीर और पहनावा",
"healthBlurbRestingHr": "रात की सबसे कम स्थिर दर",
"healthBlurbHrv": "नींद के सबसे स्वच्छ समय-खंड पर RMSSD",
"healthBlurbHrvCv": "यह रात-दर-रात कितना बदलता है",
"healthBlurbHrv": "रात की 5-मिनट की खिड़कियों पर औसत RMSSD",
"healthBlurbHrvCv": "एक रात के भीतर, औसत धड़कन-अंतराल के अनुपात में SDNN",
"healthBlurbLfHf": "धड़कन-समय की ऊर्जा विभिन्न आवृत्तियों में कहाँ है",
"healthBlurbDip": "सोते समय आपकी हृदय गति कितनी गिरती है",
"healthBlurbHrr": "किसी कसरत के बाद एक मिनट में यह कितनी तेज़ी से गिरती है",
Expand Down
4 changes: 2 additions & 2 deletions lib/l10n/app_zh.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1308,8 +1308,8 @@
"healthCatMovementLoad": "运动与负荷",
"healthCatBodyWear": "身体与佩戴",
"healthBlurbRestingHr": "整夜持续保持的最低心率",
"healthBlurbHrv": "取睡眠中信号最干净时段的 RMSSD",
"healthBlurbHrvCv": "该数值在各夜之间的波动幅度",
"healthBlurbHrv": "整晚各 5 分钟窗口 RMSSD 的平均值",
"healthBlurbHrvCv": "单晚内 SDNN 占平均心跳间期的比例",
"healthBlurbLfHf": "心跳间期功率在各频段的分布",
"healthBlurbDip": "睡眠期间心率下降的幅度",
"healthBlurbHrr": "运动结束后一分钟内心率下降的速度",
Expand Down
5 changes: 3 additions & 2 deletions lib/ui2/screens/health_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,9 @@ class _Cat {
const _catalogue = <_Cat>[
_Cat('Heart & rhythm', [
_CatRow('resting_hr', 'rhr', 'The lowest sustained rate of the night'),
_CatRow('hrv', 'rmssd', 'RMSSD over the cleanest window of sleep'),
_CatRow('hrv_cv', 'hrv_cv', 'How much that swings from night to night'),
_CatRow('hrv', 'rmssd', 'Mean RMSSD across the night\'s 5-minute windows'),
_CatRow('hrv_cv', 'hrv_cv',
'SDNN as a share of the average beat interval, within one night'),
_CatRow('lf_hf', 'lf_hf', 'Where beat-timing power sits across frequencies'),
_CatRow('dip', 'dip_pct', 'How far your heart rate falls while you sleep'),
_CatRow('hrr', 'hrr_bpm', 'How fast it falls in the minute after a bout'),
Expand Down
20 changes: 14 additions & 6 deletions lib/ui2/screens/metric_detail.dart
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,15 @@ const _specs = <String, MetricSpec>{
unit: 'ms',
color: C.green,
icon: LucideIcons.activity,
method: 'RMSSD over the longest artefact-free window during sleep. Beat '
'timing is recovered from the band\'s 1 Hz records and corrected by '
'the Lipponen–Tarvainen method before any statistic is taken. '
method: 'The mean of RMSSD across every 5-minute window of the detected '
'sleep session that holds at least 20 clean successive differences. '
'Beats outside 300–2000 ms, and beats more than 20% from their local '
'median, are dropped first. On a night whose beat timing looks noisy, '
'only windows that pass the jitter check on their own, or that sit on '
'a steady breathing line, count; a window, or a night, whose beats '
'add up to more time than passed is left out. '
'Pulse-derived, so this is PRV: real and trendable, but not ECG HRV.',
citation: 'Task Force 1996 · Lipponen & Tarvainen 2019',
citation: 'Task Force 1996 · 20% local-median ectopic filter, after Malik',
requires: {InputSignal.rrIntervals},
),
'readiness': MetricSpec(
Expand Down Expand Up @@ -301,8 +305,12 @@ const _specs = <String, MetricSpec>{
color: C.green,
icon: LucideIcons.activity,
higherBetter: false,
method: 'Night-to-night coefficient of variation of RMSSD.',
citation: 'Within-user dispersion',
method: 'Within one night: the standard deviation of the night\'s beat '
'intervals after artifact correction (SDNN) as a percentage of their '
'mean. The chart shows how that per-night figure moves across nights; '
'it is not a night-to-night coefficient of variation.',
citation: 'SDNN (Task Force 1996) over Lipponen & Tarvainen 2019 corrected '
'beats, normalised by mean NN',
requires: {InputSignal.rrIntervals},
),
'brv': MetricSpec(
Expand Down