V
Voxtar DevelopersAPI Reference / v1
Biomarkersv1

Interpreting Scores

Every panel returns three related numbers. Understanding how they fit together is the difference between noise and signal — Voxtar is built around each patient's own norm, not a population average.

The three values

score — a 0–1 panel severity for this single sample, useful for a quick read. baseline_z — how many standard deviations this sample sits from the patient's own established baseline; this is the number that matters. drift — a categorical bucket derived from baseline_z, summarized below.

Drift bands

Driftbaseline_zMeaning
nominal|z| < 1.0In line with the patient's baseline. No action.
watch1.0 ≤ |z| < 2.0A mild departure. Worth a repeat sample.
elevated2.0 ≤ |z| < 3.0A meaningful departure. Raises a review flag.
critical|z| ≥ 3.0A large, unusual departure. Raises an urgent flag.

Before a baseline exists

The first few enrollment samples build the baseline. Until GET /patients/{id}/baseline reports ready, analyses still return score and raw features, but drift is insufficient_baseline and no flags are raised.

Acting on flags

Flags roll drift into an actionable severity you can route on:

for (const flag of analysis.flags) {
if (flag.severity === "urgent") escalate(flag);
else if (flag.severity === "review") queueForClinician(flag);
}

These are screening and monitoring signals to support triage — not a diagnosis. Keep a clinician in the loop for any flagged result.