clinica-veterinaria/docs/01-epicas/VET-004-hospitalizacion.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

8.7 KiB

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

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

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