blood

Paper

Blood: source-bounded personal anxiety scoring from glucose and wearable signals

Deterministic anxiety score, source freshness, HRV estimate boundary, and current live example.

Open PDF

Abstract

Blood turns automatic CONTOUR NEXT ONE glucose readings and Samsung/Health Connect heart rate, HRV, sleep, and steps into one visible stabilization score, one readable health read, and six aligned graphs: anxiety, glucose, HR, HRV, sleep, and steps. The anxiety estimate is not a diagnosis. It starts from a fixed raw baseline, adds or subtracts latest uploaded source factors, adds small dynamic factors for recent glucose drops or rises, HR rises, and true-HRV or estimated-HRV dips, scales the result to one decimal on a 1-10 range, and selects easy food, water, or movement actions from the strongest actionable glucose, HR, glucose-change, HR-change, HRV-change, or step signal. Sleep stays visible as graph history and does not become the visible action source. Dense heart-rate uploads are retained with a separate per-type history limit and displayed as five-minute median buckets with the latest raw HR point preserved.

A protected Disregard action on the latest-readings table removes a selected glucose measurement from Blood's public summary, latest glucose, glucose graph, anxiety score, pattern detector, range stats, and visible table. The action uses Blood's edit key and is separate from the bridge ingest token. The action is a soft delete: the raw record remains in protected export/history, and bridge re-uploads preserve the disregard flag.

Current formula

Raw starts at 2.2. Stable glucose, calm heart rate, fresh solid sleep recovery, and high daily steps subtract from the score. Low glucose, high glucose, high heart rate, true source HRV that is low, fresh low sleep recovery, low movement, quick glucose movement, HR rise, or HRV dip add to it. Estimated HRV is shown as a recovery estimate and can matter when it dips against recent history, but its absolute value is not treated like a true RMSSD threshold. Sleep older than the freshness window stays on the graph instead of driving the current action. The visible score is clamp(1, 10, raw * 2), rounded to one decimal place.

Current live example

The June 28, 2026 live read reconstructs as a watch-range score from 159 mg/dL glucose, 64 bpm heart rate, 23 ms estimated HRV from sleep/rest heart-rate samples, 7.3 h sleep, 3,419 daily steps, and a recent glucose rise. The top health read is written as one natural clinical read: one good sign, one biggest watchout, and one concrete food, water, or movement move; the graphs preserve the source audit trail.

Overall condition

The top text is one health read, not a latest-upload alert, action checklist, debug summary, or stacked set of tiny caveats. It starts with the concrete food, water, or movement recommendation, then explains why that move helps, then names the strongest source-backed good signal. The read does not expose role-prefix labels such as Good sign, Biggest watchout, or Best move. It uses one normal-weight, uncolored text flow; the page does not split the sentence into red and green phrase highlights. Estimated HRV reads normal unless it drops against recent personal trend. Low steps before morning are shown as early-day context, not an anxiety watchout. Diagnosis boundaries, rolling-window basis lines, and recalculation mechanics stay in the paper, references, API, or diagnostics rather than under the main read.

Pattern window

The watchout engine groups recent source records by Eastern time block and names the strongest actionable glucose, HR, HRV-change, or step pattern in simple English. When the rolling window is thin, Blood still gives the best current abnormal signal it can infer and pairs it with a concrete food, water, or movement action. Sleep-only history stays on the graph. The visible top read does not collapse the result into a vague count of source samples, a dead learning state, stacked footnotes, or action mechanics.

Anxiety graph

The anxiety graph reconstructs historical score points from active stored glucose and health samples, including the recent change leading into each point when enough history exists, then appends the latest score as the newest point. Disregarded glucose readings are left out of the reconstruction. The six graphs share one x-axis endpoint. Current latest-upload values plot at that right endpoint while their labels keep the true source measurement time. In short ranges such as 24h, HRV, sleep, and step points borrow adjacent context points for the line path so the range reads like a zoom into the seven-day trend instead of isolated dots. HR is graphed from retained multi-day history instead of only the newest dense sync packet. Steps are displayed as one latest daily total per Eastern date, not a sum of repeated upload packets.

Boundary

Heart rate is current only when the health bridge uploads and Samsung/Health Connect exposes current samples, so Blood shows both the health-upload time and source sample time. True HRV is used when source RMSSD exists. Otherwise Blood estimates HRV from independent dense low-noise sleep/rest heart-rate windows, trims sleep-window edges, requires at least three low-overlap clean windows and 75 accepted adjacent pairs, exposes window spread, and labels the result as estimated. This paper is a system record, not medical advice.