From 599bb4278acf66bfaa6b9f6402e3b80edf13c682 Mon Sep 17 00:00:00 2001 From: Sergio Nicolas Lavaise Date: Thu, 16 Apr 2026 02:07:06 -0300 Subject: [PATCH] Agregar tabla estudiosComplementarios y migrations faltantes --- server/server.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/server/server.js b/server/server.js index d745d77..6447bcb 100644 --- a/server/server.js +++ b/server/server.js @@ -121,6 +121,15 @@ db.exec(` estado TEXT DEFAULT 'NAF/Pendiente', observaciones TEXT ); + + CREATE TABLE IF NOT EXISTS estudiosComplementarios ( + id TEXT PRIMARY KEY, + pacienteId TEXT NOT NULL, + internacionId TEXT, + fecha TEXT, + tipo TEXT, + resultado TEXT + ); `); try { @@ -129,6 +138,18 @@ try { // La columna ya existe } +try { + db.exec("ALTER TABLE acidosbase ADD COLUMN fio2 REAL"); +} catch (e) { + // La columna ya existe +} + +try { + db.exec("ALTER TABLE laboratorios ADD COLUMN internacionId TEXT"); +} catch (e) { + // La columna ya existe +} + const app = express(); app.use(cors()); app.use(express.json({ limit: '50mb' })); @@ -177,6 +198,7 @@ app.get('/api/state', (req, res) => { laboratorios: queryAll('SELECT * FROM laboratorios').map(l => ({ ...l, resultados: typeof l.resultados === 'string' ? JSON.parse(l.resultados) : l.resultados })), acidosBase: queryAll('SELECT * FROM acidosbase'), cultivos: queryAll('SELECT * FROM cultivos'), + estudiosComplementarios: queryAll('SELECT * FROM estudiosComplementarios'), vistaActual: 'dashboard', currentInternacionId: null }; @@ -189,11 +211,13 @@ app.put('/api/state', (req, res) => { run('DELETE FROM evoluciones'); run('DELETE FROM acidosbase'); run('DELETE FROM cultivos'); + run('DELETE FROM laboratoriumes'); run('DELETE FROM laboratorios'); run('DELETE FROM internaciones'); run('DELETE FROM camas'); run('DELETE FROM areas'); run('DELETE FROM pacientes'); + run('DELETE FROM estudiosComplementarios'); if (state.pacientes?.length) { const stmt = db.prepare('INSERT INTO pacientes (id, apellido, nombre, dni, fechaNacimiento, sexo, telefono, email, direccion, obraSocial, nacionalidad, medicacionHabitual, antecedentes, alergias, grupoSanguineo, historiaClinica) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); @@ -244,13 +268,20 @@ if (state.acidosBase?.length) { } } - if (state.cultivos?.length) { - const stmt = db.prepare('INSERT INTO cultivos (id, pacienteId, internacionId, fechaToma, protocolo, tipoMuestra, observaciones, estado, fechaResultado, germen, sensible, resistente) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); +if (state.cultivos?.length) { + const stmt = db.prepare('INSERT INTO cultivos (id, pacienteId, internacionId, fechaToma, protocolo, tipoMuestra, observaciones, estado, fechaResultado, germen, sensible, resistente) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); for (const c of state.cultivos) { stmt.run(c.id, c.pacienteId, c.internacionId, c.fechaToma, c.protocolo, c.tipoMuestra, c.observaciones, c.estado, c.fechaResultado, c.germen, c.sensible, c.resistente); } } + if (state.estudiosComplementarios?.length) { + const stmt = db.prepare('INSERT INTO estudiosComplementarios (id, pacienteId, internacionId, fecha, tipo, resultado) VALUES (?, ?, ?, ?, ?, ?)'); + for (const e of state.estudiosComplementarios) { + stmt.run(e.id, e.pacienteId, e.internacionId || null, e.fecha, e.tipo, e.resultado); + } + } + res.json({ ok: true }); });