From f91964febe7a73bf6544f4ca98e945a4c9d636ff Mon Sep 17 00:00:00 2001 From: Sergio Nicolas Lavaise Date: Tue, 14 Apr 2026 21:50:57 -0300 Subject: [PATCH] =?UTF-8?q?Agregar=20columna=20historiaClinica=20a=20pacie?= =?UTF-8?q?ntes=20con=20migraci=C3=B3n=20segura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.js | 29 +++++++++++++++++++---------- src/sections/Pacientes.tsx | 13 +++++++++++++ src/types/index.ts | 1 + 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/server/server.js b/server/server.js index 316691f..9608dbb 100644 --- a/server/server.js +++ b/server/server.js @@ -83,23 +83,26 @@ db.exec(` CREATE TABLE IF NOT EXISTS laboratorios ( id TEXT PRIMARY KEY, pacienteId TEXT NOT NULL, + internacionId TEXT, fecha TEXT NOT NULL, tipo TEXT, resultados TEXT, - observaciones TEXT + observaciones TEXT, + medicoSolicitante TEXT ); CREATE TABLE IF NOT EXISTS acidosbase ( id TEXT PRIMARY KEY, pacienteId TEXT NOT NULL, + internacionId TEXT, fecha TEXT NOT NULL, - hora TEXT NOT NULL, + hora TEXT, ph REAL, pco2 REAL, po2 REAL, hco3 REAL, be REAL, - statO2 REAL, + sato2 REAL, lactato REAL, interpretacion TEXT ); @@ -108,18 +111,24 @@ db.exec(` id TEXT PRIMARY KEY, pacienteId TEXT NOT NULL, internacionId TEXT, - fechaToma TEXT NOT NULL, + fechaToma TEXT, protocolo TEXT, - tipoMuestra TEXT, - observaciones TEXT, - estado TEXT DEFAULT 'Pendiente', fechaResultado TEXT, + tipoMuestra TEXT, germen TEXT, sensible TEXT, - resistente TEXT + resistente TEXT, + estado TEXT DEFAULT 'NAF/Pendiente', + observaciones TEXT ); `); +try { + db.exec("ALTER TABLE pacientes ADD COLUMN historiaClinica TEXT"); +} catch (e) { + // La columna ya existe +} + const app = express(); app.use(cors()); app.use(express.json({ limit: '50mb' })); @@ -187,9 +196,9 @@ app.put('/api/state', (req, res) => { run('DELETE FROM pacientes'); 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) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); + const stmt = db.prepare('INSERT INTO pacientes (id, apellido, nombre, dni, fechaNacimiento, sexo, telefono, email, direccion, obraSocial, nacionalidad, medicacionHabitual, antecedentes, alergias, grupoSanguineo, historiaClinica) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); for (const p of state.pacientes) { - stmt.run(p.id, p.apellido, p.nombre, p.dni, p.fechaNacimiento || null, p.sexo || null, p.telefono || null, p.email || null, p.direccion || null, p.obraSocial || null, p.nacionalidad || null, p.medicacionHabitual || null, p.antecedentes || null, p.alergias || null, p.grupoSanguineo || null); + stmt.run(p.id, p.apellido, p.nombre, p.dni, p.fechaNacimiento || null, p.sexo || null, p.telefono || null, p.email || null, p.direccion || null, p.obraSocial || null, p.nacionalidad || null, p.medicacionHabitual || null, p.antecedentes || null, p.alergias || null, p.grupoSanguineo || null, p.historiaClinica || null); } } diff --git a/src/sections/Pacientes.tsx b/src/sections/Pacientes.tsx index 522d720..06a15ad 100644 --- a/src/sections/Pacientes.tsx +++ b/src/sections/Pacientes.tsx @@ -44,6 +44,7 @@ export function Pacientes({ const [obraSocial, setObraSocial] = useState(''); const [nacionalidad, setNacionalidad] = useState(''); const [medicacionHabitual, setMedicacionHabitual] = useState(''); + const [historiaClinica, setHistoriaClinica] = useState(''); const resetFormulario = () => { setNombre(''); @@ -60,6 +61,7 @@ export function Pacientes({ setObraSocial(''); setNacionalidad(''); setMedicacionHabitual(''); + setHistoriaClinica(''); setPacienteEditando(null); }; @@ -79,6 +81,7 @@ export function Pacientes({ setObraSocial(paciente.obraSocial || ''); setNacionalidad(paciente.nacionalidad || ''); setMedicacionHabitual(paciente.medicacionHabitual || ''); + setHistoriaClinica(paciente.historiaClinica || ''); setDialogoAbierto(true); }; @@ -100,6 +103,7 @@ export function Pacientes({ obraSocial: obraSocial || undefined, nacionalidad: nacionalidad || undefined, medicacionHabitual: medicacionHabitual || undefined, + historiaClinica: historiaClinica || undefined, }; if (pacienteEditando) { @@ -286,6 +290,15 @@ export function Pacientes({ placeholder="Medicación habitual del paciente..." /> +
+ +