clinica-veterinaria/docs/01-epicas/VET-002-vacunacion.md
rckrdmrd c461208a51 [SPRINT-7] docs: Agregar documentacion, schemas y reportes
- Epicas documentadas
- Schema de farmacia veterinaria
- Inventario de base de datos
- Reporte de ejecucion Sprint 7

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:42 -06:00

7.5 KiB

VET-002: Cartilla de Vacunacion

Metadata

  • Codigo: VET-002
  • Modulo: Vacunacion
  • Prioridad: P0
  • Estado: DDL Completado
  • Fase: 2 - Vacunacion

Descripcion

Sistema de cartilla de vacunacion digital: registro de aplicaciones, esquemas por especie, control de lotes, alertas de refuerzos, generacion de certificados, y reportes para SENASICA.

Objetivos

  1. Registro de vacunas aplicadas
  2. Esquemas por especie y edad
  3. Control de lotes y fabricantes
  4. Alertas de proximos refuerzos
  5. Reportes SENASICA

Alcance

Incluido

  • Catalogo de vacunas por especie
  • Registro de aplicaciones con lote
  • Calculo automatico de proxima dosis
  • Alertas por email/SMS/push
  • Historial de vacunacion por mascota
  • Certificado de vacunacion (PDF)
  • Reporte mensual SENASICA

Excluido

  • Integracion directa con API SENASICA
  • Compra de vacunas desde sistema
  • Cadena de frio/temperatura

Esquemas de Vacunacion

Caninos (Perros)

cachorro:
  6_semanas:
    - Parvovirus
  8_semanas:
    - Quintuple (DHPPI+L)
  12_semanas:
    - Refuerzo Quintuple
  16_semanas:
    - Rabia
  anual:
    - Quintuple + Rabia

opcional:
  - Bordetella (cada 6 meses, perros sociales)
  - Giardia
  - Lyme (zonas endemicas)

Felinos (Gatos)

gatito:
  8_semanas:
    - Triple Felina (PRC)
  12_semanas:
    - Refuerzo Triple + Leucemia Felina
  16_semanas:
    - Rabia
  anual:
    - Triple Felina + Rabia

opcional:
  - Leucemia Felina (gatos de exterior)
  - PIF (peritonitis infecciosa)

Modelo de Datos

Tablas

veterinaria.vacunas (Catalogo)

  • id, tenant_id, nombre, descripcion
  • especie_id, laboratorio
  • dosis_ml, intervalo_refuerzo_dias
  • es_obligatoria, active

veterinaria.cartilla_vacunacion

  • id, tenant_id, mascota_id, vacuna_id
  • veterinario_id
  • fecha_aplicacion, fecha_proximo_refuerzo
  • lote, laboratorio
  • observaciones

Endpoints API

Metodo Endpoint Descripcion
GET /vacunas Catalogo de vacunas
GET /vacunas/especie/:id Vacunas por especie
POST /vacunas Crear vacuna en catalogo
GET /mascotas/:id/vacunacion Cartilla de mascota
POST /mascotas/:id/vacunacion Registrar vacuna aplicada
DELETE /vacunacion/:id Eliminar registro
GET /vacunacion/proximas Refuerzos proximos (7 dias)
GET /vacunacion/vencidas Refuerzos vencidos
GET /mascotas/:id/certificado Generar certificado PDF
GET /reportes/senasica Reporte mensual

Interfaz del Servicio

interface VacunacionService {
  getCatalogo(especieId?: string): Promise<Vacuna[]>;
  getCartilla(mascotaId: string): Promise<VacunacionRecord[]>;
  aplicar(data: AplicarVacuna): Promise<VacunacionRecord>;
  getProximosRefuerzos(dias: number): Promise<RefuerzoPendiente[]>;
  getVencidos(): Promise<RefuerzoPendiente[]>;
  generarCertificado(mascotaId: string): Promise<Buffer>;
  getReporteSenasica(mes: number, anio: number): Promise<ReporteSenasica>;
}

