- 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>
275 lines
8.7 KiB
Markdown
275 lines
8.7 KiB
Markdown
# VET-004: Hospitalizacion
|
|
|
|
## Metadata
|
|
- **Codigo:** VET-004
|
|
- **Modulo:** Hospitalizacion
|
|
- **Prioridad:** P1
|
|
- **Estado:** DDL Completado
|
|
- **Fase:** 3 - Hospitalizacion
|
|
|
|
## Descripcion
|
|
|
|
Sistema de gestion de hospitalizacion veterinaria: ingreso de pacientes, asignacion de espacios (jaulas/kennels), monitoreo de signos vitales, administracion de medicamentos, y proceso de alta.
|
|
|
|
## Objetivos
|
|
|
|
1. Registro de ingresos
|
|
2. Asignacion de espacios
|
|
3. Monitoreo periodico
|
|
4. Control de medicamentos
|
|
5. Proceso de alta
|
|
|
|
## Alcance
|
|
|
|
### Incluido
|
|
- Ingreso con diagnostico inicial
|
|
- Asignacion de jaula/kennel/UCI
|
|
- Monitoreo cada X horas (configurable)
|
|
- Registro de signos vitales
|
|
- Estado de alimentacion/eliminacion
|
|
- Notas de evolucion
|
|
- Alta con instrucciones
|
|
- Costos acumulados
|
|
|
|
### Excluido
|
|
- Sensores automaticos
|
|
- Camaras de vigilancia
|
|
- Sistema de ventiladores/temperatura
|
|
|
|
## Estados de Hospitalizacion
|
|
|
|
```
|
|
ingresado ──► en_tratamiento ──► estable ──► alta
|
|
│
|
|
├──► critico
|
|
│
|
|
└──► fallecido
|
|
```
|
|
|
|
| Estado | Descripcion | Acciones |
|
|
|--------|-------------|----------|
|
|
| ingresado | Recien llegado | Evaluacion inicial |
|
|
| en_tratamiento | Recibiendo cuidados | Monitoreo activo |
|
|
| estable | Mejorando | Reducir monitoreo |
|
|
| critico | Grave | Monitoreo intensivo |
|
|
| alta | Dado de alta | Cerrar expediente |
|
|
| fallecido | Fallecio | Registro de deceso |
|
|
|
|
## Modelo de Datos
|
|
|
|
### Tablas
|
|
|
|
**veterinaria.hospitalizacion**
|
|
- id, tenant_id, mascota_id, veterinario_id
|
|
- consultation_id
|
|
- fecha_ingreso, motivo_ingreso, diagnostico_ingreso
|
|
- area, numero_jaula
|
|
- estado
|
|
- fecha_alta, diagnostico_alta, instrucciones_alta
|
|
|
|
**veterinaria.hospitalizacion_monitoreo**
|
|
- id, tenant_id, hospitalizacion_id
|
|
- fecha_hora
|
|
- peso_kg, temperatura
|
|
- frecuencia_cardiaca, frecuencia_respiratoria
|
|
- comio, bebio_agua, orino, defeco
|
|
- consistencia_heces, estado_animo
|
|
- nivel_dolor (0-10)
|
|
- observaciones, registrado_por
|
|
|
|
## Signos Vitales Normales
|
|
|
|
| Especie | Temperatura | FC | FR |
|
|
|---------|-------------|-----|-----|
|
|
| Canino | 38-39°C | 60-120 lpm | 10-30 rpm |
|
|
| Felino | 38-39°C | 120-180 lpm | 20-40 rpm |
|
|
| Conejo | 38.5-40°C | 130-325 lpm | 30-60 rpm |
|
|
|
|
## Endpoints API
|
|
|
|
| Metodo | Endpoint | Descripcion |
|
|
|--------|----------|-------------|
|
|
| GET | /hospitalizacion | Pacientes hospitalizados |
|
|
| GET | /hospitalizacion/:id | Detalle |
|
|
| POST | /hospitalizacion | Ingresar paciente |
|
|
| PUT | /hospitalizacion/:id | Actualizar |
|
|
| PUT | /hospitalizacion/:id/alta | Dar de alta |
|
|
| GET | /hospitalizacion/:id/monitoreos | Historial monitoreos |
|
|
| POST | /hospitalizacion/:id/monitoreos | Registrar monitoreo |
|
|
| GET | /hospitalizacion/espacios | Disponibilidad jaulas |
|
|
| PUT | /hospitalizacion/:id/espacio | Cambiar espacio |
|
|
|
|
## Interfaz del Servicio
|
|
|
|
```typescript
|
|
interface HospitalizacionService {
|
|
getActivos(): Promise<Hospitalizacion[]>;
|
|
getById(id: string): Promise<Hospitalizacion>;
|
|
ingresar(data: IngresoHospitalizacion): Promise<Hospitalizacion>;
|
|
darAlta(id: string, data: AltaHospitalizacion): Promise<Hospitalizacion>;
|
|
registrarMonitoreo(hospId: string, data: Monitoreo): Promise<Monitoreo>;
|
|
getMonitoreos(hospId: string): Promise<Monitoreo[]>;
|
|
getEspaciosDisponibles(): Promise<Espacio[]>;
|
|
}
|
|
|
|
interface IngresoHospitalizacion {
|
|
mascotaId: string;
|
|
veterinarioId: string;
|
|
consultationId?: string;
|
|
motivoIngreso: string;
|
|
diagnosticoIngreso?: string;
|
|
area: string;
|
|
numeroJaula?: string;
|
|
}
|
|
|
|
interface Monitoreo {
|
|
fechaHora: Date;
|
|
pesoKg?: number;
|
|
temperatura?: number;
|
|
frecuenciaCardiaca?: number;
|
|
frecuenciaRespiratoria?: number;
|
|
comio: boolean;
|
|
bebioAgua: boolean;
|
|
orino: boolean;
|
|
defeco: boolean;
|
|
consistenciaHeces?: string;
|
|
estadoAnimo?: string;
|
|
nivelDolor?: number;
|
|
observaciones?: string;
|
|
}
|
|
```
|
|
|
|
## Flujos
|
|
|
|
### Ingresar Paciente
|
|
|
|
```
|
|
1. Veterinario decide hospitalizar
|
|
2. Crear registro de hospitalizacion:
|
|
- Motivo de ingreso
|
|
- Diagnostico inicial
|
|
- Indicaciones
|
|
3. Verificar disponibilidad de espacios
|
|
4. Asignar jaula/kennel
|
|
5. Registrar monitoreo inicial
|
|
6. Notificar a propietario
|
|
7. Configurar frecuencia de monitoreo
|
|
```
|
|
|
|
### Monitoreo Periodico
|
|
|
|
```
|
|
Cada X horas (configurable por estado):
|
|
1. Auxiliar va a jaula
|
|
2. Pesar mascota (si aplica)
|
|
3. Tomar temperatura
|
|
4. Registrar signos vitales
|
|
5. Verificar alimentacion/eliminacion
|
|
6. Evaluar estado de animo y dolor
|
|
7. Notas de observacion
|
|
8. Guardar en sistema
|
|
9. Alertar si valores anormales
|
|
```
|
|
|
|
### Dar de Alta
|
|
|
|
```
|
|
1. Veterinario evalua condicion
|
|
2. Decide dar de alta
|
|
3. Registrar diagnostico final
|
|
4. Escribir instrucciones para propietario
|
|
5. Cambiar estado a "alta"
|
|
6. Generar resumen de hospitalizacion
|
|
7. Calcular costos totales
|
|
8. Notificar a propietario
|
|
9. Liberar espacio
|
|
```
|
|
|
|
## Panel de Control
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────┐
|
|
│ HOSPITALIZACION - Panel de Control │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ Jaulas Pequenas (8) │ ■ ■ ■ ■ ■ □ □ □ │
|
|
│ Jaulas Grandes (4) │ ■ ■ □ □ │
|
|
│ UCI (2) │ ■ □ │
|
|
│ Kennels (6) │ ■ ■ ■ □ □ □ │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ ■ = Ocupado □ = Disponible │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ PACIENTES ACTIVOS │
|
|
│ ┌─────────────────────────────────────────────────────┐
|
|
│ │ 🐕 Firulais (J-03) | Ingreso: 05/01 | ESTABLE │
|
|
│ │ Ultimo monitoreo: hace 2 horas │
|
|
│ ├─────────────────────────────────────────────────────┤
|
|
│ │ 🐈 Michi (J-07) | Ingreso: 06/01 | EN_TRATAMIENTO │
|
|
│ │ Ultimo monitoreo: hace 4 horas ⚠️ │
|
|
│ ├─────────────────────────────────────────────────────┤
|
|
│ │ 🐕 Rocky (UCI-01) | Ingreso: 07/01 | CRITICO │
|
|
│ │ Ultimo monitoreo: hace 30 min │
|
|
│ └─────────────────────────────────────────────────────┘
|
|
└─────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Frecuencia de Monitoreo
|
|
|
|
| Estado | Frecuencia |
|
|
|--------|------------|
|
|
| critico | Cada 1-2 horas |
|
|
| en_tratamiento | Cada 4 horas |
|
|
| estable | Cada 8 horas |
|
|
| ingresado | Evaluacion inicial |
|
|
|
|
## Costos de Hospitalizacion
|
|
|
|
```typescript
|
|
interface CostosHospitalizacion {
|
|
diasInternado: number;
|
|
costoPorDia: number;
|
|
medicamentos: CostoMedicamento[];
|
|
procedimientos: CostoProcedimiento[];
|
|
estudios: CostoEstudio[];
|
|
subtotal: number;
|
|
descuento?: number;
|
|
total: number;
|
|
}
|
|
```
|
|
|
|
## Entregables
|
|
|
|
| Entregable | Estado | Archivo |
|
|
|------------|--------|---------|
|
|
| DDL hospitalizacion | Completado | `database/schemas/01-veterinaria-schema-ddl.sql` |
|
|
| DDL monitoreo | Completado | `database/schemas/01-veterinaria-schema-ddl.sql` |
|
|
| hospitalizacion.module.ts | Pendiente | `backend/modules/hospitalizacion/` |
|
|
| HospitalizacionPanel.tsx | Pendiente | `frontend/components/` |
|
|
| MonitoreoForm.tsx | Pendiente | `frontend/components/` |
|
|
| EspaciosGrid.tsx | Pendiente | `frontend/components/` |
|
|
|
|
## Dependencias
|
|
|
|
### Depende de
|
|
- VET-001 (Mascotas)
|
|
- clinica.consultations (erp-clinicas)
|
|
- clinica.doctors (erp-clinicas)
|
|
|
|
### Bloquea a
|
|
- Reportes de ocupacion
|
|
- Dashboard gerencial
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
- [ ] Ingreso de pacientes funciona
|
|
- [ ] Asignacion de espacios
|
|
- [ ] Monitoreo se registra
|
|
- [ ] Estados se actualizan
|
|
- [ ] Alta genera resumen
|
|
- [ ] Panel muestra ocupacion
|
|
- [ ] Alertas de monitoreo vencido
|
|
- [ ] Costos se calculan
|
|
|
|
---
|
|
|
|
**Ultima actualizacion:** 2026-01-07
|