From 9b3879404352a7a6a834c93d152308df38df979b Mon Sep 17 00:00:00 2001 From: Sergio Nicolas Lavaise Date: Tue, 21 Apr 2026 16:26:39 -0300 Subject: [PATCH] Add modification tracking to Indicaciones history --- server/server.js | 14 ++++++++++++-- src/sections/SeccionIndicaciones.tsx | 25 +++++++++++++++++++++---- src/types/index.ts | 2 ++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/server/server.js b/server/server.js index af899d6..6165059 100644 --- a/server/server.js +++ b/server/server.js @@ -245,6 +245,16 @@ try { } catch (e) { // column may already exist } + try { + db.exec("ALTER TABLE indicaciones ADD COLUMN medicoModifica TEXT"); + } catch (e) { + // column may already exist + } + try { + db.exec("ALTER TABLE indicaciones ADD COLUMN fechaModificacion TEXT"); + } catch (e) { + // column may already exist + } } } catch (e) { console.log('Error tabla indicaciones:', e.message); @@ -402,9 +412,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, tipoPlan2, cantidadMl, cantidadMl2, 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, medicoModifica, fechaModificacion, 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.tipoPlan2 || null, ind.cantidadMl || null, ind.cantidadMl2 || 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.medicoModifica || null, ind.fechaModificacion || null, ind.medicoSuspende || null, ind.fechaSuspension || null); } } diff --git a/src/sections/SeccionIndicaciones.tsx b/src/sections/SeccionIndicaciones.tsx index 09460a7..19e6d7b 100644 --- a/src/sections/SeccionIndicaciones.tsx +++ b/src/sections/SeccionIndicaciones.tsx @@ -122,6 +122,13 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat }); }; + const handleModificar = (i: Indicacion, modificoMedico: string) => { + update(i.id, { + medicoModifica: modificoMedico, + fechaModificacion: new Date().toISOString().split('T')[0], + }); + }; + const indsFilter = list.filter(ind => ind.internacionId === internacionId); const activas = indsFilter.filter(ind => ind.estado === 'Activa'); const historial = indsFilter.filter(ind => ind.estado === 'Suspendida'); @@ -239,6 +246,12 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat }}> + @@ -258,8 +271,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat - Fecha - Indicado por + Fecha Creación + Creado por + Última Modificación + Modificado por Fecha Suspensión Suspendido por Indicación @@ -270,8 +285,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat {ind.fechaCrea} {ind.medicoCrea} - {ind.fechaSuspension} - {ind.medicoSuspende} + {ind.fechaModificacion || '-'} + {ind.medicoModifica || '-'} + {ind.fechaSuspension || '-'} + {ind.medicoSuspende || '-'} {ind.tipo === 'Farmacologica' && `${ind.droga} ${ind.dosis} ${ind.frecuenciaHoras ? `c/${ind.frecuenciaHoras}hs` : ''} ${ind.via}`} {ind.tipo === 'No Farmacologica' && ind.descripcion} diff --git a/src/types/index.ts b/src/types/index.ts index defc5d0..6af25f4 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -193,6 +193,8 @@ export interface Indicacion { estado: 'Activa' | 'Suspendida'; medicoCrea: string; fechaCrea: string; + medicoModifica?: string; + fechaModificacion?: string; medicoSuspende?: string; fechaSuspension?: string; }