How your health indicator is calculated
On this page
- 1. The percentage indicator (0–100%)
- 2. Which framework, depending on your profile
- 3. Calculated day by day, then averaged
- 4. Harvey-Bradshaw Index (Crohn's disease): items
- 5. Partial Mayo score (ulcerative colitis): items
- 6. Intestinal marker: extended partial Mayo (not the SCCAI)
- 7. Bristol scale alone (IBS / simple tracking)
- 8. Data you didn’t enter is treated as neutral, never optimal
- 9. Fatigue, stress and activity sub-scores
- 10. The food lights
- 11. The by-component analysis (full version)
- 12. The adjusted model
- 13. The low-FODMAP journey
- 14. Weekly check-in (not part of the indicator)
- 15. Hydration (not part of the indicator)
- 16. The consultation report
- 17. References
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.
1. The percentage indicator (0–100%)
The percentage shown on the Home card and in the app is not the Harvey-Bradshaw Index, the partial Mayo score or the intestinal marker: 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.
Since version 2.0, each clinical marker feeding this indicator is computed per documented day and then averaged. See the next section.
2. Which framework, depending on your profile
| Tracking profile | Framework used |
|---|---|
| Crohn's disease | Harvey-Bradshaw Index (HBI) |
| Ulcerative colitis | Partial Mayo score: switches to the intestinal marker (extended partial Mayo, see section 6) if urgency and nocturnal stools are both present in at least 30% of entries |
| IBS / simple tracking | Bristol scale alone |
3. Calculated day by day, then averaged
Time unit: the marker is computed for EACH day on which you logged at least one stool, then averaged over the period. The published scoring sheets are daily; adding them up over 7, 21 or 180 days produced a number outside the scale whose name it bore.
A day with no entry at all: it does not enter the average of the markers. It is not a “symptom-free” day, it is a day the app knows nothing about. No stool at all over the whole period: the app says so and shows no indicator, rather than computing one out of nothing.
4. Harvey-Bradshaw Index (Crohn's disease): items
| 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 |
5. Partial Mayo score (ulcerative colitis): items
| 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 |
6. Intestinal marker: extended partial Mayo (not the SCCAI)
This section used to be called “SCCAI”. That name has been retired: what We IBD computes is a home-grown extension of the partial Mayo score, not the six-domain instrument Walmsley published in 1998.
When urgency and night-time stools coincide in at least 30 % of your entries, the marker switches to a partial Mayo extended by two points, on a 0-to-11 range. This is NOT the SCCAI: the published SCCAI (Walmsley et al., Gut 1998;43(1):29-32) counts six domains on a 0-to-19 range, with an activity threshold of 5.
Normalisation (range 0–11):
| Score range | Sub-score |
|---|---|
| 0 – 3 | 1.0 – 0.9 |
| 3 – 6 | 0.89 – 0.65 |
| 6 – 9 | 0.64 – 0.35 |
| 9 – 11 | 0.34 – 0.0 |
7. Bristol scale alone (IBS / simple tracking)
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).
8. Data you didn’t enter is treated as neutral, never optimal
A scale you did not fill in counts neither as zero nor as perfect: it is treated as unknown. A missing entry must never make you look better than you are.
- Fatigue or stress not recorded: the sub-score is 0.5, the neutral value. Counting them as 0 amounted to stating “no fatigue, no stress” and handed up to 0.30 on the indicator to someone who had simply logged nothing.
- Bristol type not filled in: the stool does not enter the consistency computation. If no stool in the period carries a type, the sub-score is 0.5 and not 1.0.
- The same rule applies everywhere: missing data is declared missing. An empty section of the report means “nothing was logged”, never “zero”.
9. Fatigue, stress and activity sub-scores
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.
10. The food lights
Once a food has been logged at least three times, the app says how often it was followed by an issue within six hours. It is a coincidence counted in your own days.
- The four labels describe what was observed, nothing more: “No issue noted”, “Occasional issue” (fewer than one intake in two), “Frequent issue” (at least half of intakes), “Issue every time” (all intakes).
- What the app calls an issue: a stool with blood, or pain of at least 5 out of 10, or urgency, or a Bristol type 6 or 7.
- A 6-hour window after the meal. The available controlled challenge studies measure their effect within 2 to 5 hours (Murray et al. 2014, PMID 24247211 · Major et al. 2017, PMID 27746233 · Gonlachanvit et al. 2009, PMID 18647268); 6 hours leaves room for slowed transit. A wider window would attach an issue at 10 p.m. to that morning's breakfast.
- Fewer than 3 intakes logged: no label at all, the app only shows the number of observations. Without this threshold, a five-ingredient dish followed by one bad night would turn five foods red on a mere coincidence.
- “Not assessed”: the food is neither recognised by the catalogue nor attached to a family. That is missing data, and certainly not a green light.
- “Base risk” (Neutral, Low, Medium, High) concerns a food you have never eaten: it comes from its family, based on population tolerance surveys (Böhn et al. 2013, PMID 23644955; Gonlachanvit et al. 2009) and the ESPEN recommendations. It says nothing about you.
11. The by-component analysis (full version)
Where the data comes from:
- Ciqual 2020 (ANSES), under Licence Ouverte 2.0, the French reference composition table.
- USDA FoodData Central, in the public domain (CC0).
- Open Food Facts, under the ODbL licence, for packaged products. The online lookup happens only if you accepted it, and only the barcode leaves your phone.
- Three states of knowledge, always shown: “known” (a table gives the value, with its source), “estimated” (derived from a similar food, the provenance is named), “unknown” (no source at all, and nothing is made up).
How days are compared:
The app compares your days by what they contained: lactose, fructose, excess fructose, polyols, fibre, fat, gluten. The comparison is made against your own habits, never against a reference content.
- Your documented days over the past 60 days are ranked by quantity, then cut into three equal thirds. The app compares the most exposed third with the least exposed third: your own habits are the reference, not a theoretical content.
- The word “associated” is written only after a one-sided Fisher exact test on the two thirds. The question asked is “more issues on the highly exposed side”, never “a difference either way”: the direction is fixed in advance, not chosen after seeing your data. Otherwise the app writes “no signal”.
- At least 5 days are needed in each third, not 3 as for the lights: a light COUNTS occurrences, this calculation COMPARES two proportions, and comparing costs more observations than describing. At 4 days against 4, the most extreme table possible already gives p = 0.0143, above the threshold once corrected for eight components: no data, however perfect, could carry a wording. Below 5, the app shows the raw counts and no wording at all.
- If all the issue days in the high third share another factor (high stress, short night, ongoing flare, recently changed treatment), the wording becomes “inconclusive” and names that factor instead of deciding.
- “Associated” means “those days went together”. It is not a cause, and the decision belongs to you and your care team.
- The quantities come from the food catalogue. Days containing estimated values are flagged as such, and the coverage (how many of your days could be measured) is shown below the section.
12. The adjusted model
The “Once the context is taken into account” section repeats the same comparison while allowing for what else was going on: stress, sleep, fatigue, an ongoing flare, a recently changed treatment.
- Method: a penalised logistic regression (ridge, penalty 1.0) over your days from the past 120 days. The components and context factors are fixed in advance; the app never picks its variables from your data, which rules out the first source of false findings.
- Minimum requirements: 60 documented days, including at least 10 with an issue and 10 without. Below that, the app says what is missing and shows no probability.
- Context factors taken into account: stress of at least 7 out of 10, fatigue of at least 7 out of 10, a night shorter than 5 hours, an ongoing flare, treatment changed within 7 days. Stress and fatigue are taken from your last entry strictly before the day's first meal, and never from an entry older than the day before: a state noted in the evening would partly describe the very symptoms it is meant to correct for. Sleep refers to the preceding night and is therefore taken from the same day.
- The two probabilities shown compare a high-exposure day with a low-exposure day, the other factors staying at your usual value. They describe your past days, nothing more.
- The interval shown comes from 1000 resamplings of your days, drawn in blocks of 7 consecutive days (block bootstrap). Drawing day by day would assume they are independent; they are not, and the measured rate of false “clear gaps” then went from the 5 % announced to 29 %. In blocks of seven it falls back to 12 %. Seven, because seven days absorb both the carry-over from one day to the next and the weekly rhythm of eating.
13. The low-FODMAP journey
Three phases: reduction, group-by-group reintroduction, then personalisation. The journey does not open while the disease is active.
- The reference low-FODMAP trial in IBD (Cox et al., Gastroenterology 2020;158(1):176-188, PMID 31586453) only included patients in remission: its result has never been measured during a flare.
- Reduction phase: 14 days at the very least before reintroduction opens.
- Reintroduction: five groups tested one at a time: fructose, lactose, fructans, galacto-oligosaccharides, polyols. The app measures your actual exposure instead of having you tick a box.
- An important limit: the app has no open table for fructans or galacto-oligosaccharides. For these two groups it shows “composition not available” and measures nothing.
- An exclusion journey is best carried out with a dietitian. The app suggests no menu and prescribes nothing.
14. Weekly check-in (not part of the indicator)
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.
15. Hydration (not part of the indicator)
Since version 2.0, you can log glasses of water and set a daily goal (2 litres by default, adjustable in Settings). This tracker is purely informational: hydration is not one of the inputs to the percentage indicator described in section 1, and it changes none of the clinical markers on this page.
16. The consultation report
A document built only from what you entered. No artificial intelligence writes a sentence in it: every line is a count or a value from your log.
- At the top of the document: the statement that this is not a diagnosis, the period covered, the issue date and your identity if you filled it in.
- Factual part: number of stools, Bristol distribution, severity of rectal bleeding, pain, urgency episodes, night-time stools, flares and remissions, treatments, laboratory results, weight and sleep. These are your entries, copied out and counted (traces / moderate / heavy).
- The indicator and the intestinal marker come with the window they cover and with the sentence stating that they are not the published instrument they draw on.
- Exploratory part, announced as such and placed in an annex: latency of food-related issues, exposure by component, exposure once the context is taken into account. These sections describe coincidences observed in your days.
- Not a single sentence of the report is written by artificial intelligence. Everything is produced by written rules, always the same ones, from your data alone.
- The report goes nowhere on its own: you decide whether to show or share it, and with whom.
17. References
The clinical frameworks and studies referenced above are published works, used here as a self-observation structure:
- Harvey RF, Bradshaw JM. "A simple index of Crohn's disease activity." The Lancet, 1980.
- Lewis SJ, Heaton KW. "Stool form scale as a useful guide to intestinal transit time." Scandinavian Journal of Gastroenterology, 1997.
- Schroeder KW, Tremaine WJ, Ilstrup DM. "Coated oral 5-aminosalicylic acid therapy for mildly to moderately active ulcerative colitis." New England Journal of Medicine, 1987. (Origin of the Mayo score used for the partial Mayo index.)
- Walmsley RS, Ayres RC, Pounder RE, Allan RN. "A simple clinical colitis activity index." Gut, 1998;43(1):29-32. (The published SCCAI: see section 6 for why We IBD does not compute this instrument.)
- Lewis JD, Chuai S, Nessel L, Lichtenstein GR, Aberra FN, Ellenberg JH. Inflammatory Bowel Diseases, 2008;14(12):1660-1666. PMID 18623174. (Source of the partial Mayo score used here.)
- Murray K, et al., 2014, PMID 24247211 · Major G, et al., 2017, PMID 27746233 · Gonlachanvit S, et al., 2009, PMID 18647268. (Controlled feeding studies measuring how soon short-chain carbohydrates provoke symptoms after a meal: the basis for the six-hour food-light window in section 10.)
- Böhn L, et al., 2013, PMID 23644955. (Population-level tolerance survey behind the food-family “baseline risk” ratings in section 10.)
- Forbes A, et al. ESPEN guideline on clinical nutrition in inflammatory bowel disease, Clinical Nutrition, 2017;36(2):321-347; updated by Bischoff SC, et al., Clinical Nutrition, 2023;42(3):352-379, PMID 36739756. (Recommendation 13: no exclusion diet is recommended to induce remission in active Crohn's disease: see section 13.)
- Cox SR, et al., Gastroenterology, 2020;158(1):176-188, PMID 31586453. (Randomized trial of a low-FODMAP diet, conducted only in patients in remission.)
- Goddard AF, et al., Alimentary Pharmacology & Therapeutics, 2026;63(5):603-615, PMID 41455094. (Systematic review: about one in six IBD patients screens positive for a restrictive eating pattern: the basis for the food-restriction alert in section 10.)
- Benjamini Y, Hochberg Y. Journal of the Royal Statistical Society, Series B, 1995;57(1):289-300. (False-discovery-rate correction procedure used in section 11.)
- Ciqual 2020 (ANSES), French food composition table, under Open Licence (Licence Ouverte) 2.0.
- USDA FoodData Central, U.S. Department of Agriculture, public domain (CC0).
- Open Food Facts, ODbL licence, used only for packaged products you search for yourself.
These are published works, 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: September 2026 (v2.0) · ← We IBD
Start your journal today
Free download on iPhone and Android. No account, and everything stays on your phone.