// Tipos para el Sistema de Gestión Hospitalaria export interface Paciente { id: string; nombre: string; apellido: string; dni: string; fechaNacimiento: string; sexo: 'M' | 'F' | 'Otro'; telefono: string; email?: string; direccion?: string; grupoSanguineo?: string; alergias?: string; antecedentes?: string; fechaRegistro?: string; obraSocial?: string; nacionalidad?: string; medicacionHabitual?: string; historiaClinica?: string; } export interface Cama { id: string; numero: string; areaId?: string; tipo: 'General' | 'Aislamiento KPC' | 'Aislamiento COVID' | 'Aislamiento Clostridium' | 'Aislamiento Neutropenico'; estado: 'Disponible' | 'Ocupada' | 'Reparacion' | 'Reservada'; pacienteId?: string; internacionId?: string; } export interface Area { id: string; nombre: string; } export interface Internacion { id: string; pacienteId: string; camaId: string; fechaIngresoHospital?: string; fechaIngresoClinica?: string; fechaEgreso?: string; diagnosticoIngreso: string; motivoConsulta?: string; enfermedadActual: string; antecedentesEnfermedadActual?: string; diagnosticoEgreso?: string; medicoIngresante: string; motivoEgreso?: 'Alta médica' | 'Alta voluntaria' | 'Derivación' | 'Fallecimiento' | 'Otro'; activa: boolean; apache?: string; derivacion?: string; } export interface ExamenFisico { SNC?: string; Cardiovascular?: string; Respiratorio?: string; Abdominal?: string; Genitourinario?: string; PielAnexos?: string; SOMA?: string; } export interface Evolucion { id: string; internacionId: string; fecha: string; hora: string; medico: string; signosVitales?: SignosVitales; examenFisico?: ExamenFisico; novedades?: string; comentario?: string; pendientes?: string; } export interface SignosVitales { temperatura?: number; presionSistolica?: number; presionDiastolica?: number; frecuenciaCardiaca?: number; frecuenciaRespiratoria?: number; saturacionO2?: number; glucosa?: number; peso?: number; talla?: number; imc?: number; } export interface Laboratorio { id: string; pacienteId: string; internacionId?: string; fecha: string; hora: string; tipo?: 'Hemograma' | 'Química sanguínea' | 'Urianálisis' | 'Coagulación' | 'Microbiología' | 'Inmunología' | 'Otros'; resultados: ResultadoLaboratorio[]; observaciones?: string; medicoSolicitante?: string; } export interface ResultadoLaboratorio { parametro: string; valor: number | string; unidad: string; valorReferencia?: string; estado: 'Normal' | 'Alto' | 'Bajo' | 'Crítico'; } export interface AcidoBase { id: string; pacienteId: string; internacionId?: string; fecha: string; hora: string; ph: number; pco2: number; po2: number; hco3: number; be: number; sato2: number; lactato?: number; fio2?: number; interpretacion?: string; } export interface Cultivo { id: string; pacienteId: string; internacionId?: string; fechaToma: string; protocolo?: string; fechaResultado?: string; tipoMuestra: 'HMCx2' | 'RC' | 'PC' | 'UC' | 'LCR' | 'LP' | 'LAsc' | 'LAbd' | 'Coleccion'; germen?: string; sensible?: string; resistente?: string; estado: 'NAF/Pendiente' | 'Parcial' | 'Positivo' | 'Negativo'; observaciones?: string; } export interface EstudioComplementario { id: string; pacienteId: string; internacionId?: string; fecha: string; tipo: string; resultado: string; } export interface Interconsulta { id: string; pacienteId: string; internacionId: string; fecha: string; servicioInterconsultado: string; motivo?: string; respuestaInterconsulta?: string; respuestaFecha?: string; } export interface ATB { id: string; pacienteId: string; internacionId: string; antibiotico: string; fechaInicio: string; fechaFinalizacion?: string; } export type IndicacionTipo = 'Farmacologica' | 'No Farmacologica' | 'PHP' | 'Paralelo' | 'Alterno'; export type ViaAdministracion = 'Oral' | 'EV' | 'IM' | 'SC' | 'Por GGT' | 'Por SNG'; export type TipoPlanHidratacion = 'SF 0.9%' | 'Dextrosa 5%' | 'Dextrosa 10%' | 'Dextrosa 25%' | 'Ringer Lactato'; export interface Indicacion { id: string; internacionId: string; tipo: IndicacionTipo; droga?: string; dosis?: string; frecuenciaHoras?: number; via?: ViaAdministracion; descripcion?: string; tipoPlan?: TipoPlanHidratacion; tipoPlan2?: TipoPlanHidratacion; cantidadMl?: number; cantidadMl2?: number; tiempoHoras?: number; estado: 'Activa' | 'Suspendida'; medicoCrea: string; fechaCrea: string; medicoModifica?: string; fechaModificacion?: string; medicoSuspende?: string; fechaSuspension?: string; } export type Vista = 'dashboard' | 'camas' | 'pacientes' | 'internaciones' | 'evoluciones' | 'laboratorios' | 'acidobase' | 'cultivos' | 'historiaclinica' | 'nuevoingreso' | 'editaringreso';