HomePharmacovigilance & Adverse Event Signal DetectionSpontaneous Adverse Event Report Triage

🚨 Spontaneous Adverse Event Report Triage

Automated triage of spontaneous adverse event reports based on severity.

Pharmacovigilance & Adverse Event Signal Detection2DModerate60 FPS
adverse-event-report-triage ↗ Open standalone

Spontaneous Reporting — Capturing the Individual Case Safety Report

Spontaneous adverse event reports are unsolicited communications from patients, caregivers, physicians, pharmacists, and other healthcare professionals describing a suspected adverse drug reaction, with no formal study protocol behind them. They remain the backbone of post-marketing pharmacovigilance: FDA FAERS alone receives roughly 2.3 million reports per year, and WHO-UMC VigiBase holds more than 34 million ICSRs contributed by over 150 national pharmacovigilance centers.

  • ~2.3 M: FAERS reports (2023) (annual submissions, all sources)
  • >34 M: VigiBase cumulative ICSRs (WHO-UMC, 150+ countries)
  • ~1.9 M: EudraVigilance annual volume (ICSRs, EU/EEA)
  • 2013: ICH E2B(R3) adopted (XML case transmission standard)

Sources feeding the spontaneous reporting stream

Spontaneous reports enter the pharmacovigilance system through multiple channels, each with distinct reliability and completeness characteristics:

• Direct consumer/patient reports: FDA MedWatch (est. 1993), EMA Yellow Card scheme (UK legacy), and manufacturer patient support lines. Typically less structured, lower rate of missing data on concomitant medications, but valuable for capturing patient-reported outcomes and quality-of-life impacts physicians under-report.

• Healthcare professional (HCP) spontaneous reports: physicians, pharmacists, nurses reporting suspected reactions observed in clinical practice. Historically estimated under-reporting rate of 90–99% of actual ADR incidents (the classic "iceberg" phenomenon in pharmacovigilance epidemiology).

• Solicited reports from marketing authorization holder (MAH) programs: patient support/compliance programs, market research, and social media listening — these are technically "solicited" and coded differently under GVP Module VI, often analyzed separately from truly spontaneous data to avoid inflating disproportionality signals.

• Literature screening: MAHs are contractually and regulatorily required (ICH E2D, GVP Module VI) to screen the published medical literature (Embase, MEDLINE) weekly for cases involving their products.

• Regulatory authority forwarding: national competent authorities forward reports received directly to MAHs, and MAHs forward reports between markets when a product is licensed in multiple regions.

Structuring the case — ICH E2B(R3) and the ICSR data model

Once a report reaches the safety database, it is transcribed into the internationally standardized Individual Case Safety Report format:

• ICH E2B(R3): the current XML-based ICSR transmission standard (superseding E2B(R2) HL7 flat-file format), harmonized across ICH regions since 2013. Defines structured fields for patient demographics, suspect/concomitant drugs (with WHODrug dictionary coding), reaction terms (MedDRA-coded), dosing, dechallenge/rechallenge outcome, and narrative text.

• Case narrative: free-text summary written by the intake reviewer synthesizing the reporter's original account into a chronological, medically coherent story — this is the field most heavily mined by NLP triage models because verbatim reporter language is often colloquial ("felt dizzy and fell") rather than clinical terminology.

• World Health Organization Drug Dictionary (WHODrug): standardized coding of the suspect and concomitant medicinal products, resolving brand names, generics, and formulations to a common Anatomical Therapeutic Chemical (ATC) backbone.

• Data entry latency: industry benchmark for case receipt-to-database-entry is under 24 hours for serious cases and under 5 business days for non-serious cases, per most company standard operating procedures aligned to GVP Module VI expectations.

A single FAERS report can take a trained safety associate 20–40 minutes to structure manually from a raw call-center transcript or literature abstract — the labor bottleneck that automated NLP triage systems are specifically built to compress.

Minimum Criteria, Duplicate Detection, and Case Validity

Before any triage logic runs, every incoming case must clear a validity gate. A report is only reportable if it satisfies four minimum criteria simultaneously; if it does not, it is logged but excluded from expedited timelines. Duplicate detection then prevents the same clinical event — reported independently by a patient, their physician, and a literature abstract — from being counted three times in signal statistics.

  • 4: Minimum reportability criteria (patient, reporter, drug, event)
  • 8–15%: Typical duplicate rate (of raw FAERS submissions)
  • Bayesian: VigiMatch dedup engine (WHO-UMC probabilistic linkage)
  • ~5%: Invalid/rejected cases (fail minimum criteria)

