# 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; getById(id: string): Promise; ingresar(data: IngresoHospitalizacion): Promise; darAlta(id: string, data: AltaHospitalizacion): Promise; registrarMonitoreo(hospId: string, data: Monitoreo): Promise; getMonitoreos(hospId: string): Promise; getEspaciosDisponibles(): Promise; } 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