We IBD is a private self-tracking journal. Everything the app displays is deterministic arithmetic applied to data you have entered yourself. This calculation runs entirely on your device: no server, no account, no network call, no machine-learning or generative model, and no health professional involved. (The app's only network call anywhere is a separate, opt-in food-barcode lookup — it never touches this indicator.) This page describes every input, every weight and every threshold, so nobody has to trust an opaque number.
The percentage shown on the Home card and in the app is not the Harvey-Bradshaw Index, the partial Mayo score or the SCCAI — those are shown separately, as raw numbers, never as a percentage. The percentage is a scale specific to We IBD, where higher is better: 100% means everything you logged over the window looks good. It corresponds to no medical scale and is not a percentage of any clinical quantity.
Formula: global = intestinal × 0.7 + fatigue × 0.2 + stress × 0.1,
each sub-score normalised to [0,1], displayed ×100.
| Global score | Level shown |
|---|---|
| ≥ 0.70 | Good |
| 0.40 – 0.69 | Moderate |
| < 0.40 | Concerning |
The Home screen calculates this indicator over the last 7 days. The consultation report calculates it over whichever period you select — the two values will therefore legitimately differ, and the window is stated on each screen.
With no stool entry logged, the score is not considered meaningful, and the app states this rather than showing a misleading number.
| Tracking profile | Framework used |
|---|---|
| Crohn's disease | Harvey-Bradshaw Index (HBI) |
| Ulcerative colitis | Partial Mayo score — switches to SCCAI if urgency and nocturnal stools are both present in at least 30% of entries |
| IBS / simple tracking | Bristol scale alone |
| Item | How it is obtained |
|---|---|
| General well-being (0–4) | (average pain ÷ 10) × 4, from the 0–10 pain ratings you log |
| Abdominal pain (0–3) | (average pain ÷ 10) × 3 |
| Liquid stools | Count of Bristol type 6 or 7 stools you logged, capped at 9 |
| Abdominal mass | Always 0 — item neutralised |
| Complications | Urgency, nocturnal stool, incontinence, blood: 1 point each, if observed at least once over the period |
Normalisation (HBI → [0,1], linear interpolation within each band):
| HBI range | Score |
|---|---|
| 0 – 5 | 1.0 to 0.9 |
| 5 – 8 | 0.89 to 0.65 |
| 8 – 17 | 0.64 to 0.35 |
| 17 – 30 | 0.34 to 0.0 |
| Item | How it is obtained |
|---|---|
| Stool frequency (0–3) | 0–1 stool → 0 · 2–3 → 1 · 4–5 → 2 · ≥ 6 → 3 |
| Rectal bleeding (0–3) | Worst blood presence observed over the period — none → 0 · traces → 1 · moderate → 2 · heavy → 3 |
| Global assessment (0–3) | (average pain ÷ 10) × 3. In the original score this is the physician's assessment; here it is a proxy derived from the pain you log — stated explicitly |
Normalisation (range 0–9):
| Score range | Sub-score |
|---|---|
| 0 – 2 | 1.0 to 0.9 |
| 2 – 5 | 0.89 to 0.65 |
| 5 – 8 | 0.64 to 0.35 |
| 8 – 9 | 0.34 to 0.0 |
Partial Mayo score plus two dedicated items: urgency (+1) and nocturnal stools (+1), over a range of 0–11.
Normalisation (range 0–11):
| Score range | Sub-score |
|---|---|
| 0 – 3 | 1.0 to 0.9 |
| 3 – 6 | 0.89 to 0.65 |
| 6 – 9 | 0.64 to 0.35 |
| 9 – 11 | 0.34 to 0.0 |
The optimal band is types 3 and 4 (zero deviation). Below that band, the score
uses the distance to type 3; above it, the distance to type 4. The maximum theoretical deviation is
3. Score = 1 − (average deviation ÷ 3).
Manual entry (0–10) is normalised so that 0 → 1.0 (optimal) and 10 → 0.0. With no symptom entry logged, a neutral value of 0.5 is used instead of guessing.
Blend with Health app signals: your manual entry is weighted 0.7, an objective Health-app signal (when available) 0.3 — a weighting that keeps how you feel in the lead, not a sensor corroborating it.
| Objective signal | How it maps to [0,1] |
|---|---|
| Sleep | ≥ 8h → 1.0 · ≤ 4h → 0.0 · linear in between |
| HealthKit fatigue level | 1 → 0.75 · 2 → 0.50 · 3 → 0.25 |
| "State of Mind" valence | −1 to +1 → (v + 1) ÷ 2 |
| Activity (steps) | Your last 3 complete days vs. your own 30-day median (no fixed target): at your median → 0.5 · standing still → 0.0 · at double → 1.0 |
Deliberately excluded from the score: heart-rate variability, resting heart rate and weight. Their baseline is too individual for an absolute threshold — they are shown as trends, never folded into the score.
A missing signal never enters the blend: no value is ever invented.
Once a week, the app can ask a short, self-made set of questions about how your week went, plus one 0–100 scale. It is not a validated clinical questionnaire, and it is never scored, never weighted and never folded into the percentage indicator described above. Your answers are reproduced verbatim in your consultation report, under a heading that states they were declared by you. The weekly reminder is optional.
The consultation report is generated by the app, on the device. It contains counts, averages and distributions of your own entries only, over the period you choose. It makes no interpretation, gives no recommendation and no treatment advice. It is not reviewed or validated by a clinician. Its purpose: to let a patient walk into a consultation with facts instead of memory.
The clinical frameworks referenced above are published instruments, used here as a self-observation structure:
These frameworks are published instruments, used here as a structuring aid for self-observation. The aggregation and the thresholds described on this page are specific to We IBD and are not validated instruments.
Last updated: August 2026 · ← We IBD