From b9ef2e7f594c95cff63dd7280211411ad8e4ec4d Mon Sep 17 00:00:00 2001 From: Sergio Nicolas Lavaise Date: Thu, 16 Apr 2026 11:26:37 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20parser:=20extraer=20primer=20valor=20num?= =?UTF-8?q?=C3=A9rico=20de=20l=C3=ADnea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sections/HistoriaClinica.tsx | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/sections/HistoriaClinica.tsx b/src/sections/HistoriaClinica.tsx index 2637f95..9df5725 100644 --- a/src/sections/HistoriaClinica.tsx +++ b/src/sections/HistoriaClinica.tsx @@ -781,24 +781,25 @@ if (!esUnidadSiguiente) { for (const linea of lineas) { const lineaLower = linea.toLowerCase().trim(); - const valorMatch = linea.replace(/,/g, '.').match(/(\d+\.?\d*)/); + const cleanLinea = linea.replace(/show_chart|list_alt/g, '').replace(/,/g, '.'); + const valores = cleanLinea.match(/(\d+\.?\d*)/g); - if (lineaLower.includes('ph') && !lineaLower.includes('pco2') && !lineaLower.includes('pco') && valorMatch) { - ph = parseFloat(valorMatch[1]); - } else if ((lineaLower.includes('pco2') || lineaLower.includes('pco 2') || lineaLower.includes('pco₂')) && valorMatch) { - pco2 = parseFloat(valorMatch[1]); + if (lineaLower.includes('ph') && !lineaLower.includes('pco2') && !lineaLower.includes('pco') && valores) { + ph = parseFloat(valores[0]); + } else if ((lineaLower.includes('pco2') || lineaLower.includes('pco 2') || lineaLower.includes('pco₂')) && valores) { + pco2 = parseFloat(valores[0]); } else if (lineaLower.includes('po2') || lineaLower.includes('po 2') || lineaLower.includes('po₂')) { - if (valorMatch) po2 = parseFloat(valorMatch[1]); - } else if (lineaLower.includes('hco3') && valorMatch) { - hco3 = parseFloat(valorMatch[1]); + if (valores) po2 = parseFloat(valores[0]); + } else if (lineaLower.includes('hco3') && valores) { + hco3 = parseFloat(valores[0]); } else if (lineaLower.includes('exceso de base') || lineaLower.includes('exceso de bases') || lineaLower.includes('base excess') || lineaLower.includes('be ') || lineaLower.includes('be,')) { - if (valorMatch) be = parseFloat(valorMatch[1]); + if (valores) be = parseFloat(valores[0]); } else if (lineaLower.includes('saturación de oxígeno') || lineaLower.includes('saturación de oxigeno') || lineaLower.includes('sato2') || lineaLower.includes('sat o2')) { - if (valorMatch) sato2 = parseFloat(valorMatch[1]); - } else if (lineaLower.includes('lactato') && valorMatch) { - lactato = parseFloat(valorMatch[1]); + if (valores) sato2 = parseFloat(valores[0]); + } else if (lineaLower.includes('lactato') && valores) { + lactato = parseFloat(valores[0]); } else if (lineaLower.includes('fio2') || lineaLower.includes('fi o2') || lineaLower.includes('fi o₂')) { - if (valorMatch) fio2 = parseFloat(valorMatch[1]); + if (valores) fio2 = parseFloat(valores[0]); } else if (lineaLower.match(/\d{4}-\d{2}-\d{2}/)) { const fechaMatch = lineaLower.match(/(\d{4}-\d{2}-\d{2})/); if (fechaMatch) fecha = fechaMatch[1];