Hi

Hi! How can I help you today?

I'm a respiratory therapist

Great to meet you! As a respiratory therapist, you're in a field that combines critical care, patient education, and advanced clinical skills.
I can help you with things like:
  • Clinical questions - ventilator management, ABG interpretation, oxygenation strategies, weaning protocols
  • Pharmacology - bronchodilators, inhaled corticosteroids, mucolytics, sedation in ventilated patients
  • Pathophysiology - COPD, asthma, ARDS, pulmonary fibrosis, sleep apnea, and more
  • Procedures - intubation support, bronchoscopy, thoracentesis assistance, airway clearance techniques
  • Patient education - inhaler technique, home oxygen, CPAP/BiPAP compliance
  • Exam prep - RRT, CRT, or specialty certifications
What's on your mind?

Just now graduated on June 15 and I have an interview tomorrow, could you help me

Asking for Preferences
ICU/Critical Care - that's a high-stakes, high-reward environment. Let's focus on the clinical knowledge that ICU interviewers love to test. Here's a solid review of the core topics:

Mechanical Ventilation

Initial settings (adult, typical):
  • Mode: Volume AC (most common starting point)
  • Tidal volume: 6-8 mL/kg IBW (use 6 mL/kg for ARDS)
  • Rate: 12-16 breaths/min
  • FiO2: Start at 1.0, wean to keep SpO2 92-96%
  • PEEP: 5 cmH2O baseline; higher in ARDS (use ARDSnet table)
  • I:E ratio: 1:2 typically
Key lung-protective ventilation (ARDS):
  • Tidal volume 6 mL/kg IBW
  • Plateau pressure < 30 cmH2O
  • Driving pressure (Pplat - PEEP) < 15 cmH2O
  • Permissive hypercapnia is acceptable

ABG Interpretation - Quick Framework

  1. pH: normal 7.35-7.45
  2. PaCO2: normal 35-45 (respiratory)
  3. HCO3: normal 22-26 (metabolic)
  4. Check compensation - is it appropriate?
  5. PaO2/FiO2 ratio for oxygenation (< 300 = ARDS criteria)
P/F ratio:
  • 300 = normal
  • 200-300 = mild ARDS
  • 100-200 = moderate ARDS
  • < 100 = severe ARDS

Ventilator Alarms - Know These Cold

AlarmCommon Causes
High pressureSecretions, biting tube, bronchospasm, pneumothorax, decreased compliance
Low pressureDisconnection, leak, cuff deflation
Low tidal volumeLeak, patient-ventilator asynchrony
ApneaOversedation, patient stop triggering

Weaning & Extubation

SBT (Spontaneous Breathing Trial):
  • PS 5-8 cmH2O / PEEP 5 cmH2O, or T-piece
  • 30-120 minutes
  • Pass criteria: RR < 35, SpO2 > 90%, HR/BP stable, no distress
RSBI (Rapid Shallow Breathing Index):
  • RR ÷ Tidal Volume (in liters)
  • < 105 = likely to tolerate extubation

High-Yield ICU Conditions

ARDS - bilateral infiltrates, non-cardiogenic, P/F < 300, within 1 week of insult COPD exacerbation - consider NIV (BiPAP) first to avoid intubation Status asthmaticus - heliox, magnesium sulfate, watch for auto-PEEP Pneumothorax - sudden high pressures, absent breath sounds, tracheal deviation (tension)

Common Interview Questions for ICU RT

  • "Walk me through your initial vent setup for a new intubation."
  • "How do you recognize and manage auto-PEEP?"
  • "A patient's plateau pressure is 34 - what do you do?"
  • "How do you decide if a patient is ready to wean?"
  • "Tell me about a time you had to act quickly." (behavioral - have a school clinical story ready)

Tips for tomorrow:
  • Show eagerness to learn - you're a new grad, they expect that
  • Say "I would verify with the physician/attending" when unsure - that's the right answer
  • Know your normal values and alarm responses confidently
  • Ask them questions back - "What does a typical orientation look like?" shows initiative
Is there any specific topic above you want to go deeper on? ABGs, vent modes, ARDS management - just say the word.

Abg

Here's a thorough ABG review built for an ICU RT interview:

Normal ABG Values

ParameterNormal Range
pH7.35 - 7.45
PaCO235 - 45 mmHg
HCO322 - 26 mEq/L
PaO280 - 100 mmHg
SaO295 - 100%
Base Excess-2 to +2

Step-by-Step Interpretation (Use This Every Time)

Step 1 - Look at the pH

  • < 7.35 = Acidosis
  • 7.45 = Alkalosis

Step 2 - Identify the Primary Problem

  • PaCO2 high + pH low = Respiratory Acidosis
  • PaCO2 low + pH high = Respiratory Alkalosis
  • HCO3 low + pH low = Metabolic Acidosis
  • HCO3 high + pH high = Metabolic Alkalosis

Step 3 - Check for Compensation

