Methodology
How MedivaScan sources, matches, and refreshes FDA drug safety data, and what we explicitly don't do. Every figure on the site traces back to a public U.S. government dataset.
Data sources
MedivaScan aggregates six public datasets. We do not collect our own adverse-event reports, run trials, or accept submissions from manufacturers. If a figure appears on this site, it came from one of the sources below.
| Source | What we use it for | Our refresh |
|---|---|---|
| FDA Adverse Event Reporting System (FAERS) | Side-effect reports, top reactions, serious outcomes | Quarterly |
| FDA Drug Enforcement Reports | Drug recalls and Class I / II / III classifications | Every 6 hours |
| FDA Drug Shortages Database | Currently in shortage, resolved, to be discontinued | Weekly |
| FDA Structured Product Labeling (SPL) | Boxed warnings, indications, drug class, label text | Weekly |
| National Drug Code (NDC) Directory | Brand / generic mapping, manufacturers | Daily |
| openFDA | Public API layer used for all of the above | — |
How we match drugs to recalls and shortages
FDA datasets do not share a clean foreign key. Recalls and shortages list a drug by brand name and NDC code, not the generic name used on our drug detail pages. We bridge them with two passes:
- NDC bridge. If the recall or shortage row includes a package NDC that resolves to a drug in the National Drug Code Directory, we link it via the drug's active ingredient.
- Name normalization. Where the NDC is missing or ambiguous, we fall back to normalized brand and generic name matching against our registry.
Every match carries a confidence level. Only high-confidence and medium-confidence matches surface on drug pages. Low-confidence matches are excluded entirely; they may be reviewed and promoted manually but are not auto-displayed.
If a recall or shortage exists in FDA's database but does not appear on a drug's page, the most likely cause is that the row did not pass either bridge confidently. Report it and we will review.
FAERS treatment
FAERS is FDA's database of reported adverse events. Anyone with information about an adverse event can file: patients, doctors, manufacturers, attorneys. We treat FAERS data with discipline because the database has well-known structural limits.
Report counts
The total report count on a drug page is the count of FAERS cases where the drug was listed as the primary suspect, within FDA's current quarterly snapshot. Counts are de-duplicated on the FDA case ID.
A report is not proof of causation. A high count often reflects how widely a drug is prescribed, not how dangerous it is. We frame every FAERS number with this caveat.
Most-reported reactions
The percentage shown next to each reaction is its count divided by the total reports for that drug. Percentages do not sum to 100 because a single case typically lists multiple reactions.
What we filter out
FAERS includes several reaction terms that are reporting metadata rather than pharmacological reactions. We exclude these from the Common Side Effects table to avoid misleading display:
- DEATH: an outcome flag, not a reaction. We surface it separately in the Serious Outcomes section with explicit framing.
- DRUG INEFFECTIVE: a report that the drug had no observed effect, not a side effect.
- OFF LABEL USE / PRODUCT USE ISSUE / ACCIDENTAL EXPOSURE TO PRODUCT: reporting metadata about how the drug was taken, not what happened.
- FALL: a patient event that may or may not relate to the drug.
Without this filter, statins would show "DEATH" as a top-N reaction because they are prescribed to high-cardiovascular- risk populations. The number is real but misrepresents what FAERS is measuring.
Serious outcomes
FDA records a serious-outcome flag on each FAERS case (death, hospitalization, disability, life-threatening, congenital anomaly, or required intervention). We tally these counts and present them separately from common reactions. The framing is always "reported in X filings," never "X% of users experience."
Update schedule
Each data type refreshes on its own cadence, matched to FDA's own publish schedule. If our sync fails, the "Last updated" stamp on the affected page does not advance. A stale stamp is a signal, not a bug.
| Data type | Refresh cadence | Typical lag |
|---|---|---|
| Recalls (Enforcement Reports) | Every 6 hours | < 12 hours from FDA posting |
| Drug shortages | Weekly | Matches FDA publish cadence |
| Adverse events (FAERS) | Quarterly | Follows FDA quarterly release |
| Drug labels & boxed warnings | Weekly | < 7 days from label change |
| Brand / generic mapping (NDC) | Daily | < 24 hours |
What we don't do
Constraints we apply, made explicit. These rules are enforced by tooling. Banned-phrase audits run on every page before publish.
- No LLM-generated drug claims. Side effects, recall counts, warnings, and percentages are queried from FDA data. Where the data is missing, we omit the claim rather than extrapolate.
- No paraphrasing of FDA-approved label text. Boxed warnings, Warnings & Precautions sections, and Indications appear in
<blockquote>with the FDA source URL. We do not summarize, simplify, or rephrase. - No causation claims. FAERS contains reports of adverse events that occurred while the patient was taking the drug, not events the drug definitively produced. Our framing attributes everything to the FDA reporting record, never to the drug as the actor.
- No comparative drug claims. We do not write that one drug is more or less effective, more or less risky, or otherwise better than another. FDA data does not support head-to-head comparisons.
- No treatment recommendations. Pages do not direct the reader to start, stop, or switch any medication. Those decisions belong with a prescribing clinician.
- No manufacturer-supplied content. Press releases, marketing material, and industry data feeds are not ingested. Manufacturer information appears only when FDA itself reports it (recalling firm, NDC labeler).
- No paywall. All FDA data is public; our presentation of it is free.
Corrections
If a figure looks wrong, it is most often because the underlying FDA record changed or was itself incorrect. Use the Report a correction form with the page URL and what looks off, and we will trace it to the source.
We respond to data-correction reports within five business days. We do not respond to medical-advice requests. For medical questions, please contact a healthcare provider.