VitalsResult. Readings are processed entirely on the
phone with deterministic signal processing, not machine learning. No images are stored or transmitted; the SDK
returns only these metrics, a quality tier and diagnostics.
The NEUROFIT Vitals SDK is not a medical device. The metrics describe autonomic and cardiorespiratory state for
wellness and self-tracking; they do not diagnose, treat or prevent any condition.
Result fields
Metrics are optional (
nil / null) when the engine could not recover them; every value is finite (no NaN
reaches a result or its JSON). Heart rate is the one metric a completed reading always has; a reading with no
heart rate ends in failed(noHeartRate) rather than a result.
During the reading, LivePreview carries provisional values: heart rate from the first seconds, HRV (RMSSD) from
about 20 s, breathing rate from about 30 s. They are for display only; store the final VitalsResult.
Quality tier
The SDK grades every reading and withholds the ones it cannot stand behind.
Two rules apply on top of the engine’s grading. A reading whose values are outside physiological plausibility
(heart rate outside 20 to 200 bpm, HRV (RMSSD) outside 5 to 400 ms, breathing rate above 60 breaths per minute;
an absent breathing rate counts as 0) is downgraded to
withheld and sd2sd1 and baevskyStressIndex are
dropped. And a breathing rate with confidence below 0.5 is still returned with its confidence, so the host decides
how to present it.
In the validation study the SDK withheld 3.3% of readings.
Validated accuracy
The figures come from the NEUROFIT validation study: 30 participants, 265 accepted readings, each a 60-second seated reading taken while wearing a Polar H10 chest strap, with the strap’s beat-to-beat timing as the reference. Half the readings were at rest and half during paced breathing at 6 breaths per minute. Three readings with frequent irregular heartbeats were excluded. The two investigators are excluded from every figure.Consistent across groups
No group had a reading off by 20 ms or more. Groups with one or two people describe those individuals, not the whole group.
The full method and plots are in the
validation report (PDF).
These are interim development results; the finished system is being tested blind on new participants, and the
figures will be updated as the study grows.
Limits of the validation
The accuracy figures apply to seated, still, 60-second readings. Not yet claimed:- Accuracy for Monk skin tones 7, 9 and 10 (no participants in the study so far).
- Accuracy during movement.
- Breathing rate outside paced breathing at 6 breaths per minute.
- Readings shorter or longer than 60 seconds.
Presenting the numbers
- Round heart rate and HRV (RMSSD) to whole numbers, breathing rate to one decimal.
- Say “HRV (RMSSD)” the first time you show HRV, so users comparing with a wearable know which HRV it is.
- Compare a person with their own baseline, not with population tables; see Outcomes best practices.
- When
qualityiswithheld, show a calm retry prompt rather than a number.