Transparent documentation of the statistical analysis behind AllergyTrace and MediTrace. Both apps share the same statistical core — with app-specific extensions.
Both apps provide statistical correlation indicators — not a medical diagnosis. Correlation is not causation. Results are intended as hypotheses for a consultation with a healthcare professional. The apps are not regulated medical devices.
Both apps automatically select the appropriate analysis method. A separate model is computed for each symptom or measurement field — no averaging across multiple areas.
An effect is only flagged as significant when both conditions are met:
This prevents trivial effects from being reported as "significant" merely because of a large sample.
⇩ Download methodology15 pages · 534 kb · EN ⇩ Example report4 pages · 162 kb · DE
The PDF contains a fully worked example: birch pollen vs. itchy eyes over 30 days.
In addition, AllergyTrace uses allergen-specific reaction-time profiles: onset, peak, and decay time are stored per allergen (onsetMinutes, peakHours, durationHours). The lag analysis thus automatically tests the biologically plausible time windows between exposure and symptom — the same principle MediTrace applies pharmacologically (see below).
⇩ Download methodology9 pages · 287 kb · EN ⇩ Example report16 pages · 263 kb · EN
MediTrace — the sister app for medication diaries — takes the same lag principle to its pharmacological extreme: substance-specific time-lag analysis. (AllergyTrace applies the principle to allergens, see above — MediTrace does it for medications with curated drug profiles.)
Every medication acts within a different time window. A simple correlation of "taken today → symptom today" is scientifically worthless for antidepressants or vitamins — their effect only appears weeks later. MediTrace therefore includes a curated database of 448 medications and supplements:
| Parameter | Meaning | Ibuprofen | Sertraline |
|---|---|---|---|
onsetHours |
Onset of action | 0.5 h | 4 h |
peakHours |
Peak effect | 2 h | 8 h |
durationHours |
Duration of effect | 6 h | 24 h |
buildupDays |
Build-up time (long-term meds) | — | 28 days |
The correlation analysis automatically tests the pharmacologically correct time windows (lag analysis): for sertraline, the app looks for the effect after 7, 14, 21, and 28 days — not on the same day. For long-term medications, the analysis splits the data into three phases: baseline (before intake), build-up phase (during buildupDays), and steady state (afterward). The lag with the highest statistical explanatory power is reported as the "optimal time lag".
Beyond symptoms on the 0–10 scale, MediTrace also evaluates objective vital signs: systolic and diastolic blood pressure as well as pulse. To prevent measurement noise from appearing as an effect, clinically meaningful minimum differences apply — 5 mmHg (systolic), 4 mmHg (diastolic), 4 bpm (pulse) — with at least 5 measurements per group (with/without intake).
MediTrace exports a structured PDF report with effect sizes, charts, effect-timing analysis, and dose-response curves — to bring to the consultation.
The statistics implementation is written in JavaScript / TypeScript and lives in the files analysisEngine.ts, quickAnalysis.ts, ordinalLogit.ts. I provide the source code on scientific request.
Contact: vitatrace@proton.me