ANALYTIC ALGORITHMS
BMI
A. Questions and scoring per question
Not a multi-question instrument — calculated directly from weight and height inputs. No questionnaire items.
B. Scoring algorithm
SCORE = WEIGHT / HEIGHT SQUARED (metric: kg / m²)
C. Bands
- If BMI Score Less Than or Equal To “18.9” = LOW
- If BMI Score Less Than “25” If BMI Score Greater Than “18.9” = HEALTHY
- If BMI Score Less Than “30” If BMI Score Greater Than “24.9” = ELEVATED
- If BMI Score Greater Than “29.9” If BMI Score Less Than “40” = HIGH
- If BMI Score Greater Than “39.9” : SEVERE
D. Citations / links
No external citation block in the original document for BMI specifically — it is the universal WHO international BMI classification, no copyright, no licence required.
D1. Quartile
Risk grade defines the quartile directly (5 BMI labels mapped onto 4 quartiles — Underweight and Elevated both represent a mild deviation from Healthy, in opposite directions, so both map to Q2):
- If BMI Score Less Than or Equal To “18.9” = LOW → Q2
- If BMI Score = HEALTHY → Q1
- If BMI Score = ELEVATED → Q2
- If BMI Score = HIGH → Q3
- If BMI Score = SEVERE → Q4
E. Notes
[REGULATORY STATUS: Cleared for full score + band display. Body-composition metric, never a disease-naming issue — see “Ethical Approach” tab, regulatory page.]
VFA (Visceral Fat)
A. Questions and scoring per question
Not a multi-question instrument — calculated from waist circumference, proximal thigh circumference, age, and BMI.
B. Scoring algorithm
SCORE (Women) = 2.15 × Waist C − 3.63 × Proximal Thigh C + 1.46 × Age + 6.22 × BMI − 92.713; [R2 = 0.836]
SCORE (Men) = 6 × Waist C − 4.41 × proximal thigh C + 1.19 × Age − 213.65; [R2 = 0.803]
C. Bands
- If VFA Score Less Than “131” = LOW RISK
- If VFA Score Less Than “151” If VFA Score Greater Than “130” = ELEVATED RISK
- If VFA Score Less Than “181” If VFA Score Greater Than “150” = HIGH RISK
- If VFA Score Greater Than “180” = SEVERE RISK
D. Citations / links
- https://pmc.ncbi.nlm.nih.gov/articles/PMC3618381/ — confirmed as Samouda H, Dutour A, Chaumoitre K, Panuel M, Dutour O, Dadoun F. “VAT=TAAT-SAAT: innovative anthropometric model to predict visceral adipose tissue without resort to CT-Scan or DXA.” Obesity (Silver Spring) 2013;21(1):E41-50 — the original source of the exact formula above.
- https://www.measurement-toolkit.org/anthropometry/objective-methods/simple-measures-asd
- https://www.lih.lu/en/visceral-fat-calculator/ — the Luxembourg Institute of Health (LIH) and Centre Hospitalier de Luxembourg (CHL) host this exact Samouda formula as a public-facing calculator, unsupervised. [ADDED: confirms the formula’s peer-reviewed origin and gives a direct national-health-institute precedent for showing the result to consumers.]
- https://onlinelibrary.wiley.com/doi/abs/10.1002/ajhb.22898 — Brown et al. (2017), independent validation in 10,624 NHANES participants followed ~19 years, finding it the most accurate predictor of all-cause, cardiovascular, and cancer mortality among anthropometric options when imaging isn’t available.
Also independently validated in 1,529 participants of the European Health Examination Survey in Luxembourg (Ruiz-Castell et al., 2021), finding strong graded associations with hypertension, prediabetes/diabetes, and hypercholesterolaemia. [ADDED — strengthens the case that this is a recognised, independently-replicated clinical model, not a single-study formula.]
D1. Quartile
Risk grade defines the quartile directly:
- If VFA Score = LOW RISK → Q1
- If VFA Score = ELEVATED RISK → Q2
- If VFA Score = HIGH RISK → Q3
- If VFA Score = SEVERE RISK → Q4
E. Notes
[REGULATORY STATUS: Cleared for full score + band display. Body-composition metric, never a disease-naming issue. Formula confirmed as Samouda et al. (2013), peer-reviewed and independently re-validated (NHANES; Luxembourg national health survey) — see “Ethical Approach” tab, regulatory page.]
Band thresholds (131/151/181) do not trace to one single published Samouda-paper cutoff. Published VAT risk thresholds vary by population and sex (~70cm² Korean women, ~100-106cm² Western women, ~163cm² older women, ~100-119cm² MetS/T2DM cohorts). The platform’s values sit within this range but aren’t a verbatim citation.
[LICENSING CHECK, 2026: researched directly — no patent or licensing restriction found on the Samouda regression equation itself. Published in a peer-reviewed journal (Obesity, 2013); mathematical formulas from academic papers aren’t copyrightable (copyright protects the paper’s text, not the equation). The Luxembourg Institute of Health — the formula’s own origin institution — hosts it themselves as a free public consumer-facing calculator with no licensing gate, which is strong practical evidence it isn’t treated as proprietary even by the rights-holders. This is a materially different situation from the retired STOP-BANG/Leicester/ISI indexes, which are branded, owned consumer-facing questionnaires with their own licensing structure — a raw published regression equation isn’t that. Decision: keep Samouda as the live formula, no rebuild needed.]
[BACKUP FORMULA ON FILE, NOT IMPLEMENTED — kept in reserve only, in case Samouda’s status ever changes. A separate published anthropometric VFA equation, Chinese overweight/obese cohort (age + waist circumference + neck circumference, no thigh measurement needed):
Men: VFA = 3.7 × Age + 2.4 × Waist C + 5.5 × Neck C − 443.6
Women: VFA = 2.8 × Age + 1.7 × Waist C + 6.5 × Neck C − 367.3
Source: “A Reliable Estimate of Visceral Fat Area From Simple Anthropometric Measurements in Chinese Overweight and Obese Individuals,” PMC9261284. Derived from a Chinese overweight/obese population specifically — may be less accurate for other ethnicities or normal-weight individuals, per the paper’s own stated limitation. Not wired into the calculator; this entry exists purely so the option isn’t lost if it’s ever needed.]
Diabetes (Type 2 Symptom Screen) — WARNING DIAL, migrated off the Leicester Practice Risk Score
A. Questions and scoring per question
Seven original symptom questions (diabetes1-diabetes7), each scored 0-4, own wording — no licensed scale reused. PLUS six auto-filled risk-factor tiles (age, family history, ethnicity, BMI, waist circumference, blood pressure), also 0-4, pulled from the user’s existing Biometrics answers — nothing is re-typed. These are summed into the same combined score as the symptoms (same mechanism as OSA), not shown as a separate informational total.
Symptom questions (word-for-word, matching the live form):
- 1. “How tired do you feel, day-to-day, compared to what’s normal for you?” — Not tired 0, Mild 1, Moderate 2, Severe 3, Very severe 4
- 2. “Are you needing to pee more than usual, especially at night?” — No change 0, Mild 1, Moderate 2, Severe 3, Very severe 4
- 3. “How often do you feel unusually thirsty?” — Never 0, Rarely 1, Some days 2, Most days 3, Constantly 4
- 4. “Have you lost weight recently without trying to?” — No 0, Small amount 1, Noticeable amount 2, Significant amount 3, Large amount 4
- 5. “Have you noticed your eyesight being blurred?” — Never 0, Rarely 1, Some days 2, Most days 3, Constantly 4
- 6. “Are cuts, grazes or wounds taking longer than usual to heal?” — No 0, Slightly slower 1, Noticeably slower 2, Much slower 3, Very slow/not healing 4
- 7. “Do you get persistent itching or thrush around your genitals?” — Never 0, Rarely 1, Occasionally 2, Frequently 3, Very frequently 4
Where each symptom question comes from: all seven trace directly to NHS, “Symptoms of type 2 diabetes and how it’s diagnosed” (nhs.uk/conditions/type-2-diabetes/symptoms/, reviewed 10 Feb 2025) — quote: “The most common symptoms of type 2 diabetes are: feeling very tired, peeing more than usual, feeling thirsty all the time, losing weight without trying to. Other symptoms can include: blurred vision, cuts or wounds taking longer to heal, itching around your penis or vagina, or you keep getting thrush.”
Risk-factor tiles (auto-filled from Biometrics, sourced from $age/$diabetes_family/$ethnicity/$bmi_score/$waist/$bp_high). All are NIDDK-cited except blood pressure, which is NHS-cited. No sex/gender-based scoring — unlike the old Leicester clone’s flat +1 for male, gender here is used ONLY to pick which cited waist-circumference threshold applies (a measurement calibration, not a scored factor):
- Age (5 tabs): <35 (0), 35–44 (1), 45–54 (2), 55–64 (3), 65+ (4). NIDDK cites a single 35+ threshold (“you are more likely to develop type 2 diabetes if you are age 35 or older”) — only that one line is source-backed; the bands above/below it are our own even-decade interpolation, not independently cited.
- Family history (binary): No (0), Yes (4). NIDDK: “you have a family history of diabetes.”
- Ethnicity (binary): Not in a named higher-risk group (0), African American/American Indian/Asian/Black/Hispanic/Pacific Islander (4). NIDDK: “…if you are African American, American Indian, Asian American, Hispanic/Latino, or Pacific Islander.” White/Other are not named in that source, so scored neutral (0), not assumed higher-risk.
- BMI, ethnicity-adjusted (5 tabs): entry point (start of “overweight”) is 25 general population, 23 Asian, 26 Pacific Islander — NIDDK: “Most adults with a BMI of 25 or higher are overweight… Asian Americans… 23 or higher… Pacific Islanders… 26 or higher.” Only that entry line is NIDDK-cited; the standard WHO/NIH clinical BMI gradient (25/30/40, public-domain, not a licensed instrument) is then scaled proportionally from that entry point for the bands above it: <19 (1, underweight — not zero risk, not overweight either), 19–entry (0), entry–(30×entry/25) (2), that–(40×entry/25) (3), above that (4).
- Waist circumference, cm (5 tabs) — sex-adjusted (NIDDK: “Men have a higher risk… if waist circumference is more than 40 inches [102cm]… women… more than 35 inches [89cm]”): Male <82 (0)/82–91 (1)/92–101 (2)/102–111 (3)/≥112 (4); Female <70 (0)/70–79 (1)/80–88 (2)/89–98 (3)/≥99 (4). Only the single cited threshold (102cm male, 89cm female, sitting at the boundary between band 2 and band 3) is NIDDK-backed; the other bands are our own ~10cm-wide interpolation, not independently cited.
- Blood pressure (2 tabs, self-reported, no reading required): No (0), Yes (4). NHS: “you have a condition that increases your risk, such as high blood pressure.” “Not Sure” is a valid completed answer that removes this factor from BOTH score and max entirely — same handling as OSA’s BP factor, never guessed at a mid-value.
B. Scoring algorithm
SCORE = sum of all seven symptom answers + Age + Family history + Ethnicity + BMI + Waist points + Blood Pressure points (if known). MAX = (7 × 4) + 4 + 4 + 4 + 4 + 4 = 28 + 20 = 48, PLUS 4 more (= 52) if blood pressure is actually known (Yes/No). If the user answered “Not Sure” to blood pressure, that factor is dropped from both score and max. Standard unweighted Warning-pathway formula (see warning_status_from_pct() in assessmentCalculatorIntelligent.php): percentage = score ÷ max_score. Same formula, same code path as every other Warning Dial condition — the risk-factor tiles are not a separate weighting system.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage ≥ 75% = SEVERE
D. Citations / links
- Symptom questions: NHS – Symptoms of type 2 diabetes and how it’s diagnosed (reviewed 10 Feb 2025). Deliberately original wording — no licensed clinical scale is reused or paraphrased.
- Risk-factor tiles: NIDDK – Risk Factors for Type 2 Diabetes (last reviewed July 2022), except blood pressure (NHS, symptoms page above). Free public clinical guidance, not a licensed instrument.
- Not the Leicester Practice Risk Score: same underlying clinical facts (age/BMI/waist/ethnicity/family history/BP raise diabetes risk — nobody owns that), but a completely different instrument. Leicester’s protected content is its exact point values (age 5/9/13, BMI 3/5/8, waist 4/6/9, ethnicity flat +6, family +5, BP +5, +1 for male) and its risk-factor-only max-47 scoring. This screen has different point values throughout, no gender scoring at all, ethnicity-adjusted BMI thresholds instead of a flat White/non-White split, and folds seven original NHS-sourced symptom questions into the same score — something Leicester has no equivalent of at all — then runs the combined total through the same percentage formula used by every other Warning Dial condition, not Leicester’s raw point-cutoff bands.
D1. Quartile
Same formula as every Warning Dial condition — percentage of max score, not a grade mapping:
- IF PERCENTAGE < 25% = Q1 (Normal)
- IF PERCENTAGE < 50% = Q2 (Elevated)
- IF PERCENTAGE < 75% = Q3 (High)
- IF PERCENTAGE ≥ 75% = Q4 (Severe)
E. Notes
[REGULATORY STATUS: WARNING DIAL — original, non-validated symptom-severity screen. Migrated off the licensed Leicester Practice Risk Score (the same instrument behind Diabetes UK’s “Know Your Risk” tool) for licensing reasons — Leicester is not reused, paraphrased, or referenced in the live product. See “Ethical Approach” tab, regulatory page.]
[KEY INDICATORS — up to two dots per card, same house convention as OSA/Insomnia/Circadian/RLS: “needing to pee more than usual” (diabetes2) is flagged as the direct mechanistic marker of hyperglycemia (osmotic diuresis) — more specific than fatigue, which is nonspecific to almost any condition. BMI is flagged on the risk-factor side per NIDDK’s own citation (ADA Standards of Care) framing overweight/obesity as the dominant modifiable driver — same reasoning OSA used for its BMI dot. See get_diabetes_key_indicators() in assessmentResultsIntelligent.php.]
[ETHNICITY LIST — the live ethnicity dropdown (White/Asian/Black/Hispanic/Pacific Islander/Other) was extended with Pacific Islander specifically so NIDDK’s separate BMI≥26 threshold for that group has somewhere to attach; previously only Asian (23) had its own cutoff and everyone else defaulted to 25.]
GAD-7 (Anxiety)
A. Questions and scoring per question
Over the last two weeks, how often have you been bothered by any of the following problems:
- Feeling nervous, anxious or on edge?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Not being able to stop or control worrying?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Worrying too much about different things?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Trouble relaxing?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Being so restless that it is hard to sit still?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Becoming easily annoyed or irritable?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
- Feeling afraid as if something awful might happen?
- Not at all = 0
- Several days = 1
- More than half the days = 2
- Nearly every day = 3
B. Scoring algorithm
SCORE = Sum of scores for each question. Max 21.
C. Bands
- If GAD Score Less Than “5” = LOW RISK
- If GAD Score Greater Than “4” If GAD Score Less Than “10” = ELEVATED RISK
- If GAD Score Greater Than “9” If GAD Score Less Than “15” = HIGH RISK
- If GAD Score Greater Than “14” = SEVERE RISK
D. Citations / links
- GAD (formerly owned by Pfizer who have released all rights for anyone to use it)
D1. Quartile
Risk grade defines the quartile directly:
- If GAD Score = LOW RISK → Q1
- If GAD Score = ELEVATED RISK → Q2
- If GAD Score = HIGH RISK → Q3
- If GAD Score = SEVERE RISK → Q4
E. Notes
[REGULATORY STATUS: Cleared for full score + band display. GAD-7, Spitzer et al. (2006), public domain. Patient.info hosts this exact instrument publicly with an instant score, unsupervised — see “Ethical Approach” tab, regulatory page. Also feeds a modifier into the IBS-Non Indexed Symptoms section.]
OSA (Sleep Apnea Symptom Screen) — WARNING DIAL, migrated off STOP-BANG
A. Questions and scoring per question
Six original symptom questions (osa1-osa6), each scored 0-4, own wording — no licensed scale reused. PLUS five auto-filled risk-factor tiles (BMI, age, sex, neck circumference, blood pressure), also 0-4, pulled from the user’s existing Biometrics answers on a read-only step — nothing is re-typed. These are not merged into the symptom set; they render as their own labeled “Risk factors” section on the card back.
Symptom questions:
- Snoring severity: None/no snoring 0, Mild 1, Moderate 2, Severe 3, Very severe 4
- Gasping/choking or witnessed breathing pauses: Never 0, Rarely 1, Occasionally 2, Frequently 3, Every night 4
- Daytime sleepiness: Never 0, Rarely 1, Sometimes 2, Often 3, Almost every day 4
- Unrefreshing sleep / morning grogginess: Never 0, Rarely 1, Sometimes 2, Often 3, Almost every morning 4
- Sleep fragmentation: Never 0, Rarely 1, Sometimes 2, Often 3, Almost every night 4
- Concentration/memory interference: No interference 0, Interferes a little 1, Somewhat interferes 2, Very much interferes 3, Extremely interferes 4
Risk-factor tiles (auto-filled from Biometrics, sourced from $bmi_score/$age/$gender/$neck/$bp_high). Tab labels are plain numeric ranges only — no diagnostic category names (no “Obese”, “Elevated”, etc.). Every tile still scores on the full 0-4 range; fewer real-world tabs (sex, blood pressure) just means fewer of those five values are ever reached, not a smaller scale:
- BMI (5 tabs): <19 (1), 19–24.9 (0), 25–29.9 (2), 30–39.9 (3), ≥40 (4). Underweight is scored 1, not 0 — it isn’t the zero-risk band, but it isn’t obesity either.
- Age (5 tabs): <40 (0), 40s (1), 50s (2), 60s (3), ≥70 (4)
- Sex (2 tabs): Female (0), Male (4) — full scale endpoints, no partial credit
- Neck circumference (5 tabs) — sex-adjusted (women carry equivalent OSA risk at a smaller neck size than men): Male <37cm (0)/37–39.9 (1)/40–42.9 (2)/43–45.9 (3)/≥46 (4); Female <34cm (0)/34–36.9 (1)/37–39.9 (2)/40–42.9 (3)/≥43 (4)
- Blood pressure (2 tabs, self-reported, no reading required): No (0), Yes (4). “Not Sure” is a valid completed answer that removes this factor from BOTH score and max entirely (see B below) — it is not guessed at a mid-value.
- BMI, Age, Sex and Neck can never actually be missing here — completing Biometrics (which collects all four) is a hard prerequisite gate for this form. See E. Notes.
B. Scoring algorithm
SCORE = sum of all six symptom answers + BMI + Age + Sex + Neck points + Blood Pressure points (if known). Max = (6 × 4) + 4 + 4 + 4 + 4 = 24 + 16 = 40, PLUS 4 more (= 44) if blood pressure is actually known (Yes/No). If the user answered “Not Sure” to blood pressure, that factor is dropped from both score and max — max stays 40, not 44 with a guessed mid-value. Standard unweighted Warning-pathway formula otherwise (see warning_status_from_pct() in assessmentCalculatorIntelligent.php): percentage = score ÷ max_score. Same formula, same code path as the symptom-only questions — the risk-factor tiles are not a separate weighting system.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage ≥ 75% = SEVERE
Because age/sex are non-modifiable and now contribute to the score, the dial may not reach NORMAL for every user (e.g. an older male with no symptoms at all still carries some risk-factor points). This is accepted as clinically accurate, not a scoring defect — see the modifiable/non-modifiable framework discussion this migration was built on.
D. Citations / links
- Symptom questions: deliberately original wording — no licensed clinical scale (STOP-BANG, Epworth, or any Mapi Research Trust/ePROVIDE instrument) is reused or paraphrased. The underlying clinical symptom domains (snoring, witnessed apnea, daytime sleepiness, unrefreshing sleep, sleep fragmentation, cognitive impact) are established medical facts, not copyrightable.
- Risk-factor tiles: NICE NG202 — Obstructive sleep apnoea/hypopnoea syndrome and obesity hypoventilation syndrome in over 16s: diagnosis and management (2021), nice.org.uk/guidance/ng202. NG202 lists BMI, neck circumference, male sex and family history as risk factors — free public clinical guidance, not a licensed instrument. Cited on the card back.
- Not STOP-BANG: same underlying clinical facts (BMI/age/sex/neck/BP raise OSA risk — nobody owns that), but a different instrument. STOP-BANG’s protected content is its exact 8-item list, binary yes/no format, own wording, and 0-2/3-4/5-8 scoring bands. This screen uses different wording, a 0-4 graduated scale instead of binary, drops blood pressure as a measured reading (self-report only), and runs through the same percentage formula used by every other Warning Dial condition in the app — not STOP-BANG’s point system.
D1. Quartile
Same formula as every Warning Dial condition — percentage of max score, not a grade mapping:
- IF PERCENTAGE < 25% = Q1 (Normal)
- IF PERCENTAGE < 50% = Q2 (Elevated)
- IF PERCENTAGE < 75% = Q3 (High)
- IF PERCENTAGE ≥ 75% = Q4 (Severe)
E. Notes
[REGULATORY STATUS: WARNING DIAL — original, non-validated symptom-severity screen. Migrated off the licensed STOP-BANG index (Chung et al., 2008) for licensing reasons — STOP-BANG is not reused, paraphrased, or referenced in the live product. Unlike the legacy Path 2 Warning cards (SIBO/Celiac/Lactose/RLS), the percentage IS shown to the user on the card itself — regulatory safety here comes from the explicit “not a medical score or index” disclaimer on the card’s reverse, not from hiding the number. See “Ethical Approach” tab, regulatory page.]
[RISK-FACTOR TILES ADDED — five auto-filled tiles (BMI/age/sex/neck/BP) reinstated from Biometrics, scored 0-4 same as any symptom question, cited to NICE NG202 rather than STOP-BANG. Tab labels are plain numeric ranges, no diagnostic category names. Neck circumference bands are sex-adjusted. Rendered as real locked tiles in the same visual style as osa1-6 (not clickable, not a text summary) — see sleepForm.php Step 4. This establishes the house pattern for folding non-modifiable demographic risk factors (age/sex/family history) into a condition’s own Warning Dial score elsewhere in the app: own tile(s), own citation, plain-range labels, sex/context-adjusted bands where the underlying clinical risk differs — not a separate Brain wellness-factor mechanism, not a condition-specific test-threshold rule.]
[BIOMETRICS GATE — completing Biometrics (BMI/age/sex/neck/blood pressure) is now a hard prerequisite for the Sleep Analytics form. If any of those five fields is missing, the entire Sleep wizard is blocked with a link back to Biometrics — not partial access, not neutral-scored placeholders. The one exception: blood pressure’s “Not Sure” is itself a valid completed answer (Biometrics still counts as done), which then removes BP from OSA’s score and max rather than guessing a value for it.]
Insomnia (Sleep Difficulty Symptom Screen) — WARNING DIAL, migrated off ISI
A. Questions and scoring per question
Nine original symptom questions (insomnia1-insomnia9), each scored 0-4 — rebuilt directly from the named diagnostic lists below rather than retrofitted onto ISI’s 7-item shape. PLUS three risk-factor questions, also 0-4: family history (answered directly on the Insomnia step — not Biometrics, since this isn’t biometric data) and age/sex (auto-filled from Biometrics, same source as OSA’s tiles).
Symptom questions (word-for-word, matching the live form):
- 1. “How much difficulty do you have falling asleep at night?” — None 0, Mild 1, Moderate 2, Severe 3, Very severe 4
- 2. “How much difficulty do you have staying asleep through the night?” — None 0, Mild 1, Moderate 2, Severe 3, Very severe 4
- 3. “How often do you wake up earlier than planned and can’t get back to sleep?” — Never 0, Rarely 1, Sometimes 2, Often 3, Almost every night 4
- 4. “How often do you wake up feeling unrefreshed, even after a full night in bed?” — Never 0, Rarely 1, Sometimes 2, Often 3, Almost every morning 4
- 5. “How often do you feel fatigued or low on energy during the day?” — Never 0, Rarely 1, Sometimes 2, Often 3, Almost every day 4
- 6. “How often does poor sleep affect your concentration or memory?” — Never 0, Rarely 1, Sometimes 2, Often 3, Almost every day 4
- 7. “How often does poor sleep affect your mood or patience?” — Never 0, Rarely 1, Sometimes 2, Often 3, Almost every day 4
- 8. “How much do you worry or feel distressed about your sleep?” — Not at all 0, A little 1, Somewhat 2, Very much 3, Extremely 4
- 9. “How much does your sleep problem interfere with work, relationships, or daily tasks?” — No interference 0, A little 1, Somewhat 2, Very much 3, Extremely 4
Where each symptom question comes from:
- Questions 1-3: DSM-5 Insomnia Disorder Criterion A’s three named sleep-continuity types (difficulty initiating sleep, difficulty maintaining sleep, early-morning awakening).
- Question 4: NICE CKS’s fourth sleep-continuity type, which DSM-5 doesn’t name (non-restorative/unrefreshing sleep).
- Questions 5-7: NICE CKS’s daytime-impairment list, named as three separate items (fatigue, poor concentration, mood disturbance) rather than one bundled “interference” question.
- Questions 8-9: DSM-5 Criterion B’s two named consequences, kept as two separate items (clinically significant distress; impairment in functioning).
Risk-factor questions:
- 10. “Does a parent or sibling have, or have they had, ongoing sleep problems (insomnia)?” — No 0, Not Sure (excluded from score and max), Yes 4.
- 11. Age (auto-filled from Biometrics) — Under 40: 0, 40-49: 1, 50-59: 2, 60-69: 3, 70+: 4.
- 12. Sex (auto-filled from Biometrics) — Female: 4, Male: 0. REVERSED from OSA — female sex is the higher-risk direction for insomnia.
B. Scoring algorithm
SCORE = sum of all 9 symptom answers + Age points + Sex points + family-history points (if known).
MAX = 36 (9 symptom questions × 4) + 4 (Age) + 4 (Sex) = 44 when family history is “Not Sure”/unknown, or 48 (44 + 4) when family history is actually known (Yes/No). Standard unified Warning-pathway formula (see warning_status_from_pct() in assessmentCalculatorIntelligent.php): percentage = score ÷ max_score. No item weighting — every point is a plain 0-4 value, same convention as every other Warning Dial condition.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage ≥ 75% = SEVERE
9 symptom questions on a 36-point base (not 7 on 28) means this no longer lands on ISI’s own published 7/14/21 band cutoffs.
D. Citations / links
- Symptom questions (1-9): DSM-5 Insomnia Disorder criteria (Criterion A: the three named sleep-continuity types; Criterion B: distress and functional impairment, named separately) and NICE CKS – Insomnia (adds non-restorative sleep as a fourth sleep-continuity type, and names fatigue/concentration/mood as separate daytime-impairment items). Original wording throughout — no ISI item text reused or paraphrased, and the question list itself is built from these two named lists, not from ISI’s 7-item structure.
- Risk-factor questions (10-12): Harvard Medical School, Division of Sleep Medicine – Risk Factors for Insomnia (names advancing age, female sex, and family history as major risk factors), supported by a twin-study heritability meta-analysis (heritability 0.48-0.61) and a familial-aggregation study (first-degree relative recurrence risk 2.3-2.8x).
D1. Quartile
Same formula as every Warning Dial condition — percentage of max score, not a grade mapping:
- IF PERCENTAGE < 25% = Q1 (Normal)
- IF PERCENTAGE < 50% = Q2 (Elevated)
- IF PERCENTAGE < 75% = Q3 (High)
- IF PERCENTAGE ≥ 75% = Q4 (Severe)
E. Notes
[REGULATORY STATUS: WARNING DIAL — original, non-validated symptom-severity screen. Migrated off the licensed ISI index (Bastien, Vallières & Morin, 2001) for licensing reasons — ISI is not reused, paraphrased, or referenced in the live product. As with OSA, the percentage IS shown to the user on the card itself — regulatory safety comes from the explicit “not a medical score or index” disclaimer on the card’s reverse, not from hiding the number. See “Ethical Approach” tab, regulatory page.]
[FULL REBUILD — the original 7-question set (built pre-dating this rebuild) structurally mirrored ISI almost exactly: same 7 domains, same 0-4 per item, same 0-28 total, and its quartile bands landed on ISI’s own published 7/14/21 cutoffs, even though the wording was original. Citations had been retrofitted onto that shape after the fact rather than used to build it. This version discards that shape entirely: 9 items sourced directly from DSM-5 Criterion A/B and NICE CKS’s named lists (including non-restorative sleep and three separate daytime-impairment items DSM-5 doesn’t itemise), plus age and sex added as risk-factor tiles alongside the existing family-history question. Card back splits into “Symptoms” and “Risk factors” mini-sections, each with its own citation link — same structure as OSA.]
Sleep Efficiency (and Hours Asleep)
A. Questions and scoring per question
Not a multi-question instrument — calculated from two numeric inputs: hours asleep and hours in bed.
B. Scoring algorithm
SCORE: Sleep Efficiency = (hours asleep / hours in bed) × 100, expressed as a %.
C. Bands
- If Sleep Efficiency Score Less Than “76%” = SEVERE RISK
- If Sleep Efficiency Score Greater Than “75%” If Sleep Efficiency Score Less Than “82%” = HIGH RISK
- If Sleep Efficiency Score Greater Than “81%” If Sleep Efficiency Score Less Than “95%” = ELEVATED RISK
- If Sleep Efficiency Score Greater Than “94%” = LOW RISK
Adjunct: Hours Asleep
- If Hours Asleep Score Is “7” Or Greater – Insert Adequate Sleep Hours Into Hours Asleep Status
- If Hours Asleep Score Is Less Than “7” – Insert Inadequate Sleep Hours Into Hours Asleep Status [FIXED: previously “Greater Than 7 = Adequate” and “Less Than 8 = Inadequate” overlapped for any value between 7 and 8 — both fired at once. Now a single clean threshold.]
D. Citations / links
No external citation — this is a directly calculated ratio, not a named clinical instrument.
D1. Quartile
Risk grade defines the quartile directly. Note this scale is inverse (Low = highest %, best outcome) — Q1 always means lowest risk grade, regardless of which direction the raw percentage moves:
- If Sleep Efficiency Score = LOW RISK (95%+) → Q1
- If Sleep Efficiency Score = ELEVATED RISK (82-94%) → Q2
- If Sleep Efficiency Score = HIGH RISK (76-81%) → Q3
- If Sleep Efficiency Score = SEVERE RISK (<76%) → Q4
E. Notes
[Not part of the validated/pending 11-condition split — a directly calculated metric, not a symptom-based score.]
Circadian Rhythm — WARNING DIAL (questions re-authored to 5-option scale, formula/UI migrated)
A. Questions and scoring per question
- How often do you struggle to fall asleep at bedtime?
- Rarely/never: 0
- Occasionally: 1
- Sometimes: 2
- Frequently: 3
- Almost every night: 4
- How often do you struggle to wake up on time?
- Rarely/never: 0
- Occasionally: 1
- Sometimes: 2
- Frequently: 3
- Almost every morning: 4
- How often do you feel alert at the wrong times?
- Rarely/never: 0
- Occasionally: 1
- Sometimes: 2
- Frequently: 3
- Almost every day: 4
- What’s your body clock — night owl or early bird?
- Strong early bird: 0
- Mild early bird: 1
- Neutral: 2
- Mild night owl: 3
- Strong night owl: 4
- How much does your sleep shift on weekends?
- Under 1 hour: 0
- 1-2 hours: 1
- 2-3 hours: 2
- 3-4 hours: 3
- Over 4 hours: 4
- How often do you use screens before bed?
- Rarely/never: 0
- Sometimes: 1
- Often: 2
- Frequently: 3
- Every night: 4
- How much daylight exposure do you get daily?
- Significant: 0
- Some, most days: 1
- Limited: 2
- Mostly indoors: 3
- Almost none: 4
[7 questions, each 0-4, max 28 — re-authored from the original 4-option (0-3, max 21) scale so it fits the shared Warning Dial formula (max = questions x 4). Same 7 content domains, questions reworded to open with How/What per site convention, answer options shortened for mobile tile width. No licensed instrument involved either before or after — MEQ/MCTQ citations below are background gravity only, never the implemented instrument.]
PLUS 1 risk-factor question, 0-4:
- Family history/genetics (answered directly on the Circadian step): “Does a parent or sibling have, or have they had, an ongoing body-clock or sleep-timing problem?” — No 0, Not Sure (excluded from score and max), Yes 4.
NHLBI’s Causes and Risk Factors page names age, family history, and sex as the non-modifiable Circadian risk factors (“Some you cannot change, like your age, family history, or sex”), but only family history/genetics is scored here. Age and sex are deliberately NOT scored: per the same NHLBI source, each cuts in more than one direction across circadian disorder subtypes rather than along a single risk gradient. Age — teens are at higher risk of delayed sleep-wake phase disorder, while older adults are at higher risk of advanced sleep-wake phase disorder, irregular sleep-wake rhythm disorder, shift work disorder, and jet lag disorder; there is no single “more/less risk” direction to assign 0-4 points along. Sex — men are more likely to have advanced sleep-wake phase disorder specifically, while women’s risk is tied to hormonal life-stages (pregnancy, postpartum, menopause) rather than to sex as a fixed trait. Unlike OSA/Insomnia/RLS, where age and sex each have one clear higher-risk direction supported by the source, forcing a 0-4 scale onto Circadian age/sex would misrepresent NHLBI’s own findings, so they are left unscored here.
B. Scoring algorithm
SCORE = sum of all 7 symptom answers + family-history points (if known).
MAX = 28 (symptoms only) when family history is “Not Sure”/unknown, or 32 (28 + 4) when family history is actually known (Yes/No). Percentage = score / max score
(standard unified Warning Dial formula, same as OSA/Insomnia/RLS — no per-question weighting).
See warning_status_from_pct() in assessmentCalculatorIntelligent.php.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links
- Symptom questions: no validated severity-score instrument used or adapted — original BSM wording throughout. NHLBI – Circadian Rhythm Disorders: Symptoms. [MEQ (Horne & Östberg, 1976) and MCTQ (Roenneberg et al.) kept on file as background gravity only, never adopted as the implemented instrument. “Social jetlag” as a named construct originates with Roenneberg et al.’s MCTQ research — referenced as the scientific basis for the card-back key-indicator dot on question 5, not as a reused instrument.]
- Risk-factor question: NHLBI – Circadian Rhythm Disorders: Causes and Risk Factors — the same official source that provides the age/sex reasoning in the note above.
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as OSA/Insomnia/RLS:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial, same mechanism as OSA/Insomnia/RLS. Not a disease in the first place — a normal physiological trait/rhythm, not a diagnosis — but now on the same percentage-shown dial UI as the other Warning Dial conditions, with the same “not a medical score or index” modal disclaimer. Card-back “Your Answers” recap is split into a Symptoms mini-section (flags question 5, sleep shift on weekends / social jetlag, with a small amber dot as the most established quantitative marker of circadian misalignment in the chronobiology literature — not the user’s own highest-scoring answer) and a Risk factors mini-section (flags family history with its own dot), each with its own citation link, same structure as OSA/Insomnia/RLS. Card’s top border and modal header use the fixed Sleep pillar brand colour, not a risk colour. See “Ethical Approach” tab, regulatory page.]
Not significantly affected by daylight savings time: 0 / Mildly affected, adjust within a few days: 1 / Moderately affected, takes a week or two to adjust: 2 / Considerably affected, takes several weeks: 3 / Severely affected, struggle for a month or more: 4. Adding this would raise Circadian to 8 questions, max 32, and would need to land in all of: the God JSON schema (q_circadian8 / options_circadian8 / circadian8), the Sleep form’s page_keys whitelist and HTML, and the calculator’s circadian_fields array (currently 1-7) — as one coordinated platform change, not a single-file edit.
Restless Legs (RLS) — WARNING DIAL (UI/formula migration, algorithm unchanged)
A. Questions and scoring per question
- Intensity of the urge to move the legs / uncomfortable sensations
- 0 (None)
- 1 (Mild)
- 2 (Moderate)
- 3 (Severe)
- 4 (Very severe)
- Frequency of the urge/discomfort
- 0 (Rarely or never)
- 1 (A few times)
- 2 (Several times a week)
- 3 (Most days)
- 4 (Every day)
- Build-up of urge/discomfort when resting or sitting still
- 0 (Not at all)
- 1 (Slightly)
- 2 (Moderately)
- 3 (Considerably)
- 4 (Extremely)
- Persistence of urge/discomfort despite movement (walking, stretching)
- 0 (Fully relieved)
- 1 (Mostly relieved)
- 2 (Partially relieved)
- 3 (Barely relieved)
- 4 (Not relieved at all)
- Evening/night predominance vs daytime
- 0 (No difference)
- 1 (Slightly worse)
- 2 (Moderately worse)
- 3 (Much worse)
- 4 (Almost only at night)
- Interference with falling asleep, staying asleep, or next-day functioning
- 0 (No interference)
- 1 (Interferes a little)
- 2 (Somewhat interferes)
- 3 (Very much interferes)
- 4 (Extremely interferes)
[6 symptom questions, unchanged from the original approval — covering the clinical domains recognised by the IRLSSG’s four essential diagnostic criteria (urge to move, worse at rest, relief with movement, evening/night predominance) plus sleep/next-day impact — original BSM wording throughout, not a reuse or paraphrase of any licensed instrument. The real International RLS Study Group Severity Rating Scale (IRLS) is a licensed instrument distributed by Mapi Research Trust/ePROVIDE (10 items, 0-40 max) — not reused or paraphrased here, and this screen’s 6-item/24-max shape doesn’t mirror it. Question 5’s answer wording (comparative “worse at night”) doesn’t map cleanly onto any of the site’s standard answer-option families; it was built on the Degree/build-up family’s shape rather than left unmatched — flagged here for visibility, not silently forced.]
PLUS 3 risk-factor questions, each 0-4:
- Family history (answered directly on the RLS step): “Does a parent or sibling have, or have they had, restless legs syndrome or similar leg discomfort at night?” — No 0, Not Sure (excluded from score and max), Yes 4.
- Age (auto-filled from Biometrics) — Under 40: 0, 40-49: 1, 50-59: 2, 60-69: 3, 70+: 4.
- Sex (auto-filled from Biometrics) — Female: 4, Male: 0. Same direction as Insomnia — female sex is the higher-risk direction.
Iron deficiency/low ferritin is a well-established RLS risk factor but is deliberately NOT scored here — it’s a lab-confirmed fact, not something reliably self-reported, so it lives in the Verification Center instead (rls_verification.recommended_tests already lists “Ferritin / Iron Panel Blood Test”).
B. Scoring algorithm
SCORE = sum of all 6 symptom answers + Age points + Sex points + family-history points (if known).
MAX = 32 (24 symptoms + 4 Age + 4 Sex) when family history is “Not Sure”/unknown, or 36 (32 + 4) when family history is actually known (Yes/No). Percentage = score / max score (standard unified Warning Dial formula, same as OSA and Insomnia — no per-question weighting). See warning_status_from_pct() in assessmentCalculatorIntelligent.php.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links
- Symptom questions: no validated severity-score instrument used or adapted. Clinical domains sourced from the IRLSSG’s published diagnostic criteria (facts, not copyrightable) — Review of Diagnostic Instruments for RLS/WED (PMC, free), every question is original BSM wording. [Licensing checked: the IRLS itself is licensed via Mapi Research Trust/ePROVIDE and was not reused or paraphrased.]
- Risk-factor questions: Progress in the genetics of restless legs syndrome (PMC, free) — heritability 50-70%, family history positive in over half of idiopathic cases — and the AASM RLS provider fact sheet for age/sex prevalence patterns (roughly 2x higher in women; rises with age).
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as OSA/Insomnia:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial, same mechanism as OSA and Insomnia. Original, not clinically validated — stated plainly to the user via the modal disclaimer. Unlike the legacy Warning cards (SIBO, Celiac, Lactose), the percentage IS shown on the card face, on a dial whose segments are quartile-coloured; the card’s top border and modal header use the fixed Sleep pillar brand colour, not a risk colour. Card-back recap now splits into “Symptoms” and “Risk factors” mini-sections, each with its own citation link, same structure as OSA/Insomnia — flags rls4 (relief with movement) and rls_family_band (family history) with a small amber dot as the two scientifically most-specific indicators, not the user’s own highest-scoring answer. Symptom questions/scoring themselves are unchanged from the original approval; only the formula/banding/card UI were migrated to the shared standard, and the 3 risk-factor tiles are new. See “Ethical Approach” tab, regulatory page.]
IBS (Irritable Bowel Syndrome) — WARNING DIAL, migrated off Rome/IBS-SSS
A. Questions and scoring per question
Shared with SIBO, Celiac and Lactose below — asked ONCE on the form, reused in all four scores:
- How often do you get bloating or abdominal distension? — Rarely/never (0) / Occasionally (1) / Sometimes (2) / Frequently (3) / Almost every day (4)
- How often do you get abdominal pain or cramping? — same 5-point scale
- How often is your bowel habit disrupted (diarrhoea, constipation, or alternating)? — same 5-point scale
IBS-specific differentiators:
- How often does pain ease after a bowel movement? — Never (0) / Rarely (1) / Sometimes (2) / Often (3) / Almost always (4) — key indicator
- How often do you feel a sudden urge to rush to the toilet? — Rarely/never (0) → Almost every day (4)
- How often do you feel you haven’t fully emptied your bowels? — Rarely/never (0) → Almost every day (4)
- How much does your bowel pattern interfere with daily life? — Not at all (0) → Extremely (4)
[REPLACED — the real Rome/IBS-SSS index (5 sliders, Francis/Morris/Whorwell 1997) and the separate IBS-Non Indexed Symptoms + GAD-7 anxiety modifier are both retired. This unified 7-question screen replaces both: pain relief after defecation is Rome IV’s own defining diagnostic criterion, reworded in original BSM wording, not reused/paraphrased from the licensed instrument. The GAD-7 modifier is dropped entirely — not a current symptom.]
A2. Risk factor (2026 addition — folds into the same combined score/max, same mechanism as OSA/Insomnia/RLS/Circadian/Diabetes)
- Does a parent or sibling have, or have they had, IBS or a similar ongoing bowel condition? — No (0) / Yes (4). “Not Sure” is excluded from both score and max entirely (never guessed at a neutral value) — same precedent as bp_high/insomnia_family.
[Family history was originally stripped out along with every other risk-factor/history item during the initial IBS rebuild, on the reasoning that “none of that is a current symptom.” Re-reviewed in 2026 to bring IBS in line with the rest of the app’s standard (every other symptom-count condition — OSA, Insomnia, RLS, Circadian, Diabetes — pairs its symptom screen with an auto-filled or directly-asked risk-factor tile). Family history is reinstated as a risk factor, not a symptom, and is scored/cited separately from the 7 symptom questions above.]
B. Scoring algorithm
Score = sum of the 7 symptom items (each 0-4) plus the family-history risk tile when known. Max score = 7 x 4 = 28, +4 if family history is known (Yes/No) = 32; max stays 28 if the answer is “Not Sure”. Percentage = score / max score
(standard unified Warning Dial formula, same as OSA/Insomnia/RLS/Circadian — no per-question weighting).
See warning_status_from_pct() in assessmentCalculatorIntelligent.php.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links — symptoms
No licensed instrument used or adapted — original BSM wording throughout. [Licensing checked: the real IBS-SSS is licensed/administered via the Rome Foundation and was not reused or paraphrased. Rome IV’s diagnostic criteria (pain related to defecation, change in stool frequency, change in stool form) are published clinical facts, not copyrightable, and are reflected here as original questions.] Symptom domain sourced from NIDDK, “Symptoms & Causes of Irritable Bowel Syndrome” (niddk.nih.gov/health-information/digestive-diseases/irritable-bowel-syndrome/symptoms-causes, reviewed Nov 2017).
D2. Citations / links — risk factor
NIDDK, “Definition & Facts for Irritable Bowel Syndrome” (niddk.nih.gov/health-information/digestive-diseases/irritable-bowel-syndrome/definition-facts, reviewed Nov 2017): “Factors that can increase your chance of having IBS include: having a family member with IBS.”
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as OSA/Insomnia/RLS/Circadian:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial, same mechanism as OSA/Insomnia/RLS/Circadian. Original, not clinically validated — stated plainly via the modal disclaimer. Card-back “Your Answers” recap flags the pain-relief-after-defecation question with a small amber dot as Rome IV’s own defining criterion for IBS — not the user’s own highest-scoring answer. Shares its 3-question core with SIBO, Celiac and Lactose below — see each condition’s own E. Notes.]
SIBO — WARNING DIAL
A. Questions and scoring per question
Shares the same 3-question core as IBS above (bloating, pain, bowel habit — asked once). SIBO-specific differentiators:
- How much worse does bloating get after carbs or fermentable foods (bread, beans, onions)? — No worse (0) / Slightly worse (1) / Moderately worse (2) / Much worse (3) / Extremely worse (4) — key indicator
- How often do you get excess gas? — Rarely/never (0) → Almost every day (4)
- How much does bloating build up as the day goes on? — Not at all (0) → Extremely (4)
- How full do you feel after only a small amount of food? — Not full (0) → Extremely full (4)
[REPLACED — the old 9-question risk-factor checklist (chronic antibiotic use, PPI use, prior IBS diagnosis, food sensitivity, and a -5-scoring “symptoms improved after antibiotics” item) is retired entirely. None of those are current symptoms; several are exposure/history items that belong in a clinical workup, not a symptom-severity screen. This 7-question screen (3 shared + 4 here) instead targets the fermentation-driven symptom pattern directly: worse with fermentable carbs, gas-dominant, worsening through the day as bacteria ferment ingested food, and early fullness — all direct consequences of bacterial overgrowth, not proxies for it.]
A2. Risk factor (2026 addition — folds into the same combined score/max, same mechanism as OSA/Insomnia/RLS/Circadian/Diabetes)
- Have you ever had abdominal or bowel surgery, or been diagnosed with a motility disorder (e.g. gastroparesis)? — No (0) / Yes (4). Plain Yes/No — no “Not Sure” option on this question, unlike the family-history questions on IBS and Celiac.
[Re-reviewed in 2026 alongside IBS/Celiac/Lactose to bring SIBO in line with the rest of the app’s risk-factor standard. Unlike the old checklist’s PPI/antibiotic-use items (dropped for good reason — those are treatment exposures, not stable risk factors), abdominal surgery and motility disorders are both directly named, structural causes of SIBO in the clinical literature, and are asked as a single plain risk question rather than reintroducing the old multi-item checklist.]
B. Scoring algorithm
Score = sum of the 7 symptom items (3 shared + 4 here, each 0-4) plus the surgery/motility risk tile when answered. Max score = 7 x 4 = 28, +4 = 32 once the risk question is answered. Percentage = score / max score — same unified formula as IBS above.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links — symptoms
No validated severity-score instrument used or adapted — original BSM wording throughout, targeting the well-documented fermentation mechanism of SIBO (carbohydrate fermentation by small-intestinal bacterial overgrowth producing gas, bloating, and early satiety) rather than any licensed questionnaire.
D2. Citations / links — risk factor
StatPearls/NCBI Bookshelf, “Small Intestinal Bacterial Overgrowth” (ncbi.nlm.nih.gov/books/NBK546634/, updated Apr 2023): “Anatomic abnormalities lead to bowel stasis, which may predispose to SIBO. Such anatomic disorders may include small intestinal diverticulosis, bowel strictures, post-operative adhesions, gastric bypasses with blind intestinal loops, and ileocecal resection… SIBO is associated with disorders of abnormal gastrointestinal motility.” [Thinner citation tier than the rest of the app, flagged transparently: no dedicated NIDDK consumer-facing page exists for SIBO risk factors, so a StatPearls clinical review is used instead of a NIDDK page.]
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as IBS:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial — moved off legacy Path 2 (score hidden) onto the standard dial UI, same as IBS. Card-back recap flags the fermentable-carbs question with a small amber dot as the clearest symptom-level signature of bacterial fermentation, the SIBO-specific mechanism — not the user’s own highest-scoring answer.]
Celiac Disease — WARNING DIAL
A. Questions and scoring per question
Shares the same 3-question core as IBS above. Celiac-specific differentiators:
- How often does bloating or pain flare after wheat, barley, or rye? — Rarely/never (0) / Occasionally (1) / Sometimes (2) / Frequently (3) / Almost every time (4) — key indicator
- How much fatigue do you get on top of bloating, pain, or bowel changes? — None (0) → Extreme (4)
- Have you noticed unexplained weight change? — None (0) → Severe (4)
- How often do you get an itchy, blistering rash on your elbows, knees, or torso? — Rarely/never (0) → Almost every time (4)
[REPLACED — the old 8-question risk-factor checklist (iron-deficiency anaemia, osteoporosis before 50, family history, and a “tried a gluten-free diet, did it help” item) is retired entirely. The gluten-free-diet item in particular was a genuine clinical-safety issue, not just a format mismatch: NICE/Coeliac UK guidance advises against trialling a gluten-free diet before testing, since it can cause false-negative serology — that item is gone, not reworded. Anaemia and osteoporosis, both real celiac red flags, are folded into the fatigue and weight-change items instead, since they present as fatigue/weight symptoms a person can self-report without a lab test. The rash question (dermatitis herpetiformis) — one of the most specific celiac skin signs — was initially dropped along with the risk-factor items in error, then reinstated as a current-symptom frequency question once flagged.]
A2. Risk factors (2026 addition — fold into the same combined score/max, same mechanism as OSA/Insomnia/RLS/Circadian/Diabetes)
- Does a parent or sibling have, or have they had, celiac disease? — No (0) / Yes (4). “Not Sure” excluded from both score and max — same precedent as IBS’s family-history question.
- Do you have type 1 diabetes or another autoimmune condition (e.g. autoimmune thyroid disease)? — No (0) / Yes (4). Plain Yes/No, no “Not Sure” option.
[Family history was one of the items retired during the original rebuild, on the reasoning that “none of that is a current symptom.” Re-reviewed in 2026 to bring Celiac in line with the rest of the app’s risk-factor standard. Family history and co-occurring autoimmune conditions are both directly named by NIDDK as factors that raise celiac disease likelihood — reinstated here as risk factors, scored/cited separately from the 7 symptom questions above, not blended back into the symptom count.]
B. Scoring algorithm
Score = sum of the 7 symptom items (3 shared + 4 here, each 0-4) plus each risk tile that’s known. Max score = 7 x 4 = 28, +4 per known risk factor (family history and/or autoimmune status), up to 36 if both are known. Percentage = score / max score — same unified formula as IBS above.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links — symptoms
No validated severity-score instrument used or adapted — original BSM wording throughout. Symptom domains (gluten-triggered flares, fatigue, weight change, dermatitis herpetiformis) are sourced from NIDDK, “Symptoms & Causes of Celiac Disease” (niddk.nih.gov/health-information/digestive-diseases/celiac-disease/symptoms-causes, reviewed Oct 2020).
D2. Citations / links — risk factors
NIDDK, “Definition & Facts for Celiac Disease” (niddk.nih.gov/health-information/digestive-diseases/celiac-disease/definition-facts, reviewed Oct 2020): “You are more likely to develop celiac disease if someone in your family has the disease,” and lists type 1 diabetes, autoimmune thyroid disease (Hashimoto’s, Graves’), Addison’s disease, and other immune-system disorders as conditions that commonly co-occur with celiac disease.
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as IBS:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial — moved off legacy Path 2 onto the standard dial UI, same as IBS/SIBO. Card-back recap flags the gluten-flare question with a small amber dot as the direct trigger mechanism for Celiac, not the user’s own highest-scoring answer.]
Lactose Intolerance — WARNING DIAL
A. Questions and scoring per question
Shares the same 3-question core as IBS above. Lactose-specific differentiators:
- How soon after dairy does bloating or pain start? — Never happens (0) / Several hours later (1) / 2-3 hours (2) / 1-2 hours (3) / Within 30 minutes (4) — key indicator
- Does the amount of dairy you eat change how bad it gets? — No difference (0) → Even tiny amounts trigger it (4)
- Is bloating or gas more noticeable for you than pain? — Not at all (0) → Almost entirely (4)
[REPLACED — the old 5-question model (symptoms after dairy, a “tried dairy-free diet, did it help” item, symptom onset timing, small-amount sensitivity, plus a +5 ethnicity modifier for Black/Asian users) is retired entirely. Onset timing and dose-dependence are kept, reworded onto the 0-4 scale, since both are genuine current-symptom patterns, not risk factors.]
A2. Risk factors (2026 addition — fold into the same combined score/max, same mechanism as OSA/Insomnia/RLS/Circadian/Diabetes)
- Ethnicity-linked risk — auto-filled from the Biometrics ethnicity field. African American / Asian American / Hispanic-Latino descent (4) vs. not in a named higher-prevalence group (0). No new question asked on this form.
- Age-related lactase decline — auto-filled from the Biometrics age field. Under 20 (0) / 20-39 (2) / 40+ (4). No new question asked on this form.
[The old model’s +5 ethnicity modifier was dropped in the original rebuild for being bolted onto the symptom score rather than scored/labelled as its own thing. Re-reviewed in 2026 to bring Lactose in line with the rest of the app: ethnicity and age are reinstated, but as their own labelled risk-factor tiles — auto-filled from data already collected on Biometrics, never re-asked, and shown on the card back as “from your Biometrics profile” so they read as demographic risk rather than a self-reported symptom. Only the ethnicity list itself is directly NIDDK-numbered; the specific age cut-points (under 20 / 20-39 / 40+) are interpolation representing “lactase decline typically emerges with age,” not themselves NIDDK-cited — same convention as Diabetes’s non-cited interior bands.]
B. Scoring algorithm
Score = sum of the 6 symptom items (3 shared + 3 here, each 0-4) plus the ethnicity and age risk tiles (both always available, since both fields are required on Biometrics). Max score = 6 x 4 = 24, +4 for ethnicity +4 for age = 32. Percentage = score / max score — same unified formula as IBS above.
C. Bands
- Percentage < 25% = NORMAL
- Percentage < 50% = ELEVATED
- Percentage < 75% = HIGH
- Percentage otherwise = SEVERE
D. Citations / links — symptoms
No validated severity-score instrument used or adapted — original BSM wording throughout. Onset-timing and dose-dependence questions mirror the actual mechanics of the clinical hydrogen breath test (symptom onset within ~2 hours of a lactose load). Symptom domain sourced from NIDDK, “Symptoms & Causes of Lactose Intolerance” (niddk.nih.gov/health-information/digestive-diseases/lactose-intolerance/symptoms-causes, reviewed Feb 2018).
D2. Citations / links — risk factors
NIDDK, “Definition & Facts for Lactose Intolerance” (niddk.nih.gov/health-information/digestive-diseases/lactose-intolerance/definition-facts, reviewed Feb 2018): “the following ethnic and racial groups are more likely to have lactose malabsorption: African Americans, American Indians, Asian Americans, Hispanics/Latinos… lactose intolerance is least common among people who are from, or whose families are from, Europe.”
D1. Quartile
Quartile is derived directly from the percentage band above, same mapping as IBS:
- NORMAL → Q1
- ELEVATED → Q2
- HIGH → Q3
- SEVERE → Q4
E. Notes
[REGULATORY STATUS: Warning Dial — moved off legacy Path 2 onto the standard dial UI, same as IBS/SIBO/Celiac. Card-back recap flags the onset-timing question with a small amber dot as the most established clinical marker of lactose intolerance (matches the breath-test diagnostic pattern), not the user’s own highest-scoring answer.]
[SIBO, Celiac and Lactose used to live in this tab under the old “no index/no score shown” model. All three migrated to WARNING DIAL (percentage shown, same as IBS) — see the main tab above, where they now sit alongside IBS. This tab now documents only the one condition that genuinely has no score at all: IBD Alert.]
IBD Alert
A. Questions and scoring per question
Have you noticed blood or blood and mucous in your stools? This could be a marker for IBD which requires early medical intervention.
B. Scoring algorithm
N/A — not scored.
C. Bands
N/A — not banded. Single unconditional question triggers a medical-referral flag regardless of any other score.
D. Citations / links
None — a direct safety question, not a clinical instrument.
D1. Quartile
N/A — not scored, not banded. No risk grade exists to map onto a quartile.
E. Notes
[Confirmed as a separate, unconditional trigger — not scored, not banded.]