interface AplicarVacuna {
  mascotaId: string;
  vacunaId: string;
  veterinarioId: string;
  fechaAplicacion: Date;
  lote: string;
  laboratorio?: string;
  observaciones?: string;
}

interface RefuerzoPendiente {
  mascota: Mascota;
  propietario: Propietario;
  vacuna: Vacuna;
  fechaRefuerzo: Date;
  diasRestantes: number;
}

Flujos

Aplicar Vacuna

1. Consulta veterinaria
2. Veterinario decide vacunar
3. Seleccionar vacuna del catalogo
4. Registrar lote (obligatorio)
5. Sistema calcula fecha proxima
6. Guardar en cartilla
7. Imprimir certificado (opcional)
8. Agregar a factura

Alertas de Refuerzos

Diario (cron job):
1. Buscar refuerzos que vencen en 7 dias
2. Filtrar por preferencias de propietario
3. Enviar notificaciones:
   - Email: 7 dias antes
   - SMS: 3 dias antes
   - Push: 1 dia antes
4. Marcar como notificado

Reporte SENASICA

Mensual:
1. Filtrar vacunas de rabia aplicadas
2. Agrupar por especie y municipio
3. Incluir datos del veterinario
4. Generar formato oficial
5. Exportar para envio

Certificado de Vacunacion

┌─────────────────────────────────────────────────────────┐
│  CERTIFICADO DE VACUNACION                              │
│  Clinica Veterinaria XYZ                                │
├─────────────────────────────────────────────────────────┤
│  DATOS DE LA MASCOTA                                    │
│  Nombre: Firulais                                       │
│  Especie: Canino     Raza: Labrador                     │
│  Sexo: Macho         Edad: 2 años                       │
│  Color: Amarillo     Chip: 123456789012345              │
├─────────────────────────────────────────────────────────┤
│  DATOS DEL PROPIETARIO                                  │
│  Nombre: Juan Perez Garcia                              │
│  Telefono: 555-123-4567                                 │
├─────────────────────────────────────────────────────────┤
│  HISTORIAL DE VACUNACION                                │
│  Fecha      │ Vacuna          │ Lote    │ Prox.Ref     │
│  07/01/2026 │ Rabia           │ R12345  │ 07/01/2027   │
│  07/01/2026 │ Quintuple       │ Q98765  │ 07/01/2027   │
│  15/06/2025 │ Quintuple       │ Q54321  │ -            │
├─────────────────────────────────────────────────────────┤
│  Veterinario: Dr. Maria Lopez                           │
│  Cedula Profesional: 12345678                           │
│  Firma: _________________________                       │
└─────────────────────────────────────────────────────────┘

Alertas Configurables

interface ConfiguracionAlertas {
  email: {
    enabled: boolean;
    diasAntes: number; // default: 7
  };
  sms: {
    enabled: boolean;
    diasAntes: number; // default: 3
  };
  push: {
    enabled: boolean;
    diasAntes: number; // default: 1
  };
  whatsapp: {
    enabled: boolean;
    diasAntes: number;
  };
}

Entregables

Entregable Estado Archivo
DDL cartilla Completado database/schemas/01-veterinaria-schema-ddl.sql
DDL vacunas Completado database/schemas/01-veterinaria-schema-ddl.sql
vacunacion.module.ts Pendiente backend/modules/vacunacion/
CartillaVacunacion.tsx Pendiente frontend/components/
CertificadoPDF.ts Pendiente backend/services/
Seeds vacunas Pendiente database/seeds/

Dependencias

Depende de

  • VET-001 (Mascotas)
  • clinica.doctors (erp-clinicas)
  • Notifications service

Bloquea a

  • Reportes SENASICA
  • App para propietarios

Criterios de Aceptacion

  • Catalogo de vacunas por especie
  • Registro de aplicacion con lote
  • Fecha proxima se calcula
  • Alertas se envian
  • Certificado PDF se genera
  • Historial completo visible
  • Reporte SENASICA correcto

Ultima actualizacion: 2026-01-07