The four minimum criteria for a valid ICSR

ICH E2A and regional guidance (21 CFR 314.80, GVP Module VI) converge on the same four-element test — a case is not a reportable adverse event unless all four are present:

1. An identifiable patient: at minimum age/age-group, sex, or initials — full identity is not required and is in fact discouraged for privacy, but the case must refer to a specific, real individual rather than an aggregate statement.

2. An identifiable reporter: a named or professionally-identifiable source (physician, pharmacist, consumer) — anonymous internet chatter about a drug class generally does not qualify unless a specific reporter can be traced.

3. A suspect medicinal product: the report must name or clearly imply a specific drug, not merely a therapeutic class.

4. An adverse event or outcome: a specific clinical event, laboratory abnormality, or outcome (including lack of efficacy in some frameworks) attributable to product exposure.

Cases missing any one element are logged as "incomplete" and held in a follow-up queue — safety associates issue standardized follow-up requests to the original reporter, with industry practice targeting up to three follow-up attempts before a case is closed as non-evaluable.

Probabilistic deduplication against the global case pool

Duplicate ICSRs arise constantly: the same adverse event reaches a company through its call center, through the treating physician independently, and again via a literature case report six months later. Left uncontrolled, duplicates directly inflate disproportionality signal statistics (PRR, EBGM) by artificially raising the numerator.

Deduplication methods in production pharmacovigilance systems:

• Deterministic matching: exact match on patient age/sex/initials + drug + event + onset date + country + reporter type. Catches obvious duplicates but misses cases with minor transcription variance.

• Probabilistic (Bayesian) record linkage: WHO-UMC's VigiMatch and similar proprietary engines compute a similarity score across weighted fields (Jaro-Winkler string distance on names/initials, date proximity windows, MedDRA term semantic closeness) and flag pairs above a posterior-probability threshold for manual reviewer confirmation.

• Case-linking vs. case-merging: regulatory guidance (GVP Module VI) distinguishes soft-linking related cases (kept separately visible but cross-referenced) from hard-merging confirmed duplicates into a single master case with a superseded audit trail — critical because outright deletion of source data is prohibited under Good Pharmacovigilance Practice.

Industry-reported duplicate detection rates in large FAERS-scale systems run 8–15% of raw incoming volume, rising toward 20%+ during high-media-attention safety events when the same anecdote is independently reported by many parties (the "Weber effect" reporting spike).

From Free Text to Structured Signal — MedDRA Coding and the Six Seriousness Criteria

Seriousness classification is the single most consequential decision in the triage pipeline: it determines whether a case must be transmitted to regulators within 15 calendar days or can wait for the next periodic aggregate report. ICH E2A defines seriousness by clinical consequence, not by severity of symptoms — a case can be objectively mild (a single fainting spell) yet regulatorily "serious" because it caused hospitalization.

  • 5: MedDRA hierarchy levels (SOC → HLGT → HLT → PT → LLT)
  • ~26,000: MedDRA PT dictionary size (Preferred Terms, current version)
  • 85–93%: Auto-coding NLP accuracy (PT-level exact match vs. human coder)
  • ~90%: Serious cases in FAERS (of manufacturer-submitted reports)

MedDRA — the Medical Dictionary for Regulatory Activities

MedDRA provides the standardized clinical terminology underlying every regulatory safety database (FAERS, EudraVigilance, VigiBase, PMDA-J). Its five-level hierarchy allows a single reported symptom to be analyzed at multiple resolutions:

• System Organ Class (SOC) — 27 top-level classes (e.g., "Cardiac disorders," "Hepatobiliary disorders") • High Level Group Term (HLGT) and High Level Term (HLT) — intermediate groupings • Preferred Term (PT) — the primary reporting/analysis level, ~26,000 terms (e.g., "Hepatic failure") • Lowest Level Term (LLT) — verbatim-adjacent synonyms that map up to a single PT (e.g., "liver failure," "hepatic decompensation" both map to PT "Hepatic failure")

