Overview
VIGIA provides direct API access to multiple global regulatory data sources, enabling on-demand queries without scraping delays. These endpoints supplement scheduled surveillance by providing real-time access to regulatory databases.Available Sources
FDA
US FDA medical device recalls and safety alerts
EMA
European Medicines Agency safety updates
DIGEMID
Peru regulatory authority alerts and product registry
VigiAccess
WHO global adverse drug reaction database
Regulators API
Query multiple regulatory agencies for product information. Base Path:/api/v1/regulators
Implementation: backend/app/routers/regulators.py
Search All Agencies
Search across all configured regulatory agencies simultaneously.| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query (drug name, active ingredient) |
max_items | integer | No | Maximum results per agency (default: 50) |
MedRecord (types.py:4-14)
Example:
Search Specific Agency
Query a single regulatory agency.| Parameter | Type | Required | Description |
|---|---|---|---|
agency | string | Yes | Agency code: fda, ema, aemps, digemid, etc. |
q | string | Yes | Search query |
max_items | integer | No | Maximum results (default: 50) |
| Code | Agency | Country/Region |
|---|---|---|
fda | Food and Drug Administration | United States |
ema | European Medicines Agency | European Union |
aemps | Agencia Española de Medicamentos | Spain |
digemid | Dirección General de Medicamentos | Peru |
invima | Instituto Nacional de Vigilancia | Colombia |
anvisa | Agência Nacional de Vigilância Sanitária | Brazil |
anmat | Administración Nacional de Medicamentos | Argentina |
FDA Integration
Direct access to FDA medical device recalls and safety communications. Base Path:/api/v1/fda
Features:
- Medical device recalls
- Early alerts and safety communications
- Automatic English-to-Spanish translation
- AI-powered product categorization (when
GEMINI_API_KEYconfigured)
Search FDA
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search term (device name, IFA) in Spanish or English |
max_results | integer | No | Max results (1-25, default: 10) |
FDAItem
| Field | Type | Description |
|---|---|---|
titulo | string | Translated alert title (Spanish) |
medicamento | string | Generic device type + brand (multiline) |
evento | string | Event description / reason for recall |
url | string | Source URL on FDA website |
fecha_publicada | string | null | Publication date (ISO 8601) |
deep_translator:
- Title: Translated and cleaned
- Event: Summarized (1-3 sentences)
- Device Type: Mapped to Spanish generic terms
GEMINI_API_KEY is configured, Gemini 1.5 Flash refines:
- Generic device categorization
- Brand/model extraction
- Event summarization
backend/app/services/fda.py
VigiAccess Integration
Query the WHO VigiAccess global adverse drug reaction database. Base Path:/api/v1/vigiaccess
Search Adverse Reactions
| Parameter | Type | Required | Description |
|---|---|---|---|
drug | string | Yes | Drug/product name |
reaction | string | No | Specific adverse reaction |
Product Dashboard
Get comprehensive VigiAccess statistics for a product.- Global ADR statistics from 150+ countries
- Comparative analysis across regions
- Temporal trend analysis
- Dashboard visualization data
backend/app/routers/vigiaccess.py, backend/app/routers/vigiaccess_dashboard.py
DIGEMID Integration
Access Peru’s DIGEMID regulatory alerts and product registry. Endpoints:- Alertas Sanitarias: Health alerts and recalls
- RAM (Reacciones Adversas): Adverse reaction reports
- Registro Sanitario: Product authorization registry
EMA Integration
European Medicines Agency safety updates and product information. Endpoints:- Safety Updates: Pharmacovigilance announcements
- EPAR (European Public Assessment Reports): Product assessments
- Direct Healthcare Professional Communications (DHPC): Urgent safety alerts
Data Enrichment Pipeline
VIGIA enhances regulatory data through a multi-stage pipeline:Translation Service
Implementation:backend/app/services/fda.py:45-73
Product Normalization
Generic Synonyms:backend/app/services/fda.py:150-180
Maps English device terms to Spanish categories:
backend/app/services/fda.py:190-210
Extracts brand names using pattern matching:
AI Enhancement (Gemini)
Implementation:backend/app/services/fda.py:220-270
When GEMINI_API_KEY is configured:
Comparison: Surveillance vs Direct Query
| Feature | Scheduled Surveillance | Direct Query (Regulators API) |
|---|---|---|
| Data Freshness | Depends on schedule (weekly/bi-weekly) | Real-time |
| Coverage | All configured sources | Single agency per request |
| Storage | Persisted in database | Not stored |
| Filtering | Advanced (severity, trends, etc.) | Basic (name search) |
| Reports | Email reports with attachments | API response only |
| Use Case | Continuous monitoring, trend analysis | Ad-hoc product lookup |
- Automated weekly/bi-weekly monitoring
- Historical trend analysis
- Severity-based filtering
- Automated email reports
- Immediate product verification
- Registration status lookup
- One-time investigation
- Real-time alert validation
Configuration
Environment Variables
Scraper Limits
Implementation:backend/app/services/fda.py:25-30
Error Handling
HTTP Errors
Graceful Degradation
Scrapers include fallback strategies:Rate Limits
Best Practices
Cache Results
Store frequently-queried products to reduce API calls.Use surveillance for continuous monitoring instead of repeated direct queries.
Combine Approaches
Surveillance: Weekly monitoring for trendsDirect Query: Immediate verification during case intake
Monitor Translation Costs
Deep Translator uses Google Translate free tier.Enable
GEMINI_API_KEY for AI enhancement (requires paid API key).Handle Errors Gracefully
Regulatory websites may be temporarily unavailable.Implement retry logic and fallback to cached data.
Integration Examples
Product Verification During Case Intake
Cross-Reference Surveillance Alerts
Related Documentation
FDA Integration
Detailed FDA scraper documentation
EMA Integration
European Medicines Agency integration
DIGEMID
Peru regulatory authority
VigiAccess
WHO global database
Surveillance Overview
Main surveillance API
Schedule Management
Configure automated scraping
Code References
| Component | File Location |
|---|---|
| Regulators Router | backend/app/routers/regulators.py:1-16 |
| FDA Scraper | backend/app/services/fda.py |
| Regulator Types | backend/app/services/regulators/types.py:4-14 |
| Search Services | backend/app/services/regulators/scrape_regulators.py |
| VigiAccess Router | backend/app/routers/vigiaccess.py |
| VigiAccess Dashboard | backend/app/routers/vigiaccess_dashboard.py |