Compensation always moves in the same direction as the primary disorder but never fully corrects pH.
DisorderExpected Compensation
Respiratory AcidosisHCO3 rises 1 mEq/L per 10 mmHg CO2 (acute) / 3.5 mEq/L (chronic)
Respiratory AlkalosisHCO3 drops 2 mEq/L per 10 mmHg CO2 (acute) / 5 mEq/L (chronic)
Metabolic AcidosisPaCO2 = (1.5 x HCO3) + 8 ± 2 (Winter's Formula)
Metabolic AlkalosisPaCO2 rises 0.7 mmHg per 1 mEq/L rise in HCO3

Step 4 - Assess Oxygenation

  • PaO2 < 80 = Hypoxemia
  • PaO2 60-79 = mild
  • PaO2 40-59 = moderate
  • PaO2 < 40 = severe

Step 5 - Calculate P/F Ratio

  • PaO2 ÷ FiO2
  • Example: PaO2 of 70, FiO2 of 0.5 → P/F = 140 (moderate ARDS range)

The 4 Primary Disorders + RT Causes

Respiratory Acidosis (pH↓, CO2↑)

Cause = hypoventilation
  • Oversedation, opioids
  • COPD exacerbation
  • Neuromuscular disease (GBS, MG)
  • Airway obstruction
  • RT fix: Increase rate or tidal volume, consider NIV or intubation

Respiratory Alkalosis (pH↑, CO2↓)

Cause = hyperventilation
  • Anxiety/pain
  • Over-ventilation on the vent
  • Hypoxia (early response)
  • PE, sepsis
  • RT fix: Decrease rate or tidal volume, treat underlying cause

Metabolic Acidosis (pH↓, HCO3↓)

Causes - think MUDPILES or AG vs non-AG
  • High anion gap: DKA, lactic acidosis, renal failure, toxins
  • Normal anion gap: diarrhea, RTA, saline overload
  • RT fix: Support ventilation (patient compensates by blowing off CO2); physician manages underlying cause

Metabolic Alkalosis (pH↑, HCO3↑)

Causes:
  • Vomiting, NG suction
  • Diuretics (losing Cl and H+)
  • Over-correction of acidosis
  • RT fix: If on vent, may need to increase CO2 retention (reduce RR/Vt); physician replaces electrolytes

Mixed Disorders

If compensation is more or less than expected, a second process is occurring.
Example: Metabolic acidosis + respiratory acidosis (pH very low, CO2 high, HCO3 low)
  • Seen in cardiac arrest, severe sepsis
Example: Metabolic alkalosis + respiratory alkalosis (pH very high)
  • Seen in liver failure with diuretics

Practice ABGs - Work Through These

ABG 1: pH 7.28 / PaCO2 55 / HCO3 26 / PaO2 58
  • pH low = acidosis
  • CO2 high = respiratory acidosis
  • HCO3 near normal = uncompensated (acute)
  • PaO2 low = hypoxemia
  • Answer: Acute respiratory acidosis with hypoxemia - think acute COPD exacerbation, sedation

ABG 2: pH 7.32 / PaCO2 50 / HCO3 30 / PaO2 65
  • pH low = acidosis
  • CO2 high = respiratory acidosis
  • HCO3 elevated = compensation present
  • Check: chronic compensation = 3.5 per 10 mmHg above 40 → CO2 up 10, so HCO3 should be ~26 + 3.5 = 29.5 ✓
  • Answer: Chronic respiratory acidosis, compensated - think chronic COPD

ABG 3: pH 7.48 / PaCO2 30 / HCO3 22 / PaO2 88
  • pH high = alkalosis
  • CO2 low = respiratory alkalosis
  • HCO3 normal-ish = acute (minimal compensation)
  • Answer: Acute respiratory alkalosis - think anxiety, pain, PE, early sepsis

ABG 4: pH 7.22 / PaCO2 28 / HCO3 11 / PaO2 95
  • pH low = acidosis
  • CO2 low = not the cause (they're trying to compensate)
  • HCO3 very low = metabolic acidosis
  • Check Winter's: (1.5 x 11) + 8 = 24.5 ± 2 → expected CO2 = 22.5-26.5; actual is 28 → slightly higher than expected = concurrent respiratory acidosis
  • Answer: Mixed metabolic acidosis + respiratory acidosis - severe, think septic shock

What ICU Interviewers Want to Hear

When they give you an ABG, say out loud:
  1. "The pH is ___, so there is ___osis"
  2. "The CO2/HCO3 tells me the primary issue is ___"
  3. "Compensation is/is not appropriate"
  4. "Oxygenation - PaO2 is ___, P/F ratio is ___"
  5. "Clinically, I would consider ___ as the cause and I would ___"
That systematic approach shows you think like a clinician, not just a test-taker.

Want to do some live practice ABGs where I give you one and you interpret it? That's the best way to lock this in before tomorrow.

Pressure related to lung and ventilator

This is a high-yield ICU topic. Know every one of these pressures cold.

The Key Pressures

1. Peak Inspiratory Pressure (PIP)

  • The highest pressure reached during a breath
  • Measured at the airway opening
  • Reflects airway resistance + lung/chest wall compliance
  • Normal on vent: typically < 40 cmH2O
  • High PIP alarm triggers at whatever you set (usually 40-50)
PIP is affected by BOTH resistance AND compliance

2. Plateau Pressure (Pplat)

  • Measured during an inspiratory hold (no flow)
  • Reflects static lung compliance only (no resistance component)
  • Normal: < 30 cmH2O (lung-protective goal)
  • 30 = overdistension risk, barotrauma
This is the pressure the alveoli actually see.

3. The Critical Relationship: PIP vs Pplat

ScenarioPIPPplatWhat It Means
Normal~25~20All good
High PIP, normal PplatNormalAirway resistance problem (secretions, bronchospasm, kinked tube)
High PIP, high PplatCompliance problem (ARDS, pneumothorax, pulmonary edema, stiff lungs)
This is a classic ICU interview question. Know it.

4. PEEP (Positive End-Expiratory Pressure)

  • Pressure maintained at end of expiration
  • Keeps alveoli open, prevents atelectasis
  • Improves oxygenation by increasing FRC
  • Normal starting point: 5 cmH2O
  • Higher PEEP in ARDS (per ARDSnet table, up to 20-24 cmH2O)
Intrinsic PEEP (auto-PEEP) = trapped air that wasn't fully exhaled
  • Seen in COPD, asthma, high RR, short expiratory time
  • Dangerous - causes hemodynamic compromise, barotrauma
  • Detect with: expiratory hold maneuver
  • Fix: decrease RR, increase expiratory time (lower I:E), bronchodilators

5. Driving Pressure

  • Driving Pressure = Pplat - PEEP
  • Represents the actual pressure "driving" each breath into the lung
  • Goal: < 15 cmH2O
  • Strongest predictor of mortality in ARDS
  • If driving pressure is high, reduce Vt or increase PEEP

6. Mean Airway Pressure (MAP or Pmean)

  • Average pressure throughout the entire breath cycle
  • Higher MAP = better oxygenation (more time at higher pressure)
  • Affected by: PIP, PEEP, I:E ratio, inspiratory time
  • Too high = decreased venous return, hypotension

7. Transpulmonary Pressure

  • Transpulmonary = Alveolar pressure - Pleural pressure
  • The pressure actually distending the lung tissue
  • Relevant in obese patients and elevated intra-abdominal pressure
  • Measured with esophageal balloon (estimates pleural pressure)
  • Helps guide optimal PEEP in complex patients

Compliance

Static Compliance (Cstat)
  • Cstat = Tidal Volume ÷ (Pplat - PEEP)
  • Normal: 60-100 mL/cmH2O
  • Low compliance = stiff lungs (ARDS, fibrosis, pulmonary edema)
Dynamic Compliance (Cdyn)
  • Cdyn = Tidal Volume ÷ (PIP - PEEP)
  • Includes resistance
  • Always lower than static compliance
  • Decreasing Cdyn = worsening airways or lungs

Resistance

  • Raw = (PIP - Pplat) ÷ Flow
  • Normal airway resistance: < 10 cmH2O/L/sec
  • Elevated in: bronchospasm, secretions, small ETT, biting tube

Pressure-Volume (P-V) Curve Concepts

  • Lower inflection point (LIP): where alveoli start to open - set PEEP above this
  • Upper inflection point (UIP): where overdistension begins - keep Pplat below this
  • Ideal ventilation targets the steep, linear portion of the curve

Barotrauma vs Volutrauma vs Atelectrauma

TermCausePrevention
BarotraumaExcess pressureKeep Pplat < 30
VolutraumaExcess volume6 mL/kg IBW
AtelectraumaCyclic opening/closing of alveoliAdequate PEEP
BiotraumaInflammatory mediators from all of the aboveLung-protective strategy overall

Quick Summary to Recite in an Interview

"When I see high PIP, the first thing I do is get a plateau pressure. If Pplat is normal, the problem is resistance - I'll suction, check for bronchospasm, or look at the circuit. If Pplat is also elevated, the problem is compliance - I'll look at the chest X-ray, check for pneumothorax, and consider adjusting PEEP or tidal volume per lung-protective strategy."
That one answer demonstrates clinical reasoning and will impress any ICU interviewer.

Want to move on to vent modes next, or do a pressure scenario quiz?

Quiz me on pressure scenarios (PIP/Pplat combinations)

Let's go! Answer each one before scrolling to the next. Take your time and think out loud like you would in the interview.

Scenario 1

A 58-year-old man is intubated for respiratory failure. He's on Volume AC.
  • PIP: 48 cmH2O ⬆️
  • Pplat: 22 cmH2O ✅
  • PEEP: 5
  • Tidal Volume: 500 mL
What is the problem, what is the likely cause, and what do you do?
Take your time - type your answer when ready.

Plateau pressure is reduce

You're on the right track - the Pplat IS normal/low, and that's the key observation. Let's build on that:
What you got right ✅
  • You correctly identified that Pplat is normal (22 cmH2O)
  • That tells you the alveoli are fine - no compliance problem
What to add for a complete answer:
Since PIP is high (48) but Pplat is normal (22), the difference between them is large:
PIP - Pplat = 48 - 22 = 26 cmH2O
That gap represents airway resistance. Normal gap is < 10 cmH2O. A gap of 26 is significantly elevated.
So the full answer is:
  1. Problem: Increased airway resistance (not a compliance problem)
  2. Likely causes:
    • Secretions/mucus plugging
    • Bronchospasm
    • Kinked or biting the ETT
    • Water in the ventilator circuit
    • ETT too small
  3. What you do:
    • Suction the patient
    • Auscultate - wheezing? Give bronchodilator
    • Check the circuit for kinks or water
    • Check ETT position
    • If biting - sedation or bite block

The one-liner to remember:
"High PIP + normal Pplat = resistance problem, not a lung problem."

Ready for Scenario 2? 🫁

Wait what happens if plateau pressure is reduced and also increased

Great question - this is exactly the kind of thinking ICU interviewers love. Let's break both down clearly:

When Pplat is LOW (like in Scenario 1)

PIP high + Pplat normal/low
  • The gap (PIP - Pplat) is large = high resistance
  • The lungs themselves are fine
  • Problem is upstream - in the airways, tube, or circuit
  • Causes: secretions, bronchospasm, kinked tube, water in circuit

When Pplat is HIGH

PIP high + Pplat high
  • The gap (PIP - Pplat) is small/normal = resistance is fine
  • Problem is the lungs or chest wall - stiff, non-compliant
  • Causes:
CauseClue
ARDSBilateral infiltrates, P/F < 300
PneumothoraxSudden onset, absent breath sounds, hypotension
Pulmonary edemaCrackles, fluid overload, cardiac history
Pulmonary fibrosisChronic, honeycombing on CT
Right mainstem intubationUnilateral breath sounds, tube too deep
Abdominal compartment syndromeDistended abdomen, high pressures
Auto-PEEPCOPD/asthma, air trapping
What you do:
  • Check Cstat = Vt ÷ (Pplat - PEEP) - it will be LOW
  • Chest X-ray immediately
  • Rule out pneumothorax first (it's the most dangerous)
  • Adjust Vt down to reduce Pplat (target < 30)
  • Optimize PEEP

Side-by-Side Comparison

PIPPplatGap (PIP-Pplat)Problem
Normal~25~20~5Nothing
Resistance ↑↑↑NormalLarge (>10)Airways/tube/circuit
Compliance ↓↑↑↑↑Small (<10)Lungs/chest wall
Both problems↑↑LargeResistance + compliance

The Memory Hook

Pplat = lung pressure
  • Pplat normal = lungs are happy, look at the airway
  • Pplat high = lungs are sick, look at the parenchyma

Does that clear it up? Ready to continue the quiz with Scenario 2?

Continue with Scenario 2 quiz

Scenario 2

A 32-year-old woman with no prior lung history is intubated after a severe pneumonia. She's on Volume AC, 6 mL/kg IBW.
  • PIP: 42 cmH2O ⬆️
  • Pplat: 34 cmH2O ⬆️
  • PEEP: 8
  • FiO2: 0.80
  • Tidal Volume: 380 mL
  • SpO2: 88%
Three questions:
  1. What is the problem and why?
  2. Is this patient being ventilated safely? What number tells you that?
  3. What are your next two interventions?
Take your time - type your answer when ready. 🫁

Peep is the problem maker

Good instinct to think about PEEP - but let's work through this one more carefully. PEEP is actually part of the solution here, not the problem. Here's the full breakdown:

Answer to Scenario 2

Question 1 - What is the problem?

Look at PIP vs Pplat:
  • PIP: 42 ⬆️
  • Pplat: 34 ⬆️
  • Gap (PIP - Pplat) = 8 - that's normal
Small gap = resistance is fine Pplat is HIGH = compliance problem - stiff lungs
This patient has decreased lung compliance from severe pneumonia progressing to ARDS.
Confirm with P/F ratio:
PaO2 ÷ FiO2 - SpO2 is 88% on FiO2 0.80 - that's very poor oxygenation = likely ARDS

Question 2 - Is ventilation safe?

The key number is Pplat = 34 cmH2O
❌ That is ABOVE the lung-protective limit of 30 cmH2O
Also check Driving Pressure:
Pplat - PEEP = 34 - 8 = 26 cmH2O ❌ That is above the goal of < 15 cmH2O
This patient is at risk for barotrauma and volutrauma right now.

Question 3 - Next two interventions

1. Reduce tidal volume
  • Already at 6 mL/kg IBW, but Pplat is still high
  • Consider dropping to 5 or even 4 mL/kg IBW
  • Permissive hypercapnia is acceptable to keep pressures safe
  • Recheck Pplat after adjustment - target < 30
2. Increase PEEP
  • This is where PEEP becomes your friend
  • SpO2 is only 88% on FiO2 0.80 - oxygenation is failing
  • Use the ARDSnet FiO2/PEEP table to titrate up
  • Higher PEEP recruits collapsed alveoli, improves oxygenation, and can actually reduce driving pressure by improving compliance

Why PEEP is the Solution, Not the Problem

PEEP too LOWPEEP appropriately HIGH
Alveoli collapse on expirationAlveoli stay open
Atelectrauma (cyclic opening/closing)Reduced atelectrauma
Poor oxygenationImproved oxygenation
Compliance stays lowCompliance may improve
Think of PEEP as splinting open the alveoli. In ARDS, the lungs are wet and collapsed - PEEP holds them open between breaths.
PEEP only becomes a problem when it's excessive - causing overdistension, high driving pressure, or dropping blood pressure by reducing venous return.

The One-Liner for This Scenario

"High PIP and high Pplat with a normal gap tells me compliance is the issue. Pplat of 34 is unsafe - I need to reduce tidal volume and optimize PEEP per ARDSnet to protect the lungs and improve oxygenation."

Ready for Scenario 3? This next one is a tricky one. 👀

Create a quick reference guide for pressure scenarios

Reading File
Running Command

mkdir -p /home/daytona/workspace/rt-reference && ls /home/daytona/workspace/rt-r…

Writing File

~/rt-reference/pressure_reference.py

from reportlab.lib.pagesizes import letter
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT

OUTPUT = "/home/daytona/workspace/rt-reference/RT_Pressure_Quick_Reference.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=letter,
    rightMargin=0.6*inch,
    leftMargin=0.6*inch,
    topMargin=0.6*inch,
    bottomMargin=0.6*inch
)

# ── Colors ──────────────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#1a3a5c")
MED_BLUE    = colors.HexColor("#2563a8")
LIGHT_BLUE  = colors.HexColor("#dbeafe")
RED         = colors.HexColor("#b91c1c")
LIGHT_RED   = colors.HexColor("#fee2e2")
GREEN       = colors.HexColor("#15803d")
LIGHT_GREEN = colors.HexColor("#dcfce7")
ORANGE      = colors.HexColor("#c2410c")
LIGHT_ORANGE= colors.HexColor("#ffedd5")
YELLOW      = colors.HexColor("#854d0e")
LIGHT_YELLOW= colors.HexColor("#fef9c3")
GREY_LIGHT  = colors.HexColor("#f1f5f9")
GREY_MID    = colors.HexColor("#94a3b8")
WHITE       = colors.white

styles = getSampleStyleSheet()

def style(name, **kw):
    s = styles[name].clone(name + str(id(kw)))
    for k, v in kw.items():
        setattr(s, k, v)
    return s

title_style   = style("Title",   fontSize=22, textColor=WHITE,        alignment=TA_CENTER, spaceAfter=2)
sub_style     = style("Normal",  fontSize=10, textColor=LIGHT_BLUE,   alignment=TA_CENTER, spaceAfter=4)
h1_style      = style("Heading1",fontSize=13, textColor=WHITE,        spaceBefore=6, spaceAfter=4)
h2_style      = style("Heading2",fontSize=11, textColor=DARK_BLUE,    spaceBefore=8, spaceAfter=3)
body_style    = style("Normal",  fontSize=9,  textColor=colors.black, leading=13)
bold_style    = style("Normal",  fontSize=9,  textColor=colors.black, leading=13)
small_style   = style("Normal",  fontSize=8,  textColor=colors.HexColor("#475569"), leading=11)
italic_style  = style("Normal",  fontSize=9,  textColor=DARK_BLUE,    leading=13)
footer_style  = style("Normal",  fontSize=7.5,textColor=GREY_MID,     alignment=TA_CENTER)

def section_header(text, bg=MED_BLUE):
    data = [[Paragraph(text, h1_style)]]
    t = Table(data, colWidths=[7.3*inch])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("TOPPADDING",  (0,0), (-1,-1), 6),
        ("BOTTOMPADDING",(0,0),(-1,-1), 6),
        ("LEFTPADDING", (0,0), (-1,-1), 10),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return t

def note_box(text, bg=LIGHT_BLUE, border=MED_BLUE):
    data = [[Paragraph(text, style("Normal", fontSize=9, textColor=DARK_BLUE, leading=13))]]
    t = Table(data, colWidths=[7.3*inch])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), bg),
        ("LEFTPADDING",   (0,0),(-1,-1), 10),
        ("RIGHTPADDING",  (0,0),(-1,-1), 10),
        ("TOPPADDING",    (0,0),(-1,-1), 6),
        ("BOTTOMPADDING", (0,0),(-1,-1), 6),
        ("LINEAFTER",     (0,0),(0,-1),  3, border),
        ("LINEBEFORE",    (0,0),(0,-1),  3, border),
    ]))
    return t