Auto-coding pipelines use transformer-based clinical NLP (fine-tuned on annotated ICSR corpora) to map free-text verbatim terms to LLT/PT with reported exact-match accuracy of 85–93% against expert human coders; ambiguous or novel phrasing below a confidence threshold routes to a human medical coder queue rather than auto-committing a code that could misdirect signal statistics.

Standardised MedDRA Queries (SMQs) — pre-built groupings of PTs representing a clinical syndrome of regulatory interest (e.g., SMQ "Anaphylactic reaction," SMQ "Drug-induced liver injury") — let safety scientists screen for a medical concept even when individual reporters use widely varying terminology.

The six ICH E2A seriousness criteria

A case is classified "serious" if it meets ANY ONE of six criteria, regardless of how the reporter subjectively described intensity:

1. Results in death 2. Is life-threatening (the patient was at immediate risk of death at the time of the event — not an event that could theoretically become fatal) 3. Requires inpatient hospitalization or prolongation of existing hospitalization 4. Results in persistent or significant disability/incapacity 5. Is a congenital anomaly/birth defect 6. Is another medically important event that, based on appropriate medical judgment, may jeopardize the patient or require intervention to prevent one of the outcomes above (e.g., intensive treatment in an emergency room for bronchospasm, blood dyscrasias, or seizures not requiring hospitalization)

Criterion 6 is deliberately open-ended and the primary source of triage ambiguity — it requires clinical judgment from a trained safety physician rather than a keyword match, which is precisely why auto-triage systems route low-confidence "medically important" calls to human review rather than auto-classifying them.

Severity ≠ seriousness: a patient reporting severe nausea (high severity, low regulatory consequence) is non-serious, while a patient hospitalized overnight for observation after a mild-appearing allergic rash is, by definition, serious.

Because most direct manufacturer-received reports already pass through some clinical filtering, roughly 90% of reports submitted to FAERS by industry are coded "serious" — a rate far higher than the true population incidence of serious ADRs, reflecting reporting behavior rather than underlying risk, and a key reason raw serious-case counts are never used alone to infer causality.

Machine-Learned Triage Scoring and Safety Physician Queue Management

A modern pharmacovigilance intake center processing thousands of cases daily cannot have a physician manually triage every one. Automated priority scoring models — typically gradient-boosted trees or fine-tuned clinical language models — compute an urgency score per case in milliseconds, and only cases below a defined confidence gate are escalated to a human safety physician queue.

  • GBT / LLM: Triage model architecture (gradient-boosted trees, transformer)
  • 80–90%: Auto-route confidence gate (typical production threshold)
  • 4–8 hrs: Median time to physician review (escalated / ambiguous cases)
  • 60–75%: Cases auto-triaged straight-through (of total intake volume)

Feature inputs to the triage urgency score

The triage classifier ingests a structured feature vector built from the E2B(R3) case plus derived NLP features:

• Seriousness flags (the six ICH E2A criteria, encoded as binary indicators) • MedDRA SOC/PT weighting — historical severity weight of the specific event term (e.g., "Hepatic failure" carries higher base urgency weight than "Nausea") • Standardised MedDRA Query (SMQ) membership — cases matching a "Designated Medical Event" (DME) list (e.g., anaphylaxis, Stevens-Johnson syndrome, agranulocytosis, torsades de pointes) receive an automatic urgency floor regardless of other features • Causality plausibility proxy — dechallenge/rechallenge outcome, temporal proximity between dosing and onset, presence of a documented alternative etiology • Source reliability — HCP-reported cases historically weighted higher confidence than uncoded consumer narratives • Report completeness score — fraction of E2B(R3) fields populated; sparse cases receive a lower confidence score, pushing them toward human review regardless of apparent severity

Model output is a 0–100 urgency score plus a calibrated confidence interval; cases are auto-routed only when the model's confidence in its own classification exceeds the configured gate (typically 80–90% in production deployments), directly mirroring the interactive threshold control on this page.

Human-in-the-loop safety physician queues

Cases that fail the confidence gate — or automatically flagged Designated Medical Events regardless of confidence — enter a prioritized worklist reviewed by a qualified safety physician or PV scientist:

