Enhancing adverse drug reaction data quality in Canada: A high-precision pipeline for medication name standardization and enrichment
Bibliographic record
Abstract
BACKGROUND: The Canada Vigilance Adverse Reaction database is a vital pharmacovigilance tool, but its utility is severely limited by heterogeneity in medication nomenclature. A substantial portion (∼36.8%) of unique drug name variants in the database lack any mapping to an active ingredient, representing a critical data quality gap that can mask important adverse drug reaction (ADR) signals. METHODS: We developed, validated, and publicly released a high-precision, automated pipeline to standardize and enrich medication names. The pipeline employs a cascaded matching strategy that leverages the RxNorm and Observational Health Data Sciences and Informatics (OHDSI) vocabularies. Standardized names are assigned a RxNorm Concept Unique Identifier (RxCUI) and enriched with active ingredient data and Anatomical Therapeutic Chemical (ATC) classifications via RxNav APIs. The pipeline's accuracy was rigorously assessed by two independent experts on a balanced validation set of 200 cases. RESULTS: The final pipeline successfully standardized 94.5% of the 46,585 unique drug names. A blinded expert validation confirmed high reliability, demonstrating a precision of 98.02% (95% CI: 0.9307-0.9946) and specificity of 97.22% (95% CI: 0.9043-0.9923). Case studies showed that standardization and aggregation of reports revealed known safety signals (e.g., mesalamine and asthenia) that were statistically undetectable in the raw data. CONCLUSION: Our transparent and reproducible pipeline effectively resolves medication name heterogeneity in Canada's national ADR database. By transforming variable text into standardized concepts, it significantly enhances data quality, improves the sensitivity of safety signal detection, and facilitates interoperability with global health datasets. The publicly available tool provides a valuable resource for strengthening drug safety surveillance in Canada and beyond.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.068 | 0.178 |
| Meta-epidemiology (narrow) | 0.002 | 0.001 |
| Meta-epidemiology (broad) | 0.002 | 0.003 |
| Bibliometrics | 0.012 | 0.010 |
| Science and technology studies | 0.003 | 0.002 |
| Scholarly communication | 0.006 | 0.003 |
| Open science | 0.005 | 0.010 |
| Research integrity | 0.001 | 0.003 |
| Insufficient payload (model declined to judge) | 0.004 | 0.002 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".