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:
+24
-1
@@ -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 });
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user