Add modification tracking to Indicaciones history
This commit is contained in:
+12
-2
@@ -245,6 +245,16 @@ try {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
// column may already exist
|
// 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) {
|
} catch (e) {
|
||||||
console.log('Error tabla indicaciones:', e.message);
|
console.log('Error tabla indicaciones:', e.message);
|
||||||
@@ -402,9 +412,9 @@ if (state.laboratorios?.length) {
|
|||||||
|
|
||||||
run('DELETE FROM indicaciones');
|
run('DELETE FROM indicaciones');
|
||||||
if (state.indicaciones?.length) {
|
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) {
|
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 indsFilter = list.filter(ind => ind.internacionId === internacionId);
|
||||||
const activas = indsFilter.filter(ind => ind.estado === 'Activa');
|
const activas = indsFilter.filter(ind => ind.estado === 'Activa');
|
||||||
const historial = indsFilter.filter(ind => ind.estado === 'Suspendida');
|
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" />
|
<X className="h-4 w-4" />
|
||||||
</Button>
|
</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)}>
|
<Button size="sm" variant="outline" onClick={() => loadEdit(ind)}>
|
||||||
<Pencil className="h-4 w-4" />
|
<Pencil className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
@@ -258,8 +271,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
|
|||||||
<Table>
|
<Table>
|
||||||
<TableHeader>
|
<TableHeader>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableHead>Fecha</TableHead>
|
<TableHead>Fecha Creación</TableHead>
|
||||||
<TableHead>Indicado por</TableHead>
|
<TableHead>Creado por</TableHead>
|
||||||
|
<TableHead>Última Modificación</TableHead>
|
||||||
|
<TableHead>Modificado por</TableHead>
|
||||||
<TableHead>Fecha Suspensión</TableHead>
|
<TableHead>Fecha Suspensión</TableHead>
|
||||||
<TableHead>Suspendido por</TableHead>
|
<TableHead>Suspendido por</TableHead>
|
||||||
<TableHead>Indicación</TableHead>
|
<TableHead>Indicación</TableHead>
|
||||||
@@ -270,8 +285,10 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
|
|||||||
<TableRow key={ind.id}>
|
<TableRow key={ind.id}>
|
||||||
<TableCell>{ind.fechaCrea}</TableCell>
|
<TableCell>{ind.fechaCrea}</TableCell>
|
||||||
<TableCell>{ind.medicoCrea}</TableCell>
|
<TableCell>{ind.medicoCrea}</TableCell>
|
||||||
<TableCell>{ind.fechaSuspension}</TableCell>
|
<TableCell>{ind.fechaModificacion || '-'}</TableCell>
|
||||||
<TableCell>{ind.medicoSuspende}</TableCell>
|
<TableCell>{ind.medicoModifica || '-'}</TableCell>
|
||||||
|
<TableCell>{ind.fechaSuspension || '-'}</TableCell>
|
||||||
|
<TableCell>{ind.medicoSuspende || '-'}</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
{ind.tipo === 'Farmacologica' && `${ind.droga} ${ind.dosis} ${ind.frecuenciaHoras ? `c/${ind.frecuenciaHoras}hs` : ''} ${ind.via}`}
|
{ind.tipo === 'Farmacologica' && `${ind.droga} ${ind.dosis} ${ind.frecuenciaHoras ? `c/${ind.frecuenciaHoras}hs` : ''} ${ind.via}`}
|
||||||
{ind.tipo === 'No Farmacologica' && ind.descripcion}
|
{ind.tipo === 'No Farmacologica' && ind.descripcion}
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ export interface Indicacion {
|
|||||||
estado: 'Activa' | 'Suspendida';
|
estado: 'Activa' | 'Suspendida';
|
||||||
medicoCrea: string;
|
medicoCrea: string;
|
||||||
fechaCrea: string;
|
fechaCrea: string;
|
||||||
|
medicoModifica?: string;
|
||||||
|
fechaModificacion?: string;
|
||||||
medicoSuspende?: string;
|
medicoSuspende?: string;
|
||||||
fechaSuspension?: string;
|
fechaSuspension?: string;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user