elements = []

# ══════════════════════════════════════════════════════════════════════════════
# HEADER BANNER
# ══════════════════════════════════════════════════════════════════════════════
header_data = [[
    Paragraph("🫁  ICU Respiratory Therapy", title_style),
    ""
],[
    Paragraph("Ventilator Pressure Scenarios — Quick Reference Guide", sub_style),
    ""
]]
header_table = Table(header_data, colWidths=[7.3*inch, 0])
header_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0),(-1,-1), DARK_BLUE),
    ("TOPPADDING",    (0,0),(-1,-1), 14),
    ("BOTTOMPADDING", (0,0),(-1,-1), 14),
    ("LEFTPADDING",   (0,0),(-1,-1), 16),
    ("SPAN",          (0,0),(-1,0)),
    ("SPAN",          (0,1),(-1,1)),
]))
elements.append(header_table)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 — NORMAL VALUES
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("① Normal Ventilator Pressure Values"))
elements.append(Spacer(1, 4))

norm_data = [
    [Paragraph("<b>Parameter</b>", body_style),
     Paragraph("<b>Normal Range</b>", body_style),
     Paragraph("<b>Clinical Significance</b>", body_style)],
    ["PIP (Peak Inspiratory Pressure)",  "< 40 cmH₂O",   "Total pressure to deliver breath (resistance + compliance)"],
    ["Pplat (Plateau Pressure)",          "< 30 cmH₂O",   "Alveolar pressure — reflects lung compliance only"],
    ["PEEP",                              "5 cmH₂O (base)","Prevents alveolar collapse at end-expiration"],
    ["Driving Pressure (Pplat − PEEP)",  "< 15 cmH₂O",   "Best predictor of ARDS mortality"],
    ["PIP − Pplat Gap",                  "< 10 cmH₂O",   "Reflects airway resistance"],
    ["Static Compliance (Cstat)",         "60–100 mL/cmH₂O","Vt ÷ (Pplat − PEEP)"],
    ["Dynamic Compliance (Cdyn)",         "Lower than Cstat","Vt ÷ (PIP − PEEP)"],
]

col_w = [2.2*inch, 1.6*inch, 3.5*inch]
norm_table = Table(norm_data, colWidths=col_w)
norm_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_MID),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
]))
elements.append(norm_table)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 — MASTER DECISION TABLE
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("② PIP vs Pplat — Master Decision Table"))
elements.append(Spacer(1, 4))

dec_data = [
    [Paragraph("<b>PIP</b>", body_style),
     Paragraph("<b>Pplat</b>", body_style),
     Paragraph("<b>Gap</b>", body_style),
     Paragraph("<b>Problem</b>", body_style),
     Paragraph("<b>Common Causes</b>", body_style),
     Paragraph("<b>Interventions</b>", body_style)],

    [Paragraph("Normal\n~25", small_style),
     Paragraph("Normal\n~20", small_style),
     Paragraph("~5\n✅ OK", small_style),
     Paragraph("None", small_style),
     Paragraph("Baseline", small_style),
     Paragraph("Continue monitoring", small_style)],

    [Paragraph("<b>HIGH ↑↑</b>", style("Normal", fontSize=9, textColor=RED)),
     Paragraph("Normal\n✅", small_style),
     Paragraph("<b>Large\n>10</b>", style("Normal", fontSize=9, textColor=RED)),
     Paragraph("<b>Airway\nRESISTANCE ↑</b>", style("Normal", fontSize=9, textColor=RED)),
     Paragraph("Secretions\nBronchospasm\nKinked ETT\nWater in circuit\nSmall ETT", small_style),
     Paragraph("Suction\nBronchodilator\nCheck circuit\nCheck ETT position", small_style)],

    [Paragraph("<b>HIGH ↑↑</b>", style("Normal", fontSize=9, textColor=ORANGE)),
     Paragraph("<b>HIGH ↑↑\n>30</b>", style("Normal", fontSize=9, textColor=ORANGE)),
     Paragraph("Small\n<10", small_style),
     Paragraph("<b>Lung\nCOMPLIANCE ↓</b>", style("Normal", fontSize=9, textColor=ORANGE)),
     Paragraph("ARDS\nPneumothorax\nPulmonary edema\nR mainstem intub.\nAuto-PEEP\nAbdominal comp. synd.", small_style),
     Paragraph("CXR stat\nRule out PTX first\n↓ Vt to 4–6 mL/kg\nOptimize PEEP\nCheck Cstat", small_style)],

    [Paragraph("<b>HIGH ↑↑</b>", style("Normal", fontSize=9, textColor=colors.purple)),
     Paragraph("<b>HIGH ↑\n28–34</b>", style("Normal", fontSize=9, textColor=colors.purple)),
     Paragraph("<b>Large\n>10</b>", style("Normal", fontSize=9, textColor=colors.purple)),
     Paragraph("<b>BOTH\nResistance +\nCompliance</b>", style("Normal", fontSize=9, textColor=colors.purple)),
     Paragraph("ARDS +\nbronchospasm\nSepsis with\nmucus plugging", small_style),
     Paragraph("Address both:\nSuction + bronchodilator\n↓ Vt\nOptimize PEEP", small_style)],
]

dec_col_w = [0.7*inch, 0.7*inch, 0.75*inch, 1.2*inch, 1.8*inch, 2.15*inch]
dec_table = Table(dec_data, colWidths=dec_col_w)
dec_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 8.5),
    ("BACKGROUND",    (0,2), (-1,2),  LIGHT_RED),
    ("BACKGROUND",    (0,3), (-1,3),  LIGHT_ORANGE),
    ("BACKGROUND",    (0,4), (-1,4),  colors.HexColor("#f3e8ff")),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_MID),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
]))
elements.append(dec_table)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 — KEY FORMULAS
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("③ Key Formulas to Know Cold", bg=colors.HexColor("#064e3b")))
elements.append(Spacer(1, 4))

formulas = [
    ("<b>Driving Pressure</b>", "Pplat − PEEP", "Goal: <b>&lt;15 cmH₂O</b>   |   Strongest ARDS mortality predictor"),
    ("<b>Static Compliance (Cstat)</b>", "Vt ÷ (Pplat − PEEP)", "Normal: <b>60–100 mL/cmH₂O</b>   |   Low = stiff lungs"),
    ("<b>Dynamic Compliance (Cdyn)</b>", "Vt ÷ (PIP − PEEP)", "Always lower than Cstat   |   Includes resistance"),
    ("<b>Airway Resistance (Raw)</b>", "(PIP − Pplat) ÷ Flow", "Normal: <b>&lt;10 cmH₂O/L/sec</b>"),
    ("<b>P/F Ratio</b>", "PaO₂ ÷ FiO₂", "&gt;300 normal | 200–300 mild ARDS | 100–200 mod | &lt;100 severe"),
    ("<b>RSBI</b>", "RR ÷ Vt (liters)", "&lt;105 = likely tolerates extubation"),
]

f_data = [[Paragraph("<b>Formula</b>", body_style), Paragraph("<b>Equation</b>", body_style), Paragraph("<b>Notes</b>", body_style)]]
for name, eq, note in formulas:
    f_data.append([
        Paragraph(name, style("Normal", fontSize=9, textColor=DARK_BLUE)),
        Paragraph(f"<font color='#1d4ed8'><b>{eq}</b></font>", body_style),
        Paragraph(note, small_style)
    ])

f_table = Table(f_data, colWidths=[1.9*inch, 2.1*inch, 3.3*inch])
f_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  colors.HexColor("#064e3b")),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_GREEN]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_MID),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
elements.append(f_table)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 4 — PEEP
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("④ PEEP — Friend or Foe?", bg=colors.HexColor("#7c3aed")))
elements.append(Spacer(1, 4))

peep_data = [
    [Paragraph("<b>PEEP Too LOW</b>", style("Normal", fontSize=9, textColor=RED, alignment=TA_CENTER)),
     Paragraph("<b>PEEP Appropriate</b>", style("Normal", fontSize=9, textColor=GREEN, alignment=TA_CENTER)),
     Paragraph("<b>PEEP Too HIGH</b>", style("Normal", fontSize=9, textColor=ORANGE, alignment=TA_CENTER))],
    [
        Paragraph("• Alveolar collapse\n• Atelectrauma\n• Poor oxygenation\n• Low FRC", small_style),
        Paragraph("• Alveoli stay open\n• Reduced atelectrauma\n• Improved oxygenation\n• May improve compliance", small_style),
        Paragraph("• Overdistension\n• High driving pressure\n• ↓ Venous return → hypotension\n• Barotrauma risk", small_style),
    ]
]
peep_table = Table(peep_data, colWidths=[2.43*inch, 2.43*inch, 2.43*inch])
peep_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,0),  LIGHT_RED),
    ("BACKGROUND",    (1,0), (1,0),  LIGHT_GREEN),
    ("BACKGROUND",    (2,0), (2,0),  LIGHT_ORANGE),
    ("BACKGROUND",    (0,1), (0,1),  colors.HexColor("#fff5f5")),
    ("BACKGROUND",    (1,1), (1,1),  colors.HexColor("#f0fdf4")),
    ("BACKGROUND",    (2,1), (2,1),  colors.HexColor("#fff7ed")),
    ("GRID",          (0,0), (-1,-1), 0.5, GREY_MID),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("ALIGN",         (0,0), (-1,0),  "CENTER"),
]))
elements.append(peep_table)
elements.append(Spacer(1, 8))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 5 — TRAUMA TYPES
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("⑤ Ventilator-Induced Lung Injury (VILI)", bg=colors.HexColor("#991b1b")))
elements.append(Spacer(1, 4))

