Files
administracionHospital/src/types/index.ts
T

203 lines
4.8 KiB
TypeScript

// 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';