Oura Ring Gen 4 sensor data — not clinical measurementsN=1 case study — not validated for clinical decisionsHEV diagnosed Mar 18; interpret findings cautiously in this Day 8 post-ruxolitinib window

What's Next

From single-patient proof-of-concept to cohort-ready pipeline
Generated 2026-03-24 12:16 · Post-HSCT Patient

Current Subjects

Primary Subject
79days
36M · Post-HSCT · Resting HR 79-84 · HRV 9-10 ms
Info
Family Control
1night
61F · Healthy · Resting HR 56-68 · Same genetics
Normal
Disease Control
34nights
36M · Post-stroke · Sparse data · Restarting nightly wear
Elevated

What This Is and What It Isn't

What we have

79 days of continuous Oura data. 67 days pre-intervention baseline. 8 days post-ruxolitinib. 11 core analysis modules plus a roadmap appendix. A CausalImpact model that returns a statistically significant treatment signal (see causal inference report for current p-values).

What that p-value actually means

The model detected a statistically significant change in the biometric signal after March 16. It cannot tell us why.

The problem

Ruxolitinib started March 16. Hepatitis E was diagnosed March 18. Two days apart. At day 8, we cannot separate the two.

Signal Pre-rux (67 days) Post-rux (8 days) Could be rux? Could be HEV?
Temperature deviation +0.07 C -0.16 C Yes (immunosuppression) Yes (acute viral fever resolving)
Sleep HR 85.0 bpm 81.8 bpm Yes (reduced inflammation) Yes (acute phase resolving)
Resting HR (readiness) 79.1 bpm 84.2 bpm No (went up, not down) Yes (HEV-driven tachycardia)
HRV (RMSSD) 9.2 ms 10.1 ms Marginal (still severely depressed) Unclear

The resting HR went up after ruxolitinib, not down. That is more consistent with acute HEV infection than with JAK inhibitor response. The temperature drop could be either. The HRV change is within noise at these sample sizes.

What resolves this

Time. HEV is acute. It resolves in weeks. Ruxolitinib is sustained. If the signals persist and strengthen at day 28 (~April 13), it is ruxolitinib. If they fade, it was HEV. We cannot know before then.

There is one shortcut: Oura has the answer now. Their cohort contains users on ruxolitinib without HEV. Comparing those users' autonomic trajectories against this patient's would resolve the confound immediately. That comparison is impossible with N=1. It is trivial at cohort scale.

Day 1: Family Control

Ring received March 23. First full night: March 24. One night of data.

Metric Subject A (36M, post-HSCT) Family Control (61F, healthy) What it means
Resting HR 79-84 bpm 56-68 bpm 20+ bpm gap. Subject A's autonomic system is measurably damaged.
HRV (RMSSD) 9-10 ms TBD (collecting) Population median: 49 ms. Subject A is at the 1st percentile. Family control will likely be near normal.
Age 36 61 The 61-year-old has a healthier heart rate than the 36-year-old. That is the disease signal.
Genetics ~50% shared genome Same genetic background eliminates inherited autonomic traits as confounders.

One night. The contrast is already visible. The 61-year-old family control rests at 56-68 bpm. The 36-year-old subject, 28 months post-transplant, rests at 79-84 bpm. That gap is not genetic. It is disease.

Disease Control: Post-Stroke

36M. Same age as Subject A. Post-stroke with neurovascular autonomic damage. Has worn an Oura Ring intermittently — 34 nights over 2 years. That is not enough for meaningful analysis.

Starting now: nightly wear. Once we have 30+ consecutive nights, the same 11-module pipeline runs on his data. No code changes. Different config file, different OAuth token, same analyses.

What this adds

Subject A has immune-mediated autonomic damage (GVHD, 10 organ systems). Subject B has neurovascular autonomic damage (post-stroke). Both are 36M. Same hardware, same software, different pathology.

If the autonomic signatures separate — different HRV patterns, different sleep architecture, different circadian disruption — that is evidence that a consumer ring can distinguish between disease types, not just detect "something is wrong."

Roadmap

Phase Timeline What
v1.0 Now Single-patient: 79 days, 8 days post-rux, 11 core modules. HEV confound unresolved.
v1.1 Continuous (resolves ~April 13) Reports update daily. Day 28 is when HEV vs. ruxolitinib separates statistically. Watch the numbers change.
v2.0 April Healthy family control (61F). 30+ nights. Same pipeline, same genetics, no disease.
v2.1 April-May Post-stroke control (36M). 30+ consecutive nights. Different pathology, same age.
v3.0 Q2 2026 Multi-user comparison: GVHD vs. stroke vs. healthy. Between-subjects CausalImpact.

Planned Analyses

Between-subjects CausalImpact

Same intervention window, three physiologies. Does ruxolitinib produce a detectable autonomic signal only in the immune-mediated patient? The controls make this answerable.

Family genetic control comparison

Mother and son, ~50% shared genome. Baseline HRV, sleep architecture, circadian patterns. What is inherited and what is disease?

Disease-specific autonomic signatures

Immune-mediated (GVHD) vs. neurovascular (post-stroke). Different damage, same ring, same pipeline. Do the signatures separate?

Cohort-ready pipeline

Any Oura user, any condition. Config file + OAuth token = full 11-module analysis. Open source.

For Oura's Team

This pipeline runs in 193 seconds on a single patient. Config file + OAuth token is all it needs. If your cohort contains even 50 users on ruxolitinib, you can validate or falsify every finding on this site in an afternoon. The code is MIT-licensed. The confound table above tells you exactly which comparisons resolve which questions.