vili_data = [
    [Paragraph("<b>Type</b>", body_style),
     Paragraph("<b>Cause</b>", body_style),
     Paragraph("<b>Prevention</b>", body_style),
     Paragraph("<b>Monitoring</b>", body_style)],
    ["Barotrauma",    "Excess pressure",                "Pplat < 30 cmH₂O",          "Watch Pplat"],
    ["Volutrauma",    "Excess volume (overstretch)",    "Vt 6 mL/kg IBW",             "Monitor Vt vs IBW"],
    ["Atelectrauma",  "Cyclic alveolar open/collapse",  "Adequate PEEP",              "Oxygenation trend"],
    ["Biotrauma",     "Inflammatory mediators (all above)", "Lung-protective strategy overall", "Clinical deterioration"],
]
vili_table = Table(vili_data, colWidths=[1.4*inch, 2.0*inch, 2.1*inch, 1.8*inch])
vili_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  colors.HexColor("#991b1b")),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_RED]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_MID),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
]))
elements.append(vili_table)
elements.append(Spacer(1, 8))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 6 — INTERVIEW ONE-LINERS
# ══════════════════════════════════════════════════════════════════════════════
elements.append(section_header("⑥ ICU Interview One-Liners", bg=colors.HexColor("#854d0e")))
elements.append(Spacer(1, 4))

liners = [
    ("High PIP + normal Pplat:", "Resistance problem. Suction, check for bronchospasm, inspect the circuit and ETT."),
    ("High PIP + high Pplat:", "Compliance problem. CXR stat, rule out pneumothorax, reduce Vt, optimize PEEP."),
    ("Pplat > 30:", "Not lung-protective. Reduce Vt — accept permissive hypercapnia if needed."),
    ("Driving pressure > 15:", "Overdistension risk. Reduce Vt first; if Pplat allows, consider increasing PEEP."),
    ("Auto-PEEP suspected:", "Do expiratory hold. Decrease RR, increase exp. time (lower I:E), give bronchodilators."),
    ("Sudden high pressure spike:", "Pneumothorax until proven otherwise — assess breath sounds, call physician stat."),
]

liner_data = []
for trigger, answer in liners:
    liner_data.append([
        Paragraph(f"<b>{trigger}</b>", style("Normal", fontSize=9, textColor=DARK_BLUE)),
        Paragraph(answer, small_style)
    ])

liner_table = Table(liner_data, colWidths=[2.2*inch, 5.1*inch])
liner_table.setStyle(TableStyle([
    ("ROWBACKGROUNDS",(0,0), (-1,-1), [LIGHT_YELLOW, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_MID),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
elements.append(liner_table)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# FOOTER
# ══════════════════════════════════════════════════════════════════════════════
elements.append(HRFlowable(width="100%", thickness=0.5, color=GREY_MID))
elements.append(Spacer(1, 4))
elements.append(Paragraph(
    "ICU RT Interview Prep  |  Created with Orris AI  |  For educational use only  |  Always follow institutional protocols",
    footer_style
))

doc.build(elements)
print(f"PDF created: {OUTPUT}")
Running Command

python /home/daytona/workspace/rt-reference/pressure_reference.py

Your quick reference guide is ready! Download it here:

RT Pressure Quick Reference

PDF Document · PDF


What's inside (1 page, print-ready):
  1. Normal Values Table - PIP, Pplat, PEEP, driving pressure, compliance with normal ranges
  2. Master Decision Table - All PIP/Pplat combinations color-coded with causes and interventions
  3. Key Formulas - Driving pressure, Cstat, Cdyn, Raw, P/F ratio, RSBI
  4. PEEP - Friend or Foe - Side-by-side: too low vs appropriate vs too high
  5. VILI Types - Barotrauma, volutrauma, atelectrauma, biotrauma
  6. ICU Interview One-Liners - The exact answers to say for common scenarios
Print it out and keep it with you for the interview tomorrow. Ready for Scenario 3 of the quiz?

Practice common ICU interview questions & answers

Let's do this like a real interview. I'll ask you one question at a time, you answer, and I'll give you feedback plus the ideal response.

Question 1

"Walk me through how you would set up initial ventilator settings for a newly intubated adult patient."
Take your time. Answer like you're sitting across from the interviewer. 🎤

Vt - 6 to 8 litter per kg weight according to patient

Good start - you've got the right number! A few important refinements though:

Feedback on Your Answer

What you got right ✅
  • Correct range: 6-8 mL/kg
  • Thinking about patient size - good instinct
Two key corrections to nail in the interview:
1. Units - this is critical
It's mL/kg, not liters/kg 6 liters/kg would massively overinflate and kill the patient In an interview, saying "liters" instead of "milliliters" is a red flag - practice saying "mL per kg" out loud
2. Use IBW, not actual body weight
Always base Vt on Ideal Body Weight (IBW), not the patient's actual weight A 300 lb obese patient still has the same size lungs as someone at their ideal weight Using actual weight = dangerous overdistension

The Full Ideal Answer

Here's what a complete answer sounds like:
"For a newly intubated adult, I would start with Volume Assist-Control mode. I'd set tidal volume at 6 to 8 mL/kg of ideal body weight - and I'd calculate IBW based on height and gender, not actual weight. I'd set rate at 12 to 16 breaths per minute, FiO2 at 100% initially then wean down to keep SpO2 between 92 and 96%. I'd start PEEP at 5 cmH2O as a baseline. Then I'd get an ABG in 30 minutes to assess ventilation and oxygenation, check a plateau pressure to make sure I'm under 30, and adjust from there. If this is an ARDS patient, I'd go straight to 6 mL/kg IBW and apply the ARDSnet protocol."

IBW Formulas (Memorize These)

Formula
Male50 + 2.3 × (height in inches − 60)
Female45.5 + 2.3 × (height in inches − 60)
Example: 5'10" male → 50 + 2.3 × 10 = 73 kg IBW At 6 mL/kg → Vt = 438 mL

Summary of Initial Vent Settings to Memorize

ParameterSetting
ModeVolume A/C
Tidal Volume6-8 mL/kg IBW
Rate12-16 breaths/min
FiO21.0 (then wean)
PEEP5 cmH2O
Flow60 L/min (adjust I:E)
Sensitivity-1 to -2 cmH2O (pressure trigger)

Good foundation - just remember mL/kg IBW and add the rest of the settings. Ready for Question 2? 🎤

Continue with interview question 3

Skipping ahead to Question 3 - let's go!

Question 3

"A ventilated patient suddenly becomes agitated, the high pressure alarm is going off, and SpO2 is dropping. What do you do?"
This is a classic ICU emergency scenario question. They want to see if you can think fast and stay systematic under pressure.
Take your time and walk through exactly what you would do, step by step. 🎤

Suction will see for any obstruction

Good instinct - suctioning is definitely on the list! But in a real ICU emergency, jumping straight to suction before assessing could make you miss something dangerous like a pneumothorax. Here's how to build a complete answer:

Feedback

What you got right ✅
  • Thinking about airway obstruction - correct
  • Suctioning is an appropriate intervention
What's missing - the systematic approach
In an ICU emergency, interviewers want to see you use a framework, not just react. The magic acronym here is DOPE

The DOPE Framework - Memorize This

Used for any sudden deterioration in a ventilated patient:
LetterStands ForExamples
DDisplacementETT displaced - extubated, right mainstem, too deep/shallow
OObstructionSecretions, mucus plug, biting tube, kinked circuit
PPneumothoraxSudden onset, absent breath sounds, tension PTX = emergency
EEquipment failureVent malfunction, disconnection, empty O2 source

The Full Ideal Answer

"First I would not panic - I'd go to the bedside immediately and do a rapid assessment. I'd look at the patient - are they breathing, what's their color, are they fighting the vent? I'd manually ventilate with a BVM and 100% O2 to take the vent out of the equation and assess lung compliance by feel. Then I'd work through DOPE:
D - Is the tube displaced? I'd check tube position at the teeth, listen for bilateral breath sounds, look for chest rise.
O - Is there an obstruction? I'd suction the ETT and check the circuit for kinks or water.
P - Pneumothorax? I'd auscultate both sides - absent or decreased breath sounds on one side, with hypotension and tracheal deviation means tension PTX - I'd call the physician immediately for needle decompression.
E - Equipment failure? Check all connections, vent settings, O2 supply.
Throughout this I'd be calling for the nurse and physician, keeping the patient on 100% FiO2, and communicating clearly with the team."

Why BVM First is So Important

Manually ventilating immediately tells you two things:
  1. Easy to bag = likely a vent/circuit problem (equipment)
  2. Hard to bag = likely a patient problem (obstruction, pneumothorax, bronchospasm)
That one step narrows your differential in seconds.

The One-Liner for This Scenario

"Sudden deterioration in a vented patient - I go to bedside, bag the patient, and work through DOPE: Displacement, Obstruction, Pneumothorax, Equipment."

Key takeaway: Suctioning alone is only "O" in DOPE. The interviewer wants to see the whole systematic picture.
Ready for Question 4? 🎤

Give me more ICU emergency scenarios to practice

Let's run through them one at a time. Same format - you answer, I give feedback.

Emergency Scenario 1

A 67-year-old COPD patient is intubated and on Volume A/C. Over the past 20 minutes you notice:
  • Blood pressure dropping: 118/72 → 94/60 → 78/50 ⬇️
  • Heart rate rising: 88 → 110 → 128 ⬆️
  • SpO2: 91%
  • High pressure alarms going off
  • Breath sounds decreased on the LEFT
  • The ventilator is not fully cycling - expiratory flow is not returning to zero
What is happening and what do you do?
Think out loud - walk through your reasoning step by step. 🎤

Cardiac arrest

Not quite - the patient is heading toward arrest but isn't there yet. More importantly, there's a specific, treatable cause staring at us in the clues. Let's break it down:

Feedback

Your thinking ✅
  • You recognized this is serious and deteriorating fast - correct
  • The instinct to act urgently is right
What the clues are telling you:
Let's read each clue like a detective:
ClueWhat It Means
COPD patientHigh risk for air trapping
BP dropping progressivelyObstructive shock developing
HR risingCompensating for low BP
High pressure alarmsAir can't get out - building up
Decreased breath sounds LEFTAir or problem on that side
Expiratory flow NOT returning to zeroAuto-PEEP / air trapping confirmed
Putting it together:
This is Auto-PEEP (dynamic hyperinflation) leading to tension physiology - not a primary cardiac arrest
Air is getting in but not fully getting out. Pressure builds up inside the chest with every breath, compresses the great vessels, reduces venous return, and drops the blood pressure. If untreated - THEN it becomes cardiac arrest.

The Full Ideal Answer

"This patient has Auto-PEEP causing obstructive shock. The COPD history, rising pressures, expiratory flow not returning to zero, and dropping BP all point to dynamic hyperinflation. I would:
Step 1 - Disconnect from the vent immediately
  • Remove the patient from the ventilator for 30-60 seconds
  • This allows trapped air to escape and is often instantly life-saving
  • Watch - BP will often come back up within seconds
Step 2 - Reassess
  • Did BP recover? If yes, auto-PEEP confirmed
  • If breath sounds still decreased on left after decompression, now consider pneumothorax
Step 3 - Fix the vent settings
  • Decrease respiratory rate (give more time to exhale)
  • Decrease tidal volume
  • Increase expiratory time - adjust I:E ratio (target 1:3 or 1:4 in COPD)
  • Consider reducing PEEP set
Step 4 - Treat the underlying COPD
  • Bronchodilators (albuterol/ipratropium)
  • Notify physician throughout*

Auto-PEEP Cheat Sheet

Who gets itCOPD, asthma, high RR, short exp. time
How to detectExpiratory hold maneuver - vent shows positive pressure at end-expiration
Bedside signFlow-time waveform doesn't return to zero
Hemodynamic effect↓ Venous return → ↓ BP → obstructive shock
Emergency fixDisconnect from vent - let air out
Vent fix↓ RR, ↓ Vt, ↑ expiratory time, bronchodilators

Why This Matters for Your Interview

Auto-PEEP causing hemodynamic collapse is one of the most tested ICU RT scenarios because:
  1. It's uniquely within RT scope to recognize and fix
  2. The fix (disconnect from vent) is counterintuitive but immediately life-saving
  3. It shows you understand waveform interpretation

Ready for Emergency Scenario 2? This one involves oxygenation. 🎤

Create a quick reference card on AUTO-PEEP recognition

Running Command

ls /home/daytona/workspace/rt-reference/

Writing File

~/rt-reference/auto_peep_card.py

from reportlab.lib.pagesizes import letter
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT

OUTPUT = "/home/daytona/workspace/rt-reference/RT_AutoPEEP_Quick_Reference.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=letter,
    rightMargin=0.55*inch,
    leftMargin=0.55*inch,
    topMargin=0.55*inch,
    bottomMargin=0.55*inch
)

# ── Colors ──────────────────────────────────────────────────────────────────
DARK        = colors.HexColor("#1e1b4b")   # deep indigo
MED         = colors.HexColor("#4338ca")   # indigo
LIGHT       = colors.HexColor("#e0e7ff")   # pale indigo
RED         = colors.HexColor("#b91c1c")
LIGHT_RED   = colors.HexColor("#fee2e2")
GREEN       = colors.HexColor("#15803d")
LIGHT_GREEN = colors.HexColor("#dcfce7")
ORANGE      = colors.HexColor("#c2410c")
LIGHT_ORG   = colors.HexColor("#ffedd5")
YELLOW_D    = colors.HexColor("#854d0e")
YELLOW_L    = colors.HexColor("#fef9c3")
TEAL        = colors.HexColor("#0f766e")
LIGHT_TEAL  = colors.HexColor("#ccfbf1")
GREY_L      = colors.HexColor("#f1f5f9")
GREY_M      = colors.HexColor("#94a3b8")
WHITE       = colors.white

styles = getSampleStyleSheet()

def S(name, **kw):
    s = styles[name].clone(name + str(id(kw)))
    for k, v in kw.items():
        setattr(s, k, v)
    return s

title_s  = S("Title",   fontSize=22, textColor=WHITE,      alignment=TA_CENTER, spaceAfter=2, leading=28)
sub_s    = S("Normal",  fontSize=10, textColor=LIGHT,      alignment=TA_CENTER, spaceAfter=2)
h1_s     = S("Heading1",fontSize=12, textColor=WHITE,      spaceBefore=4, spaceAfter=3, leading=16)
body_s   = S("Normal",  fontSize=9,  textColor=colors.black, leading=13)
small_s  = S("Normal",  fontSize=8.5,textColor=colors.HexColor("#1e293b"), leading=12)
sm_red_s = S("Normal",  fontSize=8.5,textColor=RED,        leading=12)
sm_grn_s = S("Normal",  fontSize=8.5,textColor=GREEN,      leading=12)
sm_org_s = S("Normal",  fontSize=8.5,textColor=ORANGE,     leading=12)
bold_s   = S("Normal",  fontSize=9,  textColor=DARK,       leading=13)
center_s = S("Normal",  fontSize=9,  textColor=colors.black, alignment=TA_CENTER, leading=13)
footer_s = S("Normal",  fontSize=7.5,textColor=GREY_M,     alignment=TA_CENTER)

PAGE_W = 7.4 * inch

def sec_hdr(text, bg=MED):
    t = Table([[Paragraph(text, h1_s)]], colWidths=[PAGE_W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), bg),
        ("TOPPADDING",    (0,0),(-1,-1), 7),
        ("BOTTOMPADDING", (0,0),(-1,-1), 7),
        ("LEFTPADDING",   (0,0),(-1,-1), 10),
    ]))
    return t