• Queue prioritization: even within the human-review pool, cases are ranked by predicted urgency so the most clinically concerning cases surface first rather than being processed strictly first-in-first-out • Structured causality assessment: reviewers apply the WHO-UMC causality categories (Certain, Probable/Likely, Possible, Unlikely, Conditional/Unclassified, Unassessable) or the quantitative Naranjo Adverse Drug Reaction Probability Scale (10-item questionnaire yielding a Definite/Probable/Possible/Doubtful score) to document the clinical judgment behind the final classification • Medical review SLA: most organizations target same-business-day physician review for any case flagged as a potential Designated Medical Event or death, with a broader queue SLA of 24–48 hours for standard escalated cases • Quality control sampling: a fixed percentage (commonly 5–10%) of auto-triaged, non-escalated cases are randomly audited by human reviewers to continuously validate that the model's straight-through classifications remain accurate as reporting patterns drift over time

Designated Medical Events (DMEs) — a CIOMS-defined list including agranulocytosis, anaphylactic shock, Stevens-Johnson syndrome/toxic epidermal necrolysis, and torsades de pointes — bypass confidence-based auto-routing entirely: any case matching a DME term is force-escalated to same-day physician review, regardless of how confident the triage model is.

Statistical Signal Detection — PRR, ROR, EBGM/MGPS and IC025

Individual case triage answers "how urgent is this one report?" Signal detection answers a different question at population scale: "is this drug-event combination occurring more often than background reporting rates would predict?" Once triaged cases accumulate in the safety database, disproportionality analysis statistically screens every drug-event pair for a potential new safety signal.

  • PRR≥2, χ²≥4, n≥3: PRR signal threshold (Evans criteria) (classic frequentist rule)
  • EB05 ≥ 2: EBGM/MGPS signal threshold (FDA empirical Bayes lower bound)
  • IC025 > 0: BCPNN signal threshold (WHO-UMC Bayesian method)
  • millions: Drug-event pairs screened (per FAERS quarterly extract)

Disproportionality methods — frequentist and Bayesian

All disproportionality methods compare the observed count of a specific drug-event pair against the count expected if drug and event were statistically independent, using a 2×2 contingency table (reports with drug+event, drug only, event only, neither):

• Proportional Reporting Ratio (PRR): (a/(a+b)) / (c/(c+d)) — the classic MHRA-originated frequentist measure. Evans criteria flag a signal when PRR ≥ 2, chi-square ≥ 4, and at least 3 cases are observed.

• Reporting Odds Ratio (ROR): (a×d)/(b×c) — mathematically an odds ratio, asymptotically similar to PRR for rare events, preferred by EMA/EudraVigilance screening.

• Empirical Bayes Geometric Mean (EBGM) / Multi-item Gamma Poisson Shrinker (MGPS): the FDA's production method, applying empirical Bayesian shrinkage to stabilize estimates for rare drug-event combinations where raw counts are small and frequentist ratios are unstable. The lower 5% credible bound (EB05) ≥ 2 is the standard FDA signal threshold.

• Bayesian Confidence Propagation Neural Network (BCPNN) / Information Component (IC): WHO-UMC's method, computing IC = log2(observed/expected); a signal is flagged when the lower 95% credible interval bound IC025 exceeds 0.

