METHOD
How HealthProves detects signals
Every number on HealthProves derives from public FDA data and standard pharmacovigilance methods. Here is exactly how.
DISPROPORTIONALITY
The 2×2 contingency table
A signal means: this adverse effect is reported more often for this substance than you would expect based on background rates. We measure that with three standard statistics — ROR, PRR, and χ² — calculated against the full FAERS corpus (~20.3 million reports).
Term T
Other terms
Substance X
a
(X, T)
b
(X, not-T)
Other substances
c
(not-X, T)
d
(not-X, not-T)
ROR = (a/b) / (c/d) · PRR = (a/(a+b)) / (c/(c+d)) · χ² = chi-square on the 2×2 table
SIGNAL THRESHOLDS
A-priori signal criteria
A term is flagged as a signal only if all four hold:
Reports
≥ 3
for this (substance, term) pair
ROR lower bound
> 1
95% CI excludes no-effect
PRR
≥ 2
proportional reporting ratio
χ²
≥ 4
chi-square statistic
Limitations
- FAERS reports are spontaneous — under-reporting and reporting bias are inherent.
- A signal does not prove causation. “Frequently reported” ≠ “frequently caused.”
- FAERS data lags by ~6 months. last_refresh is shown per substance.
- Reporting volumes can be inflated by media attention (we flag these with hype_flag where detectable).
Open data
All data is sourced from openFDA — the public API of the U.S. Food and Drug Administration. We do not collect, store, or generate primary reports. The ROR/PRR/χ² calculation code is open source.