Editions
MaudeDash comes in two forms. Both run the same analyses and
the same statistics; they differ in what data they can reach and what you have
to install.
No installation
Browser Edition
The tool at maudedash.com. Open it and start querying.
A database engine compiled to WebAssembly runs inside the page and reads a
1.4 GB Parquet extract of the corpus over the network, fetching only the
parts each query needs.
What you get
- All 20,746,963 reports, 1991–2024
- Every analysis: harm rates with confidence intervals, subgroup forest
plots, trend tests, disproportionality with both frequentist and Bayesian
signal criteria
- Event narratives to 4,000 characters per report
- CSV export, shareable cohort URLs, generated STROBE methods
Limits
- Narratives are capped at 4,000 characters. That covers 99.67% of
source text segments, but not the complete multi-part text.
- Analysis runs in a browser tab, so very large cohorts are capped to
stay within browser memory.
Requirements
Any current browser. Roughly 18 MB on first visit, about
half that on return visits.
Open the tool
Free download
Research Edition
A Streamlit application you run on your own machine against the complete
corpus you build from the FDA's own files. Use this when you need the
untruncated narratives, unlimited cohort sizes, or a fully auditable
pipeline from FDA source file to published figure.
What it adds over the browser
- Complete multi-part narratives, not truncated
- No cohort size limits — export the full filtered
population rather than a capped extract
- The whole build pipeline: ingestion, narrative
reassembly, outcome decoding, validation and a 25-test suite
- Independent verification — rebuild the corpus
yourself and confirm every number this site reports
Requirements
Python 3.10+, roughly 120 GB free disk for the raw FDA files
and the built database, and 8 GB RAM or more. The full build takes a few
hours, mostly unattended, and is resumable.
Get it on GitHub
Installing the Research Edition
Four steps. The long one is step 3, and it only happens once per FDA release.
1. Get the code
git clone https://github.com/mokshalstudios/MAUDE-DASH.git
cd MAUDE-DASH
pip install -r requirements.txt
2. Download the FDA source files
From the FDA's
MDR
data files page, take the MDR master, device, patient, foitext,
foidevproblem and patientproblemcode archives, and unzip them all into one
folder. That is roughly 40 GB of pipe-delimited text.
3. Build the database
python research-edition/maude_build.py --raw-dir /path/to/fda/files \
--db maude_final.duckdb --skip-fts
A few hours on the full corpus. The build is resumable — if
it is interrupted, re-run the same command and it continues from the last
completed step rather than starting over. --skip-fts omits the
full-text index, which the dashboard does not use and which roughly doubles
build time.
4. Run it
streamlit run research-edition/maudedash_app.py -- --db maude_final.duckdb
Confirm the install with the test suite, which should report 25 passing:
python research-edition/test_maude.py
Publishing your own instance
The repository also contains everything needed to host a browser edition of
your own — useful if you want a tool over a different cohort, a newer data
vintage, or your own institution's branding. It is static files, so any web
host will serve it.
python packaging/maude_export_web.py --db maude_final.duckdb --out web/data
python packaging/build_search_index.py --db maude_final.duckdb --out web/data
python packaging/vendor_assets.py
python packaging/serve_local.py # preview at http://127.0.0.1:8777
deploy/DREAMHOST.md in the repository documents the full upload
procedure, the Apache configuration required for HTTP range requests, and the
measured bandwidth a deployment actually consumes.
Which one do I need?
| If you want to… | Use |
| Look up a device and see harm rates, trends or signals | Browser Edition |
| Produce a figure or a methods paragraph for a manuscript | Browser Edition |
| Read complete, untruncated event narratives | Research Edition |
| Export an entire filtered population without a row cap | Research Edition |
| Verify a published number independently, from FDA sources | Research Edition |
| Work offline, or on data the FDA has since revised | Research Edition |
| Host your own instance for a lab or institution | Either — see above |
ⓘ
Both editions compute identically. The statistical
engine exists twice — in Python for the Research Edition and JavaScript for
the browser — and the two are cross-validated against each other and against
SciPy and statsmodels on every function, to 1e-9 or better. A number from one
is a number from the other. See
Methods →
Validation.
!
MAUDE is passive surveillance with no denominator of exposed devices.
Figures from either edition are proportions of
reports, never
incidence or device failure rates. See
Methods → Coverage & caveats.