diff --git a/server/server.js b/server/server.js index 040fab8..af899d6 100644 --- a/server/server.js +++ b/server/server.js @@ -222,7 +222,9 @@ try { via TEXT, descripcion TEXT, tipoPlan TEXT, + tipoPlan2 TEXT, cantidadMl INTEGER, + cantidadMl2 INTEGER, tiempoHoras INTEGER, estado TEXT DEFAULT 'Activa', medicoCrea TEXT, @@ -232,6 +234,17 @@ try { ) `); console.log('Tabla indicaciones creada'); + } else { + try { + db.exec("ALTER TABLE indicaciones ADD COLUMN tipoPlan2 TEXT"); + } catch (e) { + // column may already exist + } + try { + db.exec("ALTER TABLE indicaciones ADD COLUMN cantidadMl2 INTEGER"); + } catch (e) { + // column may already exist + } } } catch (e) { console.log('Error tabla indicaciones:', e.message); @@ -389,9 +402,9 @@ if (state.laboratorios?.length) { run('DELETE FROM indicaciones'); if (state.indicaciones?.length) { - const stmt = db.prepare('INSERT INTO indicaciones (id, internacionId, tipo, droga, dosis, frecuenciaHoras, via, descripcion, tipoPlan, cantidadMl, tiempoHoras, estado, medicoCrea, fechaCrea, medicoSuspende, fechaSuspension) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); + const stmt = db.prepare('INSERT INTO indicaciones (id, internacionId, tipo, droga, dosis, frecuenciaHoras, via, descripcion, tipoPlan, tipoPlan2, cantidadMl, cantidadMl2, tiempoHoras, estado, medicoCrea, fechaCrea, medicoSuspende, fechaSuspension) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); for (const ind of state.indicaciones) { - stmt.run(ind.id, ind.internacionId, ind.tipo, ind.droga || null, ind.dosis || null, ind.frecuenciaHoras || null, ind.via || null, ind.descripcion || null, ind.tipoPlan || null, ind.cantidadMl || null, ind.tiempoHoras || null, ind.estado, ind.medicoCrea, ind.fechaCrea, ind.medicoSuspende || null, ind.fechaSuspension || null); + stmt.run(ind.id, ind.internacionId, ind.tipo, ind.droga || null, ind.dosis || null, ind.frecuenciaHoras || null, ind.via || null, ind.descripcion || null, ind.tipoPlan || null, ind.tipoPlan2 || null, ind.cantidadMl || null, ind.cantidadMl2 || null, ind.tiempoHoras || null, ind.estado, ind.medicoCrea, ind.fechaCrea, ind.medicoSuspende || null, ind.fechaSuspension || null); } } diff --git a/src/sections/SeccionIndicaciones.tsx b/src/sections/SeccionIndicaciones.tsx index e388d31..146b958 100644 --- a/src/sections/SeccionIndicaciones.tsx +++ b/src/sections/SeccionIndicaciones.tsx @@ -26,15 +26,17 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat const [frecuenciaHoras, setFrecuenciaHoras] = useState(''); const [via, setVia] = useState('EV'); const [descripcion, setDescripcion] = useState(''); - const [tipoPlan, setTipoPlan] = useState('SolucionFisiologica09'); + const [tipoPlan, setTipoPlan] = useState('SF 0.9%'); + const [tipoPlan2, setTipoPlan2] = useState('Ringer Lactato'); const [cantidadMl, setCantidadMl] = useState(''); + const [cantidadMl2, setCantidadMl2] = useState(''); const [tiempoHoras, setTiempoHoras] = useState(24); const [medico, setMedico] = useState(''); const [showHistorial, setShowHistorial] = useState(false); - const vias: ViaAdministracion[] = ['Oral', 'EV', 'IM', 'SC', 'PorGGT', 'PorSNG']; - const planes: TipoPlanHidratacion[] = ['SolucionFisiologica09', 'Dextrosa5', 'Dextrosa10', 'Dextrosa25', 'RingerLactato']; - const tipos: IndicacionTipo[] = ['Farmacologica', 'NoFarmacologica', 'Hidratacion']; + const vias: ViaAdministracion[] = ['Oral', 'EV', 'IM', 'SC', 'Por GGT', 'Por SNG']; + const planes: TipoPlanHidratacion[] = ['SF 0.9%', 'Dextrosa 5%', 'Dextrosa 10%', 'Dextrosa 25%', 'Ringer Lactato']; + const tipos: IndicacionTipo[] = ['Farmacologica', 'No Farmacologica', 'PHP', 'Paralelo', 'Alterno']; const reset = () => { setEdit(null); @@ -44,8 +46,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat setFrecuenciaHoras(''); setVia('EV'); setDescripcion(''); - setTipoPlan('SolucionFisiologica09'); + setTipoPlan('SF 0.9%'); + setTipoPlan2('Ringer Lactato'); setCantidadMl(''); + setCantidadMl2(''); setTiempoHoras(24); setMedico(''); }; @@ -58,8 +62,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat setFrecuenciaHoras(i.frecuenciaHoras || ''); setVia(i.via || 'EV'); setDescripcion(i.descripcion || ''); - setTipoPlan(i.tipoPlan || 'SolucionFisiologica09'); + setTipoPlan(i.tipoPlan || 'SF 0.9%'); + setTipoPlan2(i.tipoPlan2 || 'Ringer Lactato'); setCantidadMl(i.cantidadMl || ''); + setCantidadMl2(i.cantidadMl2 || ''); setTiempoHoras(i.tiempoHoras || 24); setMedico(i.medicoCrea); setDialog(true); @@ -68,8 +74,9 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat const handleGuardar = () => { if (!medico.trim()) return; if (tipo === 'Farmacologica' && (!droga.trim() || !dosis.trim())) return; - if (tipo === 'NoFarmacologica' && !descripcion.trim()) return; - if (tipo === 'Hidratacion' && !cantidadMl) return; + if (tipo === 'No Farmacologica' && !descripcion.trim()) return; + if ((tipo === 'PHP' || tipo === 'Paralelo') && !cantidadMl) return; + if (tipo === 'Alterno' && (!cantidadMl || !cantidadMl2)) return; const data: any = { internacionId, @@ -84,12 +91,18 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat data.dosis = dosis; data.frecuenciaHoras = frecuenciaHoras || undefined; data.via = via; - } else if (tipo === 'NoFarmacologica') { + } else if (tipo === 'No Farmacologica') { data.descripcion = descripcion; - } else { + } else if (tipo === 'PHP' || tipo === 'Paralelo') { data.tipoPlan = tipoPlan; data.cantidadMl = cantidadMl; data.tiempoHoras = tiempoHoras; + } else if (tipo === 'Alterno') { + data.tipoPlan = tipoPlan; + data.cantidadMl = cantidadMl; + data.tipoPlan2 = tipoPlan2; + data.cantidadMl2 = cantidadMl2; + data.tiempoHoras = tiempoHoras; } if (edit) { @@ -156,11 +169,11 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat )} - {tipo === 'NoFarmacologica' && ( -