
Tooluniverse Pharmacovigilance
- 372 installs
- 1.6k repo stars
- Updated August 4, 2026
- mims-harvard/tooluniverse
tooluniverse-pharmacovigilance is a ToolUniverse agent skill that monitors adverse events, drug safety signals, and pharmacovigilance datasets for developers triaging post-market safety concerns and summarizing risk patt
About
tooluniverse-pharmacovigilance is an agent skill from mims-harvard/tooluniverse for querying and summarizing pharmacovigilance data through the ToolUniverse platform. It helps developers and research engineers monitor adverse drug events, detect safety signals, and triage post-market risk patterns from pharmacovigilance datasets. Teams reach for tooluniverse-pharmacovigilance when building health-tech agents or data pipelines that need structured access to drug safety evidence rather than manual literature searches. The skill connects agent workflows to ToolUniverse pharmacovigilance tooling for safety triage and risk summarization.
- Adverse event and safety signal exploration
- Post-market and trial safety surveillance support
- ToolUniverse pharmacovigilance data access
- Agent-assisted safety summarization
- Ongoing risk pattern triage
Tooluniverse Pharmacovigilance by the numbers
- 372 all-time installs (skills.sh)
- +8 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #526 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-pharmacovigilanceAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 372 |
|---|---|
| repo stars | ★ 1.6k |
| Last updated | August 4, 2026 |
| Repository | mims-harvard/tooluniverse ↗ |
How do you monitor pharmacovigilance adverse event data?
Monitor adverse events, drug safety signals, and pharmacovigilance datasets through ToolUniverse when triaging safety concerns or summarizing post-market risk patterns.
Who is it for?
Health-tech and bioinformatics developers building agents that triage drug safety data through ToolUniverse pharmacovigilance tools.
Skip if: General web app development, non-pharma software projects, or teams without ToolUniverse access or pharmacovigilance data needs.
When should I use this skill?
The user asks to monitor adverse events, triage drug safety signals, or summarize pharmacovigilance datasets via ToolUniverse.
What you get
Adverse event summaries, drug safety signal reports, and pharmacovigilance dataset query results.
- adverse event summary
- safety signal report
- dataset query results
Files
COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
Pharmacovigilance Safety Analyzer
Systematic drug safety analysis using FAERS adverse event data, FDA labeling, PharmGKB pharmacogenomics, and clinical trial safety signals.
KEY PRINCIPLES: 1. Report-first approach - Create report file FIRST, update progressively 2. Signal quantification - Use disproportionality measures (PRR, ROR) 3. Severity stratification - Prioritize serious/fatal events 4. Multi-source triangulation - FAERS, labels, trials, literature 5. Pharmacogenomic context - Include genetic risk factors 6. Actionable output - Risk-benefit summary with recommendations 7. English-first queries - Always use English drug names in tool calls
---
When to Use
Apply when user asks:
- "What are the safety concerns for [drug]?"
- "What adverse events are associated with [drug]?"
- "Is [drug] safe? What are the risks?"
- "Compare safety profiles of [drug A] vs [drug B]"
- "Pharmacovigilance analysis for [drug]"
---
Clinical Reasoning Framework
Reasoning Strategy 1: On-Target vs Off-Target Thinking
Ask: is this adverse effect a predictable extension of the drug's mechanism (on-target), or something the mechanism doesn't explain (off-target)? On-target effects are dose-dependent and predictable. Off-target effects are often idiosyncratic and harder to predict.
How to apply this: 1. Look up the drug's primary mechanism of action (use ChEMBL or DailyMed label) 2. For each reported adverse event, ask: "Does this follow logically from what the drug does to its target?" If yes, it is on-target toxicity — expect dose-dependence and manage with dose reduction 3. If the adverse event cannot be explained by the primary mechanism, consider off-target receptor binding or reactive metabolite formation. These require different management (drug discontinuation, not dose adjustment) 4. Use KEGG pathway data to identify metabolic routes that could produce toxic intermediates
---
Reasoning Strategy 2: Timeline as Diagnostic Tool
When did the adverse event start relative to drug initiation? The timeline alone narrows the mechanism:
- Hours = anaphylaxis, immediate hypersensitivity, or direct pharmacological overshoot
- Days = serum sickness, cytotoxic reactions, cumulative pharmacological effects
- 1-6 weeks = delayed hypersensitivity (SJS/TEN, DRESS), organ accumulation
- Months = chronic toxicity, cumulative organ damage
- Years = long-term cumulative effects
How to apply this: When reviewing FAERS case reports, always check the time_to_onset field. If the reported timeline is biologically implausible for the proposed mechanism, suspect confounding or misattribution. A reaction appearing years after drug start is unlikely to be immune-mediated but could be chronic accumulation.
---
Reasoning Strategy 3: Dose-Dependent vs Idiosyncratic Classification
This distinction determines monitoring strategy and management:
- Dose-dependent (Type A): Predictable from pharmacology. Dose-response relationship exists. Can be managed by dose reduction. These are on-target toxicities pushed too far.
- Idiosyncratic (Type B): Not predictable from pharmacology alone. No clear dose-response. Often immune-mediated or due to metabolic idiosyncrasy (e.g., genetic variation in drug metabolism). Drug must be stopped — dose reduction will not help.
- Mixed: Some reactions are dose-dependent in most patients but become idiosyncratic in genetically susceptible individuals. When you see a "Type A" reaction occurring at unexpectedly low doses, suspect a pharmacogenomic contributor.
How to apply this: When evaluating a safety signal, classify it as Type A or B. This determines whether you recommend dose adjustment (Type A) or drug avoidance with potential pharmacogenomic screening (Type B).
---
Reasoning Strategy 4: The Naranjo Algorithm for Causality Classification
When investigating a suspected drug adverse event, the Naranjo algorithm asks: (1) Did the event appear after the drug was given? (2) Did it improve when the drug was stopped? (3) Did it reappear when restarted? (4) Could other causes explain it? Score each question to classify causality.
Reasoning Strategy 5: The Rechallenge Question
Did the event recur when the drug was restarted? Positive rechallenge is the strongest evidence for causation in an individual case. But rechallenge is often unethical for serious reactions, so absence of rechallenge data doesn't exonerate the drug.
How to apply this: When reviewing case narratives or FAERS reports, check for dechallenge (did the event resolve when the drug was stopped?) and rechallenge (did it recur on re-exposure?). A positive dechallenge + positive rechallenge is near-definitive. Negative dechallenge weakens the causal link considerably.
---
Reasoning Strategy 5: Disproportionality Reasoning
A signal in FAERS means the drug-event pair is REPORTED more than expected. It does not mean the drug CAUSES the event. Think about reporting biases:
- Serious events get reported more than mild ones
- New drugs get reported more than old ones (Weber effect)
- Drugs prescribed to sick populations get events attributed to them that may reflect the underlying disease
- Media attention or regulatory alerts create reporting spikes
How to apply this: Always ask — what is the base rate of this event in the untreated population? A high PRR for "cardiac arrest" in a drug used by ICU patients may reflect the patient population, not the drug. Cross-reference with clinical trial placebo-arm rates when available.
---
Reasoning Strategy 6: When to Use Tools vs Reason
Use FAERS/OpenFDA tools to QUANTIFY a signal you have already hypothesized based on mechanism. Do not mine FAERS without a hypothesis — you will find spurious associations.
The correct sequence: 1. Reason about mechanism first (what adverse events are plausible given this drug's pharmacology?) 2. Form specific hypotheses (e.g., "this drug may cause QT prolongation because it blocks hERG channels") 3. Query tools to test each hypothesis (FAERS for reporting frequency, DailyMed for label warnings, PharmGKB for genetic risk factors) 4. Interpret results in context (is the signal consistent with the mechanism? Is the timeline plausible? Are there confounders?)
---
Reasoning Strategy 7: Pharmacogenomic Risk Assessment
Rather than memorizing gene-drug pairs, apply this reasoning framework:
1. Identify the drug's metabolic pathway (use KEGG or DailyMed label): Which CYP enzymes metabolize it? Is it a prodrug requiring activation? 2. Assess the consequence of altered metabolism: For active drugs, poor metabolizers accumulate the drug (toxicity risk). For prodrugs, poor metabolizers fail to activate (efficacy failure). Ultra-rapid metabolizers show the opposite pattern. 3. Check for immune-mediated risk: If the drug is associated with severe cutaneous reactions (SJS/TEN, DRESS) or hypersensitivity syndrome, query PharmGKB for HLA associations. These are population-specific. 4. Use PharmGKB evidence levels to guide action: Level 1A/1B (guideline-based) = actionable now. Level 2A/2B = may inform. Level 3 = not clinically actionable yet.
Query PharmGKB_search_drugs(query=...) and CPIC_list_guidelines to get current pharmacogenomic annotations rather than relying on memorized associations, which may be outdated.
---
Critical Workflow Requirements
Report-First Approach (MANDATORY)
1. Create [DRUG]_safety_report.md FIRST with all section headers and [Researching...] placeholders 2. Apply mechanistic reasoning first (on-target toxicity, time-to-onset, dose vs. idiosyncratic, PGx) 3. Progressively update as data is gathered 4. Output separate data files: [DRUG]_adverse_events.csv and [DRUG]_pharmacogenomics.csv
Citation Requirements (MANDATORY)
Every safety signal MUST include source tool, data period, PRR, case counts, and serious/fatal breakdown.
---
Tool Parameter Reference (CRITICAL)
| Tool | WRONG Parameter | CORRECT Parameter |
|---|---|---|
FAERS_count_reactions_by_drug_event | drug | drug_name |
FAERS_filter_serious_events | American spelling (e.g., "Hemorrhage") | MedDRA British spelling (e.g., "Haemorrhage") |
FAERS_stratify_by_demographics | Requiring adverse_event | adverse_event is optional (omit for all-event stratification) |
DailyMed_search_spls | name | drug_name |
PharmGKB_search_drugs | drug | query |
OpenFDA_search_drug_events | drug_name | search |
---
Workflow Overview
Phase 0: Mechanistic Reasoning (BEFORE tools)
On-target toxicity, time-to-onset, dose vs idiosyncratic, PGx risk
Phase 1: Drug Disambiguation
-> Resolve drug name, get identifiers (ChEMBL, DrugBank)
Phase 2: Adverse Event Profiling (FAERS)
-> Query FAERS, calculate PRR, stratify by seriousness
Phase 3: Label Warning Extraction
-> DailyMed boxed warnings, contraindications, precautions
Phase 4: Pharmacogenomic Risk
-> PharmGKB clinical annotations, high-risk genotypes
Phase 5: Clinical Trial Safety
-> ClinicalTrials.gov Phase 3/4 safety data
Phase 5.5: Pathway & Mechanism Context
-> KEGG drug metabolism, target pathway analysis
Phase 5.6: Literature Intelligence
-> PubMed, BioRxiv/MedRxiv, OpenAlex citation analysis
Phase 6: Signal Prioritization
-> Rank by PRR x severity x frequency
Phase 7: Report Synthesis---
Phase 0: Mechanistic Reasoning (DO THIS BEFORE TOOLS)
1. Identify drug class and primary mechanism (use DailyMed label or ChEMBL) 2. Apply on-target vs off-target thinking (Strategy 1) to predict plausible adverse events 3. Estimate expected time-to-onset for each predicted event (Strategy 2) 4. Classify each as dose-dependent vs idiosyncratic (Strategy 3) 5. Formulate specific, testable safety hypotheses to guide tool queries (Strategy 6)
Phase 1: Drug Disambiguation
1. Search DailyMed via DailyMed_search_spls(drug_name=...) for NDC, SPL setid, generic name 2. Search ChEMBL via ChEMBL_search_drugs(query=...) for molecule ID, max phase 3. Document: generic name, brand names, drug class, mechanism, approval date
Phase 2: Adverse Event Profiling (FAERS)
1. Query FAERS_count_reactions_by_drug_event(drug_name=..., limit=50) for top events 2. For each event, get detailed breakdown (serious, fatal, hospitalization counts) 3. Calculate PRR: (A/B) / (C/D) where A=drug+event, B=drug+any, C=event+any_other, D=total_other 4. Apply signal thresholds: PRR > 2.0 (signal), > 3.0 (strong signal), case count >= 3
Severity classification:
- Fatal (highest priority), Life-threatening, Hospitalization, Disability, Other serious, Non-serious
FAERS filter_serious_events -- MedDRA Spelling (CRITICAL)
FAERS_filter_serious_events uses MedDRA preferred terms which follow British English spelling conventions. Common examples:
| Incorrect (American) | Correct (MedDRA/British) |
|---|---|
| HEMORRHAGE | Haemorrhage |
| ANEMIA | Anaemia |
| EDEMA | Oedema |
| DIARRHEA | Diarrhoea |
| LEUKOPENIA | Leucopenia |
| ESOPHAGITIS | Oesophagitis |
The adverse_event parameter should use the exact MedDRA preferred term spelling. When in doubt, first query FAERS_count_reactions_by_drug_event to see the exact event names as they appear in the FAERS database, then use those exact strings.
Additional FAERS notes:
adverse_eventis now correctly appended to the OpenFDA query in_filter_serious_eventsFAERS_stratify_by_demographics:adverse_eventis optional — when omitted, stratification covers all events for the drug. Sex codes: 0=Unknown, 1=Male, 2=Female
See SIGNAL_DETECTION.md for detailed disproportionality formulas and example output tables.
Phase 3: Label Warning Extraction
1. Get label via DailyMed_get_spl_by_setid(setid=...) 2. Extract: boxed warnings, contraindications, warnings/precautions, drug interactions 3. Categorize severity: Boxed Warning > Contraindication > Warning > Precaution
Phase 4: Pharmacogenomic Risk
1. Search PharmGKB_search_drugs(query=...) for clinical annotations 2. Document actionable variants with evidence levels (1A/1B/2A/2B/3) 3. Note CPIC/DPWG guideline status
PGx Evidence Levels:
| Level | Description | Action |
|---|---|---|
| 1A | CPIC/DPWG guideline, implementable | Follow guideline |
| 1B | CPIC/DPWG guideline, annotation | Consider testing |
| 2A | VIP annotation, moderate evidence | May inform |
| 2B | VIP annotation, weaker evidence | Research |
| 3 | Low-level annotation | Not actionable |
Phase 5: Clinical Trial Safety
1. Search search_clinical_trials(intervention=..., phase="Phase 3", status="Completed") 2. Extract serious AE rates, discontinuation rates, deaths 3. Compare drug vs placebo rates
Phase 5.5: Pathway & Mechanism Context
1. Query KEGG for drug metabolism pathways 2. Analyze target pathways for mechanistic basis of AEs 3. Document pathway-AE relationships
Phase 5.6: Literature Intelligence
1. PubMed: PubMed_search_articles(query='"[drug]" AND (safety OR adverse OR toxicity)') 2. BioRxiv/MedRxiv: Search for recent preprints (flag as not peer-reviewed) 3. OpenAlex: Citation analysis for key safety papers
Phase 6: Signal Prioritization
Signal Score = PRR x Severity_Weight x log10(Case_Count + 1)
Severity weights: Fatal=10, Life-threatening=8, Hospitalization=5, Disability=5, Other serious=3, Non-serious=1
Categorize signals:
- Critical (immediate attention): High PRR + fatal outcomes
- Moderate (monitor): Moderate PRR + serious outcomes
- Known/Expected (manage clinically): Low PRR, in label
Cross-check against mechanistic prediction: A signal not predicted mechanistically warrants additional scrutiny (possible confounding, reporting bias, or genuinely novel finding).
---
Output Report
Save as [DRUG]_safety_report.md. See REPORT_TEMPLATES.md for the full report structure and example outputs.
---
Evidence Grading
| Tier | Criteria | Example |
|---|---|---|
| T1 | PRR >10, fatal outcomes, boxed warning | Lactic acidosis |
| T2 | PRR 3-10, serious outcomes | Hepatotoxicity |
| T3 | PRR 2-3, moderate concern | Hypoglycemia |
| T4 | PRR <2, known/expected | GI side effects |
---
Fallback Chains
| Primary Tool | Fallback 1 | Fallback 2 |
|---|---|---|
FAERS_count_reactions_by_drug_event | OpenFDA_search_drug_events | Literature search |
DailyMed_search_spls | OpenFDA_search_drug_labels | DailyMed website |
PharmGKB_search_drugs | CPIC_list_guidelines | Literature search |
search_clinical_trials | ClinicalTrials.gov API | PubMed for trial results |
---
Completeness Checklist
See CHECKLIST.md for the full phase-by-phase verification checklist.
---
References
- FAERS: https://www.fda.gov/drugs/questions-and-answers-fdas-adverse-event-reporting-system-faers
- DailyMed: https://dailymed.nlm.nih.gov
- PharmGKB: https://www.pharmgkb.org
- ClinicalTrials.gov: https://clinicaltrials.gov
- OpenFDA: https://open.fda.gov
- KEGG Drug: https://www.genome.jp/kegg/drug
- Tool documentation: TOOLS_REFERENCE.md
Pharmacovigilance Safety Analyzer Checklist
Pre-delivery verification checklist for drug safety reports.
Report Quality Checklist
Structure & Format
- [ ] Report file created:
[DRUG]_safety_report.md - [ ] All 10 main sections present
- [ ] Executive summary completed (not
[Researching...]) - [ ] Data sources section populated
Phase 1: Drug Identification
- [ ] Generic name documented
- [ ] Brand names listed
- [ ] Drug class identified
- [ ] ChEMBL ID or DrugBank ID obtained
- [ ] Mechanism of action stated
- [ ] Approval date noted
Phase 2: FAERS Adverse Event Analysis
- [ ] FAERS data period stated (e.g., "Q1 2020 - Q4 2025")
- [ ] Total report count for drug provided
- [ ] ≥20 adverse events queried
- [ ] PRR calculated with 95% CI for top events
- [ ] Serious case counts included
- [ ] Fatal case counts included
- [ ] Signal thresholds applied (PRR >2, N ≥3)
- [ ] Top events ranked by frequency/signal strength
Phase 3: FDA Label Warnings
- [ ] DailyMed SPL retrieved (or "Not available")
- [ ] Boxed warning extracted (or "None")
- [ ] Contraindications listed with rationale
- [ ] Key warnings and precautions summarized
- [ ] Drug interactions noted
- [ ] Source citation included
Phase 4: Pharmacogenomics
- [ ] PharmGKB queried for drug
- [ ] Actionable variants listed (or "No actionable variants")
- [ ] Evidence levels assigned (1A, 1B, 2A, 2B, 3)
- [ ] Genes and variants specified
- [ ] Clinical recommendations stated
- [ ] CPIC/DPWG guideline status noted
Phase 5: Clinical Trial Safety
- [ ] Phase 3/4 trials searched
- [ ] At least 3 trials summarized (or all available)
- [ ] Sample sizes provided
- [ ] Duration of studies noted
- [ ] Serious AE rates (drug vs placebo)
- [ ] Discontinuation rates compared
- [ ] Common AEs from trials listed
Phase 6: Signal Prioritization
- [ ] Signals scored using formula (PRR × severity × frequency)
- [ ] Critical signals flagged (⚠️⚠️⚠️)
- [ ] Moderate signals identified
- [ ] Known/expected effects categorized
- [ ] Action recommendations for each signal
Phase 7: Risk-Benefit Assessment
- [ ] Overall risk level stated
- [ ] Benefits summarized
- [ ] Risk factors identified
- [ ] Comparison to alternatives (if requested)
Phase 8: Clinical Recommendations
- [ ] ≥3 monitoring recommendations
- [ ] Patient counseling points listed
- [ ] Contraindication checklist provided
- [ ] Pre-treatment assessment items
---
Citation Requirements
Every Section Must Include
- [ ] Source database name
- [ ] Tool used (in backticks)
- [ ] Data retrieval period (for FAERS)
- [ ] Specific identifiers where applicable
Format Examples
*Source: FAERS via `FAERS_count_reactions_by_drug_event` (Q1 2020 - Q4 2025)*
*Source: DailyMed via `DailyMed_search_spls` (setid: abc123)*
*Source: PharmGKB via `PharmGKB_search_drugs` (PA450360)*
*Source: ClinicalTrials.gov via `search_clinical_trials`*---
Signal Grading
All Signals Must Have
- [ ] PRR value with 95% CI
- [ ] Case count (N)
- [ ] Serious/fatal breakdown
- [ ] Evidence tier assigned (T1-T4)
Tier Definitions
| Tier | Symbol | Criteria |
|---|---|---|
| T1 | ⚠️⚠️⚠️ | PRR >10, fatal outcomes, or boxed warning |
| T2 | ⚠️⚠️ | PRR 3-10, serious outcomes |
| T3 | ⚠️ | PRR 2-3, moderate concern |
| T4 | ℹ️ | PRR <2, known/expected |
---
Quantified Minimums
| Section | Minimum Requirement |
|---|---|
| Adverse events | Top 20 events with PRR |
| Serious AEs | All with fatal outcomes listed |
| Contraindications | All from label extracted |
| PGx variants | All level 1-2 variants |
| Clinical trials | ≥3 phase 3/4 trials |
| Monitoring recs | ≥3 specific recommendations |
---
Safety Signal Metrics
Required Calculations
- [ ] PRR (Proportional Reporting Ratio)
- [ ] 95% Confidence Interval for PRR
- [ ] Case count (total reports)
- [ ] Serious case percentage
- [ ] Fatal case count
Signal Detection Criteria
| Criterion | Threshold | Status |
|---|---|---|
| PRR | >2.0 | Signal |
| Chi-squared | >4.0 | Signal |
| N (cases) | ≥3 | Reportable |
| Lower 95% CI | >1.0 | Significant |
---
Output Files
Required
- [ ]
[DRUG]_safety_report.md- Main report
Optional (recommended)
- [ ]
[DRUG]_adverse_events.csv- All AEs with metrics - [ ]
[DRUG]_pharmacogenomics.csv- PGx variants
CSV Column Requirements
adverse_events.csv:
Adverse_Event,Report_Count,PRR,CI_Lower,CI_Upper,Serious_Count,Fatal_Count,Signal_Tierpharmacogenomics.csv:
Gene,Variant,rs_ID,Phenotype,Evidence_Level,Recommendation---
Final Review
Before Delivery
- [ ] No
[Researching...]placeholders remaining - [ ] All tables properly formatted
- [ ] No empty sections (use "Not available" if needed)
- [ ] Executive summary synthesizes key findings
- [ ] Recommendations are specific and actionable
- [ ] Risk-benefit conclusion stated
Common Issues to Avoid
- [ ] PRR without confidence intervals
- [ ] Signals without case counts
- [ ] Missing serious/fatal breakdown
- [ ] PGx without evidence levels
- [ ] Recommendations without rationale
- [ ] Missing data period for FAERS
---
Comparative Analysis (if requested)
Drug Comparison Checklist
- [ ] Both drugs identified with same granularity
- [ ] Same FAERS time period used
- [ ] Head-to-head AE comparison table
- [ ] PRR comparison for shared AEs
- [ ] Class effect vs drug-specific noted
- [ ] Clear recommendation stated
---
Urgent Findings Protocol
If any of these found, flag prominently in executive summary:
- [ ] Boxed warning not widely known
- [ ] Recent safety signal (new in last year)
- [ ] High fatality rate (>5% for serious AEs)
- [ ] Drug-drug interaction causing deaths
- [ ] Newly identified pharmacogenomic risk
- [ ] Recent FDA safety communication
Flagging Format
⚠️ **URGENT SAFETY ALERT** ⚠️
[Description of finding requiring immediate attention]
*First identified: [Date] | Source: [Database/Alert]*Pharmacovigilance Safety Analyzer - Examples
Example 1: Single Drug Safety Profile
User Query
"What are the safety concerns for metformin? I'm considering it for a patient with mild renal impairment."
Expected Output
# Pharmacovigilance Safety Report: Metformin
**Generated**: 2026-02-04 | **Query**: Metformin safety with renal impairment
---
## Executive Summary
Metformin is generally well-tolerated but carries a **boxed warning for lactic acidosis** (⚠️⚠️⚠️), which is rare but potentially fatal. The risk increases significantly with renal impairment. For patients with mild renal impairment (eGFR 45-60), metformin can be used with dose adjustment and monitoring. **Contraindicated at eGFR <30**.
**Key Safety Signals**:
1. **Lactic acidosis** (PRR 15.2) - Boxed warning, 156 fatalities in FAERS
2. **Vitamin B12 deficiency** (PRR 8.4) - Annual monitoring recommended
3. **GI intolerance** (PRR 2.3) - Common, usually manageable
**Recommendation for this patient**: May use metformin if eGFR ≥45. Check baseline renal function, start low dose, monitor eGFR and B12 annually.
---
## 1. Drug Identification
| Property | Value |
|----------|-------|
| **Generic Name** | Metformin hydrochloride |
| **Brand Names** | Glucophage, Glucophage XR, Fortamet, Glumetza |
| **Drug Class** | Biguanide antidiabetic |
| **ChEMBL ID** | CHEMBL1431 |
| **Mechanism** | AMPK activation, decreased hepatic gluconeogenesis |
| **First Approved** | 1994 (US), 1957 (Europe) |
| **Indications** | Type 2 diabetes mellitus |
*Source: DailyMed via `DailyMed_search_spls`, ChEMBL*
---
## 2. Adverse Event Profile (FAERS)
**Data Period**: Q1 2020 - Q4 2025
**Total Reports**: 128,456
### 2.1 Top Adverse Events by Frequency
| Rank | Adverse Event | Reports | PRR | 95% CI | Serious (%) | Fatal |
|------|---------------|---------|-----|--------|-------------|-------|
| 1 | Diarrhea | 23,412 | 2.3 | 2.2-2.4 | 8% | 12 |
| 2 | Nausea | 18,234 | 1.8 | 1.7-1.9 | 5% | 2 |
| 3 | Abdominal pain | 12,456 | 1.5 | 1.4-1.6 | 12% | 4 |
| 4 | Vomiting | 8,923 | 1.6 | 1.5-1.7 | 9% | 3 |
| 5 | Decreased appetite | 6,234 | 2.1 | 2.0-2.3 | 4% | 1 |
| 6 | Lactic acidosis | 3,892 | 15.2 | 14.2-16.3 | 89% | 156 ⚠️ |
| 7 | Acute kidney injury | 2,341 | 4.2 | 3.8-4.6 | 78% | 34 |
| 8 | Vitamin B12 deficiency | 1,892 | 8.4 | 7.8-9.1 | 12% | 0 |
| 9 | Hypoglycemia | 1,567 | 1.2 | 1.1-1.3 | 23% | 3 |
| 10 | Metallic taste | 1,234 | 3.2 | 2.9-3.6 | 2% | 0 |
### 2.2 Serious Adverse Events Analysis
| Adverse Event | Serious Reports | Fatal | PRR | Signal Tier |
|---------------|-----------------|-------|-----|-------------|
| **Lactic acidosis** | 3,464 | 156 | 15.2 | ⚠️⚠️⚠️ T1 |
| Acute kidney injury | 1,826 | 34 | 4.2 | ⚠️⚠️ T2 |
| Hepatotoxicity | 456 | 8 | 2.8 | ⚠️ T3 |
| Pancreatitis | 234 | 4 | 2.1 | ⚠️ T3 |
### 2.3 Lactic Acidosis Deep Dive ⚠️⚠️⚠️
| Characteristic | Finding |
|----------------|---------|
| Total cases | 3,892 |
| Serious | 3,464 (89%) |
| Fatal | 156 (4.0% case fatality) |
| Median age | 68 years |
| Common comorbidities | Renal impairment (67%), CHF (34%), sepsis (23%) |
| Concurrent meds | Contrast agents (12%), NSAIDs (28%) |
**Risk Factors Identified in Reports**:
1. Renal impairment (eGFR <45) - 67% of cases
2. Acute illness/dehydration - 45% of cases
3. Heart failure - 34% of cases
4. Age >65 - 72% of cases
5. Contrast media exposure - 12% of cases
*Source: FAERS via `FAERS_count_reactions_by_drug_event` (Q1 2020 - Q4 2025)*
---
## 3. FDA Label Safety Information
### 3.1 Boxed Warning ⬛
> **LACTIC ACIDOSIS**
>
> Postmarketing cases of metformin-associated lactic acidosis have resulted in death, hypothermia, hypotension, and resistant bradyarrhythmias. The onset is often subtle, accompanied only by nonspecific symptoms such as malaise, myalgias, respiratory distress, somnolence, and abdominal pain.
>
> Metformin-associated lactic acidosis was characterized by elevated blood lactate levels (>5 mmol/L), anion gap acidosis, an increased lactate/pyruvate ratio, and metformin plasma levels generally >5 mcg/mL.
>
> Risk factors include renal impairment, concomitant use of certain drugs, age ≥65, radiological studies with contrast, surgery, hypoxic states, excessive alcohol intake, and hepatic impairment.
### 3.2 Contraindications 🔴
| Contraindication | Rationale | Action |
|------------------|-----------|--------|
| **eGFR <30 mL/min/1.73m²** | High lactic acidosis risk | Do not initiate |
| Acute/chronic metabolic acidosis | May worsen | Discontinue |
| Hypersensitivity to metformin | Allergic reaction | Contraindicated |
### 3.3 Renal Dosing Guidelines
| eGFR (mL/min/1.73m²) | Recommendation |
|----------------------|----------------|
| ≥60 | No dose adjustment |
| 45-60 | May continue, monitor renal function |
| 30-45 | Reduce dose to 50%, monitor closely |
| <30 | **Contraindicated** |
### 3.4 Key Warnings and Precautions 🟠
| Warning | Clinical Action |
|---------|-----------------|
| Vitamin B12 deficiency | Monitor annually; supplement if deficient |
| Radiologic contrast | Hold 48h before and after |
| Surgery/procedures | Hold day of surgery |
| Hypoglycemia with insulin | May need insulin dose reduction |
| Excessive alcohol | Avoid; potentiates lactic acidosis |
*Source: DailyMed via `DailyMed_search_spls`*
---
## 4. Pharmacogenomic Risk Factors
### 4.1 Clinically Relevant Variants
| Gene | Variant | rs ID | Effect | Evidence | Recommendation |
|------|---------|-------|--------|----------|----------------|
| SLC22A1 (OCT1) | *2, *3, *4, *5 | Multiple | Reduced uptake | 2A | May have reduced response |
| SLC22A1 | rs628031 | A>G | Reduced function | 2A | Consider higher dose |
| ATM | rs11212617 | C>A | Enhanced response | 3 | Standard dosing |
| SLC47A1 (MATE1) | rs2289669 | G>A | Reduced clearance | 3 | Monitor for toxicity |
### 4.2 Clinical Implications
**OCT1 (SLC22A1) Poor Transporters**:
- Prevalence: ~9% of Caucasians, ~2% of Asians
- Effect: Reduced hepatic metformin uptake
- Clinical: May have decreased glucose-lowering efficacy
- Action: Consider higher doses or alternative if poor response
**Note**: No CPIC or DPWG guidelines for metformin PGx testing at this time.
*Source: PharmGKB via `PharmGKB_search_drugs`*
---
## 5. Clinical Trial Safety Data
### 5.1 Landmark Trial Summary
| Trial | N | Duration | Serious AE (Met) | Serious AE (Control) | Deaths |
|-------|---|----------|------------------|---------------------|--------|
| UKPDS | 1,704 | 10.7 yr | 12.3% | 14.1% (Conventional) | 8.2% vs 9.1% |
| DPP | 1,073 | 2.8 yr | 4.2% | 3.8% (Placebo) | 0.1% vs 0.1% |
### 5.2 Common Adverse Events in Trials
| Adverse Event | Metformin (%) | Placebo (%) | NNH |
|---------------|---------------|-------------|-----|
| Diarrhea | 53% | 12% | 2.4 |
| Nausea/vomiting | 26% | 8% | 5.6 |
| Flatulence | 12% | 6% | 17 |
| Asthenia | 9% | 6% | 33 |
| Dyspepsia | 7% | 4% | 33 |
### 5.3 Lactic Acidosis in Trials
In controlled trials, **zero cases** of lactic acidosis were observed with metformin. The boxed warning is based on postmarketing data, particularly from older biguanides (phenformin) and patients with contraindications.
*Source: Published trial results, DailyMed label*
---
## 6. Prioritized Safety Signals
### 6.1 Critical Signals (⚠️⚠️⚠️) - Immediate Attention
| Signal | PRR | Fatal | Action Required |
|--------|-----|-------|-----------------|
| Lactic acidosis | 15.2 | 156 | Boxed warning; check renal function |
### 6.2 Moderate Signals (⚠️⚠️) - Monitor
| Signal | PRR | Serious | Monitoring |
|--------|-----|---------|------------|
| Acute kidney injury | 4.2 | 1,826 | Monitor eGFR, especially if dehydrated |
| Vitamin B12 deficiency | 8.4 | 227 | Annual B12 levels |
### 6.3 Known/Expected (ℹ️) - Manage Clinically
| Signal | PRR | Management Strategy |
|--------|-----|---------------------|
| Diarrhea | 2.3 | Start low (500mg), titrate slowly, take with food |
| Nausea | 1.8 | Temporary; improves with time |
| Metallic taste | 3.2 | Usually transient |
---
## 7. Risk-Benefit Assessment
### For This Patient (Mild Renal Impairment)
| Factor | Assessment |
|--------|------------|
| **Benefits** | HbA1c reduction 1-1.5%, weight neutral, CV benefit (UKPDS), low cost |
| **Risks** | Lactic acidosis (elevated but still rare), GI intolerance |
| **eGFR Consideration** | If 45-60: acceptable with monitoring; if <45: reduce dose 50% |
### Risk Level: **MODERATE** (in renal impairment context)
**Recommendation**: Metformin is appropriate if:
- eGFR ≥45 mL/min/1.73m²
- No other contraindications (acidosis, contrast exposure, acute illness)
- Patient educated on symptoms of lactic acidosis
- Regular renal function monitoring
---
## 8. Clinical Recommendations
### 8.1 Pre-Treatment Checklist
- [ ] Check eGFR (must be ≥30, ideally ≥45)
- [ ] Review for contraindications (CHF NYHA III-IV, hepatic disease)
- [ ] Check baseline vitamin B12
- [ ] Review concurrent medications (contrast, nephrotoxins)
- [ ] Assess alcohol intake
### 8.2 Monitoring Recommendations
| Parameter | Frequency | Action Threshold |
|-----------|-----------|------------------|
| eGFR | Every 3-6 months | Reduce dose if <45, stop if <30 |
| Vitamin B12 | Annually | Supplement if <300 pg/mL |
| LFTs | Baseline | Discontinue if hepatic disease |
| Lactate | If symptomatic | >5 mmol/L: stop metformin |
### 8.3 Patient Counseling Points
1. **Take with food** to reduce GI side effects
2. **Stay hydrated** - dehydration increases lactic acidosis risk
3. **Hold before procedures** with contrast or surgery
4. **Seek care immediately** for unexplained muscle pain, weakness, difficulty breathing, stomach pain
5. **Limit alcohol** - increases lactic acidosis risk
6. **Report illness** - may need temporary discontinuation during acute illness
---
## 9. Data Gaps & Limitations
| Gap | Impact | Mitigation |
|-----|--------|------------|
| FAERS underreporting | True AE rates may differ | Use PRR (relative measure) |
| Confounding in FAERS | Comorbidities affect risk | Note risk factors |
| PGx not routine | OCT1 status unknown | Monitor response clinically |
---
## 10. Data Sources
| Tool | Query | Data Retrieved |
|------|-------|----------------|
| FAERS_count_reactions_by_drug_event | metformin | AE counts, PRR |
| DailyMed_search_spls | metformin | Drug identification |
| DailyMed_get_spl_by_setid | [setid] | Label warnings |
| PharmGKB_search_drugs | metformin | PGx variants |
| search_clinical_trials | metformin phase 3 | Trial safety data |---
Example 2: Drug Comparison
User Query
"Compare the safety of DOACs - apixaban vs rivaroxaban vs dabigatran for AFib"
Expected Output (Key Sections)
# Pharmacovigilance Comparison: DOACs for Atrial Fibrillation
**Generated**: 2026-02-04
---
## Executive Summary
All three DOACs have similar overall safety profiles but differ in specific risks:
| Drug | Major Bleeding PRR | GI Bleeding | Reversal Agent |
|------|-------------------|-------------|----------------|
| **Apixaban** | 2.1 (Lowest) | Lower | Andexanet alfa |
| **Rivaroxaban** | 2.8 | Higher ⚠️ | Andexanet alfa |
| **Dabigatran** | 2.4 | Higher ⚠️ | Idarucizumab ✓ |
**Recommendation**: Apixaban may have the most favorable bleeding profile. All require renal function monitoring.
---
## Comparative Adverse Event Analysis
### Bleeding Events (FAERS)
| Event | Apixaban PRR | Rivaroxaban PRR | Dabigatran PRR |
|-------|--------------|-----------------|----------------|
| Major bleeding | 2.1 | 2.8 | 2.4 |
| GI bleeding | 2.3 | 3.8 ⚠️ | 3.5 ⚠️ |
| Intracranial bleeding | 1.8 | 2.1 | 1.9 |
| Epistaxis | 3.2 | 3.8 | 2.9 |
### GI Tolerability
| Event | Apixaban | Rivaroxaban | Dabigatran |
|-------|----------|-------------|------------|
| Dyspepsia | PRR 1.2 | PRR 1.5 | PRR 4.2 ⚠️ |
| Nausea | PRR 1.1 | PRR 1.3 | PRR 2.8 |
**Note**: Dabigatran has higher GI intolerance due to tartaric acid formulation.
---
## Renal Considerations
| Drug | Renal Clearance | CrCl 30-50 | CrCl 15-30 | CrCl <15 |
|------|-----------------|------------|------------|----------|
| Apixaban | 27% | Dose reduce | Dose reduce | Avoid |
| Rivaroxaban | 36% | Dose reduce | Avoid | Avoid |
| Dabigatran | 80% | Dose reduce | Avoid | Avoid |
**For renal impairment**: Apixaban has least renal dependence.
---
## Summary Recommendation
| Patient Profile | Preferred DOAC | Rationale |
|-----------------|----------------|-----------|
| General AFib | Apixaban | Lowest bleeding signal |
| High GI bleeding risk | Apixaban | Lower GI bleeding PRR |
| High reversal need | Dabigatran | Idarucizumab available |
| Renal impairment | Apixaban | Least renal clearance |
| GI intolerance | Apixaban/Rivaroxaban | Dabigatran has dyspepsia |---
Example 3: Emerging Safety Signal
User Query
"I heard there might be new safety concerns with semaglutide. What does the data show?"
Expected Output (Key Sections)
# Pharmacovigilance Safety Report: Semaglutide
**Generated**: 2026-02-04
---
## Executive Summary
Semaglutide (Ozempic, Wegovy, Rybelsus) has seen a **500% increase in FAERS reports** since 2021 due to expanded use. Most signals are **known class effects** (GI, pancreatitis). Recent signals under evaluation:
| Signal | PRR | Status | Evidence |
|--------|-----|--------|----------|
| Thyroid C-cell tumors | 3.8 | Boxed warning | Animal data; human uncertain |
| Pancreatitis | 5.2 | Known risk | Monitor for symptoms |
| **Gastroparesis** | 4.1 | **Emerging** ⚠️ | Increasing reports |
| **Ileus** | 3.2 | **Emerging** ⚠️ | FDA reviewing |
| Suicidal ideation | 1.4 | Under review | EMA/FDA investigating |
**Note**: Disproportionate media attention may be driving reporting bias for some AEs.
---
## Recent FDA Safety Communications
| Date | Communication | Topic |
|------|---------------|-------|
| 2023-09 | Drug Safety Communication | Suicidal ideation - under review |
| 2024-01 | Label Update | Ileus added to warnings |
| 2024-06 | Safety Review | Gastroparesis ongoing evaluation |
---
## Emerging Signal: Gastroparesis
| Metric | Finding |
|--------|---------|
| FAERS reports | 2,341 (2023-2025) |
| PRR | 4.1 (95% CI: 3.8-4.5) |
| Serious cases | 1,892 (81%) |
| Required hospitalization | 1,234 (53%) |
| Trend | Increasing since 2022 |
**Mechanism**: GLP-1 agonists delay gastric emptying. At high doses (Wegovy), this may cause severe gastroparesis in susceptible individuals.
**Risk factors identified**:
- Pre-existing gastroparesis
- Diabetic autonomic neuropathy
- Concurrent opioid use
---
## Signal vs Noise Assessment
| Signal | Likely Real? | Rationale |
|--------|--------------|-----------|
| GI effects | ✓ Yes | Mechanism-based, dose-dependent |
| Pancreatitis | ✓ Yes | Class effect, monitor |
| Gastroparesis | ✓ Probable | Increasing, mechanism plausible |
| Suicidal ideation | ? Uncertain | No clear mechanism, confounders |
| Thyroid cancer | ? Uncertain | Animal data only, long latency |
---
## Clinical Recommendations
### For New Prescribers
1. **Screen for GI conditions** before starting
2. **Start low, go slow** - titrate per label
3. **Counsel on GI symptoms** - most are transient
4. **Monitor for pancreatitis symptoms**
5. **Report AEs to FDA MedWatch**
### For Current Users
1. **Continue if tolerating well**
2. **Report persistent vomiting** (possible gastroparesis)
3. **No action on suicidal ideation** pending more data
4. **Thyroid monitoring not routine** (unless symptoms)Report Templates
Templates and examples for pharmacovigilance safety report output.
---
Report File Template
File: [DRUG]_safety_report.md
# Pharmacovigilance Safety Report: [DRUG]
**Generated**: [Date] | **Query**: [Original query] | **Status**: In Progress
---
## Executive Summary
[Researching...]
---
## 1. Drug Identification
### 1.1 Drug Information
[Researching...]
---
## 2. Adverse Event Profile (FAERS)
### 2.1 Top Adverse Events
[Researching...]
### 2.2 Serious Adverse Events
[Researching...]
### 2.3 Signal Analysis
[Researching...]
---
## 3. FDA Label Safety Information
### 3.1 Boxed Warnings
[Researching...]
### 3.2 Contraindications
[Researching...]
### 3.3 Warnings and Precautions
[Researching...]
---
## 4. Pharmacogenomic Risk Factors
### 4.1 Actionable Variants
[Researching...]
### 4.2 Testing Recommendations
[Researching...]
---
## 5. Clinical Trial Safety
### 5.1 Trial Summary
[Researching...]
### 5.2 Adverse Events in Trials
[Researching...]
---
## 6. Prioritized Safety Signals
### 6.1 Critical Signals
[Researching...]
### 6.2 Moderate Signals
[Researching...]
---
## 7. Risk-Benefit Assessment
[Researching...]
---
## 8. Clinical Recommendations
### 8.1 Monitoring Recommendations
[Researching...]
### 8.2 Patient Counseling Points
[Researching...]
### 8.3 Contraindication Checklist
[Researching...]
---
## 9. Data Gaps & Limitations
[Researching...]
---
## 10. Data Sources
[Will be populated as research progresses...]---
Citation Format
Every safety signal MUST include source:
### Signal: Hepatotoxicity
- **PRR**: 3.2 (95% CI: 2.8-3.7)
- **Cases**: 1,247 reports
- **Serious**: 892 (71.5%)
- **Fatal**: 23
*Source: FAERS via `FAERS_count_reactions_by_drug_event` (Q1 2020 - Q4 2025)*---
Phase Output Examples
Drug Identification Output
## 1. Drug Identification
| Property | Value |
|----------|-------|
| **Generic Name** | Metformin |
| **Brand Names** | Glucophage, Fortamet, Glumetza |
| **Drug Class** | Biguanide antidiabetic |
| **ChEMBL ID** | CHEMBL1431 |
| **Mechanism** | AMPK activator, hepatic gluconeogenesis inhibitor |
| **First Approved** | 1994 (US) |
*Source: DailyMed via `DailyMed_search_spls`, ChEMBL*FAERS Output
## 2. Adverse Event Profile (FAERS)
**Data Period**: Q1 2020 - Q4 2025
**Total Reports for Drug**: 45,234
### Top Adverse Events by Frequency
| Rank | Adverse Event | Reports | PRR | 95% CI | Serious (%) | Fatal |
|------|---------------|---------|-----|--------|-------------|-------|
| 1 | Diarrhea | 8,234 | 2.3 | 2.1-2.5 | 12% | 3 |
| 2 | Nausea | 6,892 | 1.8 | 1.6-2.0 | 8% | 0 |
| 3 | Lactic acidosis | 1,247 | 15.2 | 12.8-17.9 | 89% | 156 |
### Serious Adverse Events Only
| Adverse Event | Serious Reports | Fatal | PRR | Signal |
|---------------|-----------------|-------|-----|--------|
| Lactic acidosis | 1,110 | 156 | 15.2 | **STRONG** |
| Acute kidney injury | 678 | 34 | 4.2 | Moderate |
*Source: FAERS via `FAERS_count_reactions_by_drug_event`*Label Warnings Output
## 3. FDA Label Safety Information
### 3.1 Boxed Warning
**LACTIC ACIDOSIS**
> Metformin can cause lactic acidosis, a rare but serious complication.
> Risk increases with renal impairment, sepsis, dehydration, excessive
> alcohol intake, hepatic impairment, and acute heart failure.
> **Contraindicated in patients with eGFR <30 mL/min/1.73m2**
### 3.2 Contraindications
| Contraindication | Rationale |
|------------------|-----------|
| eGFR <30 mL/min/1.73m2 | Lactic acidosis risk |
| Acute/chronic metabolic acidosis | May worsen acidosis |
| Hypersensitivity to metformin | Allergic reaction |
### 3.3 Warnings and Precautions
| Warning | Clinical Action |
|---------|-----------------|
| Vitamin B12 deficiency | Monitor B12 levels annually |
| Hypoglycemia with insulin | Reduce insulin dose |
| Radiologic contrast | Hold 48h around procedure |
*Source: DailyMed via `DailyMed_search_spls`*Pharmacogenomics Output
## 4. Pharmacogenomic Risk Factors
### Clinically Actionable Variants
| Gene | Variant | Phenotype | Recommendation | Level |
|------|---------|-----------|----------------|-------|
| SLC22A1 | rs628031 | Reduced OCT1 | Reduced metformin response | 2A |
| SLC22A1 | rs36056065 | Loss of function | Consider alternative | 2A |
**No CPIC/DPWG guidelines currently exist for metformin**
*Source: PharmGKB via `PharmGKB_search_drugs`*Clinical Trial Safety Output
## 5. Clinical Trial Safety Data
### Phase 3 Trial Summary
| Trial | N | Duration | Serious AEs (Drug) | Serious AEs (Placebo) | Deaths |
|-------|---|----------|-------------------|----------------------|--------|
| UKPDS | 1,704 | 10 yr | 12.3% | 14.1% | 8.2% vs 9.1% |
### Common Adverse Events in Trials
| Adverse Event | Drug (%) | Placebo (%) | Difference |
|---------------|----------|-------------|------------|
| Diarrhea | 53% | 12% | +41% |
| Nausea | 26% | 8% | +18% |
*Source: ClinicalTrials.gov via `search_clinical_trials`*Prioritized Signals Output
## 6. Prioritized Safety Signals
### Critical Signals (Immediate Attention)
| Signal | PRR | Fatal | Score | Action |
|--------|-----|-------|-------|--------|
| Lactic acidosis | 15.2 | 156 | 482 | Boxed warning exists |
### Moderate Signals (Monitor)
| Signal | PRR | Serious | Score | Action |
|--------|-----|---------|-------|--------|
| Hepatotoxicity | 3.1 | 234 | 52 | Check LFTs if symptoms |
### Known/Expected (Manage Clinically)
| Signal | PRR | Frequency | Management |
|--------|-----|-----------|------------|
| Diarrhea | 2.3 | 18% | Start low, titrate slow |Pathway & Mechanism Output
## 5.5 Pathway & Mechanism Context
### Drug Metabolism Pathways (KEGG)
| Pathway | Relevance | Safety Implication |
|---------|-----------|-------------------|
| Drug metabolism - cytochrome P450 | Primary metabolism | CYP2C9 interactions |
| Gluconeogenesis inhibition | MOA | Lactic acidosis mechanism |
### Mechanistic Basis for Key AEs
| Adverse Event | Pathway Mechanism |
|---------------|-------------------|
| Lactic acidosis | Mitochondrial complex I inhibition |
| GI intolerance | Serotonin release in gut |
| B12 deficiency | Intrinsic factor interference |
*Source: KEGG, Reactome*Literature Evidence Output
## 5.6 Literature Evidence
### Key Safety Studies
| PMID | Title | Year | Citations | Finding |
|------|-------|------|-----------|---------|
| 29234567 | Metformin and lactic acidosis: meta-analysis | 2020 | 245 | Risk 4.3/100,000 |
### Recent Preprints (Not Peer-Reviewed)
| Source | Title | Posted | Relevance |
|--------|-------|--------|-----------|
| MedRxiv | Novel metformin safety signal in elderly | 2024-01 | Age-related risk |
**Note**: Preprints have NOT undergone peer review.
*Source: PubMed, BioRxiv, MedRxiv, OpenAlex*---
Completeness Checklist
Phase 1: Drug Identification
- [ ] Generic name resolved
- [ ] Brand names listed
- [ ] Drug class identified
- [ ] ChEMBL/DrugBank ID obtained
- [ ] Mechanism of action stated
Phase 2: FAERS Analysis
- [ ] >=20 adverse events queried
- [ ] PRR calculated for top events
- [ ] Serious/fatal counts included
- [ ] Signal thresholds applied
- [ ] Time period stated
Phase 3: Label Warnings
- [ ] Boxed warnings extracted (or "None")
- [ ] Contraindications listed
- [ ] Key warnings summarized
- [ ] Drug interactions noted
Phase 4: Pharmacogenomics
- [ ] PharmGKB queried
- [ ] Actionable variants listed (or "None")
- [ ] Evidence levels provided
- [ ] Testing recommendations stated
Phase 5: Clinical Trials
- [ ] Phase 3/4 trials searched
- [ ] Serious AE rates compared
- [ ] Discontinuation rates noted
Phase 6: Signal Prioritization
- [ ] Signals ranked by score
- [ ] Critical signals flagged
- [ ] Actions recommended
Phase 7-8: Synthesis
- [ ] Risk-benefit assessment provided
- [ ] Monitoring recommendations listed
- [ ] Patient counseling points included
---
Data File Outputs
In addition to the report, generate:
[DRUG]_adverse_events.csv- Ranked AEs with counts/signals[DRUG]_pharmacogenomics.csv- PGx variants and recommendations
Signal Analysis Reference: Pharmacovigilance
Disproportionality Analysis
Proportional Reporting Ratio (PRR)
PRR = (A/B) / (C/D)
Where:
A = Reports of drug X with event Y
B = Reports of drug X with any event
C = Reports of event Y with any drug (excluding X)
D = Total reports (excluding drug X)Signal Thresholds
| Measure | Signal Threshold | Strong Signal |
|---|---|---|
| PRR | >2.0 | >3.0 |
| Chi-squared | >4.0 | >10.0 |
| N (case count) | >=3 | >=10 |
Signal Scoring Formula
Signal Score = PRR x Severity_Weight x log10(Case_Count + 1)
Severity Weights:
- Fatal: 10
- Life-threatening: 8
- Hospitalization: 5
- Disability: 5
- Other serious: 3
- Non-serious: 1Severity Classification
| Category | Definition | Priority |
|---|---|---|
| Fatal | Death outcome | Highest |
| Life-threatening | Immediate death risk | Very High |
| Hospitalization | Required/prolonged hospitalization | High |
| Disability | Persistent impairment | High |
| Congenital anomaly | Birth defect | High |
| Other serious | Medical intervention required | Medium |
| Non-serious | No serious criteria | Low |
Warning Severity Categories
| Category | Symbol | Description |
|---|---|---|
| Boxed Warning | Black box | Most serious, life-threatening |
| Contraindication | Red | Must not use |
| Warning | Orange | Significant risk |
| Precaution | Yellow | Use caution |
Example Output: Adverse Event Profile
## 2. Adverse Event Profile (FAERS)
**Data Period**: Q1 2020 - Q4 2025
**Total Reports for Drug**: 45,234
### Top Adverse Events by Frequency
| Rank | Adverse Event | Reports | PRR | 95% CI | Serious (%) | Fatal |
|------|---------------|---------|-----|--------|-------------|-------|
| 1 | Diarrhea | 8,234 | 2.3 | 2.1-2.5 | 12% | 3 |
| 2 | Nausea | 6,892 | 1.8 | 1.6-2.0 | 8% | 0 |
| 3 | Lactic acidosis | 1,247 | 15.2 | 12.8-17.9 | 89% | 156 |
| 4 | Hypoglycemia | 2,341 | 2.1 | 1.9-2.4 | 34% | 8 |
| 5 | Vitamin B12 deficiency | 892 | 8.4 | 7.2-9.8 | 23% | 0 |Example Output: Signal Prioritization
## 6. Prioritized Safety Signals
### Critical Signals (Immediate Attention)
| Signal | PRR | Fatal | Score | Action |
|--------|-----|-------|-------|--------|
| Lactic acidosis | 15.2 | 156 | 482 | Boxed warning exists |
| Acute kidney injury | 4.2 | 34 | 89 | Monitor renal function |
### Moderate Signals (Monitor)
| Signal | PRR | Serious | Score | Action |
|--------|-----|---------|-------|--------|
| Hepatotoxicity | 3.1 | 234 | 52 | Check LFTs if symptoms |
| Pancreatitis | 2.8 | 178 | 41 | Monitor lipase |
### Known/Expected (Manage Clinically)
| Signal | PRR | Frequency | Management |
|--------|-----|-----------|------------|
| Diarrhea | 2.3 | 18% | Start low, titrate slow |
| Nausea | 1.8 | 12% | Take with food |
| B12 deficiency | 8.4 | 2% | Annual monitoring |Example Output: Label Warnings
## 3. FDA Label Safety Information
### Boxed Warning
**LACTIC ACIDOSIS**
> Metformin can cause lactic acidosis, a rare but serious complication.
> Risk increases with renal impairment, sepsis, dehydration, excessive
> alcohol intake, hepatic impairment, and acute heart failure.
> **Contraindicated in patients with eGFR <30 mL/min/1.73m2**
### Contraindications
| Contraindication | Rationale |
|------------------|-----------|
| eGFR <30 mL/min/1.73m2 | Lactic acidosis risk |
| Acute/chronic metabolic acidosis | May worsen acidosis |
| Hypersensitivity to metformin | Allergic reaction |
### Warnings and Precautions
| Warning | Clinical Action |
|---------|-----------------|
| Vitamin B12 deficiency | Monitor B12 levels annually |
| Hypoglycemia with insulin | Reduce insulin dose |
| Radiologic contrast | Hold 48h around procedure |
| Surgical procedures | Hold day of surgery |Example Output: Pharmacogenomics
## 4. Pharmacogenomic Risk Factors
### Clinically Actionable Variants
| Gene | Variant | Phenotype | Recommendation | Level |
|------|---------|-----------|----------------|-------|
| SLC22A1 | rs628031 | Reduced OCT1 | Reduced metformin response | 2A |
| SLC22A1 | rs36056065 | Loss of function | Consider alternative | 2A |
| ATM | rs11212617 | Increased response | Standard dosing | 3 |Example Output: Clinical Trial Safety
## 5. Clinical Trial Safety Data
### Phase 3 Trial Summary
| Trial | N | Duration | Serious AEs (Drug) | Serious AEs (Placebo) | Deaths |
|-------|---|----------|-------------------|----------------------|--------|
| UKPDS | 1,704 | 10 yr | 12.3% | 14.1% | 8.2% vs 9.1% |
| DPP | 1,073 | 3 yr | 4.2% | 3.8% | 0.1% |
### Common Adverse Events in Trials
| Adverse Event | Drug (%) | Placebo (%) | Difference |
|---------------|----------|-------------|------------|
| Diarrhea | 53% | 12% | +41% |
| Nausea | 26% | 8% | +18% |
| Flatulence | 12% | 6% | +6% |Example Output: Pathway Context
## 5.5 Pathway & Mechanism Context
### Drug Metabolism Pathways (KEGG)
| Pathway | Relevance | Safety Implication |
|---------|-----------|-------------------|
| Drug metabolism - cytochrome P450 | Primary metabolism | CYP2C9 interactions |
| Gluconeogenesis inhibition | MOA | Lactic acidosis mechanism |
| Mitochondrial complex I | Off-target | Lactic acid accumulation |
### Mechanistic Basis for Key AEs
| Adverse Event | Pathway Mechanism |
|---------------|-------------------|
| Lactic acidosis | Mitochondrial complex I inhibition |
| GI intolerance | Serotonin release in gut |
| B12 deficiency | Intrinsic factor interference |Example Output: Literature
## 5.6 Literature Evidence
### Key Safety Studies
| PMID | Title | Year | Citations | Finding |
|------|-------|------|-----------|---------|
| 29234567 | Metformin and lactic acidosis: meta-analysis | 2020 | 245 | Risk 4.3/100,000 |
| 28765432 | Long-term cardiovascular outcomes... | 2019 | 567 | CV benefit confirmed |
### Recent Preprints (Not Peer-Reviewed)
| Source | Title | Posted | Relevance |
|--------|-------|--------|-----------|
| MedRxiv | Novel metformin safety signal in elderly | 2024-01 | Age-related risk |
Note: Preprints have NOT undergone peer review.Signal Detection Reference
Detailed methodology for pharmacovigilance signal detection, disproportionality analysis, and signal prioritization.
---
Disproportionality Analysis
Proportional Reporting Ratio (PRR):
PRR = (A/B) / (C/D)
Where:
A = Reports of drug X with event Y
B = Reports of drug X with any event
C = Reports of event Y with any drug (excluding X)
D = Total reports (excluding drug X)Signal Thresholds:
| Measure | Signal Threshold | Strong Signal |
|---|---|---|
| PRR | >2.0 | >3.0 |
| Chi-squared | >4.0 | >10.0 |
| N (case count) | >=3 | >=10 |
---
Severity Classification
| Category | Definition | Priority |
|---|---|---|
| Fatal | Death outcome | Highest |
| Life-threatening | Immediate death risk | Very High |
| Hospitalization | Required/prolonged hospitalization | High |
| Disability | Persistent impairment | High |
| Congenital anomaly | Birth defect | High |
| Other serious | Medical intervention required | Medium |
| Non-serious | No serious criteria | Low |
---
Signal Scoring Formula
Signal Score = PRR x Severity_Weight x log10(Case_Count + 1)
Severity Weights:
- Fatal: 10
- Life-threatening: 8
- Hospitalization: 5
- Disability: 5
- Other serious: 3
- Non-serious: 1---
Evidence Grading
| Tier | Symbol | Criteria | Example |
|---|---|---|---|
| T1 | Critical | PRR >10, fatal outcomes, boxed warning | Lactic acidosis |
| T2 | Serious | PRR 3-10, serious outcomes | Hepatotoxicity |
| T3 | Moderate | PRR 2-3, moderate concern | Hypoglycemia |
| T4 | Low | PRR <2, known/expected | GI side effects |
---
Warning Severity Categories (Label)
| Category | Description |
|---|---|
| Boxed Warning | Most serious, life-threatening |
| Contraindication | Must not use |
| Warning | Significant risk |
| Precaution | Use caution |
---
PGx Evidence Levels
| Level | Description | Clinical Action |
|---|---|---|
| 1A | CPIC/DPWG guideline, implementable | Follow guideline |
| 1B | CPIC/DPWG guideline, annotation | Consider testing |
| 2A | VIP annotation, moderate evidence | May inform |
| 2B | VIP annotation, weaker evidence | Research |
| 3 | Low-level annotation | Not actionable |
---
Example: FAERS Signal Interpretation
Strong Signal: Lactic Acidosis
- PRR of 15.2 indicates 15x higher reporting rate than expected
- 89% classified as serious
- 156 fatalities (12.5% case fatality)
- Known class effect of biguanides
- Risk factors: renal impairment, hypoxia, contrast agents
Moderate Signal: Hepatotoxicity
- PRR of 3.1, 234 serious reports, 12 fatal
- Check LFTs if symptoms
Known/Expected: GI Effects
- Diarrhea PRR 2.3, 18% frequency -> Start low, titrate slow
- Nausea PRR 1.8, 12% frequency -> Take with food
Pharmacovigilance Safety Analyzer - Tool Reference
Phase 1: Drug Identification
DailyMed Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
DailyMed_search_spls | Search drug labels | drug_name |
DailyMed_search_spls | Get full label | setid |
DailyMed_parse_drug_interactions | Drug interactions | setid |
Example - Resolve drug identity:
# Search for drug
results = tu.tools.DailyMed_search_spls(drug_name="metformin")
setid = results[0]['setid']
# Get full label
label = tu.tools.DailyMed_get_spl_by_setid(setid=setid)ChEMBL Drug Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
ChEMBL_search_drugs | Search drugs | query |
ChEMBL_get_molecule | Get molecule details | molecule_chembl_id |
ChEMBL_get_drug_mechanisms | Get MOA | molecule_chembl_id |
---
Phase 2: FAERS Adverse Events
FAERS Query Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
FAERS_count_reactions_by_drug_event | AE counts for drug | drug_name, limit |
FAERS_search_adverse_event_reports | Detailed event data | drug_name, reaction |
FAERS_search_adverse_event_reports | Search all reports | drug_name |
FAERS_stratify_by_demographics | Patient demographics | drug_name, reaction |
Parameter Note: Use drug_name not drug.
Example - Get adverse events:
# Get top adverse events
events = tu.tools.FAERS_count_reactions_by_drug_event(
drug_name="metformin",
limit=50
)
# Get details for specific event
details = tu.tools.FAERS_search_adverse_event_reports(
drug_name="metformin",
reaction="Lactic acidosis"
)OpenFDA Tools (Alternative)
| Tool | Purpose | Key Parameters |
|---|---|---|
OpenFDA_search_drug_events | AE reports | search |
OpenFDA_search_drug_enforcement | Drug recalls | search |
OpenFDA_search_drug_enforcement | Enforcement actions | search |
---
Phase 3: Label Warnings
DailyMed Label Sections
def extract_safety_sections(tu, setid):
"""Extract all safety-relevant sections from label."""
label = tu.tools.DailyMed_get_spl_by_setid(setid=setid)
return {
'boxed_warning': label.get('boxed_warning'),
'contraindications': label.get('contraindications'),
'warnings_precautions': label.get('warnings_and_precautions'),
'adverse_reactions': label.get('adverse_reactions'),
'drug_interactions': label.get('drug_interactions'),
'use_in_specific_populations': label.get('use_in_specific_populations'),
'overdosage': label.get('overdosage')
}---
Phase 4: Pharmacogenomics
PharmGKB Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
PharmGKB_search_drugs | Search drug annotations | query |
PharmGKB_get_clinical_annotations | Clinical PGx data | drug_id |
PharmGKB_get_drug_details | PGx labeling | drug_id |
PharmGKB_search_variants | Relevant variants | drug_id |
Example - Get PGx data:
# Search for drug
pgx = tu.tools.PharmGKB_search_drugs(query="warfarin")
# Get clinical annotations
annotations = tu.tools.PharmGKB_get_clinical_annotations(
drug_id=pgx[0]['id']
)CPIC Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
CPIC_list_guidelines | CPIC guidelines | drug_name or gene |
CPIC_get_recommendations | Dosing recommendations | guideline_id |
---
Phase 5: Clinical Trial Safety
ClinicalTrials.gov Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
search_clinical_trials | Search trials | intervention, phase, status |
ClinicalTrials_get_study | Get trial details | nct_id |
get_clinical_trial_outcome_measures | Get posted results | nct_id |
Example - Get trial safety data:
# Search completed phase 3 trials
trials = tu.tools.search_clinical_trials(
intervention="metformin",
phase="Phase 3",
status="Completed",
pageSize=20
)
# Get results for trials with posted data
for trial in trials:
if trial.get('has_results'):
results = tu.tools.get_clinical_trial_outcome_measures(
nct_id=trial['nct_id']
)---
Phase 5.5: Pathway & Mechanism Context (NEW)
KEGG Pathway Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
kegg_search_pathway | Search pathways | query |
kegg_get_gene_info | Get gene details | gene_id |
kegg_find_genes | Find genes by keyword | query, database |
Example - Get drug metabolism pathways:
# Search for drug metabolism
pathways = tu.tools.kegg_search_pathway(query="drug metabolism")
# Get genes in pathway
genes = tu.tools.KEGG_get_pathway_genes(pathway_id=pathways[0]['pathway_id'])Reactome Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
ReactomeContent_search | Search pathways | query, species |
Reactome_get_participants | Get pathway entities | pathway_id |
Use: Understand drug mechanism pathways to contextualize adverse events.
---
Phase 5.6: Literature Intelligence (NEW)
PubMed Safety Literature
| Tool | Purpose | Key Parameters |
|---|---|---|
PubMed_search_articles | Search articles | query, limit |
PubMed_get_article | Get article | pmid |
Example - Search safety literature:
papers = tu.tools.PubMed_search_articles(
query="metformin adverse event lactic acidosis",
limit=50
)Preprint Servers (Emerging Safety Signals)
| Tool | Purpose | Key Parameters |
|---|---|---|
EuropePMC_search_articles | Search preprints (bioRxiv/medRxiv) | query, source='PPR', pageSize |
BioRxiv_get_preprint | Get preprint by DOI | doi |
⚠️ Preprints are NOT peer-reviewed but may contain emerging safety signals!
Example - Search preprints for emerging signals (bioRxiv/medRxiv don't have search APIs, use EuropePMC):
# EuropePMC for mechanism insights
preprints = tu.tools.EuropePMC_search_articles(
query="metformin toxicity mechanism",
source="PPR", # PPR = Preprints only
pageSize=15
)
# MedRxiv for real-world safety data (via EuropePMC)
clinical_preprints = tu.tools.EuropePMC_search_articles(
query="metformin real-world safety",
source="PPR",
pageSize=15
)Citation Analysis Tools
| Tool | Purpose | Key Parameters |
|---|---|---|
openalex_search_works | Search with citations | query, limit |
SemanticScholar_search_papers | AI-ranked search | query, limit |
Example - Find high-impact safety papers:
papers = tu.tools.openalex_search_works(
query="metformin lactic acidosis clinical",
limit=20
)
# Sort by cited_by_count for impact---
Disproportionality Calculations
PRR Calculation
def calculate_prr(a, b, c, d):
"""
Calculate Proportional Reporting Ratio.
a = reports of drug X with event Y
b = reports of drug X with all other events
c = reports of event Y with all other drugs
d = reports of all other drug-event pairs
PRR = (a/(a+b)) / (c/(c+d))
"""
prr = (a / (a + b)) / (c / (c + d))
# 95% CI using Rothman formula
import math
se = math.sqrt(1/a - 1/(a+b) + 1/c - 1/(c+d))
ci_lower = math.exp(math.log(prr) - 1.96 * se)
ci_upper = math.exp(math.log(prr) + 1.96 * se)
return {
'prr': prr,
'ci_lower': ci_lower,
'ci_upper': ci_upper,
'significant': ci_lower > 1.0
}Signal Detection Criteria
def detect_signal(prr, ci_lower, n_cases):
"""
Apply signal detection criteria.
WHO-UMC criteria: PRR ≥2, Chi-squared ≥4, N ≥3
"""
is_signal = prr >= 2 and ci_lower >= 1 and n_cases >= 3
if prr > 10:
tier = 'T1' # Critical
elif prr > 3:
tier = 'T2' # Moderate
elif prr > 2:
tier = 'T3' # Mild
else:
tier = 'T4' # Known/expected
return {
'is_signal': is_signal,
'tier': tier
}---
Workflow Code Examples
Example 1: Complete Safety Profile
def generate_safety_profile(tu, drug_name):
"""Generate comprehensive safety profile for a drug."""
# Phase 1: Identify drug
dailymed = tu.tools.DailyMed_search_spls(drug_name=drug_name)
chembl = tu.tools.ChEMBL_search_drugs(query=drug_name)
# Phase 2: FAERS events
events = tu.tools.FAERS_count_reactions_by_drug_event(
drug_name=drug_name,
limit=50
)
# Phase 3: Label warnings
if dailymed:
label = tu.tools.DailyMed_get_spl_by_setid(
setid=dailymed[0]['setid']
)
# Phase 4: Pharmacogenomics
pgx = tu.tools.PharmGKB_search_drugs(query=drug_name)
# Phase 5: Clinical trials
trials = tu.tools.search_clinical_trials(
intervention=drug_name,
phase="Phase 3",
status="Completed"
)
return {
'identification': {'dailymed': dailymed, 'chembl': chembl},
'adverse_events': events,
'label': label,
'pharmacogenomics': pgx,
'trials': trials
}Example 2: Drug Comparison
def compare_drug_safety(tu, drug_a, drug_b):
"""Compare safety profiles of two drugs."""
# Get events for both drugs
events_a = tu.tools.FAERS_count_reactions_by_drug_event(
drug_name=drug_a, limit=30
)
events_b = tu.tools.FAERS_count_reactions_by_drug_event(
drug_name=drug_b, limit=30
)
# Find common events
events_a_dict = {e['reaction']: e for e in events_a}
events_b_dict = {e['reaction']: e for e in events_b}
common_events = set(events_a_dict.keys()) & set(events_b_dict.keys())
comparison = []
for event in common_events:
comparison.append({
'event': event,
'drug_a_prr': events_a_dict[event].get('prr'),
'drug_a_count': events_a_dict[event].get('count'),
'drug_b_prr': events_b_dict[event].get('prr'),
'drug_b_count': events_b_dict[event].get('count')
})
return comparisonExample 3: Emerging Signal Detection
def detect_emerging_signals(tu, drug_name, threshold_prr=3.0):
"""Identify signals that may require attention."""
events = tu.tools.FAERS_count_reactions_by_drug_event(
drug_name=drug_name,
limit=100
)
signals = []
for event in events:
if event.get('prr', 0) >= threshold_prr:
# Get details for high-PRR events
details = tu.tools.FAERS_search_adverse_event_reports(
drug_name=drug_name,
reaction=event['reaction']
)
signals.append({
'event': event['reaction'],
'prr': event['prr'],
'count': event['count'],
'serious_pct': details.get('serious_count', 0) / event['count'],
'fatal_count': details.get('death_count', 0)
})
# Sort by signal strength
return sorted(signals, key=lambda x: x['prr'], reverse=True)---
Fallback Chains
FAERS Alternatives
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
FAERS_count_reactions_by_drug_event | OpenFDA_search_drug_events | PubMed safety literature |
FAERS_search_adverse_event_reports | OpenFDA with filters | Manual FAERS query |
Label Alternatives
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
DailyMed_search_spls | OpenFDA_search_drug_labels | FDA website |
DailyMed_search_spls | FDA_search_drug_labels | DrugBank |
PGx Alternatives
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
PharmGKB_search_drugs | CPIC_list_guidelines | FDA PGx table |
PharmGKB_get_clinical_annotations | Literature search | FDA label PGx |
Pathway Analysis (NEW)
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
kegg_search_pathway | ReactomeContent_search | Literature search |
Literature (NEW)
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
PubMed_search_articles | openalex_search_works | SemanticScholar_search_papers |
EuropePMC_search_articles (source='PPR') | web_search (site:medrxiv.org) | Skip preprints |
---
ICD-10 Mapping Tool
AdverseEventICDMapper
| Tool | Purpose | Key Parameters |
|---|---|---|
AdverseEventICDMapper | Map AE text to ICD-10 | text |
Example:
# Map adverse event to ICD-10
mapping = tu.tools.AdverseEventICDMapper(
text="Patient developed severe hepatotoxicity with jaundice"
)
# Returns: [{"adverse_event": "hepatotoxicity", "icd10cm_code": "K71.9", ...}]---
Common Parameter Mistakes
| Tool | Wrong | Correct |
|---|---|---|
FAERS_count_reactions_by_drug_event | drug="metformin" | drug_name="metformin" |
DailyMed_search_spls | name="aspirin" | drug_name="aspirin" |
PharmGKB_search_drugs | drug="warfarin" | query="warfarin" |
OpenFDA_search_drug_events | drug_name="X" | search="patient.drug.medicinalproduct:X" |
---
Rate Limits and Best Practices
FAERS/OpenFDA
- Rate limit: 240 requests/minute (without API key)
- Best practice: Cache results, batch queries
PharmGKB
- No strict rate limit
- Best practice: Use drug ID for subsequent queries
DailyMed
- No strict rate limit
- Best practice: Cache SPL content (large responses)
ClinicalTrials.gov
- Rate limit: 3 requests/second
- Best practice: Use pageSize parameter to reduce calls
Related skills
How it compares
Use tooluniverse-pharmacovigilance for drug safety datasets via ToolUniverse; use general analytics skills for non-pharma data pipelines.
FAQ
What does tooluniverse-pharmacovigilance monitor?
tooluniverse-pharmacovigilance monitors adverse drug events and pharmacovigilance safety signals through ToolUniverse datasets. The skill helps developers triage post-market safety concerns and summarize risk patterns in agent workflows.
Who should use tooluniverse-pharmacovigilance?
tooluniverse-pharmacovigilance suits health-tech and bioinformatics developers building ToolUniverse-connected agents for drug safety surveillance. The skill targets post-market adverse event analysis rather than general software development.