From 6bed6e9a1ac3ea16845f38e3ebfb54b23b858f8e Mon Sep 17 00:00:00 2001 From: Santiago Lavaise Date: Wed, 15 Apr 2026 00:41:22 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20edici=C3=B3n=20laboratorio,=20agregar=20i?= =?UTF-8?q?cons=20a=20formularios,=20protocolo=20en=20cultivos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sections/Cultivos.tsx | 12 +++++ src/sections/Dashboard.tsx | 2 +- src/sections/HistoriaClinica.tsx | 76 +++++++++++++++++++++++++++----- 3 files changed, 77 insertions(+), 13 deletions(-) diff --git a/src/sections/Cultivos.tsx b/src/sections/Cultivos.tsx index cd75489..6b05603 100644 --- a/src/sections/Cultivos.tsx +++ b/src/sections/Cultivos.tsx @@ -97,6 +97,7 @@ export function Cultivos({ if (cultivoSeleccionado && onActualizarCultivo && germen) { onActualizarCultivo(cultivoSeleccionado.id, { estado: 'Parcial', + protocolo: protocolo || undefined, germen: germen || undefined, sensible: sensible || undefined, resistente: resistente || undefined, @@ -110,6 +111,7 @@ export function Cultivos({ if (cultivoSeleccionado && onActualizarCultivo) { onActualizarCultivo(cultivoSeleccionado.id, { fechaResultado, + protocolo: protocolo || undefined, estado: estadoResultado, germen: germen || undefined, sensible: sensible || undefined, @@ -122,6 +124,7 @@ export function Cultivos({ const abrirParcial = (cultivo: Cultivo) => { setCultivoSeleccionado(cultivo); + setProtocolo(cultivo.protocolo || ''); setGermen(cultivo.germen || ''); setSensible(cultivo.sensible || ''); setResistente(cultivo.resistente || ''); @@ -130,6 +133,7 @@ export function Cultivos({ const abrirDefinitivo = (cultivo: Cultivo) => { setCultivoSeleccionado(cultivo); + setProtocolo(cultivo.protocolo || ''); setFechaResultado(cultivo.fechaResultado || new Date().toISOString().split('T')[0]); setEstadoResultado(cultivo.estado === 'Parcial' || cultivo.estado === 'Positivo' ? 'Positivo' : cultivo.estado); setGermen(cultivo.germen || ''); @@ -285,6 +289,10 @@ export function Cultivos({

Resultado Parcial - Sujeto a modificación

Ingrese resultado parcial. Esto puede modificarse posteriormente.

+
+ + setProtocolo(e.target.value)} placeholder="N° Protocolo" /> +
setGermen(e.target.value)} placeholder="Ej: Staphylococcus aureus" /> @@ -334,6 +342,10 @@ export function Cultivos({
+
+ + setProtocolo(e.target.value)} placeholder="N° Protocolo" /> +
{estadoResultado === 'Positivo' && ( <> diff --git a/src/sections/Dashboard.tsx b/src/sections/Dashboard.tsx index 3040c6f..b9b37b0 100644 --- a/src/sections/Dashboard.tsx +++ b/src/sections/Dashboard.tsx @@ -95,7 +95,7 @@ export function Dashboard({ {estadisticas.camasFueraDeArea}

- outside of active service + Camas Fuera de Area

diff --git a/src/sections/HistoriaClinica.tsx b/src/sections/HistoriaClinica.tsx index 4341436..ed204d6 100644 --- a/src/sections/HistoriaClinica.tsx +++ b/src/sections/HistoriaClinica.tsx @@ -21,7 +21,8 @@ import { Heart, Wind, Droplets, - Save + Save, + X } from 'lucide-react'; import { Card, CardContent } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; @@ -544,6 +545,11 @@ function SeccionLaboratorios({ lab, patientId, add, update, del }: { return r ? `${r.valor}` : '-'; }; + const getValorRaw = (l: Laboratorio, param: string) => { + const r = l.resultados.find(r => r.parametro === param); + return r ? `${r.valor}` : ''; + }; + const getValorStyle = (l: Laboratorio, param: string) => { const r = l.resultados.find(r => r.parametro === param); if (!r) return ''; @@ -586,6 +592,30 @@ function SeccionLaboratorios({ lab, patientId, add, update, del }: { setEdit(null); }; + const loadEdit = (l: Laboratorio) => { + setEdit(l); + setFecha(l.fecha); + setObservaciones(l.observaciones || ''); + setHto(getValorRaw(l, 'Hematocrito')); + setHb(getValorRaw(l, 'Hemoglobina')); + setGb(getValorRaw(l, 'Leucocitos')); + setPlaq(getValorRaw(l, 'Plaquetas')); + setGluc(getValorRaw(l, 'Glucemia')); + setUrea(getValorRaw(l, 'Urea')); + setCreat(getValorRaw(l, 'Creatinina')); + setNa(getValorRaw(l, 'Sodio')); + setK(getValorRaw(l, 'Potasio')); + setCl(getValorRaw(l, 'Cloro')); + setBt(getValorRaw(l, 'Bilirrubina Total')); + setBd(getValorRaw(l, 'Bilirrubina Directa')); + setGot(getValorRaw(l, 'GOT')); + setGpt(getValorRaw(l, 'GPT')); + setTp(getValorRaw(l, 'Tiempo de Protrombina')); + setKptt(getValorRaw(l, 'KPTT')); + setRin(getValorRaw(l, 'INR')); + setDialog(true); + }; + const handleGuardar = () => { const resultadosLaboratorio = buildResultados(); if (edit) { @@ -659,7 +689,7 @@ function SeccionLaboratorios({ lab, patientId, add, update, del }: {