Overview
VIGIA integrates with DIGEMID (Dirección General de Medicamentos, Insumos y Drogas), Peru’s national regulatory authority, to scrape safety alerts, perform product lookups, and generate compliant RAM (Reacción Adversa a Medicamentos) export reports.Key Capabilities
Alert Scraping
Automatically retrieves safety alerts and modifications from DIGEMID’s public portal
Product Lookup
Searches product registry by name, sanitario number, or active ingredient
RAM Export
Generates PDF reports in official DIGEMID format (Modelo A & B)
Data Enrichment
Optional AI-powered field enhancement using Gemini
Alert Scraping
The DIGEMID scraper extracts safety alerts from the official website and parses structured data including alert numbers, affected products, and reasons for action.Data Structure
Each scraped alert contains:Implementation
The scraper handles multiple layouts:Date Parsing
DIGEMID uses Peruvian timezone (America/Lima) with Spanish month names:
RAM Export (ICSR Reports)
VIGIA generates official DIGEMID-compliant PDF reports in two formats:Modelo A: Evaluation Report (FRT-OP-017)
Internal causality assessment using the Karch-Lasagna algorithm.- Client/Institution reporting
- Product description (presentation, lot, sanitary registration)
- Communication description (narrative)
- Causality analysis (Karch-Lasagna criteria)
- Conclusions and recommendations
- Signatures (analyst and operations manager)
Modelo B: Healthcare Professional Format
Official format for regulatory submission based on DOCX template.- Reads DOCX template from
backend/app/templates/docs/Formato Profesionales Salud.docx - Renders with
docxtplusing Jinja2 context - Converts to PDF using
docx2pdf(Windows/Mac) or LibreOffice (Linux) - Saves filled DOCX copy to
storage/icsr_exports/ICSR_{id}_ProfSalud_Relleno.docx
Context Builder
Both models use a shared context builder:Configuration
Environment Variables
DOCX to PDF Conversion
The system attempts conversion in this order:-
docx2pdf (requires Microsoft Word on Windows/Mac)
- Windows: Initializes COM with
pythoncom.CoInitialize() - Mac: Uses Word automation
- Windows: Initializes COM with
-
LibreOffice headless (cross-platform fallback)
API Endpoints
Search Alerts
Export ICSR to DIGEMID Format
Content-Disposition: attachment; filename="modelo_b_prof_salud_12345.pdf"
Error Handling
Related Pages
FDA Integration
US FDA FAERS database access
EMA Integration
European safety alerts
VigiAccess
WHO global database