Agregar estudios complementarios en HC

- Agregar tabla estudiosComplementarios en SQLite y API
- Agregar interface EstudioComplementario en tipos
- Agregar funciones en store para gestionar estudios
- Nuevo tab en HistoriaClinica con filtro por internacion/todos
- Fix tema dark mode (colores black en lugar de blue)
This commit is contained in:
2026-04-16 01:22:15 -03:00
parent 60c123fac6
commit 97adfd08b7
6 changed files with 274 additions and 54 deletions
+24 -1
View File
@@ -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,12 @@ try {
// 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 +192,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
};
@@ -245,12 +261,19 @@ app.put('/api/state', (req, res) => {
}
if (state.cultivos?.length) {
const stmt = db.prepare('INSERT INTO cultivos (id, pacienteId, internacionId, fechaToma, protocolo, tipoMuestra, observaciones, estado, fechaResultado, germen, sensible, resistente) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
const stmt = db.prepare('INSERT INTO cultivos (id, pacienteId, internacionId, fechaToma, protocolo, tipoMuestra, observaciones, estado, fechaResultado, germen, culpable, 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 });
});