Methods & Statistics

Everything MaudeDash does to the data, and every test it runs, with references.

Building the corpus

The FDA distributes MAUDE as pipe-delimited text files, one set per data domain, split by year. MaudeDash ingests the MDR master file, the device file, the patient file, the narrative text file, and the device- and patient-problem code files, together roughly 40 GB.

The published build pipeline reproduces this from the FDA's own files, and the test suite exercises each parsing path against synthetic records with deliberate edge cases.

Outcome classification

Most MAUDE analyses stop at EVENT_TYPE, a three-way death/injury/malfunction flag chosen by the submitter. MaudeDash instead decodes SEQUENCE_NUMBER_OUTCOME, the FDA's structured patient outcome field, into the seven categories defined at 21 CFR § 803.3:

A composite “any serious outcome” is defined as any of D, L, H, S, C or R, matching the statutory definition of a serious injury. A single report may carry several outcomes, so these categories are not mutually exclusive and do not sum to 100%.

Outcome coding is voluntary and incomplete. A report with no outcome code is not necessarily benign; check the Data quality panel for coverage in your cohort before quoting any outcome rate.

Cohort definition

A cohort is the set of reports matching the sidebar filters: FDA product code, manufacturer substring, brand/generic/model substring, narrative text, report-year range, event types, and optional exclusions. Every analysis recomputes against that definition, and the exact filter — with bound parameter values inlined so it runs as written — is available in the Methods panel of the tool alongside a generated STROBE-style paragraph.

Three exclusions implement standard MAUDE study protocol choices:

Proportions and intervals

All proportions are reported with Wilson score 95% confidence intervals rather than the textbook normal approximation, which behaves badly for small samples and for proportions near 0 or 1 — exactly the regime most harm rates occupy. Edge cases are handled explicitly: zero successes yields a lower bound of exactly 0, and all successes an upper bound of exactly 1.

Differences between two independent proportions use Newcombe's hybrid-score interval (method 10), which combines the two Wilson intervals in quadrature. Subtracting Wilson bounds directly over-covers and can produce intervals extending beyond the possible range.

Group comparisons

Comparisons across strata use Pearson's chi-square test of independence. The minimum expected cell count is computed and displayed; where it falls below 5, Cochran's rule is violated, the asymptotic p-value is unreliable, and the tool says so explicitly rather than printing a number that looks authoritative. For 2×2 tables, a Yates continuity correction is applied to observed counts with the correction clamped at zero, and Fisher's exact test is computed where any cell contains fewer than 10 observations.

Subgroup analyses display the largest strata, capped for legibility. When the cap binds, the tool states how many strata exist and that the chi-square is computed on the displayed subset only — it is not a test across all strata.

Two complementary tests are reported on annual series:

Both describe the reporting series, not device risk. Regulatory changes, recalls and publicity move these curves independently of any change in real-world device behaviour, and the most recent year is usually partial.

Signal detection

Disproportionality asks whether a problem code appears more often in your cohort than in the rest of the database. MaudeDash reports four measures and two independent signal criteria, because the frequentist and Bayesian approaches fail in different places.

For each problem code, a 2×2 table is formed:

Has codeLacks code
In cohortab
Comparatorcd

The two criteria:

Why both. PRR is a ratio of small numbers and is extremely volatile for rare codes: a single report against a low expected count can produce an enormous PRR and clear the EMA threshold. The Information Component shrinks toward zero when evidence is thin, so a lone report can never produce IC₀₂₅ > 0. Reporting both makes the fragile signals visible as exactly that. Codes flagged by both criteria are the defensible set, and the tool counts them for you.

The comparator matters. It is the set of reports eligible to carry a problem code — those from 2015 onward — not the whole corpus. The FDA problem-code files begin in 2015, so roughly 20% of all reports structurally cannot carry a code; including them in the denominator inflates every PRR by about 25% and manufactures signals at the PRR ≥ 2 threshold. The comparator size is displayed with the results.

Multiplicity

A disproportionality screen tests hundreds of problem codes simultaneously. At α = 0.05 across 700 codes, roughly 35 will appear “significant” by chance alone. MaudeDash therefore reports Benjamini-Hochberg false discovery rate q-values alongside raw p-values. An unadjusted p of 0.04 among several hundred tests is not evidence of anything.

No correction addresses the deeper limitation: MAUDE has no exposure denominator, so a disproportionality measure cannot be converted into a risk.

Validation

The statistical engine exists twice — in Python for the downloadable Research Edition and in JavaScript for the browser tool — and the two are validated against each other and against reference implementations on every function.

Coverage & caveats

The corpus spans 1991–2024, but the FDA device, narrative and problem-code files in this build begin in 2015. Reports before then exist in the MDR master and carry valid event types and outcome codes, but no product code, manufacturer, brand name, narrative or problem code. Any cohort defined by those fields therefore contains no pre-2015 reports regardless of the year slider, and the tool defaults to 2015 onward and warns when the range is widened.

The standing caveats, restated:

Corrections history

The current version corrects several defects present in the code used for the original publication. These change numbers, and are recorded here because a tool that silently changes its answers is not reproducible.

References

  1. U.S. FDA. Manufacturer and User Facility Device Experience (MAUDE) Database.
  2. 21 CFR § 803.3 — Definitions (death, serious injury, malfunction).
  3. Wilson EB. Probable inference, the law of succession, and statistical inference. J Am Stat Assoc 1927;22:209–12.
  4. Agresti A, Coull BA. Approximate is better than “exact” for interval estimation of binomial proportions. Am Stat 1998;52:119–26.
  5. Newcombe RG. Interval estimation for the difference between independent proportions. Stat Med 1998;17:873–90.
  6. Evans SJ, Waller PC, Davis S. Use of proportional reporting ratios (PRRs) for signal generation. Pharmacoepidemiol Drug Saf 2001;10:483–6.
  7. Rothman KJ, Lanes S, Sacks ST. The reporting odds ratio and its advantages. Pharmacoepidemiol Drug Saf 2004;13:519–23.
  8. Bate A, Lindquist M, Edwards IR, et al. A Bayesian neural network method for adverse drug reaction signal generation. Eur J Clin Pharmacol 1998;54:315–21.
  9. Norén GN, Bate A, Orre R, Edwards IR. Extending the methods used to screen the WHO drug safety database. Stat Med 2006;25:3740–57.
  10. Benjamini Y, Hochberg Y. Controlling the false discovery rate. J R Stat Soc B 1995;57:289–300.
  11. Mann HB. Nonparametric tests against trend. Econometrica 1945;13:245–59.
  12. Ensign LG, Cohen KB. A primer to the structure, content and linkage rules of the MAUDE database. eGEMs 2017;5(1):12.
  13. Porwal M. MaudeDash: an open analytic platform for the FDA MAUDE medical device adverse event database. Surg Neurol Int 2026. doi:10.25259/SNI_201_2026.