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