Small ppt presentation on inotrope and vasopressor escalation, up and down titration

Reading File
Reading File
Searching PubMed

vasopressors inotropes septic shock

Searching the Web

Surviving Sepsis Campaign 2021 vasopressor norepinephrine vasopressin guidelines

Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/inotrope-vasopressor-ppt/src" "/tmp/workspace/inotrope-vasopressor-ppt/output"

Running Command

python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/inotrope-vasopressor-ppt/src/create_deck.py') p.write_text(r'''from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.dml import MSO_THEME_COLOR OUT='/tmp/workspace/inotrope-vasopressor-ppt/output/Inotrope_Vasopressor_Escalation_Titration.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] # colors NAVY=RGBColor(15,37,61); BLUE=RGBColor(25,98,145); TEAL=RGBColor(12,141,150); GREEN=RGBColor(43,134,96); AMBER=RGBColor(219,143,35); RED=RGBColor(187,63,60); PALE=RGBColor(242,247,250); GREY=RGBColor(80,95,108); LIGHT=RGBColor(220,230,236); WHITE=RGBColor(255,255,255) def rect(slide,x,y,w,h,fill, radius=False, line=None): s=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)) s.fill.solid(); s.fill.fore_color.rgb=fill s.line.color.rgb = line or fill return s def textbox(slide,x,y,w,h,text,size=18,color=NAVY,bold=False,align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP, font='Aptos', margin=.04): b=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=b.text_frame tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin); tf.vertical_anchor=valign lines=text.split('\n') for i,line in enumerate(lines): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line; p.alignment=align p.space_after=Pt(4) for r in p.runs: r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return b def title(slide,kicker,heading,sub=''): rect(slide,0,0,13.333,.22,TEAL) textbox(slide,.62,.42,12,.28,kicker.upper(),11,TEAL,True) textbox(slide,.62,.76,12.0,.55,heading,27,NAVY,True) if sub: textbox(slide,.62,1.35,12,.38,sub,12,GREY) rect(slide,.62,1.82,12.08,.02,LIGHT) def footer(slide,n): textbox(slide,.62,7.12,9,.18,'Adult ICU teaching aid | Use local drug concentrations, targets and escalation policy',8,GREY) textbox(slide,12.15,7.08,.5,.22,str(n),9,TEAL,True,PP_ALIGN.RIGHT) def bullet_box(slide,x,y,w,h,head,items,accent=BLUE): rect(slide,x,y,w,h,WHITE,True,LIGHT); rect(slide,x,y,w,.11,accent) textbox(slide,x+.22,y+.22,w-.44,.3,head,15,NAVY,True) yy=y+.67 for item in items: textbox(slide,x+.24,yy,.16,.25,'•',17,accent,True) textbox(slide,x+.45,yy,w-.66,.42,item,12,GREY) yy+=.58 def arrow(slide,x1,y1,x2,y2,c=TEAL): ln=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2)); ln.line.color.rgb=c; ln.line.width=Pt(2.2); ln.line.end_arrowhead=True # 1 s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.22,TEAL) textbox(s,.75,1.12,11.7,.35,'ADULT ICU QUICK TEACHING DECK',14,RGBColor(119,213,211),True) textbox(s,.75,1.65,10.8,1.25,'Inotrope & Vasopressor\nEscalation and Titration',34,WHITE,True) textbox(s,.78,3.25,8.9,.55,'A physiology-led approach to pressure, flow, and safe weaning',18,RGBColor(213,227,237)) rect(s,.78,4.2,4.4,.68,TEAL,True); textbox(s,.98,4.38,4,.23,'PRESSURE • PERFUSION • REASSESS',11,WHITE,True,PP_ALIGN.CENTER) textbox(s,.78,6.65,11.4,.3,'Educational framework only. Stabilize the cause of shock and follow local ICU protocols.',10,RGBColor(189,209,223)) # 2 s=prs.slides.add_slide(blank); title(s,'1. Before the pump','Confirm shock physiology before escalating','Treat the cause and avoid reflex dose escalation.'); footer(s,2) bullet_box(s,.7,2.12,3.85,3.9,'1 | Is perfusion inadequate?', ['MAP below individualized target','Altered mentation or cool/mottled skin','Oliguria, rising lactate or delayed capillary refill'],TEAL) bullet_box(s,4.75,2.12,3.85,3.9,'2 | Is preload responsive?', ['Give fluid only if likely responsive','Use dynamic assessment where possible','Avoid fluid accumulation and congestion'],BLUE) bullet_box(s,8.8,2.12,3.85,3.9,'3 | What is the phenotype?', ['Vasoplegia: low SVR, low pressure','Pump failure: low output, congestion','Mixed shock: pressure and flow both impaired'],AMBER) textbox(s,.85,6.35,11.6,.38,'Parallel actions: secure access, source control or reperfusion, oxygenation/ventilation, rhythm correction, and bedside echocardiography when available.',12,NAVY,True,PP_ALIGN.CENTER) #3 s=prs.slides.add_slide(blank); title(s,'2. Choose the therapeutic target','Vasopressor for pressure. Inotrope for flow.','A normal MAP alone does not prove adequate cardiac output or tissue perfusion.'); footer(s,3) rect(s,.75,2.2,5.65,3.7,RGBColor(233,246,247),True,TEAL); textbox(s,1.05,2.55,5.0,.4,'VASOPRESSOR',22,TEAL,True,PP_ALIGN.CENTER) textbox(s,1.05,3.12,5.0,.46,'Primary problem: vasodilation / low SVR',15,NAVY,True,PP_ALIGN.CENTER) textbox(s,1.2,3.85,4.75,1.3,'Goal: restore perfusion pressure\nTypical first line: norepinephrine\nMonitor: MAP, HR/rhythm, extremities, ischemia',13,GREY,False,PP_ALIGN.CENTER) rect(s,6.92,2.2,5.65,3.7,RGBColor(247,241,230),True,AMBER); textbox(s,7.22,2.55,5.0,.4,'INOTROPE',22,AMBER,True,PP_ALIGN.CENTER) textbox(s,7.22,3.12,5.0,.46,'Primary problem: low cardiac output',15,NAVY,True,PP_ALIGN.CENTER) textbox(s,7.37,3.85,4.75,1.3,'Goal: improve forward flow\nTypical agent: dobutamine (selected cases)\nMonitor: output, perfusion, tachyarrhythmia, ischemia',13,GREY,False,PP_ALIGN.CENTER) textbox(s,.9,6.35,11.5,.35,'Mixed shock commonly needs both: establish pressure first, then add inotropy only when persistent hypoperfusion with cardiac dysfunction is evident.',12,NAVY,True,PP_ALIGN.CENTER) #4 s=prs.slides.add_slide(blank); title(s,'3. Vasopressor escalation','A practical adult septic/vasoplegic shock pathway','Illustrative sequencing. Use local concentrations and prescribed dose limits.'); footer(s,4) steps=[('1','Norepinephrine','Start early for persistent hypotension after initial resuscitation. Titrate to MAP and perfusion.'),('2','Add vasopressin','If norepinephrine requirement is escalating or target MAP remains unmet. Commonly a fixed-dose adjunct.'),('3','Add epinephrine','If MAP remains inadequate despite norepinephrine + vasopressin, or where it fits the physiology.'),('4','Reframe refractory shock','Echo/hemodynamics, source control, occult bleeding/obstruction, steroids if indicated, specialist input.')] for i,(num,h,body) in enumerate(steps): x=.65+i*3.15; rect(s,x,2.35,2.75,3.25,WHITE,True,LIGHT); rect(s,x+.92,2.05,.9,.55,[TEAL,BLUE,AMBER,RED][i],True); textbox(s,x+.92,2.18,.9,.2,num,13,WHITE,True,PP_ALIGN.CENTER); textbox(s,x+.2,2.83,2.35,.35,h,15,NAVY,True,PP_ALIGN.CENTER); textbox(s,x+.25,3.43,2.25,1.55,body,11,GREY,False,PP_ALIGN.CENTER) if i<3: arrow(s,x+2.78,3.95,x+3.05,3.95) textbox(s,.9,6.25,11.5,.45,'Guideline anchor: norepinephrine first line; add vasopressin rather than only escalating norepinephrine; then consider epinephrine if MAP remains inadequate.',12,NAVY,True,PP_ALIGN.CENTER) #5 s=prs.slides.add_slide(blank); title(s,'4. Inotrope escalation','Do not use an inotrope just to raise the blood pressure','Inotropy is for low-output physiology after adequate volume status and perfusion pressure.'); footer(s,5) for x,h,b,c in [(0.8,'Recognize','Persistent hypoperfusion despite MAP at goal\n+ echo/clinical evidence of cardiac dysfunction',TEAL),(4.75,'Support','Maintain vasopressor support\nAdd dobutamine to norepinephrine, or use epinephrine in selected cases',AMBER),(8.7,'Reassess','Check response promptly: flow/perfusion, lactate trend, urine output, HR/rhythm, ischemia',GREEN)]: rect(s,x,2.2,3.8,3.25,WHITE,True,LIGHT); rect(s,x,2.2,3.8,.12,c); textbox(s,x+.25,2.58,3.25,.35,h,19,NAVY,True,PP_ALIGN.CENTER); textbox(s,x+.38,3.35,3.05,1.35,b,13,GREY,False,PP_ALIGN.CENTER) textbox(s,.9,6.12,11.6,.5,'Stop or reduce if there is no perfusion benefit, or if tachyarrhythmia, myocardial ischemia, hypotension, or worsening dynamic obstruction occurs.',13,RED,True,PP_ALIGN.CENTER) #6 s=prs.slides.add_slide(blank); title(s,'5. Up-titration at the bedside','One change, one hypothesis, one reassessment','Avoid chasing a number. Define the target, interval, and stop criteria before each change.'); footer(s,6) items=[('SET TARGET','Usually MAP ≥65 mmHg initially, then individualize for chronic hypertension, neurovascular disease, and perfusion.','TEAL'),('TITRATE','Make small protocolized adjustments. Escalate only when hypotension or hypoperfusion persists and the mechanism fits.','BLUE'),('REASSESS','Within minutes for BP and rhythm; serially for capillary refill, mental state, urine output, lactate and echo/hemodynamics.','AMBER'),('ESCALATE SMARTLY','Add a complementary agent rather than simply increasing a single catecholamine indefinitely.','RED')] for i,(h,b,cname) in enumerate(items): c={'TEAL':TEAL,'BLUE':BLUE,'AMBER':AMBER,'RED':RED}[cname]; y=2.05+i*1.08; rect(s,.85,y,11.65,.78,WHITE,True,LIGHT); rect(s,.85,y,.17,.78,c); textbox(s,1.25,y+.15,2.1,.22,h,13,c,True); textbox(s,3.45,y+.13,8.65,.35,b,12,GREY) #7 s=prs.slides.add_slide(blank); title(s,'6. Down-titration and de-escalation','Wean the agent that is no longer treating an active problem','De-escalation begins when perfusion is stable and the underlying insult is controlled.'); footer(s,7) bullet_box(s,.75,2.15,3.8,3.85,'Readiness checklist',['MAP and peripheral perfusion stable','Lactate no longer rising; urine output acceptable','No new arrhythmia or ischemia','Fluid status and cause of shock reassessed'],GREEN) bullet_box(s,4.78,2.15,3.8,3.85,'Practical sequence',['Reduce catecholamine gradually with close monitoring','Avoid abrupt withdrawal of fixed-dose adjuncts','Reduce or stop inotrope if output/perfusion is adequate','Pause or reverse if hypotension recurs'],BLUE) bullet_box(s,8.81,2.15,3.8,3.85,'After each reduction',['Check MAP and rhythm immediately','Recheck perfusion trends and congestion','Document dose, target, response and plan','Reassess whether a different shock driver emerged'],TEAL) #8 s=prs.slides.add_slide(blank); title(s,'7. Safety, monitoring and documentation','Every titration needs a monitored endpoint','Dose ranges, line policies, and drug concentrations vary by institution.'); footer(s,8) for x,h,arr,c in [(0.75,'Continuous', ['Invasive BP where feasible','ECG and oxygen saturation','Infusion line/site surveillance'],TEAL),(4.78,'Serial',['Capillary refill / skin temperature','Mental status and urine output','Lactate plus focused echo/hemodynamics'],BLUE),(8.81,'Red flags',['New tachyarrhythmia or bradyarrhythmia','Myocardial ischemia / peripheral ischemia','No response despite escalating support'],RED)]: bullet_box(s,x,2.2,3.75,3.5,h,arr,c) textbox(s,.95,6.25,11.3,.38,'Document: shock phenotype, target MAP/perfusion goal, current agents and dose, response, adverse effects, next reassessment time, and senior review threshold.',12,NAVY,True,PP_ALIGN.CENTER) #9 s=prs.slides.add_slide(blank); title(s,'Take-home algorithm','Treat cause + choose pressure or flow target + reassess relentlessly','For adult ICU teaching. Not a substitute for local guideline or expert review.'); footer(s,9) boxes=[('SHOCK?','Confirm hypotension/hypoperfusion\nTreat cause; assess fluids','TEAL'),('LOW MAP?','Norepinephrine\nTarget MAP + perfusion','BLUE'),('STILL LOW MAP?','Add vasopressin\nThen consider epinephrine','AMBER'),('LOW FLOW?','After pressure adequate:\nconsider dobutamine','GREEN'),('IMPROVING?','Wean thoughtfully\nMonitor after every step','TEAL')] for i,(h,b,cname) in enumerate(boxes): c={'TEAL':TEAL,'BLUE':BLUE,'AMBER':AMBER,'GREEN':GREEN}[cname]; x=.45+i*2.55; rect(s,x,2.65,2.2,2.15,WHITE,True,LIGHT); rect(s,x,2.65,2.2,.12,c); textbox(s,x+.18,3.03,1.84,.32,h,14,NAVY,True,PP_ALIGN.CENTER); textbox(s,x+.2,3.62,1.8,.72,b,11,GREY,False,PP_ALIGN.CENTER) if i<4: arrow(s,x+2.2,3.73,x+2.47,3.73) textbox(s,.85,5.75,11.6,.48,'The question after any dose change: “Has tissue perfusion improved, and is the treatment causing harm?”',16,NAVY,True,PP_ALIGN.CENTER) #10 s=prs.slides.add_slide(blank); title(s,'References and clinical guardrails','Sources used for this teaching deck'); footer(s,10) refs=['Evans L, et al. Surviving Sepsis Campaign: International Guidelines for Management of Sepsis and Septic Shock 2021. Crit Care Med. 2021;49:e1063-e1143.','Surviving Sepsis Campaign International Guidelines for Management of Sepsis and Septic Shock, 2026 update. Society of Critical Care Medicine.','Goldman-Cecil Medicine, Circulatory Therapy: septic shock perfusion targets and vasoactive support, pp. 1098-1099.','Rosen’s Emergency Medicine, Vasoactive Drug Therapy and Inotropes: bedside principles of shock resuscitation.','Bauer SR, et al. Adjunctive Vasopressors and Short-Term Mortality in Adults With Septic Shock: systematic review and meta-analysis. Shock. 2025. PMID: 39965613.'] textbox(s,.9,2.2,11.5,.35,'Key guardrails',17,TEAL,True) textbox(s,.95,2.7,11.3,.7,'• This deck does not supply dosing. Prescribe and titrate using your unit’s approved concentration, monitoring and maximum-dose policy.\n• Seek immediate senior/critical-care review for refractory shock, escalating multi-agent support, arrhythmia, ischemia or uncertain phenotype.',12,NAVY) textbox(s,.9,3.85,11.5,.35,'References',17,TEAL,True) y=4.3 for r in refs: textbox(s,1.0,y,11.1,.36,'• '+r,10,GREY); y+=.43 prs.save(OUT) print(OUT) ''') PY python "/tmp/workspace/inotrope-vasopressor-ppt/src/create_deck.py"

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

Complete the above request

Reading File
Reading File
Browsing Directory

~/inotrope-vasopressor-ppt/output

Running Command

python - <<'PY' from pptx import Presentation p='/tmp/workspace/inotrope-vasopressor-ppt/output/Inotrope_Vasopressor_Escalation_Titration.pptx' prs=Presentation(p) print('slides', len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text_frame.text.strip().replace('\n',' | ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text_frame.text.strip()] print(i, len(s.shapes), texts[:3]) PY python - <<'PY' import zipfile p='/tmp/workspace/inotrope-vasopressor-ppt/output/Inotrope_Vasopressor_Escalation_Titration.pptx' with zipfile.ZipFile(p) as z: print('pptx zip OK', len(z.namelist()), 'files') PY

Created and verified a 10-slide adult ICU teaching presentation covering:
  • Shock phenotype and treatment target selection
  • Vasopressor escalation: norepinephrine, vasopressin, epinephrine
  • Inotrope escalation for low-output physiology
  • Safe up-titration and down-titration
  • Monitoring, documentation, safety flags, references, and a take-home algorithm

Inotrope Vasopressor Escalation Titration

Presentation · PPTX

This is a shared conversation. Sign in to Orris to start your own chat.