Skip to main content
Signal Detection

Why Multi-Drug Interaction Signals Hide in Plain Sight in FAERS

 ·  Kevin Nakamura  ·  TrialVyx
Why Multi-Drug Interaction Signals Hide in Plain Sight in FAERS

Every quarter when the FAERS ASCII files drop, the first thing most PV teams do is run their standard disproportionality suite: ROR, PRR, maybe BCPNN or MGPS if they have the infrastructure. Drug A against every preferred term in the MedDRA dictionary. Repeat for Drug B, Drug C. Flag what crosses the threshold, triage the queue, write the signal assessment. That workflow has served the field well for decades.

But it was designed for a world where patients took one drug at a time. That world largely no longer exists.

The 2023 National Prescription Audit data shows that patients with chronic conditions — cardiovascular disease, type 2 diabetes, late-stage oncology, HIV/AIDS — routinely take between 5 and 12 concurrent medications. When you run pairwise ROR analysis on those patients' adverse event reports, you are mathematically treating each drug as if the others weren't there. The signal you're computing is actually a confounded estimate of "Drug A plus whatever else the patient happened to be taking." For monotherapy patients, that's a reasonable approximation. For the patient on 9 drugs, it's not.

The Combinatorial Problem That Statistics Textbooks Don't Fully Acknowledge

Here is the underlying problem stated plainly. If a patient is on drugs A, B, and C simultaneously, and they report a hepatotoxicity event, pairwise analysis produces three separate ROR estimates: A vs. hepatotoxicity, B vs. hepatotoxicity, C vs. hepatotoxicity. Each calculation marginalizes the other two drugs — they go into the "background" report count rather than being modeled as joint contributors.

What this means in practice: if A and B together cause hepatotoxicity through a synergistic CYP3A4 inhibition mechanism, but neither A alone nor B alone crosses the reporting threshold for that event, neither will be flagged. The signal exists at the interaction level (A ∩ B → hepatotoxicity) but is invisible at the pairwise level (A → hepatotoxicity, B → hepatotoxicity).

The combinatorial math compounds the problem as polypharmacy load increases. A patient on 5 drugs generates C(5,2) = 10 pairwise combinations. A patient on 10 drugs generates C(10,2) = 45 pairs. But the interactions that matter in pharmacovigilance aren't just pairwise — three-way pharmacokinetic interactions exist, as do four-drug QT prolongation cascade scenarios documented in clinical pharmacology literature. If you wanted to exhaustively test all triple-drug combinations in a 10-drug regimen, you'd need to evaluate C(10,3) = 120 triples. At 15 drugs, that number climbs to 455 triples, each requiring enough reports to reach statistical significance on its own.

No PV team runs exhaustive combination testing because the ICSR volume doesn't support it — you'd need enormous numbers of reports for each specific combination to have any statistical power. The field generally accepts this as an unsolvable data scarcity problem and moves on.

Where the Data Isn't Actually Scarce

The assumption that combination-level signal detection is impossible because reports are too sparse is worth re-examining. The scarcity problem is real at the level of exact drug tuples — you may have only 30 reports of patients on Drug A + Drug B + Drug C specifically. But at the level of pharmacological mechanism, the data is considerably richer.

Consider a concrete example. If Drug A and Drug B are both known inhibitors of CYP2C9, and the signal you're trying to detect is bleeding events in patients on warfarin (a CYP2C9 substrate), the relevant question isn't "how many reports contain exactly {warfarin, Drug A, Drug B}?" The relevant question is "across all ICSR reports containing warfarin plus any CYP2C9 inhibitor, does the presence of a second concurrent CYP2C9 inhibitor significantly increase the reporting odds of serious bleeding?"

That question is answerable with reasonable power from FAERS because it aggregates across the pharmacological class, not just the specific drug pair. Graph-based analysis approaches this differently from traditional disproportionality: instead of treating drugs as independent nodes and looking for edges to adverse events, you model drug-drug co-occurrence patterns across reports and look for subgraphs — clusters of drug combinations — where the adverse event rate is elevated beyond what the individual drugs' baseline rates would predict.

A Realistic Example from Oncology Supportive Care

Oncology supportive care provides one of the cleaner test cases for multi-drug signal detection because the polypharmacy burden is high and the drug combinations are somewhat standardized by protocol. Consider a scenario we worked through in our internal retrospective analysis: patients receiving FOLFOX chemotherapy (oxaliplatin + 5-fluorouracil + leucovorin) often concurrently receive antiemetics, proton pump inhibitors, and growth factor support. The FAERS reports for these patients typically contain 7 to 12 concomitant medications.

