Skip to main content
After intake, every ICSR must be evaluated to determine severity, urgency, and assign it to the appropriate product. This guide covers the complete evaluation workflow.

Overview

Case evaluation involves:
  • Severity Assessment: Classifying event gravity (grave/no grave)
  • Urgency Classification: Determining response timeline
  • Product Assignment: Linking to product catalog
  • MedDRA Coding: Mapping events to standardized terminology
  • Evaluator Assignment: Routing to responsible QF/pharmacovigilance officer

Evaluation Dashboard

Accessing Pending Cases

1

Navigate to Evaluation

Go to Cases > Evaluation or click Pending in the dashboardThe list shows all cases with status “Pendiente” ordered by reception date
2

Filter by Criteria

Use filters to focus on specific cases:
  • Severity (gravedad): Grave, No grave, Sin clasificar
  • State (estado): Pendiente, En proceso, Completado
  • Product: Filter by suspected product name
  • Date Range: Reception date or event date
  • Search: Free text search (DNI, internal code, product)
3

Sort and Prioritize

Click column headers to sort:
  • Date: Oldest first (default)
  • Severity: Grave cases first
  • Urgency: High priority first
Grave cases are highlighted in red/orange
API Endpoint:
GET /api/v1/icsr-caso-prueba?page=1&page_size=10&estado=Pendiente&gravedad=Grave

Severity Assessment

Classification Criteria

VIGIA follows ICH E2D guidelines for severity classification:
An adverse event is grave if it:
  • Results in death
  • Is life-threatening
  • Requires inpatient hospitalization or prolongation of existing hospitalization
  • Results in persistent or significant disability/incapacity
  • Is a congenital anomaly/birth defect
  • Is a medically important event (per medical judgment)
Field: gravedad = "Grave"

Severity Workflow

1

Open Case Detail

Click on a case from the evaluation list to open full detailsURL: /casos/{icsr_id}
2

Review Event Narrative

Read the complete event description in the Descripción del Evento section:
  • Event onset date and duration
  • Symptoms and clinical course
  • Medical interventions
  • Outcome and recovery status
3

Check Severity Indicators

Look for key indicators in the narrative:
Hospitalization: “hospitalized”, “ingresó”, “UCI”, “emergency”
Life-threatening: “life-threatening”, “riesgo de vida”, “shock”
Death: “falleció”, “death”, “óbito”
Disability: “disability”, “discapacidad”, “secuela”
Congenital: “congenital”, “congénita”, “birth defect”
4

Assign Severity

In the Evaluación tab, select from dropdown:
Gravedad: [ Grave ▼ ]
If “Grave”, specify which criteria apply (multiple selection):
  • Muerte
  • Amenaza la vida
  • Hospitalización
  • Discapacidad
  • Anomalía congénita
  • Evento médicamente importante
5

Add Rationale

In the “Justificación” field, document your reasoning:Example:
Clasificado como GRAVE por hospitalización requerida.
Paciente ingresó por 5 días debido a reacción anafiláctica.
6

Save Assessment

Click Save Evaluation. The system:
  • Updates gravedad field
  • Logs change in audit trail
  • Triggers severity-based notifications (if grave)
  • Updates dashboard statistics
API Endpoint:
PUT /api/v1/icsr-caso-prueba/{icsr_id}
Body: {
  "gravedad": "Grave",
  "ea_criterios_gravedad": ["hospitalizacion", "amenaza_vida"],
  "ea_justificacion_gravedad": "Reacción anafiláctica con hospitalización UCI"
}

Urgency Classification

Urgency determines the response timeline for followup and reporting:
UrgencyTimelineCriteria
Alta24 hoursGrave + unexpected + product in active surveillance
Media72 hoursGrave or requires medical judgment
Baja7 daysNo grave, routine followup

Setting Urgency

1

Evaluate Factors

Consider:
  • Severity classification
  • Product under special monitoring
  • Regulatory reporting deadlines
  • Patient safety implications
2

Assign Urgency Level

In Evaluación tab:
Urgencia: [ Alta ▼ ]
3

Set Deadline

The system auto-calculates:
  • Alta: fecha_limite = fecha_recepcion + 1 day
  • Media: fecha_limite = fecha_recepcion + 3 days
  • Baja: fecha_limite = fecha_recepcion + 7 days
Override manually if needed

Product Assignment

Linking to Product Catalog

VIGIA maintains a product catalog with regulatory and safety data. Linking cases to products enables:
  • Aggregate safety reporting (IPS/PSUR)
  • Signal detection
  • Product-specific workflows
1

Search Product Catalog

In the case detail Product section, start typing the product name:
Producto Sospechoso: [Para________]

Suggestions:
- Paracetamol 500mg Tabletas (Reg: XYZ-123)
- Paracetamol + Cafeína 500/65mg
- Paracetamol Gotas 100mg/ml
API: GET /api/v1/products/search?q=para
2

Select Match

Click the matching product to auto-fill:
  • Product name
  • Active ingredient (producto_principio_activo)
  • Presentation and dosage
  • Registration number
  • Manufacturer
  • Therapeutic class (ATC code)
3

Handle No Match

