clinica-veterinaria/docs/01-epicas/VET-003-desparasitaciones.md
rckrdmrd 53da75ddc7 [MIGRATION-V2] feat: Migrar clinica-veterinaria a estructura v2
- Prefijo v2: CVT
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:29:18 -06:00

6.0 KiB

VET-003: Desparasitaciones

Metadata

  • Codigo: VET-003
  • Modulo: Desparasitaciones
  • Prioridad: P1
  • Estado: DDL Completado
  • Fase: 2 - Vacunacion

Descripcion

Sistema de control de desparasitaciones internas y externas: registro de aplicaciones, productos utilizados, dosis por peso, alertas de proximas desparasitaciones, y historial por mascota.

Objetivos

  1. Registro de desparasitaciones
  2. Control de productos y dosis
  3. Alertas de proximas aplicaciones
  4. Historial por mascota
  5. Recomendaciones por especie

Alcance

Incluido

  • Tipos: interna, externa, ambas
  • Registro de producto y dosis
  • Via de administracion
  • Calculo de proxima aplicacion
  • Historial cronologico
  • Alertas automaticas

Excluido

  • Inventario de productos
  • Calculo automatico de dosis por peso
  • Integracion con laboratorios

Tipos de Desparasitacion

Tipo Descripcion Frecuencia Tipica
Interna Parasitos intestinales Cada 3-6 meses
Externa Pulgas, garrapatas Cada 1-3 meses
Ambas Combinada Segun producto

Productos Comunes

Desparasitantes Internos

Producto Principio Activo Presentacion
Drontal Praziquantel + Pirantel Tableta
Panacur Fenbendazol Suspension
Milbemax Milbemicina + Praziquantel Tableta

Desparasitantes Externos

Producto Principio Activo Presentacion
Frontline Fipronil Pipeta
Nexgard Afoxolaner Tableta masticable
Seresto Imidacloprid + Flumetrina Collar
Bravecto Fluralaner Tableta/Pipeta

Modelo de Datos

Tabla: veterinaria.desparasitaciones

Campo Tipo Descripcion
id UUID PK
tenant_id UUID FK
mascota_id UUID FK
veterinario_id UUID FK
tipo VARCHAR(50) interna, externa, ambas
producto VARCHAR(100) Nombre del producto
dosis VARCHAR(50) Cantidad administrada
via_administracion VARCHAR(50) oral, topica, inyectable
fecha_aplicacion DATE Fecha de aplicacion
fecha_proxima DATE Proxima aplicacion
observaciones TEXT Notas

Endpoints API

Metodo Endpoint Descripcion
GET /mascotas/:id/desparasitaciones Historial
POST /mascotas/:id/desparasitaciones Registrar
PUT /desparasitaciones/:id Actualizar
DELETE /desparasitaciones/:id Eliminar
GET /desparasitaciones/proximas Proximas 30 dias
GET /desparasitaciones/vencidas Vencidas

Interfaz del Servicio

interface DesparasitacionesService {
  getByMascota(mascotaId: string): Promise<Desparasitacion[]>;
  registrar(data: RegistrarDesparasitacion): Promise<Desparasitacion>;
  getProximas(dias: number): Promise<DesparasitacionPendiente[]>;
  getVencidas(): Promise<DesparasitacionPendiente[]>;
}

interface RegistrarDesparasitacion {
  mascotaId: string;
  veterinarioId?: string;
  tipo: 'interna' | 'externa' | 'ambas';
  producto: string;
  dosis?: string;
  viaAdministracion: string;
  fechaAplicacion: Date;
  fechaProxima?: Date;
  observaciones?: string;
}

Flujos

Registrar Desparasitacion

1. Durante consulta o en recepcion
2. Seleccionar mascota
3. Indicar tipo (interna/externa/ambas)
4. Seleccionar/escribir producto
5. Indicar dosis y via
6. Registrar fecha aplicacion
7. Sistema sugiere fecha proxima (configurable)
8. Guardar registro
9. Agregar a cuenta del cliente

Recordatorios

Semanal (cron job):
1. Buscar desparasitaciones proximas (30 dias)
2. Agrupar por propietario
3. Enviar recordatorio consolidado
4. Email con lista de mascotas

Frecuencias Recomendadas

Por Especie y Situacion

const FRECUENCIAS = {
  canino: {
    cachorro: { interna: 15, externa: 30 }, // dias
    adulto: { interna: 90, externa: 30 },
    gestante: { interna: 45, externa: 30 }
  },
  felino: {
    cachorro: { interna: 15, externa: 30 },
    adulto: { interna: 90, externa: 30 },
    interior: { interna: 180, externa: 60 } // gatos de interior
  }
};

Componentes Frontend

DesparasitacionForm

interface DesparasitacionFormProps {
  mascota: Mascota;
  onSave: (data: Desparasitacion) => void;
}

// Campos:
// - Tipo (radio: interna/externa/ambas)
// - Producto (autocomplete o texto)
// - Dosis
// - Via (dropdown: oral, topica, inyectable)
// - Fecha aplicacion
// - Fecha proxima (calculada, editable)
// - Observaciones

DesparasitacionTimeline

// Muestra historial visual:
// ┌────────────────────────────────────────┐
// │ ● 07/01/2026 - Interna - Drontal      │
// │   Proxima: 07/04/2026 (en 90 dias)    │
// ├────────────────────────────────────────┤
// │ ● 15/12/2025 - Externa - Frontline    │
// │   Proxima: 15/01/2026 (VENCIDA)       │
// └────────────────────────────────────────┘

Entregables

Entregable Estado Archivo
DDL desparasitaciones Completado database/schemas/01-veterinaria-schema-ddl.sql
desparasitaciones.module.ts Pendiente backend/modules/desparasitaciones/
DesparasitacionForm.tsx Pendiente frontend/components/
DesparasitacionTimeline.tsx Pendiente frontend/components/

Dependencias

Depende de

  • VET-001 (Mascotas)
  • Notifications service

Bloquea a

  • Dashboard de salud de mascota
  • App para propietarios

Criterios de Aceptacion

  • Registro de desparasitacion funciona
  • Tipos interna/externa/ambas
  • Fecha proxima se calcula
  • Historial cronologico visible
  • Alertas de vencidas
  • Proximas desparasitaciones se listan

Ultima actualizacion: 2026-01-07