def callout(text, bg=LIGHT, border=MED):
    t = Table([[Paragraph(text, S("Normal", fontSize=9, textColor=DARK, leading=13))]],
              colWidths=[PAGE_W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), bg),
        ("LEFTPADDING",   (0,0),(-1,-1), 12),
        ("RIGHTPADDING",  (0,0),(-1,-1), 12),
        ("TOPPADDING",    (0,0),(-1,-1), 7),
        ("BOTTOMPADDING", (0,0),(-1,-1), 7),
        ("LINEBEFORE",    (0,0),(0,-1),  4, border),
    ]))
    return t

elements = []

# ══════════════════════════════════════════════════════════════════════════════
# BANNER
# ══════════════════════════════════════════════════════════════════════════════
banner = Table([
    [Paragraph("Auto-PEEP / Dynamic Hyperinflation", title_s)],
    [Paragraph("ICU Respiratory Therapy  |  Quick Recognition & Management Card", sub_s)],
], colWidths=[PAGE_W])
banner.setStyle(TableStyle([
    ("BACKGROUND",    (0,0),(-1,-1), DARK),
    ("TOPPADDING",    (0,0),(-1,-1), 14),
    ("BOTTOMPADDING", (0,0),(-1,-1), 14),
    ("LEFTPADDING",   (0,0),(-1,-1), 16),
]))
elements.append(banner)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 — WHAT IS AUTO-PEEP
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("① What Is Auto-PEEP?"))
elements.append(Spacer(1, 4))
elements.append(callout(
    "<b>Definition:</b> Auto-PEEP (intrinsic PEEP) occurs when air <b>cannot fully escape</b> before the next breath begins. "
    "Trapped air raises end-expiratory pressure above the set PEEP, increasing intrathoracic pressure with every breath. "
    "Unchecked, it compresses the great vessels and causes <b>obstructive shock</b> — and ultimately cardiac arrest."
))
elements.append(Spacer(1, 8))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 — WHO IS AT RISK
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("② Who Is at Risk?", bg=colors.HexColor("#7c3aed")))
elements.append(Spacer(1, 4))

risk_data = [
    [Paragraph("<b>Patient Factors</b>", S("Normal", fontSize=9, textColor=colors.HexColor("#7c3aed"))),
     Paragraph("<b>Ventilator Factors</b>", S("Normal", fontSize=9, textColor=colors.HexColor("#7c3aed")))],
    [
        Paragraph("• COPD / Emphysema\n• Asthma / Status asthmaticus\n• Air trapping diseases\n• High airway resistance", small_s),
        Paragraph("• High respiratory rate\n• Large tidal volumes\n• Short expiratory time\n• Low I:E ratio (e.g. 1:1)\n• Insufficient flow rate", small_s),
    ]
]
risk_t = Table(risk_data, colWidths=[3.7*inch, 3.7*inch])
risk_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  colors.HexColor("#f5f3ff")),
    ("BACKGROUND",    (0,1), (-1,1),  WHITE),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_M),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
elements.append(risk_t)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 — RECOGNITION
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("③ How to Recognize Auto-PEEP", bg=RED))
elements.append(Spacer(1, 4))

rec_data = [
    [Paragraph("<b>Sign</b>", body_s),
     Paragraph("<b>What You See / Hear</b>", body_s),
     Paragraph("<b>Why It Happens</b>", body_s)],
    [Paragraph("Expiratory flow waveform\nnot returning to zero", small_s),
     Paragraph("Flow-time graph shows positive\nflow still present at next breath", small_s),
     Paragraph("Air still moving out when\nnext breath starts", small_s)],
    [Paragraph("Expiratory hold maneuver\n(GOLD STANDARD)", S("Normal", fontSize=8.5, textColor=GREEN, leading=12)),
     Paragraph("Vent displays positive pressure\nat end-expiration (e.g. +8 cmH₂O)\nwhen patient is passive", small_s),
     Paragraph("Directly measures trapped\npressure above set PEEP", small_s)],
    [Paragraph("Progressive hypotension", small_s),
     Paragraph("BP drops with each breath cycle\n↓ venous return → ↓ CO", small_s),
     Paragraph("Rising intrathoracic pressure\ncompresses great vessels", small_s)],
    [Paragraph("High peak pressures", small_s),
     Paragraph("PIP alarm firing,\npressure rising over time", small_s),
     Paragraph("Stacking breaths on top\nof trapped volume", small_s)],
    [Paragraph("Patient-ventilator\nasynchrony", small_s),
     Paragraph("Patient fighting vent,\nagitation, double triggering", small_s),
     Paragraph("Patient's effort can't\novercrome intrinsic PEEP", small_s)],
    [Paragraph("Tachycardia", small_s),
     Paragraph("HR rising compensatory", small_s),
     Paragraph("Response to falling BP\nand increased work", small_s)],
]

rec_t = Table(rec_data, colWidths=[1.9*inch, 2.75*inch, 2.75*inch])
rec_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  RED),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_RED]),
    ("BACKGROUND",    (0,2), (-1,2),  LIGHT_GREEN),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_M),
    ("FONTSIZE",      (0,0), (-1,-1), 8.5),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
elements.append(rec_t)
elements.append(Spacer(1, 6))
elements.append(callout(
    "<b>Expiratory Hold How-To:</b> Press the exp hold button while patient is passive (not actively breathing). "
    "Hold for 3-5 seconds. Read the pressure displayed. Any value <b>&gt; set PEEP = Auto-PEEP present.</b> "
    "Example: Set PEEP = 5, hold shows 13 cmH₂O → Auto-PEEP = <b>8 cmH₂O</b>.",
    bg=LIGHT_GREEN, border=GREEN
))
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 4 — MANAGEMENT (STEP BY STEP)
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("④ Management — Step by Step", bg=TEAL))
elements.append(Spacer(1, 4))

mgmt_data = [
    [Paragraph("<b>Step</b>", body_s),
     Paragraph("<b>Action</b>", body_s),
     Paragraph("<b>Expected Result</b>", body_s)],
    [Paragraph("1\nEMERGENCY", S("Normal", fontSize=9, textColor=RED, alignment=TA_CENTER)),
     Paragraph("<b>Disconnect from ventilator</b>\nAllow 30-60 seconds of passive exhalation", small_s),
     Paragraph("Trapped air escapes, intrathoracic pressure drops,\nBP often recovers within seconds", sm_grn_s)],
    [Paragraph("2", center_s),
     Paragraph("<b>Decrease respiratory rate</b>\nGive more time for full exhalation", small_s),
     Paragraph("Longer expiratory time per cycle", small_s)],
    [Paragraph("3", center_s),
     Paragraph("<b>Decrease tidal volume</b>\nLess air in = less air to trap", small_s),
     Paragraph("Reduced breath stacking", small_s)],
    [Paragraph("4", center_s),
     Paragraph("<b>Adjust I:E ratio</b>\nTarget 1:3 or 1:4 in COPD/asthma\n(increase expiratory time)", small_s),
     Paragraph("More time allocated to exhalation", small_s)],
    [Paragraph("5", center_s),
     Paragraph("<b>Increase inspiratory flow rate</b>\nFaster inspiration = more time for exhalation", small_s),
     Paragraph("Shifts time from inspiration to expiration", small_s)],
    [Paragraph("6", center_s),
     Paragraph("<b>Bronchodilators</b>\nAlbuterol + Ipratropium via in-line nebulizer", small_s),
     Paragraph("Reduces airway resistance, helps air escape faster", small_s)],
    [Paragraph("7", center_s),
     Paragraph("<b>Reassess & notify physician</b>\nRepeat exp hold, monitor BP/HR/SpO₂", small_s),
     Paragraph("Confirm resolution, adjust plan as needed", small_s)],
]

