Upload a panel
CSV, JSON, or plain-text labs are all accepted atPOST /imports/file with
category: "biomarkers". Include a unit column whenever you can.
Units are converted automatically
Thresholds are held in a canonical unit per marker, and common SI/EU units are converted before scoring. A panel reported inmmol/L, µmol/L, nmol/L,
pmol/L, or mmol/mol is interpreted correctly: glucose 5.1 mmol/L is read
as ~92 mg/dL instead of being flagged as critically low. Each finding reports the
canonical unit and, when converted, converted_from. An unrecognized unit is
flagged (unit_unrecognized) rather than silently scored.
Sex- and age-aware ranges
Pass aprofile with sex and age to POST /analyses,
POST /biomarkers/analyze, or POST /biomarkers/derive. Markers whose healthy
range differs by sex (hemoglobin, hematocrit, ferritin, creatinine,
testosterone, uric acid, body fat, and others) are scored against the correct
band. eGFR is computed from creatinine, age, and sex (CKD-EPI 2021).
Direct and derived metrics
POST /biomarkers/derive computes metrics from what you uploaded: HOMA-IR,
TG/HDL, TyG index, non-HDL-C, remnant cholesterol, ApoB/ApoA1, total- and
LDL-to-HDL ratios, neutrophil-to-lymphocyte ratio, eGFR, and a metabolic-signal
count. Every derived interpretation records its inputs and provenance.