- 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>
223 lines
6.0 KiB
Markdown
223 lines
6.0 KiB
Markdown
# 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
|
|
|
|
```typescript
|
|
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
|
|
|
|
```typescript
|
|
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
|
|
|
|
```typescript
|
|
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
|
|
|
|
```typescript
|
|
// 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
|