mgmt_t = Table(mgmt_data, colWidths=[0.75*inch, 3.6*inch, 3.05*inch])
mgmt_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("BACKGROUND",    (0,1), (-1,1),  LIGHT_RED),
    ("ROWBACKGROUNDS",(0,2), (-1,-1), [WHITE, LIGHT_TEAL]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_M),
    ("FONTSIZE",      (0,0), (-1,-1), 8.5),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("ALIGN",         (0,0), (0,-1),  "CENTER"),
]))
elements.append(mgmt_t)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 5 — WAVEFORM + QUICK COMPARISON
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("⑤ Waveform Clue + Auto-PEEP vs Tension PTX", bg=ORANGE))
elements.append(Spacer(1, 4))

# Two-column layout
left_text = (
    "<b>Flow-Time Waveform (Normal):</b><br/>"
    "Expiratory flow <b>returns to zero</b> before next breath. Baseline is flat.<br/><br/>"
    "<b>Flow-Time Waveform (Auto-PEEP):</b><br/>"
    "Expiratory flow <b>does NOT return to zero.</b> "
    "Next breath starts before exhalation is complete. "
    "The waveform is cut off mid-exhale."
)
right_data = [
    [Paragraph("<b>Feature</b>", small_s),
     Paragraph("<b>Auto-PEEP</b>", small_s),
     Paragraph("<b>Tension PTX</b>", small_s)],
    ["Breath sounds", "Bilateral ↓ (may be equal)", "Unilateral absent"],
    ["Trachea", "Midline", "Deviated away"],
    ["Onset", "Gradual", "Sudden"],
    ["Exp flow → 0?", "NO", "Yes"],
    ["Fix", "Disconnect vent", "Needle decompression"],
]
right_t = Table(right_data, colWidths=[1.1*inch, 1.3*inch, 1.3*inch])
right_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  ORANGE),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LIGHT_ORG]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_M),
    ("FONTSIZE",      (0,0), (-1,-1), 8),
    ("TOPPADDING",    (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
]))

two_col = Table([
    [Paragraph(left_text, S("Normal", fontSize=8.5, textColor=DARK, leading=13)), right_t]
], colWidths=[3.65*inch, 3.75*inch])
two_col.setStyle(TableStyle([
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("LEFTPADDING",   (0,0), (-1,-1), 0),
    ("RIGHTPADDING",  (0,0), (-1,-1), 0),
    ("TOPPADDING",    (0,0), (-1,-1), 0),
    ("BOTTOMPADDING", (0,0), (-1,-1), 0),
]))
elements.append(two_col)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# SECTION 6 — INTERVIEW ONE-LINERS
# ══════════════════════════════════════════════════════════════════════════════
elements.append(sec_hdr("⑥ ICU Interview One-Liners for Auto-PEEP", bg=YELLOW_D))
elements.append(Spacer(1, 4))

liners = [
    ("COPD patient BP dropping on vent:", "Think auto-PEEP first. Disconnect, let them exhale, watch BP recover."),
    ("How do you confirm auto-PEEP?", "Expiratory hold maneuver — pressure above set PEEP = auto-PEEP present."),
    ("Flow waveform not returning to zero:", "Air trapping. Reduce RR, increase exp time, give bronchodilators."),
    ("Auto-PEEP emergency fix:", "Disconnect from vent immediately — 30 to 60 seconds of free exhalation."),
    ("Vent adjustments for auto-PEEP:", "Decrease RR, decrease Vt, increase flow rate, target I:E of 1:3 or 1:4."),
    ("Why not just increase set PEEP?", "Higher set PEEP in auto-PEEP worsens air trapping — fix the cause instead."),
]

l_data = []
for q, a in liners:
    l_data.append([
        Paragraph(f"<b>{q}</b>", S("Normal", fontSize=8.5, textColor=DARK)),
        Paragraph(a, small_s)
    ])

