codigo0/dist/assets/VitalsDashboard-ByReykvi.js
planetazuzu 0201f16cf4
Some checks are pending
Auto Deploy to Server / deploy (push) Waiting to run
Update lab configuration 2026-03-22
2026-03-22 22:50:29 +01:00

2 lines
5 KiB
JavaScript
Executable file

import{r as c,j as e,a as F}from"./0-vendor-react-DWOJpYrt.js";import{u as E,a as I,b as O,c as k,d as V,L as l,B as q}from"./page-herramientas-DcKR8MlC.js";import{A as H,b as T,a as w,C as N,c as f,d as C,e as P,I as n}from"./page-comunicacion-DmHQUHoW.js";import{B}from"./page-ajustes-DgawOEJM.js";import"./1-vendor-utils-Delnuc0l.js";import"./2-vendor-markdown-BQlHAcA7.js";const o=s=>{const a=Number(s);return Number.isFinite(a)?a:void 0},A={green:0,amber:1,red:2},M={green:"border-emerald-500/40 text-emerald-300 bg-emerald-500/10",amber:"border-amber-500/40 text-amber-300 bg-amber-500/10",red:"border-red-500/40 text-red-300 bg-red-500/10"},R={green:"Estable",amber:"Vigilancia",red:"Crítico"},L=s=>typeof s!="number"?s:Number.isInteger(s)?s.toString():s.toFixed(2),J=()=>{const{vitals:s,updateVitals:a}=E(),d=c.useMemo(()=>I(s.systolicBP,s.diastolicBP),[s.systolicBP,s.diastolicBP]),u=c.useMemo(()=>O(s.heartRate,s.systolicBP),[s.heartRate,s.systolicBP]),m=c.useMemo(()=>k(s),[s]),p=c.useMemo(()=>V(s),[s]),x=c.useMemo(()=>[d,u,m,p].reduce((i,S)=>A[S.severity]>A[i]?S.severity:i,"green"),[d,u,m,p]),h=typeof p.value=="number"?p.value:null,y=typeof m.value=="number"?m.value:null,g=typeof d.value=="number"?d.value:null,b=typeof u.value=="number"?u.value:null,v=h!==null&&h>=5&&y!==null&&y>=2,j=b!==null&&b>1&&g!==null&&g<65,r=c.useMemo(()=>v?{severity:"red",title:"SOSPECHA SEPSIS GRAVE",description:"NEWS2 ≥ 5 y qSOFA ≥ 2. Valorar activar protocolo de sepsis.",action:{label:"Código Sepsis (próximamente)",disabled:!0}}:j?{severity:"red",title:"SHOCK HIPOTENSIVO",description:"Shock Index > 1 y MAP < 65. Considerar vasopresores.",action:{label:"Ir a Perfusiones",to:"/herramientas",disabled:!1}}:{severity:x,title:`Estado general: ${R[x]}`,description:"Basado en MAP, Shock Index, qSOFA y NEWS2.",action:null},[v,j,x]);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("header",{className:"space-y-2",children:[e.jsx("h1",{className:"text-xl font-semibold text-foreground",children:"Panel de Signos Vitales"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Introduce los signos vitales una sola vez para obtener alertas integradas."})]}),e.jsxs(H,{className:`border ${M[r.severity]}`,children:[e.jsx(T,{className:"text-base",children:r.title}),e.jsxs(w,{className:"flex flex-col gap-3",children:[e.jsx("p",{className:"text-sm",children:r.description}),r.action?r.action.disabled?e.jsx(B,{variant:"outline",disabled:!0,children:r.action.label}):e.jsx(B,{asChild:!0,variant:"outline",children:e.jsx(F,{to:r.action.to,children:r.action.label})}):null]})]}),e.jsxs(N,{children:[e.jsx(f,{children:e.jsx(C,{className:"text-base",children:"Entrada rápida"})}),e.jsxs(P,{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"heartRate",children:"Frecuencia cardiaca (lpm)"}),e.jsx(n,{id:"heartRate",type:"number",inputMode:"numeric",value:s.heartRate??"",onChange:t=>a({heartRate:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"systolicBP",children:"TA sistólica (mmHg)"}),e.jsx(n,{id:"systolicBP",type:"number",inputMode:"numeric",value:s.systolicBP??"",onChange:t=>a({systolicBP:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"diastolicBP",children:"TA diastólica (mmHg)"}),e.jsx(n,{id:"diastolicBP",type:"number",inputMode:"numeric",value:s.diastolicBP??"",onChange:t=>a({diastolicBP:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"respiratoryRate",children:"Frecuencia respiratoria (rpm)"}),e.jsx(n,{id:"respiratoryRate",type:"number",inputMode:"numeric",value:s.respiratoryRate??"",onChange:t=>a({respiratoryRate:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"temperatureC",children:"Temperatura (°C)"}),e.jsx(n,{id:"temperatureC",type:"number",inputMode:"decimal",step:"0.1",value:s.temperatureC??"",onChange:t=>a({temperatureC:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"oxygenSaturation",children:"SpO₂ (%)"}),e.jsx(n,{id:"oxygenSaturation",type:"number",inputMode:"numeric",value:s.oxygenSaturation??"",onChange:t=>a({oxygenSaturation:o(t.target.value)})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(l,{htmlFor:"gcs",children:"Glasgow (GCS)"}),e.jsx(n,{id:"gcs",type:"number",inputMode:"numeric",value:s.gcs??"",onChange:t=>a({gcs:o(t.target.value)})})]})]})]}),e.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[{title:"MAP",result:d},{title:"Shock Index",result:u},{title:"qSOFA",result:m},{title:"NEWS2",result:p}].map(({title:t,result:i})=>e.jsxs(N,{children:[e.jsxs(f,{className:"flex flex-row items-center justify-between space-y-0",children:[e.jsx(C,{className:"text-base",children:t}),e.jsx(q,{className:`border ${M[i.severity]}`,children:R[i.severity]})]}),e.jsxs(P,{className:"space-y-2",children:[e.jsx("div",{className:"text-2xl font-semibold",children:L(i.value)}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i.interpretation})]})]},t))})]})};export{J as default};