codigo0/dist/assets/ShockSepticPathway-OevyubcK.js

2 lines
5.8 KiB
JavaScript
Raw Normal View History

import{r as n,j as e,a as E}from"./0-vendor-react-DWOJpYrt.js";import{u as I,L as D}from"./page-herramientas-DcKR8MlC.js";import{B as v}from"./page-ajustes-DgawOEJM.js";import{C as u,c as h,d as x,e as f,I as R}from"./page-comunicacion-DmHQUHoW.js";import{f as T,C as F,g as M}from"./timers-DtW-cs9v.js";import"./1-vendor-utils-Delnuc0l.js";import"./2-vendor-markdown-BQlHAcA7.js";const w=[{id:"reconocimiento",title:"Reconocimiento",description:"Identifica sepsis o shock séptico de forma precoz.",steps:[{id:"recon-infeccion",title:"Sospecha de infección",description:"Foco probable + fiebre/hipotermia, taquicardia o taquipnea."},{id:"recon-disfuncion",title:"Disfunción orgánica",description:"Alteración del estado mental, FR elevada, hipotensión o hipoxemia."},{id:"recon-qsofa",title:"Cribado rápido",description:"qSOFA ≥ 2 o signos de hipoperfusión."}]},{id:"acciones",title:"Acciones inmediatas (0-15 min)",description:"Estabiliza y prepara tratamiento.",steps:[{id:"acci-abcde",title:"ABCDE + monitorización",description:"Oxígeno, monitor, vía aérea y control de constantes."},{id:"acci-iv",title:"Vías y analíticas",description:"Dos vías periféricas + extracción para lactato si procede."},{id:"acci-cultivos",title:"Cultivos si es posible",description:"Antes de antibiótico cuando no retrase el inicio."},{id:"acci-fluidos",title:"Iniciar fluidos",description:"Cristaloides 30 ml/kg si hipotensión o lactato ≥ 4."}]},{id:"tratamiento",title:"Tratamiento (15-60 min)",description:"Control del foco y soporte hemodinámico.",steps:[{id:"trat-antibiotico",title:"Antibiótico temprano",description:"Administrar < 1 hora desde reconocimiento."},{id:"trat-vasopresor",title:"Vasopresor si MAP < 65",description:"Tras fluidos, considerar noradrenalina."},{id:"trat-reevaluacion",title:"Reevaluación clínica",description:"TA, FC, relleno capilar, estado mental, diuresis."}]},{id:"traslado",title:"Reevaluación y traslado",description:"Documenta, comunica y prepara el traslado.",steps:[{id:"tras-documentar",title:"Documentar tiempos",description:"Inicio síntomas, antibiótico y volumen administrado."},{id:"tras-comunicar",title:"Comunicación hospitalaria",description:"Preaviso con situación, tiempos y respuesta clínica."},{id:"tras-traslado",title:"Traslado monitorizado",description:"Reevaluar cada 5-10 min durante el transporte."}]}],b="pathway_shock_septico_v1",_=30,r={startedAt:null,completed:{},manualWeightKg:void 0},K=()=>{if(typeof window>"u")return r;try{const a=window.localStorage.getItem(b);if(!a)return r;const m=JSON.parse(a);return{...r,...m}}catch{return r}},O=a=>{if(!(typeof window>"u"))try{window.localStorage.setItem(b,JSON.stringify(a))}catch{}},J=()=>{const{patient:a,hasPatientProperty:m}=I(),[s,c]=n.useState(r),[B,N]=n.useState(Date.now());n.useEffect(()=>{c(K())},[]),n.useEffect(()=>{O(s)},[s]),n.useEffect(()=>{const t=window.setInterval(()=>N(Date.now()),1e3);return()=>window.clearInterval(t)},[]);const d=s.startedAt,S=M(d),p=w.reduce((t,i)=>t+i.steps.length,0),g=Object.values(s.completed).filter(Boolean).length,j=p?Math.round(g/p*100):0,l=m("weight")&&a.weight?a.weight:s.manualWeightKg,y=n.useMemo(()=>l?Math.round(l*_):null,[l]),C=(t,i)=>{c(o=>({...o,completed:{...o.completed,[t]:i}}))},k=()=>{d||c(t=>({...t,startedAt:Date.now()}))},A=()=>{c(r)},P=t=>{const i=Number(t);c(o=>({...o,manualWeightKg:Number.isFinite(i)?i:void 0}))};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:"Pathway shock séptico"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Flujo guiado para reconocimiento, tratamiento inicial y traslado."})]}),e.jsxs(u,{children:[e.jsxs(h,{className:"flex flex-row items-center justify-between space-y-0",children:[e.jsx(x,{className:"text-base",children:"Progreso"}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:[g,"/",p," completados (",j,"%)"]})]}),e.jsxs(f,{className:"space-y-3",children:[e.jsx("div",{className:"h-2 w-full rounded-full