All four methods are run in parallel at most large pharmacovigilance centers because each has different sensitivity/specificity tradeoffs, and convergence across methods substantially strengthens confidence that a signal is real rather than a statistical artifact of small-sample noise or reporting bias (e.g., a co-reported drug being blamed for another drug's effect — "co-reported confounding").

From statistical signal to validated safety concern

A disproportionality signal is a hypothesis-generating statistical flag, not proof of causation — GVP Module IX and FDA guidance are explicit that signals require structured medical evaluation before any regulatory action:

1. Signal detection: automated quarterly/monthly screening runs (as described above) generate a ranked list of candidate drug-event pairs exceeding threshold 2. Signal validation: a safety scientist performs a rapid initial review — checking for obvious confounders, disease-related background rate, known class effects, and duplicate contamination 3. Signal prioritization: validated signals are ranked by potential public health impact — severity of the event, exposure population size, availability of alternative therapies 4. Signal evaluation: a full structured medical assessment integrating spontaneous data, clinical trial safety data, epidemiological literature, and mechanism-of-action plausibility, typically documented in a formal signal evaluation report 5. Action: label update, Dear Healthcare Provider letter, REMS/risk minimization measure, further post-marketing study requirement (PASS), or in rare cases market withdrawal

The Weber effect describes a well-documented reporting-rate artifact: spontaneous report volume for a newly approved drug typically peaks in its second year on the market (driven by increased prescriber and media attention) independent of any true change in underlying risk — a pattern that signal detection algorithms must adjust for using time-windowed background rates rather than raw cumulative counts.

Rofecoxib (Vioxx) remains the canonical case study in disproportionality-driven signal detection: an elevated cardiovascular event signal identified through post-marketing spontaneous reports and confirmed by the VIGOR and APPROVe trial data led Merck to voluntarily withdraw the drug in September 2004, after roughly 20 million patients had been exposed — a case that directly motivated FDA's formal adoption of EBGM/MGPS as a standing quarterly screening method across the entire FAERS database.

E2B(R3) Transmission, FAERS/EudraVigilance Gateways, and Aggregate Reporting

A triaged case is not complete until it reaches the regulator in the correct format within the correct timeline — and every case, expedited or not, eventually feeds into periodic aggregate safety reporting that regulators use to reassess a product's benefit-risk balance over its full lifecycle.

  • 15 days: Expedited serious/unexpected deadline (ICH E2A/E2D calendar days)
  • 7 days: Fatal/life-threatening fast-track (Japan) (PMDA unexpected serious rule)
  • >95%: On-time expedited submission rate (industry compliance benchmark)
  • 6mo–yearly: PBRER/PSUR reporting cycle (post-approval, per RMP/DSUR)

Expedited transmission — the 15-day (and 7-day) clock

Once a case is confirmed serious and unexpected (not listed in the product's reference safety information / Company Core Data Sheet), ICH E2A starts a strict regulatory clock:

• 15 calendar days from first knowledge by any personnel of the marketing authorization holder (not 15 business days, and the clock starts even from an incomplete initial report — follow-up information is submitted as a "follow-up ICSR" on its own timeline) • Fatal or life-threatening unexpected reactions face tighter fast-track rules in specific jurisdictions — most notably Japan's PMDA 7-day rule for unexpected serious ADRs resulting in death or judged life-threatening • Transmission occurs as a structured E2B(R3) XML message through the applicable regulatory gateway: FDA's FAERS Gateway (via the FDA Electronic Submissions Gateway, ESG) or EMA's EudraVigilance Gateway, both of which return an automated acknowledgment message (ACK) confirming successful structured ingestion • Gateway rejection handling: a case failing XML schema validation or missing mandatory E2B(R3) fields bounces back with an error code requiring correction and resubmission — most safety database platforms run automated pre-submission validation to catch these before the regulatory clock is put at risk

Non-serious and non-expedited serious cases do not transmit individually — they accumulate for inclusion in the next periodic aggregate report rather than triggering an expedited filing.

Periodic aggregate reporting — PBRER/PSUR and case closure

Individual case processing is only half of pharmacovigilance obligations; regulators also require periodic, population-level safety reassessment:

• Periodic Benefit-Risk Evaluation Report (PBRER), harmonized under ICH E2C(R2) (the successor to the older Periodic Safety Update Report, PSUR, terminology still used in some regions): a comprehensive cumulative and interval safety review submitted on a schedule tied to the International Birth Date of the product — typically every 6 months for the first 2 years post-approval, annually for the next 2 years, then every 3 years thereafter unless otherwise specified in the Risk Management Plan (RMP) • Development Safety Update Report (DSUR), under ICH E2F: the equivalent aggregate report for products still in clinical development, submitted annually • Case closure: once transmitted (or determined non-expedited) and coded into the aggregate reporting cycle, a case is marked closed in the safety database but remains permanently retrievable — Good Pharmacovigilance Practice (GVP Module I) requires case-level audit trails to be retained for the life of the product plus a defined retention period (commonly 10+ years post-marketing authorization withdrawal) • Continuous reconciliation: safety, regulatory affairs, and quality teams periodically reconcile case counts between the internal safety database and each regulatory gateway's acknowledgment log to catch silently failed transmissions before an inspection finds them

FDA and EMA both publish inspection findings showing that late expedited-report submission remains one of the most common Good Pharmacovigilance Practice deficiencies cited in sponsor audits — a compliance risk that automated triage scoring and confidence-gated routing were specifically built to reduce by shrinking the human decision latency between case intake and seriousness determination.
⚙ Under the hood

Automated triage of spontaneous adverse event reports based on severity.

CanvasBiomedicine

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)