l_t = Table(l_data, colWidths=[2.5*inch, 4.9*inch])
l_t.setStyle(TableStyle([
    ("ROWBACKGROUNDS",(0,0), (-1,-1), [YELLOW_L, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.4, GREY_M),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
elements.append(l_t)
elements.append(Spacer(1, 10))

# ══════════════════════════════════════════════════════════════════════════════
# FOOTER
# ══════════════════════════════════════════════════════════════════════════════
elements.append(HRFlowable(width="100%", thickness=0.5, color=GREY_M))
elements.append(Spacer(1, 4))
elements.append(Paragraph(
    "ICU RT Interview Prep  |  Auto-PEEP Quick Reference  |  Created with Orris AI  |  For educational use only — always follow institutional protocols",
    footer_s
))

doc.build(elements)
print(f"PDF created: {OUTPUT}")
Running Command

python /home/daytona/workspace/rt-reference/auto_peep_card.py

Your Auto-PEEP quick reference card is ready!

RT AutoPEEP Quick Reference

PDF Document · PDF


What's on the card (1 page, print-ready):
  1. What Is Auto-PEEP - clear definition and mechanism
  2. Who Is at Risk - patient factors vs ventilator factors side by side
  3. How to Recognize - all 6 bedside signs including the expiratory hold how-to (gold standard)
  4. Management Step by Step - disconnect first (emergency), then 6 vent adjustments
  5. Waveform Clue + Auto-PEEP vs Tension PTX - side-by-side comparison so you never confuse the two
  6. ICU Interview One-Liners - 6 ready-to-say answers including the tricky "why not raise set PEEP?" question

You now have 2 reference cards to print for tomorrow:
  • 📄

    RT Pressure Quick Reference

    PDF Document · PDF

  • 📄

    RT AutoPEEP Quick Reference

    PDF Document · PDF

Ready to continue with Emergency Scenario 2 of the quiz? 🎤

Continue with Emergency Scenario 2 (oxygenation)

Emergency Scenario 2

A 45-year-old woman was intubated 48 hours ago for bilateral pneumonia. She's on Volume A/C. Morning chest X-ray shows new bilateral infiltrates. Her current numbers:
  • FiO2: 1.0 (100%) ⬆️
  • SpO2: 86% despite 100% O2 😨
  • PaO2: 58 mmHg
  • PaCO2: 44 mmHg
  • pH: 7.36
  • PEEP: 5 cmH2O
  • Tidal Volume: 500 mL (she weighs 70 kg actual, 58 kg IBW)
  • RR: 18
  • Pplat: 28 cmH2O
  • BP: 108/64, HR: 118
Four questions:
  1. What condition is this and how do you confirm it?
  2. Is her tidal volume appropriate?
  3. What is her P/F ratio and what does it tell you?
  4. What are your immediate vent changes?
Take your time - walk through each one. 🎤

Barotrauma

Good instinct - barotrauma is a real concern here and we'll address it. But the primary diagnosis is something bigger that explains everything in this scenario. Let's work through all the clues together:

Reading the Clues

ClueWhat It Tells You
Bilateral pneumonia → 48 hrs laterAcute onset within 1 week of insult ✅
Bilateral infiltrates on CXRNon-cardiogenic pulmonary edema pattern ✅
SpO2 86% on 100% FiO2Refractory hypoxemia ✅
PaO2 58 on FiO2 1.0P/F ratio = 58 → severe ✅
Normal BP (not in heart failure)Non-cardiogenic cause ✅
All 4 Berlin criteria are met:
  1. Acute onset (within 1 week) ✅
  2. Bilateral infiltrates on CXR ✅
  3. Not fully explained by cardiac failure ✅
  4. P/F ratio < 300 ✅
Diagnosis = ARDS (Acute Respiratory Distress Syndrome)
  • P/F of 58 = Severe ARDS (< 100)
Barotrauma is a complication risk of ARDS if we don't ventilate her correctly - so you were thinking in the right direction.

Full Answer - All 4 Questions

Q1 - What condition and how to confirm?

ARDS - confirmed by Berlin Definition: acute onset, bilateral infiltrates, refractory hypoxemia (P/F < 300), no cardiogenic cause. Get an echo or BNP to rule out cardiac pulmonary edema if needed.

Q2 - Is her tidal volume appropriate?

No - it is too high and dangerous.
  • Actual weight: 70 kg → but we use IBW = 58 kg
  • Current Vt: 500 mL
  • 500 ÷ 58 = 8.6 mL/kg IBW
  • ARDS goal: 6 mL/kg IBW = 58 × 6 = 348 mL
  • She is being volutrauma'd right now
This is a classic trap - using actual weight instead of IBW gives a dangerous Vt.

Q3 - P/F Ratio?

PaO2 ÷ FiO2 = 58 ÷ 1.0 = 58
P/F RangeSeverity
200-300Mild ARDS
100-200Moderate ARDS
< 100Severe ARDS ← she's here
This tells you oxygenation is critically failing despite maximum FiO2.

Q4 - Immediate Vent Changes?

1. Reduce Vt to 6 mL/kg IBW
  • 58 × 6 = 348 mL
  • Accept permissive hypercapnia - CO2 may rise, that's okay
  • Recheck Pplat - target < 30 (currently 28, which is acceptable but watch it)
2. Increase PEEP aggressively
  • Use ARDSnet FiO2/PEEP table
  • On FiO2 1.0 → PEEP should be 18-24 cmH2O per ARDSnet
  • PEEP recruits collapsed alveoli and improves oxygenation
  • Monitor driving pressure (Pplat - PEEP) - keep < 15
3. Consider prone positioning
  • Severe ARDS (P/F < 100) → prone for 16+ hours/day
  • Proven mortality benefit in severe ARDS
  • Notify physician immediately
4. Wean FiO2 carefully
  • Fix the problem with PEEP first, then wean FiO2
  • Goal: FiO2 ≤ 0.6 to avoid oxygen toxicity

The One-Liner for This Scenario

"Bilateral infiltrates, refractory hypoxemia, P/F of 58, acute onset after pneumonia - this is severe ARDS. Her tidal volume is too high at 8.6 mL/kg IBW - I need to reduce to 6 mL/kg, increase PEEP per ARDSnet, and discuss prone positioning with the physician."

ARDSnet PEEP/FiO2 Table (Memorize the Extremes)

FiO20.30.40.50.60.70.80.91.0
PEEP55-88-101010-141414-1818-24

Great effort - you're picking up on danger signs correctly. The key skill to practice is connecting multiple clues to one diagnosis before jumping to a complication.
Ready for Emergency Scenario 3? 🎤

Continue with Emergency Scenario 3

Emergency Scenario 3

A 72-year-old man is post-op day 1 after abdominal surgery. He was extubated this morning. Two hours later the nurse calls you urgently:
  • He is using accessory muscles to breathe
  • RR: 34 breaths/min ⬆️
  • SpO2: 89% on 4L nasal cannula
  • He is anxious and diaphoretic
  • Breath sounds: bilateral crackles at bases
  • BP: 158/94 ⬆️
  • HR: 112
  • He cannot speak in full sentences
  • ABG: pH 7.31 / PaCO2 52 / HCO3 25 / PaO2 54
Three questions:
  1. What is happening and why?
  2. As the RT, what is your FIRST intervention?
  3. He does not improve after 20 minutes. What do you do next?
Think it through carefully - there are two things going on here. 🎤

Explain

No problem - let's walk through every clue together and build the picture step by step.

Reading the Clues One by One

Who is this patient?

  • 72 years old, post abdominal surgery, just extubated this morning
  • That context is everything - post-op patients are at high risk for respiratory failure

Clue 1 - The Work of Breathing

RR 34, accessory muscles, can't speak full sentences, anxious, diaphoretic
This tells you his lungs are struggling hard. He is working overtime just to breathe. This is respiratory distress - not subtle, not mild.

Clue 2 - The ABG

pH 7.31 / PaCO2 52 / HCO3 25 / PaO2 54
Let's interpret it step by step:
  • pH 7.31 = acidosis
  • PaCO2 52 = high → respiratory acidosis is the primary problem
  • HCO3 25 = normal → no metabolic compensation yet (this is acute)
  • PaO2 54 = hypoxemia (severe)
So he has acute respiratory acidosis - he is not ventilating adequately. CO2 is building up because he cannot breathe effectively enough to clear it.

Clue 3 - The Breath Sounds + BP

Bilateral crackles at bases, BP 158/94
Crackles at the bases = fluid in the alveoli - think pulmonary edema High BP in a post-op patient = fluid overload is common after surgery (IV fluids given intraoperatively)

Putting It All Together - Two Things Are Happening

Problem 1: Acute Hypercapnic Respiratory Failure
  • He is tiring out, can't clear CO2
  • RR is high but he's getting shallower - CO2 rising
  • If not treated → CO2 keeps rising, pH drops further → respiratory arrest
Problem 2: Post-op Pulmonary Edema / Fluid Overload
  • Bilateral crackles + high BP + post-surgery = fluid overload causing atelectasis and poor gas exchange
  • This is making oxygenation worse (PaO2 54)
  • Also making him work harder to breathe through wet, stiff lungs
Combined: Hypoxemic + Hypercapnic respiratory failure after extubation This is called post-extubation respiratory failure - a true emergency

The Full Answer

Q1 - What is happening and why?

Post-extubation respiratory failure with two components:
  • Hypercapnia (CO2 52, pH 7.31) from respiratory muscle fatigue - he cannot sustain the work of breathing
  • Hypoxemia (PaO2 54) from pulmonary edema/atelectasis causing poor oxygenation
  • Likely cause: post-op fluid overload + increased work of breathing after extubation

Q2 - First intervention as the RT?

Non-Invasive Ventilation (NIV) - BiPAP immediately
This is the RT's moment. BiPAP does three things at once:
  1. IPAP (inspiratory pressure) - helps push air in, offloads the respiratory muscles, reduces CO2
  2. EPAP (expiratory pressure) - keeps alveoli open, recruits atelectasis, improves oxygenation
  3. Buys time - avoids re-intubation if it works
Starting BiPAP settings:
  • IPAP: 10-12 cmH2O
  • EPAP: 5-8 cmH2O
  • FiO2: 1.0 to start, wean to SpO2 92-96%
  • Backup rate: 12/min
Also: sit him upright (30-45°), reassure him, monitor closely

Q3 - No improvement after 20 minutes - what next?

Prepare for re-intubation and notify the physician immediately
Signs that BiPAP is failing:
  • pH continues to drop (< 7.25)
  • CO2 keeps rising
  • SpO2 not improving
  • Patient exhausted, can no longer protect airway
  • Hemodynamic instability
As the RT: gather your intubation equipment, have suction ready, confirm IV access, pre-oxygenate with BVM, assist the physician with RSI

Why BiPAP Before Intubation?

BiPAPIntubation
InvasivenessNon-invasiveInvasive
Patient comfortBetter toleratedSedation/paralytic needed
Infection riskLowVAP risk
When it worksReverses failure, avoids intubation-
When to move onFailing after 20-30 minImmediately
NIV is first-line for post-op respiratory failure, COPD exacerbation, and cardiogenic pulmonary edema - these are the three strongest indications.

The One-Liner for This Scenario

"Post-extubation respiratory failure - he has acute respiratory acidosis from fatigue and hypoxemia from pulmonary edema. First intervention is BiPAP to offload his muscles and recruit his alveoli. If no improvement in 20 minutes, I prepare for re-intubation and notify the team."

The Big 3 NIV Indications to Memorize

ConditionWhy NIV Works
COPD exacerbationReduces CO2, reduces intubation rate by 50%
Cardiogenic pulmonary edemaEPAP pushes fluid back, reduces preload
Post-extubation failureBridges the gap, rests respiratory muscles

Does that all make sense now? Want to try answering the next scenario on your own, or keep working through them together? 🎤

Practice more weaning & extubation scenarios

Let's go! Same format - answer first, then I give feedback.

Weaning Scenario 1

A 58-year-old man has been on the ventilator for 5 days after sepsis. He is now improving. The physician asks you to assess whether this patient is ready for a Spontaneous Breathing Trial (SBT).
Here are his current numbers:
  • FiO2: 0.40
  • PEEP: 5 cmH2O
  • SpO2: 96%
  • RR: 16 on the vent
  • Tidal Volume: 480 mL (IBW 70 kg)
  • Pplat: 22 cmH2O
  • GCS: 13 (opens eyes to voice, follows commands)
  • Cough: present when suctioned
  • Hemodynamics: BP 118/72, HR 84, no vasopressors
  • Temp: 37.2°C
Two questions:
  1. Is this patient ready to attempt an SBT? Walk through your assessment criteria.
  2. If yes, how do you conduct the SBT - what settings, duration, and pass/fail criteria?
Take your time. 🎤

Yeah patients is coughing

Good catch - cough is one of the criteria! But a complete answer needs to check ALL the boxes systematically. Here's how to build the full response:

Feedback

What you got right ✅
  • Cough present = airway protection ability - this IS one of the readiness criteria
  • You're thinking about the right things
What's missing - the full readiness checklist
Interviewers want to see you go through every criterion, not just one. Use the SOAP-W framework or a readiness checklist.

Full Answer - Q1: Is He Ready for SBT?

Go through each criterion and check it off:
CriterionGoalThis PatientReady?
OxygenationFiO2 ≤ 0.40-0.50, PEEP ≤ 5-8FiO2 0.40, PEEP 5, SpO2 96%
VentilationAdequate on current settingsRR 16, Pplat 22, Vt good
HemodynamicsNo/minimal vasopressors, stable BP/HRBP 118/72, HR 84, no pressors
NeurologicalFollows commands, GCS adequateGCS 13, follows commands
Airway protectionCough present, can handle secretionsCough present on suction
Cause resolvedReason for intubation improving/resolvedSepsis improving
AfebrileNo active fever/infection worseningTemp 37.2°C
All criteria met - YES, this patient is ready to attempt an SBT.

Full Answer - Q2: How Do You Conduct the SBT?

Step 1 - Choose your SBT method (two options)

MethodSettingsNotes
Pressure SupportPS 5-8 cmH2O / PEEP 5Most common, minimal support
T-piecePatient breathes room air through T-pieceNo vent support at all, harder test
CPAPPEEP 5, PS 0Middle ground
Most ICUs use PS 5/PEEP 5 - it overcomes ETT resistance without adding significant support

Step 2 - Duration

  • 30 to 120 minutes
  • Most patients who will pass do so within the first 30 minutes
  • If they pass 30 min → strong predictor of successful extubation

Step 3 - Monitor These During SBT

Watch the patient at the bedside. Do NOT walk away.
ParameterConcern If...
RR> 35 breaths/min
SpO2< 90%
HR> 140 or change > 20%
BPSystolic < 90 or > 180
Tidal Volume< 4 mL/kg IBW
Work of breathingAccessory muscle use, paradoxical breathing
Mental statusAgitation, anxiety, decreased consciousness

Step 4 - Calculate RSBI at the Start

RSBI = RR ÷ Tidal Volume (in liters)
  • RR 16, Vt 480 mL (0.48 L)
  • RSBI = 16 ÷ 0.48 = 33 ✅ (excellent - well below 105)
RSBIPrediction
< 80Strong predictor of success
80-105Borderline
> 105Likely to fail - do not extubate

Step 5 - SBT Pass Criteria (All Must Be Met)

✅ RR < 35 ✅ SpO2 > 90% (or PaO2 > 60) ✅ HR and BP stable ✅ No significant distress ✅ Adequate tidal volume ✅ Alert and cooperative
If ALL pass → Recommend extubation to physician

Step 6 - SBT Fail Criteria (Any One = Stop SBT)

Stop immediately and return to previous vent settings if:
  • RR > 35
  • SpO2 < 90%
  • HR > 140 or BP > 180 / < 90
  • Increased work of breathing
  • Diaphoresis, agitation, distress
  • Paradoxical chest/abdominal movement
After a failed SBT: rest the patient on comfortable vent settings for at least 24 hours before trying again

The One-Liner for This Scenario

"All weaning criteria are met - oxygenation adequate, hemodynamics stable, neurologically intact, cough present. I would start a PS 5/PEEP 5 SBT, calculate RSBI, monitor closely for 30-120 minutes, and if he passes all criteria I would recommend extubation to the physician."

Post-SBT - Before You Extubate

Before pulling the tube, also confirm:
  • Cuff leak test - deflate cuff, patient can phonate or air leaks around tube (rules out post-extubation stridor risk)
  • Secretion burden manageable - patient can cough and swallow
  • Team is present - physician, nurse at bedside for extubation
  • Post-extubation O2 plan ready - high flow NC or face mask

Ready for Weaning Scenario 2? This one involves a patient who fails the SBT. 🎤

Hacker's score

You're likely thinking of the Hack Score (also called the Hacker Score informally) - this is actually a cough strength assessment tool used before extubation. Let's break it down:

The HACK Score - Cough Strength Assessment

Used to predict whether a patient can clear secretions after extubation. Weak cough = high risk for re-intubation due to secretion retention.

How to Test It

Ask the patient to cough (or stimulate a cough by suctioning) and score what you see:
ScoreCough Description
0No cough at all
1Audible movement of air but no audible cough
2Weakly audible cough
3Clearly audible cough
4Strong cough - single effort
5Strong cough - chained (multiple coughs in one effort)
Score ≥ 3 = adequate cough strength for extubation Score < 3 = high risk - reconsider extubation

The White Card Score (Related - Know This Too)

Some institutions use a secretion scoring system alongside cough:
ParameterAssessment
Cough strengthStrong / weak / absent
Secretion volumeMinimal / moderate / copious
Secretion thicknessThin / thick
Suctioning frequencyHow often needed per hour
Copious thick secretions + weak cough = extubation will likely fail regardless of SBT result

How HACK Score Fits Into Extubation Readiness

Think of extubation readiness as three pillars:
         EXTUBATION READINESS
               /    |    \
              /     |     \
       SBT Pass   Airway   Neuro
                 Protection  Status
                  (HACK ≥ 3,
                  secretions
                  manageable)
A patient can pass the SBT perfectly but still fail extubation if they cannot protect their airway. This is why the HACK score matters - especially in:
  • Elderly patients
  • Neuromuscular disease (GBS, MG)
  • Post-neurosurgery
  • Heavy sedation history
  • Prolonged intubation (> 7-10 days)

Cuff Leak Test - The Other Airway Check

While we're on airway assessment before extubation:
Cuff Leak Test:
  • Deflate the ETT cuff
  • Listen or feel for air leaking around the tube
  • Leak present = airway not swollen = lower stridor risk ✅
  • No leak = possible subglottic edema = high risk for post-extubation stridor ⚠️
  • If no leak: physician may give IV steroids (methylprednisolone) 4 hours before extubation to reduce swelling

The Full Pre-Extubation Checklist

CheckTool/MethodGoal
BreathingSBT (PS 5/PEEP 5)Pass 30-120 min
Weaning predictorRSBI< 105
Cough strengthHACK Score≥ 3
SecretionsVisual assessmentManageable
Airway swellingCuff leak testLeak present
NeuroGCS, follows commandsAwake, cooperative
HemodynamicsBP, HR, vasopressorsStable, off or weaning pressors

The One-Liner for Your Interview

"Before I recommend extubation I confirm the patient passed the SBT, RSBI is under 105, HACK score is 3 or above showing adequate cough strength, secretions are manageable, and there is a cuff leak present. All pillars have to be solid."

Great question - HACK score is not tested as often as RSBI but knowing it sets you apart as a thorough new grad. Ready to continue with Weaning Scenario 2? 🎤

Spontaneous breathing trail give me full notes

Here are complete SBT notes - everything you need for the interview and clinical practice:

Spontaneous Breathing Trial (SBT) - Complete Notes


What Is an SBT?

A Spontaneous Breathing Trial is a supervised test where a mechanically ventilated patient breathes with minimal or no ventilator support for a set period of time. It is the gold standard method to assess whether a patient is ready to be extubated.
The goal is to simulate breathing after the tube is removed - if the patient tolerates it, extubation is likely to succeed.

Why SBT Matters

  • Mechanical ventilation carries risks: VAP, VILI, diaphragm atrophy, sedation complications
  • Extubating too early → re-intubation (increases mortality)
  • Extubating too late → unnecessary vent days, complications
  • SBT finds the right moment between these two extremes
Re-intubation rate within 48 hours is a key ICU quality metric - RTs who know SBT well directly impact patient outcomes.

Step 1 - Pre-SBT Readiness Screen

Run through ALL of these before starting. Every single box must be checked:

Oxygenation Criteria

ParameterRequired
FiO2≤ 0.40 to 0.50
PEEP≤ 5 to 8 cmH2O
SpO2≥ 90-92% on above settings
P/F ratio≥ 150-200

Ventilation Criteria

ParameterRequired
pH≥ 7.25
PaCO2Acceptable / at patient's baseline
Spontaneous RR< 35 on current vent support
Spontaneous Vt≥ 5 mL/kg IBW

Hemodynamic Criteria

ParameterRequired
VasopressorsNone OR low stable dose weaning
Heart rate< 140, stable
Blood pressureSystolic 90-180 without new agents
Active ischemiaNone
ArrhythmiaNo new hemodynamically significant arrhythmia

Neurological Criteria

ParameterRequired
Level of consciousnessArousable, follows simple commands
GCS≥ 8 (minimum), ideally ≥ 13
SedationLight or off (RASS -1 to 0)
AgitationControlled

Airway Criteria

ParameterRequired
CoughPresent (HACK score ≥ 3 ideal)
SecretionsManageable (not copious/thick)
Suctioning frequencyNot needed more than every 2 hours
Airway reflexesIntact (gag, swallow)

Clinical Criteria

ParameterRequired
Reason for intubationResolved or significantly improved
Active feverNo (temp < 38.5°C)
Metabolic statusNo severe uncorrected electrolyte abnormality
Neuromuscular blockadeFully reversed
If ANY criterion is not met - do not start the SBT. Address the issue first and reassess the next day.

Step 2 - Calculate RSBI Before Starting

RSBI (Rapid Shallow Breathing Index) = RR ÷ Tidal Volume (liters)
Measure over 1 minute with minimal vent support (CPAP 0/PEEP 5 or T-piece).
RSBI ValueInterpretation
< 80Strong predictor of SBT success
80 - 105Borderline - proceed with caution
> 105High likelihood of failure - do not proceed
Example: RR 18, Vt 450 mL (0.45 L) → RSBI = 18 ÷ 0.45 = 40 ✅ Excellent
RSBI was described by Yang & Tobin (1991) and remains one of the most widely used weaning predictors.

Step 3 - Choose SBT Method

Three acceptable methods - know all three:

Method 1: Pressure Support (Most Common)

  • IPAP/PS: 5-8 cmH2O
  • PEEP: 5 cmH2O
  • FiO2: same as before trial
  • Overcomes ETT resistance (ETT itself adds ~5-7 cmH2O resistance)
  • Most commonly used in ICU practice

Method 2: T-Piece

  • Patient disconnected from vent, breathes through a T-shaped adapter
  • Humidified O2 delivered via T-piece
  • No ventilator support at all - hardest test
  • Advantage: truly tests unassisted breathing
  • Disadvantage: no apnea backup, no monitoring through vent

Method 3: CPAP Only

  • CPAP 5 cmH2O, PS 0
  • Minimal support - keeps airway slightly pressurized
  • Middle ground between PS and T-piece
Tip for interview: "I prefer PS 5/PEEP 5 because it overcomes ETT resistance without artificially augmenting breathing, and I can monitor all parameters through the ventilator."

Step 4 - Conduct the SBT

Duration

  • Minimum: 30 minutes
  • Maximum: 120 minutes
  • Most patients who will fail do so within the first 5-10 minutes
  • Passing 30 minutes strongly predicts successful extubation

Your Role During the SBT

  • Stay at the bedside or check frequently - never leave
  • Watch the patient, not just the numbers
  • Document RR, Vt, SpO2, HR, BP at start and every 15 minutes
  • Watch for signs of distress

Step 5 - Pass vs Fail Criteria

SBT PASS - All of These Must Be True

ParameterPass Criterion
RR< 35 breaths/min
SpO2≥ 90% (or PaO2 ≥ 60 mmHg)
HR< 140 and change < 20% from baseline
Systolic BP90-180 mmHg, change < 20%
Tidal Volume≥ 4-5 mL/kg IBW
Work of breathingNo accessory muscle use
Mental statusAlert, calm, cooperative
ComfortNo significant distress or diaphoresis
Patient passes ALL → Recommend extubation to physician

SBT FAIL - Any ONE of These = Stop Immediately

SignThreshold
TachypneaRR > 35
DesaturationSpO2 < 90%
TachycardiaHR > 140 OR > 20% increase
Hypertension/HypotensionSBP > 180 or < 90
Accessory muscle useSternocleidomastoid, intercostal retractions
Paradoxical breathingChest and abdomen move in opposite directions
DiaphoresisSweating = sign of high work
Agitation/anxietyNew or worsening
Decreased consciousnessSomnolence, unresponsiveness
If fail: return to previous comfortable vent settings immediately. Rest patient ≥ 24 hours before next attempt.

Step 6 - After a Passed SBT

Before recommending extubation, complete the full pre-extubation checklist:
CheckMethodGoal
SBT resultPass criteria aboveAll met
RSBIRR ÷ Vt< 105
Cough strengthHACK Score≥ 3
SecretionsVisual / suction assessmentManageable
Cuff leakDeflate cuff, listenLeak present
NeuroGCS, follows commandsAlert, cooperative
Post-extubation planO2 delivery device readyNC, HFO, or BiPAP at bedside

Step 7 - After a Failed SBT

What to Do Immediately

  1. Return to previous vent settings (comfortable, not excessive support)
  2. Document why it failed (which criterion was breached)
  3. Rest the patient - minimum 24 hours before next attempt
  4. Investigate and treat the cause of failure

Common Reasons for SBT Failure

ReasonWhat to Fix
Secretion overloadIncrease suctioning frequency, mucolytics
BronchospasmBronchodilators, steroids
Fluid overloadDiuresis - notify physician
Pain / inadequate analgesiaOptimize pain control
AnemiaCheck Hgb - transfuse if needed
Electrolyte imbalanceCorrect K+, Mg2+, PO4 (affect muscle strength)
Delirium / agitationAddress sedation, environment, ABCDEF bundle
Diaphragm weaknessProgressive vent weaning (PS wean), mobilization
Unresolved primary illnessRevisit diagnosis, treat infection

Special Populations - Modified Approach

COPD Patients

  • Higher acceptable PaCO2 (use baseline, not normal)
  • May need longer SBT
  • Higher re-intubation risk - consider prophylactic NIV after extubation

Neuromuscular Disease (GBS, MG, ALS)

  • RSBI and SBT less reliable
  • Maximal inspiratory pressure (MIP/NIF) more useful
  • NIF goal: more negative than -20 to -25 cmH2O
  • Vital capacity > 10-15 mL/kg before extubation

Post-Cardiac Surgery

  • Often extubated within 4-8 hours (fast-track)
  • Lower thresholds because patient was healthy pre-op
  • Watch for phrenic nerve injury (right hemidiaphragm paralysis on CXR)

Prolonged Mechanical Ventilation (> 21 days)

  • Daily SBT with progressive PS wean
  • Tracheostomy usually in place
  • SBT on trach mask (T-piece equivalent)
  • Rehab, PT/OT, mobilization critical

Additional Weaning Predictors (Know These)

PredictorNormalExtubation Favorable
RSBI-< 105
MIP / NIF-80 to -100 cmH2OMore negative than -20 to -25
Vital Capacity65-75 mL/kg> 10-15 mL/kg
Minute Ventilation5-10 L/min< 10 L/min
P0.1 (airway occlusion pressure)< 2 cmH2O< 6 cmH2O
In clinical practice, RSBI is the most commonly used single predictor. The others are used in specific populations or when RSBI is borderline.

The SAT + SBT Bundle

Modern ICU practice pairs SBT with SAT (Spontaneous Awakening Trial):
TrialWhat It IsWho Manages
SATHold all sedation/analgesics and assessNursing + physician
SBTTrial of minimal vent supportRT
SAT before SBT = ABC protocol (Awakening and Breathing Controlled trial) Research shows SAT + SBT together reduces vent days, ICU stay, and 1-year mortality vs SBT alone.

Interview One-Liners for SBT

QuestionAnswer
"How do you screen for SBT readiness?"FiO2 ≤ 0.5, PEEP ≤ 8, hemodynamically stable, follows commands, cough present, cause resolved
"What settings do you use?"PS 5-8 / PEEP 5, monitor for 30-120 minutes
"What is RSBI and what is the cutoff?"RR ÷ Vt in liters, < 105 favorable, > 105 likely to fail
"When do you stop an SBT?"Any sign of distress: RR > 35, SpO2 < 90%, hemodynamic instability, accessory muscle use
"Patient fails SBT - now what?"Return to prior settings, rest 24 hours, find and fix the cause
"What is the SAT/SBT bundle?"Hold sedation (SAT) before breathing trial (SBT) - reduces vent days and mortality

These are complete SBT notes covering everything from screening through post-extubation care. Want me to make a printable PDF reference card for SBT as well?
This is a shared conversation. Sign in to Orris to start your own chat.