If product not found:
  1. Verify spelling and search again
  2. Create new product entry: Products > Add New
  3. Enter:
    • Commercial name
    • Active ingredient(s)
    • Registration number (DIGEMID)
    • Manufacturer
  4. Return to case and link
4

Multiple Products

For concomitant medications:
  • Suspected: Mark as producto_sospechoso
  • Concomitant: Add in Concomitantes section
Each can be linked to catalog separately
Data Model:
class ICSR:
    producto_sospechoso: str  # Free text
    producto_id: int | None   # Link to Product.id
    
class ICSRConcomitante:
    icsr_id: int
    producto_nombre: str
    producto_id: int | None

MedDRA Coding

Map adverse events to MedDRA (Medical Dictionary for Regulatory Activities) terms for standardized reporting.

MedDRA Hierarchy

MedDRA uses a 5-level hierarchy:
SOC (System Organ Class)
  └─ HLGT (High Level Group Term)
      └─ HLT (High Level Term)
          └─ PT (Preferred Term)  ← Primary coding level
              └─ LLT (Lowest Level Term)

Coding Workflow

1

Identify Events

In Eventos Adversos section, list all distinct events from the narrative:Example narrative:
"Patient experienced severe headache, nausea, and vomiting.
Developed urticaria on arms and trunk."
Events to code:
  1. Headache (severe)
  2. Nausea
  3. Vomiting
  4. Urticaria
2

Search MedDRA

For each event, search MedDRA database:Click + Add Event > type event description:
Event: [headache_______]

MedDRA Suggestions:
PT: 10019211 - Headache
PT: 10019214 - Headache severe
PT: 10028256 - Migraine
Service: meddra_suggest("headache") (backend/app/services/)
3

Select PT Term

Choose the most specific Preferred Term (PT):
  • “Headache severe” (PT: 10019214) for severe headache
  • “Nausea” (PT: 10028813)
  • “Vomiting” (PT: 10047700)
  • “Urticaria” (PT: 10046735)
The system auto-fills:
  • meddra_pt_code
  • meddra_pt_term
  • meddra_llt_code (if LLT selected)
  • meddra_llt_term
4

Assign Event Attributes

For each coded event, specify:Severity (per event):
  • Leve (Mild)
  • Moderado (Moderate)
  • Grave (Severe)
Outcome (desenlace):
  • Recuperado
  • Recuperándose
  • No recuperado
  • Recuperado con secuelas
  • Muerte
  • Desconocido
Dates:
  • fecha_inicio: Event onset
  • fecha_fin: Resolution (if applicable)
5

Save Events

Click Save Events. The system stores events in:
POST /api/v1/icsr-caso-prueba/{icsr_id}/eventos
Body: {
  "eventos": [
    {
      "texto": "Headache severe",
      "meddra_pt_code": "10019214",
      "meddra_pt_term": "Headache severe",
      "gravedad": "Moderado",
      "desenlace": "Recuperado",
      "fecha_inicio": "2024-03-01",
      "fecha_fin": "2024-03-03"
    },
    ...
  ]
}
MedDRA coding is required for regulatory submissions (DIGEMID, IPS/PSUR). Incomplete coding will block export.

Evaluator Assignment

Route cases to specific evaluators based on:
  • Product category
  • Severity
  • Workload distribution
1

Assign Responsible User

In Evaluación tab:
Responsable: [Select User ▼]
Users with qf or responsable_fv roles appear in dropdown
2

Add Notes

Optional internal notes for the evaluator:
Notas: "Requiere revisión de causalidad urgente.
        Producto en vigilancia especial."
3

Send Notification

Click Assign. The system:
  • Updates evaluador_id field
  • Sends email notification to assigned user
  • Adds to user’s task list
  • Changes status to “En proceso”
Notification Email:
Subject: [VIGIA] Nuevo caso asignado #1234

Se te ha asignado el caso ICSR #1234 para evaluación.

Producto: Paracetamol 500mg
Gravedad: Grave
Fecha límite: 2024-03-05

Ingresa a VIGIA para revisar el caso.

Evaluation Checklist

Before marking a case as “Completado”, verify:
Severity classified (Grave/No grave)
Urgency set with appropriate deadline
Product linked to catalog
All events coded in MedDRA
Event dates complete (onset, resolution)
Outcome documented for each event
Evaluator assigned (if applicable)
Missing data identified for followup

Next Steps

After evaluation:
  1. Causality Assessment: Determine relationship between product and event → Causality Assessment
  2. Followup Management: Request missing information → Followup Management
  3. Reporting: Include in periodic safety reports → Generating Reports

API Reference

# Update evaluation
PUT /api/v1/icsr-caso-prueba/{icsr_id}
Body: {
  "gravedad": "Grave",
  "urgencia": "Alta",
  "producto_id": 123,
  "evaluador_id": 45
}

# Add MedDRA events
POST /api/v1/icsr-caso-prueba/{icsr_id}/eventos
Body: {"eventos": [...]}

# Search products
GET /api/v1/products/search?q=paracetamol

# MedDRA suggest
GET /api/v1/meddra/suggest?q=headache

Build docs developers (and LLMs) love