Add modification tracking to Indicaciones history
This commit is contained in:
+12
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}}>
|
||||
<X className="h-4 w-4" />
|
||||
</Button>
|
||||
<Button size="sm" variant="outline" className="text-blue-600" onClick={() => {
|
||||
const med = prompt('Médico que modifica:');
|
||||
if (med) handleModificar(ind, med);
|
||||
}}>
|
||||
<Pencil className="h-4 w-4" />
|
||||
</Button>
|
||||
<Button size="sm" variant="outline" onClick={() => loadEdit(ind)}>
|
||||
<Pencil className="h-4 w-4" />
|
||||
</Button>
|
||||
@@ -258,8 +271,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead>Fecha</TableHead>
|
||||
<TableHead>Indicado por</TableHead>
|
||||
<TableHead>Fecha Creación</TableHead>
|
||||
<TableHead>Creado por</TableHead>
|
||||
<TableHead>Última Modificación</TableHead>
|
||||
<TableHead>Modificado por</TableHead>
|
||||
<TableHead>Fecha Suspensión</TableHead>
|
||||
<TableHead>Suspendido por</TableHead>
|
||||
<TableHead>Indicación</TableHead>
|
||||
@@ -270,8 +285,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
|
||||
<TableRow key={ind.id}>
|
||||
<TableCell>{ind.fechaCrea}</TableCell>
|
||||
<TableCell>{ind.medicoCrea}</TableCell>
|
||||
<TableCell>{ind.fechaSuspension}</TableCell>
|
||||
<TableCell>{ind.medicoSuspende}</TableCell>
|
||||
<TableCell>{ind.fechaModificacion || '-'}</TableCell>
|
||||
<TableCell>{ind.medicoModifica || '-'}</TableCell>
|
||||
<TableCell>{ind.fechaSuspension || '-'}</TableCell>
|
||||
<TableCell>{ind.medicoSuspende || '-'}</TableCell>
|
||||
<TableCell>
|
||||
{ind.tipo === 'Farmacologica' && `${ind.droga} ${ind.dosis} ${ind.frecuenciaHoras ? `c/${ind.frecuenciaHoras}hs` : ''} ${ind.via}`}
|
||||
{ind.tipo === 'No Farmacologica' && ind.descripcion}
|
||||
|
||||
@@ -193,6 +193,8 @@ export interface Indicacion {
|
||||
estado: 'Activa' | 'Suspendida';
|
||||
medicoCrea: string;
|
||||
fechaCrea: string;
|
||||
medicoModifica?: string;
|
||||
fechaModificacion?: string;
|
||||
medicoSuspende?: string;
|
||||
fechaSuspension?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user