When you run standard pairwise ROR analysis for oxaliplatin against peripheral neuropathy (a well-documented individual drug effect), you get a clear signal — that's not surprising. But when you look at cumulative neuropathy severity across patients on oxaliplatin plus concurrent drugs that individually have low neuropathy ROR scores (certain proton pump inhibitors, for example), you find that the co-occurrence pattern predicts worse outcomes than the pairwise numbers suggest. The interaction isn't necessarily pharmacokinetic — it may be pharmacodynamic at the level of neural mitochondrial stress — but the FAERS data contains the footprint of it if you're asking the right question.

We're not saying pairwise ROR is wrong for this signal. We're saying it gives you an incomplete picture of the patient's actual exposure context, and that incompleteness means you're reading the data through a lens that systematically underestimates interaction effects.

Reporter-Level Co-Medication Data: The Hidden Asset in FAERS

One aspect of FAERS structure that often gets underutilized is the drug role coding in the DRUG file. Each drug in a report is coded as "primary suspect" (PS), "secondary suspect" (SS), "concomitant" (C), or "interacting" (I). The vast majority of concomitant medications get coded as C — they're listed but not flagged as suspects by the reporter. This is precisely the problem: the reporter's clinical judgment about which drug caused the event may be systematically biased toward the drug the patient was most recently prescribed or the drug the treating physician prescribes.

When a cardiologist reports a bleeding event in a patient on warfarin plus a newly prescribed antibiotic, the antibiotic often gets coded SS and the warfarin gets coded PS. The other six medications on the patient's medication list — the statin, the ACE inhibitor, the loop diuretic, the aspirin, the PPI, the antihistamine — all get coded C and vanish from signal detection calculations that only look at PS/SS drugs. But several of those drugs have documented interactions with warfarin metabolism.

Graph-based analysis that treats concomitant medications as part of the exposure context — not background noise — recovers information that role-filtered analysis discards. This isn't a theoretical point. When we ran our retrospective validation against historical FAERS confirmations from 2019 through 2022, the signals where we gained the most lead time over traditional methods were disproportionately in polypharmacy-heavy report populations, not in clean monotherapy cases.

The Threshold Problem in Multi-Drug Settings

One objection that comes up regularly: even if you can detect combination signals, what threshold do you use? PRR > 2 with chi-squared > 4 is a reasonably standard criterion for pairwise analysis. For combination analysis, those thresholds don't translate directly — the expected count for a specific drug triple is much lower, making chi-squared tests unreliable, and the multiplicative hypothesis behind PRR calculation assumes independence between drug reports.

This is a genuine methodological challenge, not a solved problem. Our working approach is to use relative graph density metrics — comparing the observed co-occurrence frequency of a drug subgraph conditional on the adverse event against the expected co-occurrence frequency of that subgraph across all reports for those drugs. This doesn't rely on the independence assumption that breaks down in polypharmacy populations. But it does require more careful calibration of false positive rates, and we think anyone claiming to have fully solved the threshold problem for N-drug combinations should be viewed with some skepticism.

What's tractable: detecting that a specific combination appears in adverse event reports at a rate that meaningfully exceeds its prevalence in the general FAERS population, and that this excess is concentrated in a specific adverse event category. That's a signal worth a human safety scientist's attention. Whether it rises to the level of a Periodic Safety Update Report action item requires the clinical judgment that no algorithm replaces.

Practical Implications for PV Teams Running Quarterly FAERS Cycles

If you're running a quarterly FAERS signal detection cycle today and you're limited to pairwise analysis, the practical implication is not that your current process is broken. It's that there's a class of signal that your process is structurally unable to surface regardless of how well-calibrated your thresholds are. Those signals are concentrated in:

  • Product portfolios with significant use in polypharmacy-heavy populations (oncology, HIV, cardiovascular disease, geriatric medicine)
  • Drugs with hepatic metabolism via CYP enzymes that are commonly inhibited or induced by co-medications
  • Drugs with QT prolongation potential where additive risk accumulates across multiple co-medications
  • Narrow therapeutic index drugs (warfarin, digoxin, lithium, phenytoin) where small PK changes have large clinical consequences

If your portfolio doesn't touch these areas heavily, the gap between pairwise and combination analysis is smaller. If it does, the gap is meaningful and worth quantifying.

The FAERS data to do better analysis is already there, sitting in the DRUG and REAC files that every FAERS licensee downloads each quarter. The question is whether the analytical framework you bring to it is designed to see what the data actually contains about how drugs interact at the patient level — not just how each drug performs in isolation.

From the blog

More pharmacovigilance analysis

All Articles Platform Overview Request Access