MAKE EXAM ORIENTED POSTGRADUATE EMERGENCY MEDICINE WITH TOPIC NAME ASTHAMA NEW GUIDLINE WITH RECENT ADVANCED

Reading File
Finding Sources
Searching PubMed

"asthma" AND "emergency" AND "guidelines"

Searching the Web

GINA 2025 2026 asthma guidelines emergency management acute severe

Reading File
Reading Web Page

https://www.guidelinecentral.com/insights/may-2026-gina-asth…

Searching PubMed

"acute severe asthma" AND ("magnesium" OR "heliox" OR "ketamine" OR "NIV")

Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File

ASTHMA IN THE EMERGENCY DEPARTMENT

Postgraduate Emergency Medicine - Exam-Oriented Notes

Based on GINA 2026 | Rosen's EM | Goldman-Cecil | GINA 2026 Strategy Report


1. DEFINITIONS (High-Yield for MCQ)

TermDefinition
Asthma exacerbationAcute or subacute worsening of symptoms and lung function from the patient's usual status
Acute severe asthmaPEF 33-50% predicted; RR >25/min; HR >110; unable to complete sentences
Near-fatal asthmaRaised PaCO2 and/or requiring mechanical ventilation
Status asthmaticusPEF or FEV1 does not increase to >40% predicted with treatment, OR rising PaCO2 without improvement in airflow
Life-threatening asthmaPEF <33%; SpO2 <92%; PaO2 <60 mmHg; PaCO2 normal or raised; silent chest; cyanosis; exhaustion; coma
Critical asthma syndromeUmbrella term: status asthmaticus + near-fatal asthma
Exam trap: In asthma, a "NORMAL PaCO2" during an attack = early DANGER sign (patient is tiring, losing ability to hyperventilate). Rising PaCO2 = impending respiratory failure.

2. PATHOPHYSIOLOGY (Key Points)

  • Triad: Airway inflammation + Bronchospasm + Mucus hypersecretion
  • Air trapping causes dynamic hyperinflation and auto-PEEP (intrinsic PEEP)
  • Increased work of breathing leads to respiratory muscle fatigue
  • Pulsus paradoxus (>10 mmHg inspiratory BP drop) indicates severe obstruction
  • Hyperlactatemia in acute asthma - from albuterol/increased work of breathing - does NOT indicate deterioration (exam favorite!)
  • Leukocytosis with asthma: caused by corticosteroids + catecholamines demarginating PMNs - does NOT indicate infection

3. SEVERITY CLASSIFICATION (GINA 2026)

Adults, Adolescents, Children 6-11 years

FeatureMildModerateSevereLife-Threatening
SpeechNormal sentencesPhrasesWords onlyUnable to speak
RRNormalIncreased>30/minVery increased
HR<100100-120>120Bradycardia (pre-arrest)
SpO2 (room air)≥95%92-94%<92%<90%
PEF % predicted>70%40-70%<40%<25%
PaCO2Normal/lowNormal/lowNormalRAISED
Mental statusAlertAlertAnxious/agitatedDrowsy/confused/cyanotic
NEW in GINA 2026: Oxygen supplementation NOT recommended unless SpO2 <92%. Target SpO2 = 92-95% in adults/adolescents/children 6-11. Target ≥92% in children ≤5 years.

4. INITIAL ASSESSMENT IN ED (GINA 2026)

What to do IMMEDIATELY:

  1. Measure SpO2 by pulse oximetry (routine)
  2. PEF or FEV1 - document BEFORE starting treatment (strongly recommended)
  3. Monitor lung function at 1 hour and at intervals thereafter
  4. ABG and chest X-ray: NOT routinely required
    • ABG: only if SpO2 <92% or unable to assess clinically
    • CXR: only if suspecting pneumothorax, pneumonia, pneumomediastinum, heart failure
  5. VBG screening trick: PaCO2 on VBG <40 mmHg likely excludes hypercapnia

POCUS (Point-of-Care Ultrasound):

  • Comet-tail sign (B-lines) = high accuracy in distinguishing acute heart failure vs. asthma/COPD

Pulsus paradoxus:

  • 10 mmHg = significant obstruction
  • 25 mmHg = severe

5. TREATMENT - STEP-BY-STEP (GINA 2026 + Rosen's EM)

STEP 1 - OXYGEN

  • Give O2 only if SpO2 <92%
  • Target: 92-95% (avoid hyperoxia)
  • Deliver via nasal cannula or face mask

STEP 2 - BRONCHODILATORS (SABA)

Salbutamol (Albuterol) - FIRST LINE
  • pMDI + spacer: 4-8 puffs (100 mcg/puff) every 20 minutes x 3 doses
  • Nebulizer: 2.5-5 mg every 20-30 minutes (can give continuously in severe cases)
  • GINA 2026 NEW: Shake the inhaler before EVERY actuation (suspension pMDIs including salbutamol, budesonide-formoterol, fluticasone-salmeterol) - prevents ultra-high accidental dosing
  • GINA 2026 NEW: ICS-formoterol (budesonide-formoterol) is now an ALTERNATE option to SABA for mild exacerbations in primary care/ED in adults, adolescents, and children 6-11 years

STEP 3 - IPRATROPIUM BROMIDE (Add for Moderate-Severe)

  • Dose: 0.5 mg nebulized (or 8 puffs MDI, 18 mcg/puff) every 20 min x 3 doses
  • Add with EACH salbutamol treatment for first 3 doses
  • Mechanism: blocks parasympathetic bronchoconstriction
  • Benefit: reduces hospitalizations + greater PEF improvement vs. SABA alone
  • Onset: 30-120 min; duration 6 hours

STEP 4 - SYSTEMIC CORTICOSTEROIDS

  • Give to ALL patients with acute asthma exacerbation (as early as possible)
  • Oral = IV in efficacy (oral preferred unless vomiting/very ill)
  • Prednisone: 40-50 mg/day orally (standard)
  • IV Methylprednisolone: 40-60 mg (Goldman-Cecil) or 125 mg/day in 1-2 divided doses (Rosen's) if oral not feasible
  • Dexamethasone alternative: 16 mg/day x 2 days (oral) or 10 mg IM single dose at discharge
  • Effects begin within hours, peak at ~24 hours
  • NO dose tapering needed for courses <2 weeks
  • ICS + systemic steroids: No established benefit to routinely adding ICS on top of systemic steroids in ED

6. SECOND-LINE / ADJUNCT THERAPIES (Exam Favorites)

IV Magnesium Sulfate

  • Mechanism: Ca2+ channel blockade → smooth muscle relaxation; inhibits cholinergic transmission; stabilizes mast cells; stimulates NO/prostacyclin
  • Indications (GINA/Rosen's):
    • Adults: severe asthma (PEF <25%) or persistent hypoxia after initial treatment
    • Children: PEF <60% after 1 hour of care
  • Dose: 2 g IV over 20 min (adult); 25-75 mg/kg (max 2 g) over 20 min (pediatric)
  • Evidence: Meta-analysis 2025 (PMID 40562459) confirms benefit of IV MgSO4 added to SABA + steroids in children with acute severe asthma
  • Side effects: warmth, flushing, nausea, muscle weakness, hypotension, loss of DTRs, respiratory depression (dose-related)
  • Exam trap: Studies excluding patients with severe asthma showed NO benefit - use only in SEVERE cases

Epinephrine

  • Indication: Asthma WITH anaphylaxis/angioedema
  • GINA 2026 NEW KEY POINT: If patient has BOTH anaphylaxis and asthma features, give epinephrine FIRST, then bronchodilators (previously unclear)
  • Dose: 0.3-0.5 mg IM (EpiPen)
  • Also adjunct for status asthmaticus (SC/IM 0.5 mg)

Heliox (Helium-Oxygen mixture)

  • Low-density gas reduces turbulent airflow, improves laminar flow
  • Consider for severe refractory asthma not responding to 1 hour of conventional therapy
  • Can be used to drive nebulized albuterol
  • Limited evidence; not first-line

Ketamine

  • Preferred induction agent for RSI in asthmatics
  • Dose: 1-2 mg/kg IV
  • Properties: bronchodilatory + sympathomimetic → ideal in asthmatic
  • Infusion: 1 mg/kg/hr post-intubation (per Harriet Lane)
  • Alternative induction: Propofol 1.5-2 mg/kg (also bronchodilatory; caution - hypotension in volume-depleted patients)

Montelukast (Leukotriene Receptor Antagonist)

  • Add as early as possible if patient not already on it
  • Dose: 10 mg (adult); zafirlukast 20 mg alternative
  • Adjunct role in ED

Theophylline / Methylxanthines

  • NOT recommended for acute asthma in ED (last-line historical option only)
  • High toxicity, narrow therapeutic window, no added benefit over current regimens

7. NONINVASIVE VENTILATION (NIV/BiPAP)

  • Indications: Severe resistant asthma, impending respiratory failure, to buy time before intubation
  • Benefits: Reduces respiratory muscle fatigue, improves FRC, may decrease need for intubation and hospitalization
  • Requirements: Alert mental status + intact airway reflexes + ICU admission mandatory
  • BiPAP well tolerated in children with status asthmaticus
  • Monitor: Serial ABGs during NIV - watch for rising PaCO2 → sign of failure → proceed to intubation
  • Important: NIV is NOT a substitute for intubation when clearly indicated

8. ENDOTRACHEAL INTUBATION + MECHANICAL VENTILATION

Indications for Intubation:

  • Coma or altered consciousness
  • Cardiac/respiratory arrest
  • Paradoxical breathing pattern
  • Refractory hypoxemia
  • Failure of NIV
  • Rising PaCO2 with clinical deterioration

RSI Protocol (Rosen's EM):

  • Use large ETT (≥8.0 mm adult) - facilitates suctioning, mucus plug removal, bronchoscopy
  • Induction: Ketamine 1-2 mg/kg (preferred) or Propofol 1.5-2 mg/kg
  • Paralytic: Succinylcholine 1.5 mg/kg OR Rocuronium 1 mg/kg
  • Post-intubation sedation: Propofol, Lorazepam, or Fentanyl (avoid histamine-releasing opioids)

Ventilator Strategy - "Permissive Hypercapnia" Approach:

ParameterTarget
Tidal volume6-8 mL/kg IBW (low)
RR<10 breaths/min (low)
Inspiratory flow>60 L/min (high) - maximizes expiratory time
FiO2Titrate to maintain SpO2
PEEPGenerally 0-5 cmH2O (minimize auto-PEEP)
PaCO2Allow to rise (permissive hypercapnia)
Key concept: Priority = DECREASE HYPERINFLATION, not correct hypercarbia. Auto-PEEP/breath-stacking is the main killer in intubated asthmatics. Prolonged I:E ratio (1:3 to 1:5) is critical.

Auto-PEEP Detection:

  • Look for breath-stacking on flow-time waveform
  • "Disconnect test" - disconnect and allow passive deflation; if O2 improves, confirms auto-PEEP

9. DISCHARGE CRITERIA (GINA 2026)

Can discharge if:
  • PEF or FEV1 >70% predicted (or personal best) after treatment
  • Symptoms minimal, no nocturnal awakening expected
  • SpO2 ≥92% on room air
  • Able to use inhaler correctly
  • Discharge medications arranged
Discharge Medications:
  1. ICS-containing maintenance therapy (regular; SABA-only discharge is NOT recommended - GINA 2026)
  2. Reliever medication (as-needed, not scheduled routine)
  3. Short course OCS: Prednisone 40-50 mg/day x 5-7 days
  4. Review inhaler technique before discharge
Follow-up:
  • Adults: within 2-7 days
  • Children: within 2-5 days

10. ADMISSION INDICATIONS

Admit if ANY of:
  • Failure to improve with treatment (PEF <40% at 2 hours)
  • Severe/life-threatening features persist
  • SpO2 <92% despite O2
  • Need for resuscitation on arrival
  • RR >22/min at reassessment
  • PEF <50% predicted on exit
  • Previous history of intubation or ICU admission for asthma
  • Lack of response to initial bronchodilator therapy
  • Poor social circumstances / lack of reliable follow-up

11. STATUS ASTHMATICUS - SPECIFIC MANAGEMENT

Definition: PEF/FEV1 fails to rise above 40% predicted despite treatment, OR:
  • Rising PaCO2 without airflow improvement
  • Major complication: pneumothorax, pneumomediastinum, acute MI, cardiac arrhythmia (other than sinus tach)
Management:
  • Hospital admission (mandatory)
  • Frequent inhaled beta-agonists (continuous nebulization option)
  • IV corticosteroids
  • IV Magnesium 2g over 20 min
  • Consider BiPAP trial (if alert + intact airway reflexes)
  • If failing NIV or obtunded → RSI with ketamine
  • Permissive hypercapnia on ventilator
  • Consider isoflurane inhalation therapy (refractory pediatric cases - Harriet Lane)

12. SPECIAL SITUATIONS

Pregnancy (High-Yield Exam Topic)

  • Normal PaCO2 in pregnancy = 28-32 mmHg (due to chronic hyperventilation)
  • Therefore: A PaCO2 of 40 mmHg in a pregnant asthmatic = HYPERCARBIA = danger sign
  • Treat the same; beta-agonists, steroids are safe
  • Oxygen more critical - fetal hypoxia threshold lower

Pediatric (Children ≤5 years - GINA 2026 New)

  • Salbutamol 4-6 puffs pMDI/spacer OR 2.5 mg nebulized, every 20 min
  • Ipratropium 4 puffs with each salbutamol, up to 3 times
  • Target SpO2 ≥92%
  • Treat immediately with O2 + SABA before completing full assessment if in acute distress
  • Systemic steroids (can be given)
  • IV MgSO4 25-75 mg/kg (max 2g) over 20 min if severe

Anaphylaxis + Asthma (GINA 2026 NEW)

  • Give epinephrine FIRST, then bronchodilators (exam-ready new guideline point)

13. NEW BIOLOGICS IN SEVERE ASTHMA (GINA 2026)

Relevant for PG EM regarding refractory patients:
BiologicTargetDrug
Anti-IgEIgEOmalizumab (now generic available - GINA 2026 new)
Anti-IL-5IL-5Mepolizumab, Reslizumab, Benralizumab
Anti-IL-4/13IL-4RαDupilumab
Anti-IL-33IL-33Tezepelumab (established), Depemokimab (NEW in GINA 2026 - anti-IL-5 long-acting)
GINA 2026 NEW: Depemokimab (long-acting anti-IL-5) and generic anti-IgE added to biologic options for severe eosinophilic asthma.

14. HIGH-YIELD EXAM MNEMONICS

"ATOM" for Acute Asthma Treatment:

  • A - Albuterol (SABA, first line)
  • T - Theophylline (NOT recommended acutely)
  • O - Oxygen (only if SpO2 <92%)
  • M - Magnesium (severe, refractory)

Signs of Life-Threatening Asthma - "PACES":

  • P - PaCO2 rising (or normal)
  • A - Altered consciousness (drowsy/confused)
  • C - Cyanosis
  • E - Exhaustion/unable to speak
  • S - Silent chest

Ventilator in Asthma - "LOW LOW HIGH":

  • Low tidal volume (6-8 mL/kg)
  • Low respiratory rate (<10/min)
  • High inspiratory flow rate (>60 L/min)

15. KEY GINA 2026 UPDATES - EXAM ALERT TABLE

#What ChangedClinical Impact
1O2 only if SpO2 <92%; target 92-95% (not higher)Avoid hyperoxia
2ICS-formoterol as alternate to SABA for mild exacerbation in EDAnti-SABA overuse push
3Shake suspension pMDIs before EVERY actuationAvoid ultra-high accidental dosing
4If anaphylaxis + asthma: epinephrine FIRST, then bronchodilatorClear priority rule
5New flowcharts for 4 patient groups in primary care and EDStructured care pathways
6Discharge on ICS-containing therapy; SABA-only NOT recommendedPrevents early relapse
7Follow-up: adults 2-7 days, children 2-5 daysStructured post-ED care
8Depemokimab + generic anti-IgE added as biologic optionsSevere asthma treatment expansion
9Routine ABG + CXR not required in EDReduces unnecessary testing

16. EXAM-STYLE QUICK FACTS

  • Drug of choice for RSI in asthmatic: Ketamine
  • Best surrogate for ventilatory failure in ED (quick): VBG PaCO2 <40 mmHg excludes hypercapnia
  • Lactate in acute asthma: Elevated (from albuterol/work of breathing) - does NOT reflect deterioration
  • Leukocytosis in asthma: From steroids/catecholamines - does NOT indicate infection
  • Pulsus paradoxus >25 mmHg: Severe obstruction
  • Normal PaCO2 in acute asthma attack: DANGER SIGN (patient fatiguing)
  • Theophylline in acute asthma: NOT recommended (last-line historical)
  • Oral vs IV steroids: Equivalent efficacy - prefer oral unless vomiting/critically ill
  • No benefit: ICS added to systemic steroids in ED
  • CXR indication in asthma: Suspected pneumothorax, pneumonia, or no response to therapy
  • Tiotropium in ED: No clear role currently
  • Auto-PEEP target: Minimize by low RR + high inspiratory flow + low TV

17. SOURCES & REFERENCES

  • Rosen's Emergency Medicine: Concepts and Clinical Practice - Chapters 59 & 32 (Asthma in ED, Asthma Medications)
  • Goldman-Cecil Medicine, International Edition - Asthma in the Emergency Department
  • GINA 2026 Strategy Report (published May 5, 2026) - ginasthma.org GINA 2026 PDF
  • GINA 2026 Key Highlights via Guideline Central summary
  • IV MgSO4 in pediatric acute severe asthma: PMID 40562459 - Systematic review, Arch Dis Child, 2025
  • Second-line treatment in pediatric severe asthma: PMID 40562457 - Meta-analysis, Arch Dis Child, 2025
  • Chinese Thoracic Society Guidelines for Bronchial Asthma 2024 Edition: PMID 40050074
  • AHA 2025 CPR Guidelines - Special Circumstances (Asthma): PMID 41122889

Exam Tip: GINA 2026 is the most current guideline (published May 2026). Focus areas for PG EM exams: severity classification, stepwise treatment, O2 targets, magnesium dosing, ketamine for RSI, permissive hypercapnia ventilation strategy, discharge criteria, and the new epinephrine-first rule for anaphylaxis+asthma. Biologics are increasingly tested in written and viva exams.

MAKE EXAM ORIENTED POSTGRADUATE EMERGENCY MEDICINE WITH TOPIC NAME APPROCH TO DYSPNEA IN ACUTE PRESENTATION IN EMERGENCY ROOM NEW GUIDLINE WITH RECENT ADVANCED AND TINTILATY REFEERENCE AND HARRISON INTERNAL MEDICINE REFERENCE

Finding Sources
Finding Sources
Searching PubMed

"dyspnea" AND "emergency department" AND "diagnosis"

Searching the Web

acute dyspnea emergency department approach guidelines 2025 2026 diagnosis management

Finding Sources
Finding Sources
Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC12934415

Reading File
Reading File
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Finding Sources
Searching PubMed

"point of care ultrasound" AND "dyspnea" AND "emergency"

Finding Sources
Reading File
Finding Sources
Finding Sources

APPROACH TO ACUTE DYSPNEA IN THE EMERGENCY ROOM

Postgraduate Emergency Medicine - Exam-Oriented Notes

Sources: Tintinalli's EM | Harrison's Principles 22E (2025) | SFMU/FICS Guidelines 2026 | AHA/ACC 2026 PE Guidelines | Recent PubMed Evidence


1. DEFINITION (Harrison's 22E, 2025)

"Dyspnea is a subjective experience of breathing discomfort that consists of qualitatively distinct sensations that vary in intensity. The experience derives from interactions among multiple physiological, psychological, social, and environmental factors and may induce secondary physiological and behavioral responses." -- American Thoracic Society Consensus Statement, as cited in Harrison's 22E
Key distinction (Harrison's 22E):
  • Dyspnea = a SYMPTOM - can ONLY be self-reported by the patient
  • Signs of increased work of breathing (tachypnea, accessory muscle use, intercostal retraction) = measurable by clinicians and are NOT synonymous with dyspnea

2. EPIDEMIOLOGY (Harrison's 22E)

  • Accounts for 3-4 million ED visits per year
  • Present in up to 50% of inpatients and 25% of ambulatory patients
  • Prevalence: 9-13% in general community; rises to 37% in adults aged ≥70 years
  • Cardiac + pulmonary causes account for up to 85% of all dyspnea
  • Up to one-third of patients have multifactorial dyspnea
  • Post-COVID syndrome: increasing cause of chronic dyspnea (Harrison's 22E, Ch. 205)
  • Degree of dyspnea predicts outcomes in COPD better than FEV1 (GOLD guidelines)

3. MECHANISMS OF DYSPNEA (Harrison's 22E - Exam Favorite)

Three major pathways (Fig. 39-1, Harrison's 22E):

A. Afferent Signals to CNS

  1. Peripheral chemoreceptors (carotid body, aortic arch) + central chemoreceptors (medulla)
    • Activated by: hypoxemia, hypercapnia, acidemia
    • Produce: sensation of "air hunger"
  2. Mechanoreceptors (upper airways, lungs, chest wall)
    • Stretch receptors, irritant receptors, J receptors (lung)
    • Muscle spindles, tendon organs (chest wall)
    • Increased resistance → chest tightness (asthma/COPD)

B. Efferent Signals (CNS to respiratory muscles)

  • Increased motor output to overcome obstruction/stiffness

C. Efferent-Reafferent Mismatch (Key Concept)

  • When CNS motor commands do not match the mechanical response (e.g., neuromuscular disease, severe obstruction) → most intense dyspnea
  • Also called neuromechanical dissociation
Exam tip: "Efferent-reafferent mismatch" = the single most important mechanism for the most severe dyspnea. Appears in Harrison's 22E viva questions.

4. QUALITATIVE DESCRIPTORS - DIAGNOSTIC CLUES (Harrison's 22E)

Symptom DescriptorLikely Pathology
Chest tightnessAsthma, bronchoconstriction, myocardial ischemia
Air hunger / cannot get enough airCHF, pulmonary edema, severe airflow obstruction
Cannot take a deep breathDynamic hyperinflation (COPD), pleural effusion
Increased work of breathingPneumonia, pulmonary edema, pleural disease
Orthopnea (worse lying flat)CHF, diaphragmatic weakness, obesity hypoventilation, GERD-triggered asthma
Paroxysmal nocturnal dyspneaCHF, asthma
Platypnea (worse upright, better supine)Hepatopulmonary syndrome, left atrial myxoma, ASD
Acute episodic dyspneaPE, myocardial ischemia, bronchospasm
Progressive exertional dyspneaCOPD, ILD, CHF, pulmonary hypertension

5. DIFFERENTIAL DIAGNOSIS OF ACUTE DYSPNEA IN ED

"CARDS" Framework for Life-Threatening Causes (Must Not Miss):

SystemLife-Threatening CauseKey Feature
C - CardiacAcute Pulmonary Edema (ADHF), ACS, Cardiac TamponadeBNP/NT-proBNP, ECG, echo
A - Airway/PulmonaryTension Pneumothorax, Severe Asthma, Status AsthmaticusAbsent breath sounds, tracheal deviation
R - RespiratoryMassive PE, ARDS, Severe PneumoniaD-dimer, Wells, CTPA
D - DistributiveSepsis with pulmonary involvement, AnaphylaxisShock parameters, history
S - Structural/OtherAortic Dissection with hemothorax, Flail ChestCXR widening, trauma history

Full Differential by System (Harrison's 22E, Table 34-3):

Pulmonary:
  • Airways disease: Asthma, COPD exacerbation, upper airway obstruction (foreign body, epiglottitis, anaphylaxis)
  • Parenchymal: Pneumonia, ARDS, ILD exacerbation
  • Pleural: Pneumothorax, massive pleural effusion, hemothorax
  • Vascular: Pulmonary embolism, pulmonary hypertension
  • Neuromuscular: Guillain-Barré, myasthenic crisis, diaphragm paralysis
Cardiac:
  • Acute decompensated heart failure (HFrEF, HFpEF)
  • ACS / acute MI
  • Cardiac tamponade
  • Arrhythmias (new-onset AF, SVT, VT)
  • Valvular emergencies (acute MR, AR)
Metabolic/Other:
  • Severe anemia (high-output dyspnea)
  • Metabolic acidosis (Kussmaul breathing)
  • DKA, salicylate toxicity, CO poisoning
  • Anaphylaxis
  • Anxiety/panic disorder (diagnosis of exclusion)
  • Obesity hypoventilation, obstructive sleep apnea

6. INITIAL ASSESSMENT IN THE ED - ABC FIRST

SFMU/FICS 2026 Guidelines (France - Joint Expert Consensus, Ann Intensive Care 2026):

R1 - Immediate Triage:
  • Patients with respiratory distress must be immediately triaged and assessed for severity
  • RR should be measured for a minimum of 30 seconds on arrival (not just "eyeballed")
  • Continuous monitoring of: SpO2, HR, SBP, RR, temperature, level of consciousness throughout ED stay
R2 - Vital Sign Monitoring:
  • Continuous vital sign monitoring for moderate-severe dyspnea reduces morbidity/mortality
  • Use a numerical scale to assess dyspnea components (strong agreement, expert opinion)

7. HISTORY - KEY ELEMENTS (Harrison's 22E + Tintinalli's EM)

Onset and Timeline:

  • Sudden onset (<1 hour): Tension pneumothorax, PE, arrhythmia, ACS, foreign body, anaphylaxis
  • Hours: Asthma exacerbation, ADHF, pneumonia
  • Days: COPD exacerbation, pleural effusion, worsening ILD, slow progression PE

Positional Symptoms:

  • Orthopnea → CHF, obesity, diaphragmatic weakness
  • PND (2-3 hours after sleep) → CHF
  • Platypnea → hepatopulmonary syndrome, ASD, left atrial myxoma (RARE - exam classic)
  • Trepopnea (better in lateral decubitus) → pleural effusion, unilateral lung disease

Associated Symptoms:

  • Chest pain + dyspnea → ACS, PE, pneumothorax, aortic dissection, pericarditis
  • Fever + dyspnea → pneumonia, empyema, pericarditis, myocarditis, sepsis
  • Leg swelling + dyspnea → DVT-PE, CHF
  • Palpitations + dyspnea → arrhythmia, SVT, VT
  • Stridor + dyspnea → upper airway obstruction (epiglottitis, foreign body, anaphylaxis, angioedema)
  • Wheezing + dyspnea → asthma, COPD, cardiac asthma (CHF), anaphylaxis

Risk Factors (Tintinalli's EM):

  • Immobility, recent surgery, DVT/PE history, malignancy → PE
  • Smoking, occupational exposure → COPD, malignancy
  • Drug injection → pneumonia, septic emboli, pulmonary edema, TB
  • Known CHF, LVEF impairment → ADHF
  • Prior intubation → asthma severity marker

8. PHYSICAL EXAMINATION - TARGETED APPROACH

Vital Signs - Diagnostic Clues:

Vital SignFindingInterpretation
SpO2<90%Severe hypoxia; immediate intervention
RR>30/minSevere distress; impending failure
HRTachycardiaMultiple causes; bradycardia in pre-arrest/tamponade
BPHypertensionADHF trigger (hypertensive pulmonary edema)
BPHypotensionTension PTX, massive PE, tamponade, sepsis, severe asthma
TempFeverPneumonia, myocarditis, sepsis
Pulsus paradoxus >10 mmHgSevere asthma, tamponade
Pulsus paradoxus >25 mmHgSevere obstruction or tamponade

Systematic Examination:

AIRWAY:
  • Stridor → upper airway obstruction (inspiratory = above glottis; expiratory = below)
  • Position (tripod, sniffing) → epiglottitis, severe obstruction
BREATHING:
  • Symmetric chest expansion? No → pneumothorax, effusion, endobronchial obstruction
  • Accessory muscle use → severe obstruction or reduced compliance
  • Silent chest → life-threatening asthma (no air movement)
  • Tracheal deviation → tension pneumothorax (AWAY from affected side)
  • Percussion: Hyperresonance → PTX; Dullness → effusion/consolidation
Auscultation patterns:
FindingConsider
Bilateral crackles (fine, basal)Pulmonary edema (ADHF)
Bilateral crackles (coarse, diffuse)Pneumonia, ARDS
Expiratory wheeze (diffuse)Asthma, COPD, cardiac asthma
Unilateral wheezeForeign body, tumor, endobronchial disease
Absent/reduced breath soundsPneumothorax, effusion, complete consolidation
Pleural rubPleuritis, PE with infarct, pneumonia
CIRCULATION:
  • JVP raised: ADHF, tamponade, tension PTX, massive PE
  • S3 gallop: ADHF (high sensitivity for elevated LVEDP)
  • Muffled heart sounds: tamponade (Beck's triad: hypotension + raised JVP + muffled sounds)
  • Peripheral edema: CHF, DVT, cor pulmonale

9. INVESTIGATIONS - STEPWISE APPROACH

Immediate (All Acute Dyspnea):

  1. SpO2 (continuous pulse oximetry) - mandatory
  2. 12-lead ECG - ACS, arrhythmia, RV strain (PE), LBBB (CHF)
  3. CXR (portable) - effusion, cardiomegaly, pneumothorax, consolidation, pulmonary edema
  4. ABG / VBG - oxygenation, ventilation, acid-base status
    • VBG: PaCO2 <40 mmHg reliably excludes hypercapnia (Rosen's EM)
    • ABG: required when SpO2 <92% or clinical concern for hypercapnia

Biomarkers:

BiomarkerRoleThresholds
BNPDifferentiates cardiac vs. non-cardiac dyspneaBNP <100 pg/mL: NPV 90% for CHF; BNP >500: strongly supports CHF
NT-proBNPSame purpose; higher valuesNT-proBNP <300 pg/mL: rules out CHF; >900 (age <50), >1800 (50-75), >1800 (>75): supports CHF
Troponin (hs-cTnI/T)ACS, myocarditis, RV strain in PE0h/1h or 0h/2h rule-in/rule-out protocols
D-dimerPE rule-out in low-intermediate probabilityAge-adjusted D-dimer (age × 10 µg/L if >50 years)
LactateSepsis, shock>2 mmol/L: elevated; >4 mmol/L: septic shock threshold
CRP/ProcalcitoninSFMU/FICS 2026: Insufficient evidence to recommend for antibiotic guidance in acute dyspnea with suspected LRTINo recommendation
Exam Alert - SFMU/FICS 2026: There is insufficient evidence to recommend CRP or procalcitonin to guide antibiotic initiation in acute dyspnea with suspected lower respiratory tract infection.

Point-of-Care Ultrasound (POCUS) - NOW STANDARD OF CARE:

BLUE Protocol (Bedside Lung Ultrasound in Emergency):
FindingInterpretation
A-lines (horizontal, regular artifacts)Normal lung / asthma / COPD (dry lung)
B-lines (vertical, comet-tail, ≥3 per zone)Pulmonary edema, interstitial syndrome (wet lung)
Absent lung slidingPneumothorax
Lung point (pathognomonic)Pneumothorax - definitive sign
Consolidation (hepatization)Pneumonia
Pleural effusionAnechoic space above diaphragm
IVC collapse >50%Volume depletion, obstructive shock
IVC distensionRight heart strain (massive PE, tamponade, tension PTX)
Evidence (Recent):
Tintinalli's EM (POCUS in CHF):
  • B-lines (≥3 per zone in bilateral zones) = interstitial edema
  • LV dilation with decreased function = cardiogenic shock
  • Comet-tail sign: high diagnostic accuracy differentiating acute heart failure from COPD/asthma

10. CLINICAL DECISION TOOLS

A. Pulmonary Embolism (PE)

PERC Rule (Pulmonary Embolism Rule-Out Criteria) - all 8 must be absent:
  1. Age <50
  2. HR <100
  3. SpO2 ≥95%
  4. No unilateral leg swelling
  5. No hemoptysis
  6. No recent surgery/trauma
  7. No prior PE/DVT
  8. No exogenous estrogen use
If ALL 8 absent in LOW pre-test probability patient → PE excluded. No D-dimer needed.
Wells Score for PE:
CriterionPoints
Clinical signs of DVT3
PE most likely diagnosis3
HR >1001.5
Immobilization/surgery <4 weeks1.5
Prior DVT/PE1.5
Hemoptysis1
Active malignancy1
  • Score >4: PE likely → CTPA
  • Score ≤4 + D-dimer negative: PE excluded
  • Age-adjusted D-dimer (if age >50): threshold = age × 10 µg/L (increases specificity)
AHA/ACC 2026 PE Guidelines (New):
  • Risk stratification now drives care setting decisions
  • Low-risk PE: can be discharged from ED with outpatient management
  • Intermediate-high risk: hospitalization required
  • High-risk (hemodynamically unstable): systemic thrombolysis or catheter-directed therapy

B. Acute Heart Failure (Framingham Criteria):

Major Criteria: PND, orthopnea, raised JVP, pulmonary crackles, S3 gallop, cardiomegaly on CXR, acute pulmonary edema, weight loss >4.5 kg in 5 days on treatment
Minor Criteria: Bilateral ankle edema, nocturnal cough, dyspnea on exertion, hepatomegaly, pleural effusion, ↓ vital capacity by 1/3, tachycardia (HR >120)
Diagnosis: 2 major OR 1 major + 2 minor criteria

11. SYSTEMATIC APPROACH - DIAGNOSTIC ALGORITHM FOR ACUTE DYSPNEA IN ED

ACUTE DYSPNEA ARRIVES IN ED
         ↓
IMMEDIATE: ABC → SpO2, IV access, monitor
         ↓
IS PATIENT IN IMMEDIATE DANGER?
- SpO2 <90%, altered consciousness, impending arrest
         ↓ YES                    ↓ NO
  Airway management         Focused assessment
  RSI if needed             History + Exam
  (Ketamine preferred       CXR, ECG, SpO2
  if bronchospasm)          Blood tests
         ↓                         ↓
    POCUS (BLUE Protocol)
         ↓
  A-lines?    B-lines?    Effusion?    No lung sliding?
  Asthma/COPD  CHF/edema   PTX/effusion  Pneumothorax
         ↓
  Biomarkers: BNP/NT-proBNP, troponin, D-dimer, lactate
         ↓
DIAGNOSE AND TREAT

12. SPECIFIC DIAGNOSES - EMERGENCY MANAGEMENT

A. Acute Decompensated Heart Failure (ADHF)

  • First-line: IV furosemide (0.5-1 mg/kg), nitrates (sublingual/IV) for preload/afterload reduction
  • CPAP/BiPAP: Reduces need for intubation; improves outcomes in cardiogenic pulmonary edema
  • BNP-guided therapy improves outcomes (Fuster & Hurst's, 15th Edition)
  • Avoid aggressive fluid in HFpEF

B. COPD Exacerbation

  • SABA + SAMA nebulization, systemic steroids, controlled O2 (target SpO2 88-92%)
  • NIV (BiPAP): First-line for moderate-severe COPD exacerbation (reduces intubation rates, improves mortality)
  • Antibiotics if purulent sputum or CXR infiltrate

C. Acute Asthma

  • SABA (salbutamol), ipratropium, systemic steroids
  • IV MgSO4 2g for severe refractory asthma
  • GINA 2026: O2 only if SpO2 <92%; target 92-95%
  • RSI with ketamine if intubation needed

D. Pulmonary Embolism

  • Anticoagulation: LMWH or UFH (UFH preferred if high-risk/lytic candidate)
  • High-risk PE (hemodynamic instability): systemic thrombolysis (alteplase 100 mg IV over 2 hours)
  • AHA/ACC 2026: PE Response Team (PERT) activation for complex cases
  • Low-risk PE: direct discharge on DOAC (rivaroxaban/apixaban)

E. Tension Pneumothorax

  • DO NOT WAIT for CXR
  • Immediate needle decompression: 2nd ICS, midclavicular line (or 4th/5th ICS, anterior axillary line)
  • Followed by chest tube insertion

F. Anaphylaxis

  • Epinephrine IM 0.3-0.5 mg = first-line (vastus lateralis)
  • Airway management (early intubation if angioedema progressing)
  • Antihistamines + steroids = adjuncts

13. OXYGENATION STRATEGIES IN ACUTE DYSPNEA (2026 Evidence)

ModalityIndicationNotes
Standard nasal cannulaMild hypoxia, SpO2 90-94%Up to 6 L/min
Simple face maskSpO2 <90%, needs higher FiO26-10 L/min, FiO2 ~40-60%
Non-rebreather maskSpO2 <90%, needs FiO2 ~80-100%10-15 L/min
High-Flow Nasal Cannula (HFNC)Moderate-severe hypoxic resp failure, post-extubationUp to 60 L/min flow, FiO2 100%; generates ~2 cmH2O PEEP per 10 L/min
CPAPCardiogenic pulmonary edema, OSAReduces work of breathing; no expiratory pressure support
BiPAP/NIVCOPD exacerbation, CHF, mild-mod hypercapnia; status asthmaticusInspiratory + expiratory pressure support; reduces intubation rates
Endotracheal intubation + MVFailure of above; GCS <8; impending arrestRSI; ketamine preferred in bronchospasm
SFMU/FICS 2026 (prehospital): NIV in prehospital setting is supported by evidence for COPD + CHF; HFNC emerging in prehospital context.

14. SPECIAL POPULATIONS

Pregnancy

  • Normal PaCO2 = 28-32 mmHg (physiologic hyperventilation)
  • PaCO2 of 40 mmHg in pregnant patient = HYPERCARBIA = danger sign
  • Common causes: PE (increased risk), peripartum cardiomyopathy, amniotic fluid embolism (AFE)
  • AFE: acute hypoxia + cardiovascular collapse + DIC in peripartum → catastrophic

Injection Drug Users (Tintinalli's EM, Chapter on substance-related presentations):

  • Infectious: Pneumonia, TB, septic pulmonary emboli (right-sided endocarditis), opportunistic infections (HIV)
  • Non-infectious: Noncardiogenic pulmonary edema (heroin/cocaine), talc lung, reactive airway disease (cocaine), hypersensitivity reactions
  • "Pocket shooting" → PTX/hemothorax
  • Place all febrile IVDU with dyspnea in respiratory isolation until TB is excluded

Elderly:

  • Dyspnea prevalence rises to 37% (age >70) - Harrison's 22E
  • Atypical presentations of ACS (no chest pain, only dyspnea)
  • Higher rates of HFpEF, pulmonary hypertension

15. DISPOSITION CRITERIA

Discharge criteria (low-risk):

  • SpO2 ≥95% on room air after treatment
  • Symptoms resolved, underlying cause identified and treated
  • Reliable follow-up arranged
  • No high-risk features (abnormal vitals, high-risk ECG, elevated troponin, large effusion)

Admit criteria:

  • SpO2 <92% despite treatment
  • Hemodynamic instability
  • Persistently abnormal vital signs
  • High-risk diagnoses (PE, ADHF, ACS, pneumonia requiring IV antibiotics)
  • Failure to improve with ED therapy
  • Uncertain diagnosis with high-risk features

ICU/HDU criteria:

  • Respiratory failure requiring NIV or intubation
  • Hemodynamic compromise (septic shock, massive PE, tamponade)
  • Rising PaCO2 with altered consciousness
  • ARDS

16. ASSESSING DYSPNEA SEVERITY - SCALES

Modified Medical Research Council (mMRC) Dyspnea Scale (Harrison's 22E, Table 39-1)

GradeDescription
0No breathlessness except with strenuous exercise
1Breathless hurrying on level ground or walking up a slight hill
2Walks slower than peers on level ground, or stops to rest at own pace
3Stops to rest after 100 m or after a few minutes on level ground
4Too breathless to leave the house, or breathless with ADLs
Integrated into GOLD COPD clinical classification - Harrison's 22E

Borg Scale (Acute Setting)

  • 0 = nothing at all; 10 = maximal
  • Use numerical rating scale in ED (SFMU/FICS 2026 recommendation)

AVPU / GCS for Mental Status

  • Altered consciousness + dyspnea = emergency; do not delay airway management

17. HIGH-YIELD EXAM QUICK FACTS

  • Most common cause of acute dyspnea in ED: CHF and COPD exacerbation
  • Cardiac + pulmonary causes combined: account for 85% of all dyspnea (Harrison's 22E)
  • BNP <100 pg/mL: NPV 90% for ruling out CHF as cause of dyspnea
  • PERC negative in low-probability patient: no further PE workup needed
  • Platypnea (dyspnea worse sitting up): hepatopulmonary syndrome, left atrial myxoma, ASD - EXAM CLASSIC
  • Silent chest in asthma: no wheeze = air entry too poor to generate wheeze = worse than wheeze
  • Normal PaCO2 in an asthmatic attack = danger sign (fatiguing patient)
  • Tracheal deviation AWAY from affected side: tension pneumothorax (not always present)
  • Beck's Triad: hypotension + raised JVP + muffled heart sounds = cardiac tamponade
  • POCUS B-lines: bilateral = pulmonary edema; absent lung sliding = pneumothorax
  • Lung point on POCUS: pathognomonic for pneumothorax
  • CRP/PCT: insufficient evidence to guide antibiotics in acute dyspnea with suspected LRTI (SFMU/FICS 2026)
  • Morphine for dyspnea (palliative): start at 0.05 mg/kg IV (HALF the pain dose) - Tintinalli's EM
  • Efferent-reafferent mismatch: the key mechanism of severe dyspnea (Harrison's 22E)
  • Post-COVID dyspnea: now a recognized entity; often multifactorial (Harrison's 22E, Ch. 205)
  • Age-adjusted D-dimer (age × 10 µg/L for age >50): increases specificity without losing sensitivity
  • HFNC: generates ~2 cmH2O PEEP per 10 L/min flow; can reach FiO2 100%

18. MNEMONICS

Causes of Acute Dyspnea - "ASTHMA + CPE":

  • A - Asthma/Airway obstruction
  • S - Sepsis/SIRS
  • T - Tension pneumothorax/Tamponade
  • H - Heart failure (acute decompensated)
  • M - Massive PE/MI
  • A - Anemia/Acidosis
  • +
  • C - COPD exacerbation
  • P - Pneumonia/Pneumothorax
  • E - Embolism (PE)

Life-Threatening Dyspnea - "TOPPLE":

  • T - Tension pneumothorax
  • O - Obstructed airway (foreign body, epiglottitis, anaphylaxis)
  • P - PE (massive)
  • P - Pulmonary edema (flash)
  • L - Left ventricular failure
  • E - Embolism/Electrical (cardiac tamponade, arrhythmia)

19. CARDIOPULMONARY EXERCISE TESTING (CPET) - Harrison's 22E

Used when cardiac and respiratory disease coexist and dyspnea etiology remains unclear:
Respiratory limitation pattern:
  • Achieves predicted maximal ventilation
  • Increased dead space
  • Desaturation on exercise
  • Bronchospasm development
Cardiac limitation pattern:
  • HR >85% predicted max
  • Early anaerobic threshold
  • Falling O2 pulse (stroke volume proxy)
  • Exercise-induced ECG ischemic changes
  • BP fall with exercise
CPET is the definitive tool for unexplained dyspnea when basic workup is non-diagnostic.

20. KEY REFERENCES

SourceWhat it Covers
Harrison's Principles of Internal Medicine 22E (2025) - Ch. 39Definition, mechanisms, mMRC scale, differential diagnosis, history, physical exam, CPET, treatment
Tintinalli's Emergency Medicine - Ch. 53, 59, 25ADHF, asthma/COPD, POCUS (B-lines, lung sliding), opioids for dyspnea (palliative), IVDU-related dyspnea
SFMU/FICS Guideline 2026 - Ann Intensive Care 2026 JanRR measurement (≥30 sec), continuous vital sign monitoring, CRP/PCT insufficient evidence in LRTI, numerical dyspnea scale recommendation
AHA/ACC/ACEP 2026 PE Guideline - Circulation 2026Risk-stratified management, ED discharge for low-risk PE, PERT teams, post-PE dyspnea follow-up
Taheri et al., Eur J Emerg Med 2025 (PMID 39630617)POCUS meta-analysis in prehospital non-trauma acute dyspnea
Russell et al., Am J Emerg Med 2024 (PMID 38522242)Prehospital lung US for ADHF - diagnostic accuracy systematic review
Jeffers et al., J Emerg Med 2025 (PMID 40845678)POCUS utility for pulmonary edema systematic review
Santus et al., Intern Emerg Med 2023 (PMID 37266791)Acute dyspnea in ED - comprehensive clinical review

Exam Strategy: In PG EM exams, acute dyspnea questions test: (1) identifying the life-threatening cause first (tension PTX, massive PE, flash pulmonary edema, tamponade), (2) correct use of POCUS BLUE protocol and biomarkers, (3) knowing cutoffs for BNP/D-dimer/PERC, (4) mechanism questions from Harrison's (efferent-reafferent mismatch), and (5) ventilation strategy selection (HFNC vs BiPAP vs ETI). Descriptors like "platypnea" and "air hunger" are classic differentiating MCQ targets from Harrison's 22E.

Generate a presentation (PPT) on acute dyspnea diagnostic algorithms for teaching

Reading File
Reading File
Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"

Running Command

mkdir -p /tmp/workspace/acute-dyspnea-ppt && echo "dir ready"

Writing File

~/acute-dyspnea-ppt/build_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
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 io import BytesIO

# ─── Colour Palette ───────────────────────────────────────────
DARK_BLUE   = RGBColor(0x0A, 0x29, 0x5C)   # navy header
MED_BLUE    = RGBColor(0x1A, 0x5E, 0xA8)   # accent
LIGHT_BLUE  = RGBColor(0xD6, 0xE8, 0xF7)   # light bg
TEAL        = RGBColor(0x00, 0x7A, 0x87)   # teal accent
GREEN       = RGBColor(0x1B, 0x7A, 0x3D)   # positive / safe
RED         = RGBColor(0xC0, 0x39, 0x2B)   # danger / urgent
ORANGE      = RGBColor(0xD3, 0x6B, 0x0B)   # warning
YELLOW_BG   = RGBColor(0xFF, 0xF3, 0xCD)   # highlight bg
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
DARK_GRAY   = RGBColor(0x2D, 0x2D, 0x2D)
MID_GRAY    = RGBColor(0x60, 0x60, 0x60)
LIGHT_GRAY  = RGBColor(0xF2, 0xF2, 0xF2)
LIME        = RGBColor(0x27, 0xAE, 0x60)

prs = Presentation()
prs.slide_width  = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]   # fully blank

# ─── Helper Functions ─────────────────────────────────────────

def add_rect(slide, x, y, w, h, fill_color, line_color=None, line_width=Pt(0), radius=False):
    shape_type = MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE
    shp = slide.shapes.add_shape(shape_type, Inches(x), Inches(y), Inches(w), Inches(h))
    shp.fill.solid()
    shp.fill.fore_color.rgb = fill_color
    if line_color:
        shp.line.color.rgb = line_color
        shp.line.width = line_width
    else:
        shp.line.fill.background()
    shp.shadow.inherit = False
    return shp

def add_textbox(slide, x, y, w, h, text, font_size=18, bold=False, color=DARK_GRAY,
                align=PP_ALIGN.LEFT, italic=False, word_wrap=True):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = word_wrap
    tf.margin_left = Pt(4)
    tf.margin_right = Pt(4)
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    r = p.add_run()
    r.text = text
    r.font.size = Pt(font_size)
    r.font.bold = bold
    r.font.italic = italic
    r.font.color.rgb = color
    r.font.name = "Calibri"
    return tb

def add_shape_text(shp, text, font_size=14, bold=False, color=WHITE, align=PP_ALIGN.CENTER):
    tf = shp.text_frame
    tf.word_wrap = True
    tf.vertical_anchor = MSO_ANCHOR.MIDDLE
    tf.margin_left = Pt(4)
    tf.margin_right = Pt(4)
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    r = p.add_run()
    r.text = text
    r.font.size = Pt(font_size)
    r.font.bold = bold
    r.font.color.rgb = color
    r.font.name = "Calibri"

def add_connector(slide, x1, y1, x2, y2, color=DARK_GRAY, width=Pt(2)):
    ln = slide.shapes.add_connector(
        MSO_CONNECTOR.STRAIGHT,
        Inches(x1), Inches(y1), Inches(x2), Inches(y2))
    ln.line.color.rgb = color
    ln.line.width = width

def slide_header(slide, title, subtitle=None):
    # Top bar
    shp = add_rect(slide, 0, 0, 13.333, 0.8, DARK_BLUE)
    add_shape_text(shp, title, font_size=26, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
    shp.text_frame.paragraphs[0].runs[0].font.size = Pt(26)
    # left margin inside bar
    shp.text_frame.margin_left = Pt(20)
    if subtitle:
        add_textbox(slide, 0.2, 0.82, 13, 0.32, subtitle, font_size=11,
                    color=MED_BLUE, bold=False, italic=True)

def bottom_bar(slide, note="Tintinalli's EM | Harrison's 22E (2025) | GINA 2026 | AHA/ACC 2026"):
    shp = add_rect(slide, 0, 7.2, 13.333, 0.3, DARK_BLUE)
    add_shape_text(shp, note, font_size=9, color=WHITE, align=PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════
# SLIDE 1 – Title
# ═══════════════════════════════════════════════════════════════
s1 = prs.slides.add_slide(blank)
add_rect(s1, 0, 0, 13.333, 7.5, DARK_BLUE)
# decorative accent bar
add_rect(s1, 0, 3.8, 13.333, 0.08, MED_BLUE)
add_rect(s1, 0, 3.88, 13.333, 0.04, TEAL)

add_textbox(s1, 0.6, 1.2, 12, 1.2,
            "ACUTE DYSPNEA IN THE EMERGENCY ROOM",
            font_size=38, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_textbox(s1, 0.6, 2.5, 12, 0.7,
            "Diagnostic Algorithms | Assessment | Management",
            font_size=20, color=LIGHT_BLUE, align=PP_ALIGN.CENTER, italic=True)
add_textbox(s1, 0.6, 4.1, 12, 0.55,
            "Postgraduate Emergency Medicine Teaching Module",
            font_size=16, color=WHITE, align=PP_ALIGN.CENTER)
add_textbox(s1, 0.6, 4.7, 12, 0.5,
            "Based on: Tintinalli's EM | Harrison's Principles 22E (2025) | GINA 2026 | AHA/ACC 2026 PE Guidelines | SFMU/FICS 2026",
            font_size=11, color=LIGHT_BLUE, align=PP_ALIGN.CENTER, italic=True)
add_textbox(s1, 0.6, 5.4, 12, 0.5,
            "July 2026", font_size=13, color=LIGHT_BLUE, align=PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════
# SLIDE 2 – Definition & Epidemiology
# ═══════════════════════════════════════════════════════════════
s2 = prs.slides.add_slide(blank)
add_rect(s2, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s2, "DEFINITION & EPIDEMIOLOGY", "Harrison's Principles of Internal Medicine 22E (2025) – Chapter 39")
bottom_bar(s2)

# Definition box
shp_def = add_rect(s2, 0.3, 1.05, 8.2, 2.1, WHITE, MED_BLUE, Pt(2), radius=True)
add_textbox(s2, 0.5, 1.1, 8.0, 0.45, "DEFINITION  (ATS Consensus — Harrison's 22E)", 13, True, MED_BLUE)
add_textbox(s2, 0.5, 1.55, 7.9, 1.5,
            '"A subjective experience of breathing discomfort that consists of qualitatively distinct sensations that vary in intensity. '
            'The experience derives from interactions among multiple physiological, psychological, social, and environmental factors."',
            12, False, DARK_GRAY, PP_ALIGN.LEFT, italic=True)

# Key distinction box
shp_dis = add_rect(s2, 0.3, 3.25, 8.2, 1.35, YELLOW_BG, ORANGE, Pt(2), radius=True)
add_textbox(s2, 0.5, 3.3, 8.0, 0.4, "KEY DISTINCTION", 12, True, ORANGE)
add_textbox(s2, 0.5, 3.7, 8.0, 0.85,
            "Dyspnea = SYMPTOM (patient self-reported only)\n"
            "Tachypnea / accessory muscle use = SIGNS (measured by clinicians)",
            12, False, DARK_GRAY)

# Epidemiology stats
epi_items = [
    ("3-4M", "ED visits/year\nfor dyspnea"),
    ("85%", "Cardiac + pulmonary\ncauses combined"),
    ("37%", "Prevalence in\nadults ≥70 yrs"),
    ("1/3", "Have multi-\nfactorial dyspnea"),
]
colors_epi = [MED_BLUE, TEAL, ORANGE, RED]
for i, (num, label) in enumerate(epi_items):
    x = 8.75 + i * 1.15
    shp_n = add_rect(s2, x, 1.1, 1.05, 0.65, colors_epi[i], radius=True)
    add_shape_text(shp_n, num, 20, True, WHITE)
    add_textbox(s2, x, 1.78, 1.1, 0.6, label, 9, False, MID_GRAY, PP_ALIGN.CENTER)

add_textbox(s2, 8.7, 1.0, 4.4, 0.35, "EPIDEMIOLOGY", 11, True, DARK_BLUE)

# Post-COVID note
shp_c = add_rect(s2, 8.7, 3.0, 4.4, 1.6, WHITE, MED_BLUE, Pt(1.5), radius=True)
add_textbox(s2, 8.8, 3.05, 4.2, 0.4, "NEW — Post-COVID Dyspnea", 11, True, MED_BLUE)
add_textbox(s2, 8.8, 3.45, 4.2, 1.0,
            "Increasing recognition of persistent dyspnea in post-COVID syndrome (Ch. 205, Harrison's 22E). Often multifactorial.",
            10, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 3 – Mechanisms
# ═══════════════════════════════════════════════════════════════
s3 = prs.slides.add_slide(blank)
add_rect(s3, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s3, "MECHANISMS OF DYSPNEA", "Harrison's 22E — Chapter 39, Fig. 39-1")
bottom_bar(s3)

mech_blocks = [
    (0.3, 1.15, 3.8, 4.9, LIGHT_BLUE, MED_BLUE, "AFFERENT SIGNALS → CNS",
     "• Peripheral chemoreceptors (carotid body, aortic arch)\n"
     "  → Hypoxemia, Hypercapnia, Acidemia\n"
     "  → 'Air hunger' sensation\n\n"
     "• Central chemoreceptors (medulla)\n"
     "  → Same triggers as above\n\n"
     "• Mechanoreceptors (lungs, chest wall)\n"
     "  → Stretch receptors, irritant receptors, J receptors\n"
     "  → 'Chest tightness' (asthma/COPD)\n"
     "  → Muscle spindles / tendon organs"),
    (4.4, 1.15, 3.8, 4.9, WHITE, TEAL, "EFFERENT SIGNALS: CNS → Muscles",
     "• Increased motor output from CNS\n"
     "  to overcome obstruction / stiffness\n\n"
     "• Occurs when airway resistance ↑\n"
     "  or lung/chest wall compliance ↓\n\n"
     "• The brain commands muscles to\n"
     "  work harder\n\n"
     "• Perceived as increased work of\n  breathing"),
    (8.5, 1.15, 4.5, 4.9, WHITE, RED, "EFFERENT-REAFFERENT MISMATCH",
     "= Most intense dyspnea\n\n"
     "When CNS motor commands do NOT\n"
     "match the mechanical response:\n\n"
     "• Neuromuscular disease\n"
     "• Severe airway obstruction\n"
     "• Dynamic hyperinflation\n"
     "• Diaphragmatic weakness\n\n"
     "Also called:\n"
     "'Neuromechanical dissociation'\n\n"
     "★ High-yield Harrison's 22E viva topic"),
]

for bx, by, bw, bh, bg, bc, title_text, body_text in mech_blocks:
    shp = add_rect(s3, bx, by, bw, bh, bg, bc, Pt(2), radius=True)
    add_textbox(s3, bx+0.1, by+0.05, bw-0.2, 0.4, title_text, 12, True, bc)
    add_textbox(s3, bx+0.1, by+0.5, bw-0.2, bh-0.55, body_text, 11, False, DARK_GRAY)

# Arrow between boxes
add_connector(s3, 4.2, 3.6, 4.4, 3.6, MED_BLUE, Pt(2.5))
add_connector(s3, 8.3, 3.6, 8.5, 3.6, TEAL, Pt(2.5))

add_textbox(s3, 0.3, 6.15, 13.0, 0.4,
            "Key Exam Point: Efferent-reafferent mismatch = single most important mechanism for most severe dyspnea (Harrison's 22E)",
            11, True, RED, PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════
# SLIDE 4 – Qualitative Descriptors
# ═══════════════════════════════════════════════════════════════
s4 = prs.slides.add_slide(blank)
add_rect(s4, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s4, "QUALITATIVE DESCRIPTORS → DIAGNOSTIC CLUES", "Harrison's 22E — History-taking in dyspnea")
bottom_bar(s4)

descriptors = [
    ("Chest tightness", "Asthma, COPD, Myocardial ischemia"),
    ("Air hunger / cannot\nget enough air", "CHF, Pulmonary edema, Severe airflow obstruction"),
    ("Cannot take a\ndeep breath", "Dynamic hyperinflation (COPD), Pleural effusion, Anxiety"),
    ("Orthopnea\n(worse lying flat)", "CHF, Diaphragmatic weakness, Obesity, GERD-asthma"),
    ("Paroxysmal nocturnal\ndyspnea (PND)", "CHF, Asthma (nocturnal trigger)"),
    ("Platypnea\n(worse UPRIGHT)", "Hepatopulmonary syndrome, Left atrial myxoma, ASD"),
    ("Acute episodic\ndyspnea", "PE, Myocardial ischemia, Bronchospasm, Arrhythmia"),
    ("Progressive exertional\ndyspnea", "COPD, ILD, CHF, Pulmonary hypertension"),
    ("Trepopnea\n(lateral position)", "Pleural effusion, Unilateral lung disease"),
]
cols = 3
rows_per_col = 3
for idx, (desc, cause) in enumerate(descriptors):
    col = idx % cols
    row = idx // cols
    x = 0.25 + col * 4.37
    y = 1.1 + row * 2.0
    shp_box = add_rect(s4, x, y, 4.2, 1.75, WHITE, MED_BLUE, Pt(1.5), radius=True)
    add_textbox(s4, x+0.1, y+0.05, 4.0, 0.55, desc, 12, True, MED_BLUE)
    add_textbox(s4, x+0.1, y+0.6, 4.0, 1.05, cause, 11, False, DARK_GRAY)

add_textbox(s4, 0.3, 7.0, 13.0, 0.18,
            "★ EXAM CLASSIC: Platypnea (dyspnea WORSE sitting up) → Hepatopulmonary syndrome / Left atrial myxoma / ASD",
            10, True, RED, PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════
# SLIDE 5 – Differential Diagnosis
# ═══════════════════════════════════════════════════════════════
s5 = prs.slides.add_slide(blank)
add_rect(s5, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s5, "DIFFERENTIAL DIAGNOSIS — ACUTE DYSPNEA IN ED", "Harrison's 22E Table 34-3 | Tintinalli's EM")
bottom_bar(s5)

# "CARDS" framework header
shp_cards = add_rect(s5, 0.25, 0.9, 12.8, 0.5, MED_BLUE, radius=True)
add_shape_text(shp_cards, "LIFE-THREATENING CAUSES — 'CARDS' Framework (Must Not Miss)", 14, True, WHITE)

cards_items = [
    ("C – Cardiac", "Acute pulmonary edema (ADHF)\nACS / STEMI\nCardiac tamponade\nMalignant arrhythmia", RED),
    ("A – Airway", "Tension pneumothorax\nSevere asthma / Status asthmaticus\nUpper airway obstruction\nAnaphylaxis", ORANGE),
    ("R – Respiratory", "Massive PE\nARDS\nSevere pneumonia / Sepsis", MED_BLUE),
    ("D – Distributive", "Septic shock\nAnaphylactic shock\nNeurogenicc shock", TEAL),
    ("S – Structural", "Aortic dissection + hemothorax\nFlail chest\nMassive pleural effusion", GREEN),
]
for i, (title_c, body_c, col) in enumerate(cards_items):
    x = 0.25 + i * 2.57
    shp_c = add_rect(s5, x, 1.5, 2.45, 3.2, WHITE, col, Pt(2), radius=True)
    add_textbox(s5, x+0.1, 1.55, 2.3, 0.45, title_c, 12, True, col)
    add_textbox(s5, x+0.1, 2.0, 2.3, 2.6, body_c, 10.5, False, DARK_GRAY)

# Additional causes
add_textbox(s5, 0.25, 4.82, 13.0, 0.35, "ADDITIONAL CAUSES  (Harrison's 22E)", 12, True, DARK_BLUE)
additional = [
    "Metabolic/Toxic: DKA, Metabolic acidosis, CO poisoning, Salicylate toxicity, Severe anemia",
    "Neuromuscular: Guillain-Barré, Myasthenic crisis, Diaphragm paralysis",
    "Other: COPD exacerbation, Pleural effusion (large), ILD exacerbation, Anxiety/Panic (diagnosis of exclusion)",
]
for i, line in enumerate(additional):
    y = 5.2 + i * 0.48
    bg = LIGHT_BLUE if i % 2 == 0 else WHITE
    shp_add = add_rect(s5, 0.25, y, 12.8, 0.42, bg, radius=False)
    add_textbox(s5, 0.4, y+0.03, 12.5, 0.38, line, 10.5, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 6 – Initial Assessment (ABCDE + Vitals)
# ═══════════════════════════════════════════════════════════════
s6 = prs.slides.add_slide(blank)
add_rect(s6, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s6, "INITIAL ASSESSMENT IN THE ED", "SFMU/FICS Guidelines 2026 (Ann Intensive Care) | Tintinalli's EM")
bottom_bar(s6)

# ABCDE
abcde = [
    ("A – AIRWAY", "Stridor (inspiratory=supraglottic; expiratory=infraglottic)\nTripod/sniffing position → epiglottitis\nAble to speak? (sentences/phrases/words/silent)"),
    ("B – BREATHING", "RR ≥30 = severe  |  Measure ≥30 sec (SFMU/FICS 2026)\nSymmetric expansion?  |  Silent chest = life-threatening\nAccessory muscles  |  Tracheal deviation (tension PTX)"),
    ("C – CIRCULATION", "Pulsus paradoxus: >10 mmHg = significant; >25 = severe\nJVP raised: ADHF / tamponade / massive PE / tension PTX\nS3 gallop = elevated LVEDP (ADHF)"),
    ("D – DISABILITY", "GCS / AVPU: altered consciousness + dyspnea = EMERGENCY\nAxiety/agitation: severe distress, consider hypoxia"),
    ("E – EXPOSURE", "Leg swelling (DVT-PE, CHF)  |  Rashes (anaphylaxis)\nAbdomen: ascites, hepatomegaly  |  Peripheral oedema"),
]
for i, (ltr, body) in enumerate(abcde):
    x = 0.25 if i < 3 else (0.25 + 4.4 * (i - 3))
    y = 1.05 + (i % 3) * 2.05 if i < 3 else 1.05
    if i >= 3:
        y = 1.05
        x = 0.25 + 4.4 * (i - 3)
    shp_a = add_rect(s6, x, y, 4.2, 1.9, WHITE, MED_BLUE, Pt(2), radius=True)
    add_textbox(s6, x+0.1, y+0.05, 4.0, 0.42, ltr, 13, True, MED_BLUE)
    add_textbox(s6, x+0.1, y+0.5, 4.0, 1.3, body, 10, False, DARK_GRAY)

# Auscultation table on right
auscult_data = [
    ("Bilateral fine crackles (basal)", "Pulmonary oedema / ADHF", LIGHT_BLUE),
    ("Bilateral coarse crackles", "Pneumonia, ARDS", LIGHT_BLUE),
    ("Diffuse expiratory wheeze", "Asthma, COPD, Cardiac asthma", WHITE),
    ("Unilateral wheeze", "Foreign body, Tumour", WHITE),
    ("Absent breath sounds", "Pneumothorax, Effusion", LIGHT_BLUE),
    ("Pleural rub", "Pleuritis, PE with infarct", LIGHT_BLUE),
]

add_textbox(s6, 8.8, 1.05, 4.3, 0.38, "AUSCULTATION GUIDE", 12, True, DARK_BLUE)
for i, (find, interp, bg) in enumerate(auscult_data):
    y = 1.45 + i * 0.6
    shp_au = add_rect(s6, 8.8, y, 4.3, 0.55, bg, MID_GRAY, Pt(0.5))
    add_textbox(s6, 8.85, y+0.03, 2.05, 0.48, find, 9, True, DARK_GRAY)
    add_textbox(s6, 10.93, y+0.03, 2.1, 0.48, interp, 9, False, MID_GRAY)

add_textbox(s6, 0.25, 7.0, 13.0, 0.18,
            "SFMU/FICS 2026: RR must be measured for ≥30 seconds. Continuous vital sign monitoring reduces morbidity/mortality.",
            10, True, RED, PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════
# SLIDE 7 – Investigations
# ═══════════════════════════════════════════════════════════════
s7 = prs.slides.add_slide(blank)
add_rect(s7, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s7, "INVESTIGATIONS — STEPWISE APPROACH", "Tintinalli's EM | Harrison's 22E | SFMU/FICS 2026")
bottom_bar(s7)

# Immediate
shp_imm = add_rect(s7, 0.25, 0.9, 6.1, 2.65, WHITE, RED, Pt(2), radius=True)
add_textbox(s7, 0.35, 0.95, 5.9, 0.4, "IMMEDIATE — ALL ACUTE DYSPNEA", 12, True, RED)
imm_text = ("1. SpO2 — continuous pulse oximetry (mandatory)\n"
            "2. 12-lead ECG — ACS, arrhythmia, RV strain (PE), LBBB (CHF)\n"
            "3. CXR (portable) — effusion, cardiomegaly, PTX, consolidation, pulmonary oedema\n"
            "4. ABG / VBG — oxygenation, ventilation, acid-base\n"
            "   • VBG: PaCO2 <40 mmHg reliably EXCLUDES hypercapnia\n"
            "   • ABG: if SpO2 <92% or concern for CO2 retention")
add_textbox(s7, 0.35, 1.38, 5.9, 2.1, imm_text, 10.5, False, DARK_GRAY)

# Biomarkers
shp_bio = add_rect(s7, 6.55, 0.9, 6.55, 2.65, WHITE, MED_BLUE, Pt(2), radius=True)
add_textbox(s7, 6.65, 0.95, 6.3, 0.4, "BIOMARKERS", 12, True, MED_BLUE)
bio_text = ("BNP <100 pg/mL → NPV 90% for CHF (rules out)\n"
            "BNP >500 pg/mL → strongly supports CHF\n"
            "NT-proBNP <300 → rules out CHF\n"
            "NT-proBNP (age-stratified cutoffs: >900 if <50y, >1800 if 50-75y)\n"
            "Troponin (hs-cTnI/T) → ACS, myocarditis, RV strain in PE\n"
            "D-dimer → PE rule-out (use age-adjusted: age × 10 µg/L if >50y)\n"
            "Lactate → Sepsis (>2 mmol/L elevated; >4 = septic shock)\n"
            "★ CRP/PCT: INSUFFICIENT evidence to guide antibiotics in\n"
            "  acute dyspnea + suspected LRTI (SFMU/FICS 2026)")
add_textbox(s7, 6.65, 1.38, 6.3, 2.1, bio_text, 10.0, False, DARK_GRAY)

# POCUS BLUE Protocol
shp_pocus = add_rect(s7, 0.25, 3.65, 8.0, 3.25, WHITE, TEAL, Pt(2), radius=True)
add_textbox(s7, 0.35, 3.7, 7.8, 0.45, "POCUS — BLUE PROTOCOL  (Bedside Lung Ultrasound in Emergency)", 12, True, TEAL)
blue_table = [
    ("A-lines (horizontal)", "Normal lung — dry lung", "Asthma / COPD", WHITE),
    ("B-lines ≥3/zone, bilateral", "Interstitial syndrome — WET lung", "ADHF / Pulmonary oedema", LIGHT_BLUE),
    ("Absent lung sliding", "Pneumothorax suspected", "Confirm with Lung Point", WHITE),
    ("Lung point (pathognomonic)", "Definitive pneumothorax sign", "Pneumothorax", LIGHT_BLUE),
    ("Consolidation (hepatization)", "Lung consolidation", "Pneumonia / Atelectasis", WHITE),
    ("Anechoic above diaphragm", "Pleural fluid", "Effusion / Haemothorax", LIGHT_BLUE),
]
for i, (find_b, meaning_b, dx_b, bg_b) in enumerate(blue_table):
    y = 4.2 + i * 0.42
    shp_bl = add_rect(s7, 0.3, y, 7.85, 0.38, bg_b, MID_GRAY, Pt(0.3))
    add_textbox(s7, 0.35, y+0.02, 2.5, 0.33, find_b, 9, True, DARK_GRAY)
    add_textbox(s7, 2.88, y+0.02, 2.7, 0.33, meaning_b, 9, False, MID_GRAY)
    add_textbox(s7, 5.6, y+0.02, 2.5, 0.33, dx_b, 9, True, TEAL)

# Evidence column
shp_ev = add_rect(s7, 8.55, 3.65, 4.55, 3.25, WHITE, ORANGE, Pt(2), radius=True)
add_textbox(s7, 8.65, 3.7, 4.3, 0.4, "RECENT EVIDENCE", 12, True, ORANGE)
ev_text = ("Taheri et al., Eur J Emerg Med 2025\n"
           "POCUS in prehospital non-trauma dyspnea\n"
           "→ improves diagnostic accuracy (Meta-analysis)\n\n"
           "Russell et al., Am J Emerg Med 2024\n"
           "Prehospital lung US for ADHF\n"
           "→ High diagnostic accuracy (Systematic review)\n\n"
           "Jeffers et al., J Emerg Med 2025\n"
           "POCUS for pulmonary oedema\n"
           "→ High sensitivity & specificity (SR)")
add_textbox(s7, 8.65, 4.15, 4.3, 2.6, ev_text, 9.5, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 8 – Clinical Decision Tools (PERC + Wells + BNP)
# ═══════════════════════════════════════════════════════════════
s8 = prs.slides.add_slide(blank)
add_rect(s8, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s8, "CLINICAL DECISION TOOLS", "PERC Rule | Wells Score | BNP/NT-proBNP | Framingham")
bottom_bar(s8)

# PERC
shp_perc = add_rect(s8, 0.25, 0.9, 4.2, 5.1, WHITE, RED, Pt(2), radius=True)
add_textbox(s8, 0.35, 0.95, 4.0, 0.42, "PERC RULE — PE Rule-Out", 12, True, RED)
add_textbox(s8, 0.35, 1.37, 4.0, 0.32, "(All 8 absent in LOW pre-test probability = exclude PE)", 9, True, MID_GRAY)
perc_criteria = [
    "1. Age < 50 years",
    "2. HR < 100 bpm",
    "3. SpO2 ≥ 95%",
    "4. No unilateral leg swelling",
    "5. No haemoptysis",
    "6. No recent surgery/trauma",
    "7. No prior PE/DVT",
    "8. No exogenous oestrogen",
]
for i, crit in enumerate(perc_criteria):
    y = 1.75 + i * 0.47
    bg_p = LIGHT_BLUE if i % 2 == 0 else WHITE
    shp_pc = add_rect(s8, 0.3, y, 4.1, 0.43, bg_p)
    add_textbox(s8, 0.38, y+0.04, 3.9, 0.35, crit, 10.5, False, DARK_GRAY)

shp_perc_note = add_rect(s8, 0.3, 5.55, 4.1, 0.4, LIME, radius=True)
add_shape_text(shp_perc_note, "All 8 absent → PE excluded. No D-dimer needed!", 10, True, WHITE)

# Wells
shp_wells = add_rect(s8, 4.65, 0.9, 4.3, 5.1, WHITE, ORANGE, Pt(2), radius=True)
add_textbox(s8, 4.75, 0.95, 4.1, 0.42, "WELLS SCORE — PE Probability", 12, True, ORANGE)
wells_criteria = [
    ("Clinical DVT signs", "3 pts"),
    ("PE most likely Dx", "3 pts"),
    ("HR > 100 bpm", "1.5 pts"),
    ("Immobility/surgery <4wks", "1.5 pts"),
    ("Prior DVT/PE", "1.5 pts"),
    ("Haemoptysis", "1 pt"),
    ("Active malignancy", "1 pt"),
]
for i, (crit_w, pts_w) in enumerate(wells_criteria):
    y = 1.42 + i * 0.52
    bg_w = LIGHT_BLUE if i % 2 == 0 else WHITE
    shp_wc = add_rect(s8, 4.7, y, 4.2, 0.48, bg_w)
    add_textbox(s8, 4.78, y+0.06, 2.9, 0.36, crit_w, 10, False, DARK_GRAY)
    add_textbox(s8, 7.7, y+0.06, 1.1, 0.36, pts_w, 10, True, ORANGE, PP_ALIGN.RIGHT)

shp_wells_score = add_rect(s8, 4.7, 5.07, 4.2, 0.85, YELLOW_BG, ORANGE, Pt(1.5), radius=True)
add_textbox(s8, 4.78, 5.12, 4.0, 0.75,
            "Score ≤4 + D-dimer negative → PE excluded\n"
            "Score >4 → CTPA required\n"
            "Age-adjusted D-dimer: age × 10 µg/L (if age >50)",
            9.5, False, DARK_GRAY)

# BNP + Framingham
shp_bnp = add_rect(s8, 9.2, 0.9, 3.9, 2.6, WHITE, MED_BLUE, Pt(2), radius=True)
add_textbox(s8, 9.3, 0.95, 3.7, 0.42, "BNP / NT-proBNP (CHF vs non-cardiac)", 11, True, MED_BLUE)
bnp_text = ("BNP <100 pg/mL → NPV 90% (rules OUT CHF)\n"
            "BNP >500 pg/mL → strongly supports CHF\n"
            "NT-proBNP <300 → rules out CHF\n"
            "NT-proBNP cutoffs by age:\n"
            "  <50y: >900 | 50-75y: >1800 | >75y: >1800")
add_textbox(s8, 9.3, 1.4, 3.7, 2.0, bnp_text, 10, False, DARK_GRAY)

shp_fram = add_rect(s8, 9.2, 3.6, 3.9, 2.3, WHITE, TEAL, Pt(2), radius=True)
add_textbox(s8, 9.3, 3.65, 3.7, 0.42, "FRAMINGHAM CRITERIA (CHF Diagnosis)", 11, True, TEAL)
fram_text = ("Major: PND, orthopnoea, raised JVP, crackles,\nS3 gallop, cardiomegaly, acute pulmonary oedema\n\n"
             "Minor: Ankle oedema, nocturnal cough, DOE,\nhepatomegaly, pleural effusion, tachycardia\n\n"
             "Diagnosis: 2 Major OR 1 Major + 2 Minor")
add_textbox(s8, 9.3, 4.1, 3.7, 1.75, fram_text, 9.5, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 9 – Master Diagnostic Algorithm
# ═══════════════════════════════════════════════════════════════
s9 = prs.slides.add_slide(blank)
add_rect(s9, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s9, "MASTER DIAGNOSTIC ALGORITHM — ACUTE DYSPNEA IN ED", "Tintinalli's EM | Harrison's 22E | SFMU/FICS 2026")
bottom_bar(s9)

# Flowchart boxes
def flow_box(slide, x, y, w, h, text, bg, text_color=WHITE, font_size=11, bold=True, line_color=None):
    lc = line_color if line_color else bg
    shp = add_rect(slide, x, y, w, h, bg, lc, Pt(1.5), radius=True)
    add_shape_text(shp, text, font_size, bold, text_color, PP_ALIGN.CENTER)
    return shp

# Row 1 - Entry
flow_box(s9, 4.9, 0.92, 3.5, 0.55, "PATIENT ARRIVES WITH ACUTE DYSPNEA", DARK_BLUE, WHITE, 12, True)

# Arrow down
add_connector(s9, 6.67, 1.47, 6.67, 1.78, DARK_GRAY, Pt(2))

# Row 2 - Immediate
flow_box(s9, 3.8, 1.78, 5.7, 0.55, "IMMEDIATE: SpO2 + IV access + Monitor + O2 if SpO2 <92%", MED_BLUE, WHITE, 11, True)

add_connector(s9, 6.67, 2.33, 6.67, 2.63, DARK_GRAY, Pt(2))

# Row 3 - Is patient in danger?
shp_danger = flow_box(s9, 4.3, 2.63, 4.7, 0.55, "Is patient in IMMEDIATE DANGER?", RED, WHITE, 12, True)

# YES branch
add_connector(s9, 4.3, 2.9, 2.8, 2.9, RED, Pt(2))
add_connector(s9, 2.8, 2.9, 2.8, 3.35, RED, Pt(2))
flow_box(s9, 1.05, 3.35, 3.4, 0.95,
         "YES: Immediate Action\n• Airway: RSI if needed (Ketamine)\n• O2 / NIV / HFNC\n• POCUS + ECG simultaneously",
         RED, WHITE, 9.5, False)

# NO branch
add_connector(s9, 9.0, 2.9, 10.5, 2.9, GREEN, Pt(2))
add_connector(s9, 10.5, 2.9, 10.5, 3.35, GREEN, Pt(2))
flow_box(s9, 9.2, 3.35, 2.8, 0.95,
         "NO: Focused assessment\n• History (onset, character)\n• Physical examination\n• Serial vital signs",
         GREEN, WHITE, 9.5, False)

# YES/NO labels
add_textbox(s9, 2.5, 2.62, 0.7, 0.28, "YES", 10, True, RED, PP_ALIGN.CENTER)
add_textbox(s9, 9.05, 2.62, 0.7, 0.28, "NO", 10, True, GREEN, PP_ALIGN.CENTER)

add_connector(s9, 6.67, 3.18, 6.67, 3.55, DARK_GRAY, Pt(2))

# Row 4 - POCUS
flow_box(s9, 4.8, 3.55, 3.7, 0.5, "POCUS — BLUE Protocol", TEAL, WHITE, 12, True)

add_connector(s9, 6.67, 4.05, 6.67, 4.25, DARK_GRAY, Pt(2))

# Row 5 - POCUS branches (4 boxes)
pocus_results = [
    (0.25, "A-lines\n(Asthma/COPD)", MED_BLUE),
    (3.5, "B-lines\n(ADHF/Oedema)", RED),
    (6.75, "No lung sliding\n(Pneumothorax)", ORANGE),
    (10.0, "Consolidation\n(Pneumonia)", GREEN),
]
for (x_p, txt_p, col_p) in pocus_results:
    add_connector(s9, x_p + 1.4, 4.25, x_p + 1.4, 4.45, col_p, Pt(1.5))
    flow_box(s9, x_p, 4.45, 2.8, 0.7, txt_p, col_p, WHITE, 10, True)

add_connector(s9, 6.67, 4.25, 1.65, 4.25, DARK_GRAY, Pt(1.5))
add_connector(s9, 6.67, 4.25, 11.4, 4.25, DARK_GRAY, Pt(1.5))
add_connector(s9, 4.9, 4.25, 4.9, 4.45, DARK_GRAY, Pt(1.5))
add_connector(s9, 8.45, 4.25, 8.45, 4.45, DARK_GRAY, Pt(1.5))

# Row 6 - Biomarkers
add_connector(s9, 6.67, 5.15, 6.67, 5.35, DARK_GRAY, Pt(2))
flow_box(s9, 2.5, 5.35, 8.3, 0.52,
         "BIOMARKERS: BNP/NT-proBNP | Troponin | D-dimer (age-adjusted) | Lactate | Full blood count | Metabolic panel",
         DARK_BLUE, WHITE, 10.5, True)

add_connector(s9, 6.67, 5.87, 6.67, 6.07, DARK_GRAY, Pt(2))

flow_box(s9, 3.5, 6.07, 6.3, 0.5,
         "DIAGNOSE & TREAT — Admit / Discharge / ICU based on severity",
         DARK_BLUE, WHITE, 11, True)

# ═══════════════════════════════════════════════════════════════
# SLIDE 10 – Oxygenation Strategies
# ═══════════════════════════════════════════════════════════════
s10 = prs.slides.add_slide(blank)
add_rect(s10, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s10, "OXYGENATION & VENTILATION STRATEGIES", "GINA 2026 | SFMU/FICS 2026 | Tintinalli's EM")
bottom_bar(s10)

oxy_data = [
    ("Nasal Cannula", "Mild hypoxia\nSpO2 90-94%", "1-6 L/min\nFiO2 ~24-44%", MED_BLUE, "Standard first step"),
    ("Simple Face Mask", "SpO2 <90%\nNeeds higher FiO2", "6-10 L/min\nFiO2 ~40-60%", MED_BLUE, "Step up from NC"),
    ("Non-rebreather\nMask", "SpO2 <90%\nNeeds high FiO2", "10-15 L/min\nFiO2 ~80-100%", ORANGE, "Emergency hypoxia"),
    ("HFNC\n(High-Flow NC)", "Moderate-severe\nhypoxic resp. failure", "Up to 60 L/min\nFiO2 100%", TEAL, "~2 cmH2O PEEP per 10 L/min"),
    ("CPAP", "Cardiogenic\npulmonary oedema", "5-10 cmH2O\nFiO2 titrated", GREEN, "Reduces WOB; no expiratory support"),
    ("BiPAP / NIV", "COPD exacerbation\nCHF, mild-mod hypercapnia", "IPAP 12-20 / EPAP 4-8\nFiO2 titrated", GREEN, "Reduces intubation rates"),
    ("Endotracheal\nIntubation + MV", "Failure of above\nGCS <8 / impending arrest", "Ketamine (RSI)\nPermissive hypercapnia", RED, "Low TV 6-8 mL/kg | RR <10"),
]

headers = ["Modality", "Indication", "Settings / FiO2", "Notes"]
col_widths = [2.1, 2.6, 2.6, 2.5]
col_starts = [0.25, 2.4, 5.05, 7.7]

# header row
for j, (hdr, cw, cx) in enumerate(zip(headers, col_widths, col_starts)):
    shp_hh = add_rect(s10, cx, 0.9, cw-0.05, 0.42, DARK_BLUE)
    add_shape_text(shp_hh, hdr, 11, True, WHITE)

for i, (mod, ind, sett, col, note) in enumerate(oxy_data):
    bg = LIGHT_BLUE if i % 2 == 0 else WHITE
    row_y = 1.35 + i * 0.82
    data_cells = [mod, ind, sett, note]
    for j, (cell, cw, cx) in enumerate(zip(data_cells, col_widths, col_starts)):
        shp_cell = add_rect(s10, cx, row_y, cw-0.05, 0.78, bg, MID_GRAY, Pt(0.3))
        add_textbox(s10, cx+0.07, row_y+0.05, cw-0.15, 0.68, cell, 9.5, j==0, col if j==0 else DARK_GRAY)

add_textbox(s10, 10.3, 0.9, 2.85, 0.4, "KEY POINTS", 11, True, DARK_BLUE)
kp_items = [
    "GINA 2026: O2 only if SpO2 <92%; target 92-95%",
    "Avoid hyperoxia (drives ↑PaCO2 in COPD)",
    "HFNC: generates 2 cmH2O PEEP per 10 L/min",
    "NIV: reduces intubation in COPD/CHF",
    "RSI drug of choice (bronchospasm): KETAMINE 1-2 mg/kg",
    "Permissive hypercapnia in intubated asthmatic",
]
for i, kp in enumerate(kp_items):
    shp_kp = add_rect(s10, 10.3, 1.35 + i * 0.95, 2.85, 0.85,
                      YELLOW_BG if i % 2 == 0 else WHITE,
                      ORANGE, Pt(1), radius=True)
    add_textbox(s10, 10.38, 1.4 + i * 0.95, 2.68, 0.75, kp, 9, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 11 – Specific Diagnoses Management
# ═══════════════════════════════════════════════════════════════
s11 = prs.slides.add_slide(blank)
add_rect(s11, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s11, "MANAGEMENT OF KEY DIAGNOSES", "Tintinalli's EM | Harrison's 22E | GINA 2026 | AHA/ACC 2026")
bottom_bar(s11)

dx_mgmt = [
    ("ADHF — Acute Decompensated HF", MED_BLUE,
     "• IV furosemide 0.5-1 mg/kg\n"
     "• IV/SL nitrates (preload + afterload ↓)\n"
     "• CPAP/BiPAP (reduces intubation)\n"
     "• BNP-guided therapy improves outcomes\n"
     "• Avoid aggressive fluid in HFpEF"),
    ("Massive PE", RED,
     "• UFH anticoagulation (preferred if thrombolysis candidate)\n"
     "• Systemic thrombolysis: Alteplase 100 mg IV over 2 hrs\n"
     "• Low-risk PE: discharge on DOAC (rivaroxaban/apixaban)\n"
     "• AHA/ACC 2026: Activate PE Response Team (PERT)\n"
     "• Catheter-directed therapy for sub-massive PE"),
    ("COPD Exacerbation", TEAL,
     "• SABA + SAMA nebulisation\n"
     "• Systemic steroids (prednisolone 30-40 mg)\n"
     "• Controlled O2: target SpO2 88-92%\n"
     "• BiPAP: first-line for moderate-severe (reduces intubation)\n"
     "• Antibiotics if purulent sputum / CXR infiltrate"),
    ("Tension Pneumothorax", ORANGE,
     "• DO NOT WAIT for CXR — clinical diagnosis\n"
     "• Immediate needle decompression:\n"
     "  2nd ICS, midclavicular line\n"
     "  OR 4th/5th ICS, anterior axillary line\n"
     "• Followed by chest tube insertion"),
    ("Acute Asthma (GINA 2026)", GREEN,
     "• Salbutamol 4-8 puffs/5 mg neb (every 20 min x3)\n"
     "• Ipratropium 4 puffs with each SABA (first 3 doses)\n"
     "• Systemic corticosteroids EARLY\n"
     "• IV MgSO4 2g over 20 min (severe, PEF <25%)\n"
     "• O2 only if SpO2 <92%; target 92-95%"),
    ("Anaphylaxis + Dyspnea", RED,
     "• EPINEPHRINE FIRST (IM 0.3-0.5 mg)\n"
     "• THEN bronchodilators (GINA 2026 NEW rule)\n"
     "• Early airway management if angioedema progressing\n"
     "• Antihistamines + steroids as adjuncts\n"
     "• IV access + monitor continuously"),
]

for idx, (dx_title, col_dx, mgmt_text) in enumerate(dx_mgmt):
    col_n = idx % 3
    row_n = idx // 3
    x_dx = 0.25 + col_n * 4.37
    y_dx = 0.95 + row_n * 3.1
    shp_dx = add_rect(s11, x_dx, y_dx, 4.2, 2.85, WHITE, col_dx, Pt(2), radius=True)
    add_textbox(s11, x_dx+0.1, y_dx+0.05, 4.0, 0.42, dx_title, 11.5, True, col_dx)
    add_textbox(s11, x_dx+0.1, y_dx+0.5, 4.0, 2.25, mgmt_text, 10, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 12 – Disposition & High-Yield Points
# ═══════════════════════════════════════════════════════════════
s12 = prs.slides.add_slide(blank)
add_rect(s12, 0, 0, 13.333, 7.5, LIGHT_GRAY)
slide_header(s12, "DISPOSITION & HIGH-YIELD EXAM POINTS", "Tintinalli's EM | Harrison's 22E | GINA 2026 | SFMU/FICS 2026")
bottom_bar(s12)

# Disposition boxes
disp_data = [
    ("DISCHARGE (Low Risk)", GREEN,
     "• SpO2 ≥95% on room air after treatment\n"
     "• Symptoms resolved, cause identified and treated\n"
     "• Reliable follow-up arranged\n"
     "• No high-risk ECG changes or elevated troponin"),
    ("ADMIT (Ward)", ORANGE,
     "• SpO2 <92% despite initial treatment\n"
     "• Hemodynamic instability\n"
     "• Persistently abnormal vital signs\n"
     "• High-risk diagnoses requiring IV treatment"),
    ("ICU / HDU", RED,
     "• Respiratory failure: NIV failing or intubated\n"
     "• Hemodynamic compromise (shock)\n"
     "• Rising PaCO2 + altered consciousness\n"
     "• ARDS, massive PE, cardiac tamponade"),
]
for i, (disp_title, disp_col, disp_body) in enumerate(disp_data):
    x_d = 0.25 + i * 4.37
    shp_d = add_rect(s12, x_d, 0.9, 4.2, 2.5, WHITE, disp_col, Pt(2), radius=True)
    add_textbox(s12, x_d+0.1, 0.95, 4.0, 0.45, disp_title, 12, True, disp_col)
    add_textbox(s12, x_d+0.1, 1.44, 4.0, 1.9, disp_body, 10.5, False, DARK_GRAY)

# High yield exam points
shp_hy = add_rect(s12, 0.25, 3.55, 12.8, 0.42, DARK_BLUE, radius=True)
add_shape_text(shp_hy, "HIGH-YIELD EXAM POINTS", 14, True, WHITE)

hy_points = [
    ("Cardiac + pulmonary causes = 85% of all dyspnea (Harrison's 22E)", MED_BLUE),
    ("BNP <100 pg/mL → NPV 90% for CHF rule-out", GREEN),
    ("Platypnea = dyspnea WORSE sitting up → hepatopulmonary syndrome / left atrial myxoma / ASD", RED),
    ("Silent chest in asthma = life-threatening (no air movement, not 'improved')", RED),
    ("Normal PaCO2 during acute asthma attack = DANGER sign (patient fatiguing)", ORANGE),
    ("Pregnancy: PaCO2 40 mmHg = HYPERCARBIA (normal = 28-32 mmHg in pregnancy)", ORANGE),
    ("POCUS Lung point = pathognomonic for pneumothorax", TEAL),
    ("Efferent-reafferent mismatch = most intense dyspnea mechanism (Harrison's 22E viva)", MED_BLUE),
    ("SFMU/FICS 2026: CRP/PCT insufficient evidence to guide antibiotics in acute dyspnea + suspected LRTI", RED),
    ("GINA 2026: If anaphylaxis + asthma → epinephrine FIRST, then bronchodilator", ORANGE),
    ("PERC: all 8 absent in low-probability → no D-dimer, no CTPA needed", GREEN),
    ("RSI drug of choice in bronchospasm: KETAMINE 1-2 mg/kg IV", MED_BLUE),
]

cols_hy = 2
for i, (pt_txt, pt_col) in enumerate(hy_points):
    col_h = i % cols_hy
    row_h = i // cols_hy
    x_h = 0.25 + col_h * 6.55
    y_h = 4.04 + row_h * 0.49
    bg_h = WHITE if row_h % 2 == 0 else LIGHT_BLUE
    shp_h = add_rect(s12, x_h, y_h, 6.4, 0.44, bg_h, pt_col, Pt(1))
    add_textbox(s12, x_h+0.1, y_h+0.04, 0.3, 0.36, "★", 11, True, pt_col, PP_ALIGN.CENTER)
    add_textbox(s12, x_h+0.42, y_h+0.04, 5.8, 0.36, pt_txt, 9.5, False, DARK_GRAY)

# ═══════════════════════════════════════════════════════════════
# SLIDE 13 – References & Summary
# ═══════════════════════════════════════════════════════════════
s13 = prs.slides.add_slide(blank)
add_rect(s13, 0, 0, 13.333, 7.5, DARK_BLUE)
# accent
add_rect(s13, 0, 2.0, 13.333, 0.06, MED_BLUE)

add_textbox(s13, 0.5, 0.3, 12.3, 0.75,
            "REFERENCES & SOURCES",
            font_size=28, bold=True, color=WHITE, align=PP_ALIGN.CENTER)

refs = [
    ("Harrison's Principles of Internal Medicine 22E (2025)", "Chapter 39 — Dyspnea: Definition, Mechanisms, Differential Diagnosis, Assessment, CPET, Treatment; mMRC Scale, Table 34-3"),
    ("Tintinalli's Emergency Medicine — A Comprehensive Study", "Chapters 53, 59 — ADHF, Asthma/COPD; POCUS (B-lines, lung sliding); Chapter 25 — Palliative dyspnea; Chapter 24 — IVDU dyspnea"),
    ("SFMU/FICS Guidelines 2026", "Ann Intensive Care 2026 Jan — Guidelines for Initial Assessment of Respiratory Distress in the ED; RR measurement, biomarker guidance"),
    ("GINA 2026 Strategy Report", "May 5, 2026 — Acute asthma management; O2 targets; anaphylaxis+asthma: epinephrine first rule; ICS-formoterol for mild exacerbation"),
    ("AHA/ACC/ACEP 2026 PE Guideline", "Circulation 2026 — Risk stratification, ED discharge for low-risk PE, PERT, post-PE dyspnea follow-up"),
    ("Taheri et al., Eur J Emerg Med 2025 (PMID 39630617)", "POCUS in prehospital non-trauma acute dyspnea — systematic review and meta-analysis"),
    ("Russell et al., Am J Emerg Med 2024 (PMID 38522242)", "Prehospital lung ultrasound for ADHF — systematic review/meta-analysis"),
    ("Jeffers et al., J Emerg Med 2025 (PMID 40845678)", "POCUS utility for pulmonary oedema — systematic review"),
    ("Santus et al., Intern Emerg Med 2023 (PMID 37266791)", "Acute dyspnea in the emergency department — comprehensive clinical review"),
]

for i, (title_r, desc_r) in enumerate(refs):
    y_r = 2.18 + i * 0.55
    bg_r = RGBColor(0x12, 0x37, 0x6B) if i % 2 == 0 else RGBColor(0x0A, 0x29, 0x5C)
    shp_r = add_rect(s13, 0.25, y_r, 12.8, 0.5, bg_r, MED_BLUE, Pt(0.5))
    add_textbox(s13, 0.35, y_r+0.04, 4.5, 0.42, title_r, 9.5, True, LIGHT_BLUE)
    add_textbox(s13, 4.9, y_r+0.04, 8.0, 0.42, desc_r, 9, False, WHITE)

# ═══════════════════════════════════════════════════════════════
# SAVE
# ═══════════════════════════════════════════════════════════════
output_path = "/tmp/workspace/acute-dyspnea-ppt/Acute_Dyspnea_EM_Teaching.pptx"
buf = BytesIO()
prs.save(buf)
with open(output_path, "wb") as f:
    f.write(buf.getvalue())

print(f"Saved: {output_path}")
print(f"Slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/acute-dyspnea-ppt && python build_ppt.py 2>&1

Running Command

ls -lh /tmp/workspace/acute-dyspnea-ppt/

Your presentation is ready for download:

Acute Dyspnea EM Teaching

Presentation · PPTX


Presentation Overview — 13 Slides

SlideTitleContent
1Title SlideDark navy design with source attribution
2Definition & EpidemiologyATS definition (Harrison's 22E), 4 stat cards (3-4M ED visits, 85% cardiopulmonary, etc.), post-COVID note
3Mechanisms of Dyspnea3-column layout: Afferent signals / Efferent signals / Efferent-reafferent mismatch (Harrison's 22E viva classic)
4Qualitative Descriptors9 descriptor cards: chest tightness → asthma; platypnea → hepatopulmonary syndrome; orthopnea → CHF, etc.
5Differential DiagnosisFull "CARDS" framework for life-threatening causes + additional causes table
6Initial Assessment (ABCDE)A-B-C-D-E boxes with auscultation guide; SFMU/FICS 2026 RR measurement rule
7InvestigationsImmediate workup, biomarker cutoffs (BNP/D-dimer/troponin/lactate), BLUE protocol POCUS table, recent evidence (2024-2025 meta-analyses)
8Clinical Decision ToolsFull PERC rule, Wells score with cutoffs, BNP/NT-proBNP thresholds, Framingham criteria
9Master Diagnostic AlgorithmStep-by-step flowchart: arrival → danger assessment → POCUS branches → biomarkers → diagnose & treat
10Oxygenation Strategies7-row table: NC → NRB → HFNC → CPAP → BiPAP → ETI with indications/settings; GINA 2026 O2 targets
11Management of Key Diagnoses6 diagnosis cards: ADHF, Massive PE, COPD, Tension PTX, Acute Asthma, Anaphylaxis
12Disposition & High-Yield PointsDischarge/Admit/ICU criteria + 12 starred exam-ready facts
13ReferencesAll 9 sources cited with chapter/PMID details
Design features: 16:9 widescreen, navy/blue/teal colour scheme, color-coded severity (RED = danger, GREEN = safe, ORANGE = caution), all built on Harrison's 22E + Tintinalli's EM + GINA 2026 + AHA/ACC 2026 + SFMU/FICS 2026.

MAKE EXAM ORIENTED POSTGRADUATE EMERGENCY MEDICINE WITH TOPIC NAME APPROCH TO HYPOXIA IN ACUTE PRESENTATION IN EMERGENCY ROOM NEW GUIDLINE WITH RECENT ADVANCED AND TINTILATY REFEERENCE AND HARRISON INTERNAL MEDICINE REFERENCE

Finding Sources
Finding Sources
Finding Sources
Searching PubMed

"hypoxemia" AND "emergency department" AND "oxygen therapy"

Searching the Web

hypoxia hypoxemia emergency department approach guidelines 2025 2026 oxygen therapy management

Reading File
Reading File
Searching PubMed

"oxygen therapy" AND "critically ill" AND "target saturation"

Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC12934415

Reading File
Reading File
Searching PubMed

"oxygen saturation" AND "conservative oxygen" AND "critically ill"

Reading File
Finding Sources
Finding Sources
Searching PubMed

"high flow nasal cannula" AND "acute hypoxemic respiratory failure" AND "emergency"

Reading File
Reading File
Finding Sources
Searching PubMed

"pulse oximetry" AND "racial bias" OR "skin pigmentation" hypoxemia

Reading File
Finding Sources
Finding Sources

APPROACH TO ACUTE HYPOXIA IN THE EMERGENCY ROOM

Postgraduate Emergency Medicine - Exam-Oriented Notes

Sources: Tintinalli's EM | Harrison's Principles 22E (2025) | SFMU/FICS Guidelines 2026 | UK-ROX Trial (JAMA 2025) | Recent PubMed Evidence


1. DEFINITIONS - MUST KNOW (Tintinalli's EM + Harrison's 22E)

Hypoxia vs Hypoxemia - KEY DISTINCTION (Exam Trap)

TermDefinitionKey Point
HypoxiaInsufficient oxygen delivery to tissues (cellular level)Can occur with NORMAL PaO2
HypoxemiaAbnormally low arterial oxygen tension: PaO2 <60 mmHg or SpO2 <90% on room airPulmonary problem; does NOT always = tissue hypoxia
"Hypoxia and hypoxemia are NOT interchangeable; one can occur without the other."
  • Tintinalli's EM, Chapter 62
Classic exam examples:
  • Polycythemia: low PaO2 (hypoxemia) but normal tissue O2 delivery → NO tissue hypoxia
  • Severe anemia: normal PaO2 (no hypoxemia) but low O2 carrying capacity → TISSUE HYPOXIA
  • CO poisoning: normal PaO2 (pulse oximetry falsely normal!) → SEVERE tissue hypoxia

2. OXYGEN PHYSIOLOGY - KEY FORMULAE (Tintinalli's EM, Chapter 62)

Arterial Oxygen Content (CaO2):

$$\text{CaO}_2 = 0.0031 \times \text{PaO}_2 + 1.38 \times \text{Hemoglobin} \times \text{SaO}_2$$
  • Dissolved O2 (0.0031 × PaO2) = tiny contribution (~1.5% at room air)
  • Hb-bound O2 (1.38 × Hb × SaO2) = dominant factor (~98.5%)

Oxygen Delivery (DO2):

$$\text{DO}_2 = \text{CaO}_2 \times \text{Cardiac Output}$$
Clinical implication: Tissue hypoxia can occur even with normal SpO2 if:
  • Cardiac output is low (cardiogenic shock)
  • Hemoglobin is low (severe anemia)
  • Hemoglobin is non-functional (CO, MetHb)

Alveolar Gas Equation (A-a Gradient Calculation):

$$\text{PAO}_2 = 0.21 \times (760 - 47) - \frac{\text{PaCO}_2}{0.8}$$
$$\text{A-a Gradient} = \text{PAO}_2 - \text{PaO}_2$$
Normal A-a gradient:
  • Young healthy adults: <10 mmHg
  • Age-adjusted: 2.5 + (0.21 × age in years) ± 11 mmHg (Tintinalli's EM)
  • Simplified formula: A-a gradient = 145 - PaO2 (breathing room air at sea level)
Exam tip: Supine position (common ED patient position) raises A-a gradient even in healthy patients - factor this into interpretation (Tintinalli's EM).

3. FIVE MECHANISMS OF HYPOXEMIA (Tintinalli's EM + Harrison's 22E)

MechanismA-a GradientResponse to 100% O2Classic Causes
1. HypoventilationNORMALCorrects fullyOpioids, sedatives, neuromuscular disease, obesity hypoventilation
2. V/Q MismatchINCREASEDImproves wellPE, pneumonia, asthma, COPD, CHF
3. Diffusion ImpairmentINCREASEDImprovesILD, pulmonary fibrosis, emphysema
4. Right-to-Left ShuntINCREASEDMinimal/partial correctionARDS, atelectasis, hepatopulmonary syndrome, ASD, VSD, intracardiac shunt
5. Low Inspired O2 (FiO2↓)NORMALCorrects fullyHigh altitude, aircraft cabin, confined space

Critical Exam Points:

  • Hypoventilation = only mechanism with raised PaCO2 + NORMAL A-a gradient
  • Shunt = only mechanism where 100% O2 FAILS to correct hypoxemia (hallmark)
  • V/Q mismatch = most common mechanism of hypoxemia in clinical practice
  • V/Q mismatch and shunt are on a spectrum - shunt = extreme V/Q mismatch (V=0, Q persists)
  • PaO2/FiO2 ratio: used to quantify severity of gas exchange impairment

4. TYPES OF HYPOXIA BY CAUSE (Harrison's 22E, Chapter 42)

A. Respiratory/Hypoxemic Hypoxia

  • Ventilation-perfusion mismatch (most common)
  • Hypoventilation (associated with raised PaCO2)
  • Right-to-left shunt (intrapulmonary or intracardiac)
  • Diffusion impairment

B. Anemic Hypoxia

  • PaO2 NORMAL; SaO2 NORMAL (unless concurrent lung disease)
  • Absolute O2 carrying capacity reduced
  • Venous PO2 drops more than usual (greater extraction per unit blood)
  • Causes: hemorrhage, hemolysis, iron deficiency, thalassemia

C. Circulatory/Stagnant Hypoxia

  • PaO2 NORMAL; SaO2 NORMAL
  • Reduced tissue perfusion → increased O2 extraction → low venous PO2
  • Arteriovenous O2 difference (a-v O2 gap) INCREASES
  • Causes: cardiogenic shock, distributive shock, hypovolemic shock, local ischemia
  • Can precipitate CHF in pre-existing heart failure (increased demand on impaired heart)

D. Carbon Monoxide (CO) Hypoxia - SPECIAL CASE

  • Hemoglobin binds CO (forming carboxyhemoglobin, COHb) → unavailable for O2 transport
  • COHb shifts Hb-O2 dissociation curve to the LEFT → O2 unloads only at lower tissue tensions
  • PaO2 normal; pulse oximetry FALSELY NORMAL (reads COHb as OxyHb)
  • Causes: smoke inhalation, gas heaters, car exhaust, house fires
  • Clinical sign: Cherry-red skin/flush (Harrison's 22E) - NOT cyanosis

E. Histotoxic Hypoxia

  • Cells cannot utilize O2 despite adequate delivery
  • Cause: Cyanide toxicity (blocks cytochrome c oxidase in mitochondria)
  • PaO2 normal; mixed venous O2 HIGH (cells cannot extract O2)
  • Paradox: high SvO2 + lactic acidosis = cyanide poisoning

F. High Altitude Hypoxia

  • Reduced FiO2 due to ↓ barometric pressure
  • Denver (5400 ft): barometric pressure 620 mmHg; PiO2 = 130 mmHg (vs 160 at sea level) - Tintinalli's EM
  • At 3000 m (~10,000 ft): alveolar PO2 drops to ~60 mmHg
  • High altitude illness spectrum: Acute Mountain Sickness → HACE → HAPE

5. RESPONSES TO HYPOXIA (Harrison's 22E, Chapter 42)

Cellular Response:

  • Aerobic → Anaerobic metabolism switch (Pasteur effect)
  • ATP production falls dramatically
  • Severe hypoxia: membrane depolarization → Ca2+ influx → phospholipases/proteases activation → cell swelling → apoptosis → cell death

Molecular Response:

  • HIF-1 (Hypoxia-Inducible Factor-1): master transcription factor for hypoxia response
  • Upregulates: glycolytic enzymes (PGK, PFK), glucose transporters (GLUT-1, GLUT-2), VEGF, erythropoietin

Vascular Response:

  • Systemic arterioles: DILATE (KATP channels open → reduced ATP) → ↑ tissue perfusion
  • Pulmonary vasculature: CONSTRICT (K+ channel inhibition → depolarization → Ca2+ influx → smooth muscle contraction)
    • Hypoxic pulmonary vasoconstriction (HPV) = redirects blood from poorly-ventilated to better-ventilated lung segments
    • But increases pulmonary vascular resistance and RV afterload
    • Can cause acute cor pulmonale in diffuse lung disease

Cardiovascular Response:

  • Acute: ↑ myocardial contractility → ↑ cardiac output
  • Prolonged: depressed myocardial contractility
  • Systemic vasodilation → ↑ cardiac output (dangerous in pre-existing heart disease)
  • Cerebrovascular resistance ↓ → ↑ cerebral blood flow
  • BUT if hypoxia + hyperventilation → PaCO2 ↓ → cerebrovascular resistance ↑ → cerebral blood flow ↓ → worsens brain hypoxia

CNS Effects:

  • Mild: impaired judgment, motor incoordination (resembles alcohol intoxication)
  • Moderate: headache, dizziness, somnolence, insomnia
  • Severe: seizures, coma
  • Critical (PaO2 <20 mmHg): brainstem dysfunction → respiratory failure → death (Tintinalli's EM)

Compensatory Mechanisms (Tintinalli's EM):

  1. ↑ Minute ventilation (immediate)
  2. Pulmonary arterial vasoconstriction (regional - improves V/Q, worsens if diffuse)
  3. ↑ Sympathetic tone → ↑ heart rate → ↑ cardiac output
  4. Chronic: ↑ red cell mass (erythropoietin-driven polycythemia)
  5. Chronic: ↓ tissue O2 demands
  • Key threshold: Compensatory mechanisms ALWAYS activated when PaO2 reaches 60 mmHg
  • Failure threshold: PaO2 <20 mmHg - compensatory mechanisms fail

6. CLINICAL FEATURES OF HYPOXIA

SeveritySpO2PaO2Clinical Features
Mild94-90%60-80 mmHgTachycardia, tachypnea, anxiety, subtle cognitive impairment
Moderate85-90%45-60 mmHgMarked tachypnea, agitation, headache, diaphoresis, somnolence
Severe<85%<45 mmHgCyanosis (if Hb normal), altered consciousness, seizures, bradycardia (pre-terminal)
Critical<75%<30-40 mmHgComa, cardiac arrhythmias, respiratory arrest, death

7. CYANOSIS (Harrison's 22E, Chapter 42)

Definition:

Bluish color of skin/mucous membranes when concentration of reduced (deoxygenated) Hb in capillary blood exceeds 40 g/L (4 g/dL)

Critical Exam Distinctions:

Central Cyanosis:

  • SaO2 is reduced OR abnormal Hb derivative present
  • Skin AND mucous membranes both affected
  • Causes: lung disease, R→L shunt, high altitude, MetHb, SulfHb

Peripheral Cyanosis:

  • SaO2 is NORMAL; peripheral vasoconstriction → increased O2 extraction locally
  • Mucous membranes usually SPARED (check sublingual/conjunctivae)
  • Causes: cold exposure, shock, heart failure, peripheral vascular disease

Why Cyanosis is an Unreliable Indicator (Harrison's 22E):

  • Central cyanosis detectable at SaO2 85% in fair-skinned persons
  • In dark-skinned patients: not detectable until SaO2 drops to 75% → SIGNIFICANT delay
  • Examine mucous membranes (oral cavity, conjunctivae) in dark-skinned patients
  • Anemia + hypoxemia: may have NO visible cyanosis (absolute reduced Hb too low despite ↓ SaO2)
  • Polycythemia: cyanosis at higher SaO2 levels (more reduced Hb in absolute terms)
  • CO poisoning: cherry-red flush (NOT cyanosis) - Harrison's 22E

Methemoglobinemia:

  • MetHb = Fe3+ form of Hb, cannot carry O2
  • Causes: dapsone, nitrites, local anaesthetics (benzocaine, prilocaine), sulfonamides, nitrates
  • Cyanosis + chocolate-brown blood (cyanosis refractory to O2)
  • Pulse oximetry reads ~85% regardless of true saturation
  • Treatment: Methylene blue 1-2 mg/kg IV
  • SpO2 falsely reads ~85% regardless of true SaO2

8. PULSE OXIMETRY - PRINCIPLES AND LIMITATIONS

Principles:

  • Beer-Lambert law: uses light absorption at 660 nm (red) and 940 nm (infrared)
  • Measures SpO2 (peripheral O2 saturation) as proxy for SaO2

SFMU/FICS 2026 Guidelines (KEY):

  • R3.2.2: SpO2 alone is PROBABLY SUFFICIENT to assess oxygenation in most patients
  • SpO2 >96% on room air makes PaO2 <60 mmHg UNLIKELY
  • In COPD patients: SpO2 >92% makes significant hypoxemia unlikely
  • R3.2.1: Venous blood gas (VBG) is NOT recommended for assessing hypoxemia (GRADE 1, high evidence)

Limitations of Pulse Oximetry - EXAM FAVORITES:

ConditionEffect on SpO2 ReadingActual Situation
CO poisoningFalsely HIGH (COHb reads as OxyHb)Severe tissue hypoxia
MethemoglobinemiaReads ~85% regardless of actual SaO2True SaO2 may be higher or lower
Dark skin pigmentationOverestimates SaO2 (reads higher than true)[Martin et al., Br J Anaesth 2024 - PMID 38368234]
Severe anemiaMay be accurate for SpO2 but misleads re: O2 deliveryTissue hypoxia despite normal SpO2
Peripheral vasoconstriction/shockPoor waveform, unreliable readingsUse ABG
Nail varnishCan reduce accuracyRemove or use finger probe carefully
Motion artifactFalse low readingsConfirm on ABG
2024 Landmark Evidence: Martin et al., Br J Anaesth 2024 (PMID 38368234) - Systematic review + meta-analysis: Darker skin tone associated with overestimation of arterial O2 saturation by pulse oximetry. This has implications for occult hypoxemia in dark-skinned patients (health equity issue).

9. ACUTE RESPIRATORY FAILURE - CLASSIFICATION

Definition (SFMU/FICS 2026):

Inability of the respiratory system to ensure adequate gas exchange, defined by:
  • PaO2 <60 mmHg (SpO2 <90%) on room air
  • OR PaO2/FiO2 ratio <300 mmHg on supplemental oxygen

Type I vs Type II Respiratory Failure:

FeatureType I (Hypoxemic)Type II (Hypercapnic)
PaO2↓ <60 mmHg↓ <60 mmHg
PaCO2Normal or ↓↑ >45 mmHg
MechanismV/Q mismatch, shunt, diffusion impairmentAlveolar hypoventilation
A-a gradientIncreasedNormal (in pure Type II)
CausesARDS, pneumonia, PE, ADHF, ILDCOPD exacerbation, neuromuscular disease, obesity hypoventilation, sedative OD
TreatmentOxygen supplementation; NIV/HFNCNIV (BiPAP preferred); controlled low-dose O2

10. BERLIN DEFINITION OF ARDS (Tintinalli's EM)

SeverityPaO2/FiO2 RatioPEEP requirementMortality
Mild200-300 mmHg≥5 cmH2O~27%
Moderate100-200 mmHg≥5 cmH2O~32%
Severe<100 mmHg≥5 cmH2O~45%
All require: Onset within 1 week of known insult; bilateral opacities on CXR/CT; NOT fully explained by cardiac failure/fluid overload
Tintinalli's EM target in ARDS: SpO2 88-95% or PaO2 55-80 mmHg (avoid hyperoxia)

11. ASSESSMENT IN THE ED - SYSTEMATIC APPROACH

Step 1: Stabilize First (ABC)

  • Airway patency
  • SpO2 monitoring (continuous) - MANDATORY
  • IV access + cardiac monitoring

Step 2: Quantify Hypoxia

ToolWhat It MeasuresWhen to Use
SpO2Peripheral O2 saturation (proxy)All patients
ABGPaO2, PaCO2, pH, HCO3, calculated SaO2, A-a gradientSpO2 <92%, COPD, suspected hypercapnia, uncertain diagnosis
VBGPCO2 estimate, pH, lactateNOT for hypoxemia assessment (SFMU/FICS 2026 Grade 1)
PaO2/FiO2Severity of gas exchange failureARDS classification, severity stratification
A-a gradientIdentifies cause of hypoxemiaDifferentiates hypoventilation from other causes
Co-oximetryMetHb, COHb, SulfHbSuspected CO or MetHb poisoning (ABG machine with co-oximeter)
LactateTissue O2 delivery/utilizationAll shocked/hypoxic patients

ABG Interpretation Framework for Hypoxia:

Step 1: Is PaO2 <60 mmHg? → YES = Hypoxemia confirmed
Step 2: Is PaCO2 elevated (>45 mmHg)?
        → YES = Type II (Hypoventilation component)
        → NO  = Type I (Hypoxemic failure)
Step 3: Calculate A-a gradient
        NORMAL  → Hypoventilation OR Low FiO2
        ELEVATED → V/Q mismatch / Shunt / Diffusion impairment
Step 4: Response to 100% O2 trial:
        Corrects → V/Q mismatch / Diffusion / Hypoventilation
        Does NOT correct → R→L Shunt (cardiac or pulmonary)

12. DIFFERENTIAL DIAGNOSIS OF ACUTE HYPOXIA IN ED

By Onset:

OnsetLikely Causes
Seconds (immediate)Tension pneumothorax, airway obstruction (FB, anaphylaxis, epiglottitis), cardiac arrest, massive haemothorax
MinutesMassive PE, flash pulmonary edema, severe bronchospasm (asthma/anaphylaxis), aspiration
HoursPneumonia, COPD exacerbation, ADHF, pneumothorax (spontaneous), pleural effusion
Days to weeksWorsening ILD, malignancy, ARDS (evolving), subacute PE

By SpO2 Response to Supplemental O2:

ResponseInterpretation
SpO2 rapidly corrects to >95%V/Q mismatch (commonest) - PE, asthma, COPD, pneumonia
SpO2 partially improves but not to >95%Mixed V/Q + shunt - severe pneumonia, ARDS (early)
SpO2 fails to improve despite 100% O2Predominant shunt - ARDS, hepatopulmonary syndrome, intracardiac R→L shunt
SpO2 "normal" but patient critically illCO poisoning, methemoglobinemia, severe anemia, circulatory shock

13. OXYGEN THERAPY - TARGETS AND DELIVERY (2025-2026 Evidence)

O2 Saturation Targets (Updated 2025-2026):

Patient GroupTarget SpO2Evidence
General acute illness94-98%Avoid hyperoxia
COPD / Risk of hypercapnia88-92%Prevents hypercapnic drive suppression
ARDS / ICU ventilated88-95%Tintinalli's EM; UK-ROX 2025
Acute MI / STEMI (no hypoxia)Do NOT give O2 if SpO2 ≥94%Hyperoxia causes coronary vasoconstriction
Stroke (no hypoxia)Do NOT give O2 if SpO2 ≥94%Hyperoxia associated with worse outcomes
Septic shock94-98%Avoid ≥98-100%
Post-cardiac arrest94-98%Avoid hyperoxia (ROSC phase)
Preterm neonates91-95%Avoid ROP/BPD
CO poisoning100% O2 (NRM) or HBOSaturate all Hb binding sites
LANDMARK: UK-ROX Trial (JAMA, August 2025 - PMID 40501321): Conservative oxygen therapy (SpO2 target 90-94%) in mechanically ventilated critically ill adults - large multicenter RCT. Results showed conservative targets were safe and potentially beneficial compared to liberal O2 targets.
OXY-BREATHES Meta-analysis (Crit Care Med, May 2026 - PMID 41661051): Conservative vs liberal oxygen targets in mechanically ventilated patients - systematic review confirms conservative O2 targets are safe and reduce exposure to hyperoxia.

Dangers of Hyperoxia - "Oxygen Toxicity":

  • Reactive oxygen species (ROS) → pulmonary toxicity, tracheobronchitis
  • Absorption atelectasis: pure O2 washes out N2 that normally "splints" alveoli open
  • COPD: suppresses hypoxic drive (Haldane effect); worsens hypercapnia
  • AMI/Stroke: coronary/cerebral vasoconstriction at high PaO2
  • Reperfusion injury post-ROSC
  • Retinopathy of prematurity in neonates
  • Avoid SpO2 98-100% in most patients without specific indication

14. OXYGEN DELIVERY DEVICES AND FiO2

DeviceFlow RateFiO2 DeliveredNotes
Nasal cannula1 L/min = FiO2 ~24% (+4% per L/min)24-44%1-6 L/min; comfortable, allows talking
Simple face mask6-10 L/min40-60%Min 6 L/min to prevent CO2 rebreathing
Partial rebreather mask8-12 L/min55-70%With reservoir bag, no one-way valve
Non-rebreather mask (NRM)10-15 L/min80-100%Emergency hypoxia; CO poisoning
HFNC (High-Flow NC)Up to 60 L/minUp to 100% FiO2~2 cmH2O PEEP per 10 L/min; heated/humidified
CPAPN/A (FiO2 titrated)Varies5-15 cmH2O PEEP; cardiogenic pulm oedema
BiPAP/NIVN/AVariesIPAP 10-20 / EPAP 4-8; COPD, CHF, mild ARDS
Endotracheal + MVTitrated21-100%FiO2 weaned once SpO2 ≥94%; lung protective
Hyperbaric O2 (HBO)Chamber (2-3 ATA)~100% at pressureCO poisoning, decompression sickness, gas gangrene

15. HIGH-FLOW NASAL CANNULA (HFNC) - KEY FACTS

Mechanism:

  • Delivers up to 60 L/min of heated, humidified O2
  • Generates 2-3 cmH2O of PEEP (positive pressure) - minimal but helps recruit alveoli
  • Washes out nasopharyngeal dead space → reduces effective dead space → improves CO2 clearance
  • Reduces work of breathing
  • FiO2 up to 1.0 (100%)

ROX Index (HFNC Failure Predictor):

$$\text{ROX Index} = \frac{\text{SpO}_2/\text{FiO}_2}{\text{RR (breaths/min)}}$$
  • ROX ≥4.88 at 12 hours: HFNC likely to succeed - avoid intubation
  • ROX <3.85: High risk of HFNC failure → consider intubation
  • [Yau et al., Crit Care 2023 (PMID 37605238)]: ROX index validated for COVID-19 HFNC prediction

Indications for HFNC:

  • Acute hypoxemic respiratory failure (Type I)
  • Post-extubation support
  • Apneic oxygenation during RSI
  • High-risk intubation pre-oxygenation

HFNC for Apneic Oxygenation During RSI (2026):

  • [Geary et al., J Emerg Med 2026 (PMID 42407213)]: Systematic review - HFNC during RSI in ED decreases desaturation during intubation attempt

16. NONINVASIVE VENTILATION (NIV) IN HYPOXIA

CPAP:

  • Single pressure applied throughout breathing cycle
  • Increases FRC; prevents alveolar collapse; reduces work of breathing
  • Best for: cardiogenic pulmonary edema, OSA, mild hypoxemia
  • Does NOT assist ventilation (no inspiratory pressure support)

BiPAP:

  • IPAP (inspiratory) higher than EPAP (expiratory)
  • Provides ventilatory assistance + PEEP
  • Best for: COPD exacerbation (Type II failure), moderate hypercapnia, ADHF, post-extubation
  • Reduces intubation rates in COPD and CHF

NIV Contraindications (relative):

  • Inability to protect airway (reduced GCS, uncooperative)
  • Vomiting (aspiration risk)
  • Facial trauma/burns
  • Untreated pneumothorax
  • Cardiovascular instability (relative)

17. INVASIVE MECHANICAL VENTILATION - LUNG-PROTECTIVE STRATEGY

ARDS Net Protocol (Tintinalli's EM + Harrison's 22E):

ParameterTargetRationale
Tidal volume4-8 mL/kg IBW (start 6 mL/kg)Prevents VILI (ventilator-induced lung injury)
Plateau pressure<30 cmH2ODecrements by 1 mL/kg if exceeded
RR6-35 breaths/minAdjust to maintain pH
FiO2Lowest to achieve SpO2 88-95%Avoid O2 toxicity
PEEPTitrate (see PEEP table)Recruit collapsed alveoli
pH>7.20 toleratedPermissive hypercapnia acceptable
SpO2 target88-95% OR PaO2 55-80 mmHgTintinalli's EM
Auto-PEEP: Check that expiratory flow returns to zero before next breath. If present: disconnect from ventilator 15-20 seconds + decrease RR (Tintinalli's EM).

Prone Positioning in ARDS:

  • PROSEVA trial: 16 hours prone per day in moderate-severe ARDS (PF ratio <150) → mortality benefit
  • Mechanism: improved V/Q matching, drainage of secretions, better lung homogeneity

18. SPECIAL CONDITIONS IN ED HYPOXIA

A. CO Poisoning

  • Pulse oximetry FALSELY NORMAL
  • Diagnosis: co-oximetry (ABG machine) shows elevated COHb
  • Treatment: 100% O2 via NRM (half-life COHb 5 hrs → 90 mins with 100% O2)
  • Severe (COHb >25%, neuro symptoms, pregnancy): Hyperbaric O2 (HBO)
  • Cherry-red skin = COHb > ~30-40% (NOT cyanosis)

B. Methemoglobinemia

  • Pulse oximetry reads ~85% regardless of true SaO2
  • "Chocolate-brown" blood on ABG (visual inspection of blood sample)
  • SpO2 does NOT improve with 100% O2 (key diagnostic clue)
  • PaO2 may be normal on ABG (dissolved O2 still diffuses normally)
  • Treatment: Methylene blue 1-2 mg/kg IV (reduces MetHb → Hb via NADPH pathway)
  • Note: Methylene blue FAILS in G6PD deficiency → use ascorbic acid or exchange transfusion

C. PE with Hypoxia

  • V/Q mismatch (most common mechanism)
  • Dead space ventilation (unperfused lung)
  • R→L shunt via reopened PFO (raised RV pressure)
  • Treatment: anticoagulation; systemic thrombolysis if hemodynamically unstable

D. Tension Pneumothorax

  • Immediate life-threatening hypoxia
  • Clinical diagnosis: tracheal deviation (away), absent breath sounds, hypotension
  • Do NOT wait for CXR
  • Needle decompression: 2nd ICS, MCL; followed by chest drain

E. Flash Pulmonary Edema (Hypertensive Emergency)

  • Sudden ADHF → severe bilateral infiltrates → shunt + V/Q mismatch
  • Treatment: IV nitrates (first-line), CPAP, IV furosemide

19. LACTATE AND OXYGEN DEBT

LactateInterpretation
<2 mmol/LNormal
2-4 mmol/LElevated; suggests impaired O2 delivery or utilization
>4 mmol/LSevere; septic shock threshold; high mortality

DO2/VO2 Relationship (Tintinalli's EM, Chapter 32):

  • DO2-independent VO2: Normal state - O2 consumption maintained despite ↓ delivery by increasing extraction ratio (OER)
  • DO2-dependent VO2: When DO2 falls below critical level, VO2 also falls → anaerobic metabolism → lactate rises
  • Critical DO2 (~10 mL/kg/min): threshold below which VO2 becomes dependent on delivery

Central Venous O2 (ScvO2):

  • Normal: 65-75%
  • ScvO2 <65%: Increased O2 extraction → ↓ DO2 or ↑ VO2 (tissue hypoxia)
  • ScvO2 >75-80%: Reduced O2 extraction → sepsis (maldistribution), histotoxic hypoxia (cyanide), or high CO
  • Tintinalli's EM, Chapter 32: troubleshoot abnormal ScvO2 by assessing DO2 and VO2 components

20. HIGH-YIELD EXAM QUICK FACTS

  • Hypoxia ≠ Hypoxemia: One can occur without the other (Tintinalli's EM + Harrison's 22E)
  • CO poisoning: Normal SpO2, normal PaO2 on ABG - tissue hypoxia; cherry-red skin - NOT cyanosis
  • Shunt: the ONLY mechanism where 100% O2 fails to correct hypoxemia
  • Hypoventilation: the ONLY mechanism with NORMAL A-a gradient + elevated PaCO2
  • HIF-1 (Hypoxia-Inducible Factor-1): master regulator of hypoxia adaptation (Harrison's 22E)
  • Cyanosis in anemia: May be ABSENT even with severe desaturation (not enough absolute reduced Hb)
  • MetHb: SpO2 reads ~85% regardless of actual SaO2; chocolate-brown blood; treat with methylene blue
  • SFMU/FICS 2026: VBG NOT recommended to assess degree of hypoxemia (GRADE 1, high evidence)
  • SFMU/FICS 2026: SpO2 >96% on room air makes PaO2 <60 mmHg unlikely
  • SpO2 and dark skin: Overestimates saturation in dark-skinned patients (Martin et al., 2024)
  • UK-ROX Trial (JAMA 2025): Conservative O2 (SpO2 90-94%) safe in ICU ventilated patients
  • OXY-BREATHES (Crit Care Med 2026): Meta-analysis confirms conservative O2 targets reduce hyperoxia exposure
  • ROX Index ≥4.88 at 12 hrs: HFNC success; <3.85 = high failure risk → consider intubation
  • ARDS target: SpO2 88-95% OR PaO2 55-80 mmHg (NOT 100%)
  • Histotoxic hypoxia (cyanide): HIGH mixed venous O2 + lactic acidosis (cells cannot use O2)
  • Hypoxic pulmonary vasoconstriction: beneficial regionally (V/Q); harmful diffusely (cor pulmonale)
  • Critical PaO2: 60 mmHg (activates all compensatory mechanisms); 20 mmHg (compensatory failure)
  • Peripheral cyanosis vs central: Check sublingual mucosa and conjunctivae (especially in dark-skinned patients) - Harrison's 22E
  • Hypertonic HFNC PEEP: ~2 cmH2O per 10 L/min of flow; 60 L/min = ~6 cmH2O PEEP

21. MNEMONICS

Types of Hypoxia - "ARCH":

  • A - Anemic (low Hb)
  • R - Respiratory (V/Q mismatch, shunt, diffusion)
  • C - Circulatory (low cardiac output/perfusion)
  • H - Histotoxic (cyanide; cells can't use O2)
  • (+ High altitude + CO - special types)

Five Mechanisms of Hypoxemia - "HV-DRS":

  • H - Hypoventilation (normal A-a, high PaCO2)
  • V - V/Q Mismatch (raised A-a, improves with O2)
  • D - Diffusion Impairment (raised A-a, improves with O2)
  • R - Right-to-Left Shunt (raised A-a, DOES NOT improve)
  • S - Subnormal FiO2 (normal A-a, improves with O2)

Pulse Oximetry False Readings - "MCAP":

  • M - Methemoglobinemia (~85% regardless)
  • C - Carboxyhemoglobin (falsely HIGH)
  • A - Anaemia/low perfusion (unreliable)
  • P - Pigmented skin (overestimates)

22. KEY REFERENCES

SourceKey Content
Harrison's Principles of Internal Medicine 22E (2025) - Ch. 42Definition of hypoxia/hypoxemia; 4 types of hypoxia (respiratory, anemic, circulatory, CO); HIF-1; responses to hypoxia; cyanosis (central vs peripheral); A-a gradient interpretation
Tintinalli's Emergency Medicine - Ch. 62 (Hypoxia & Hypoxemia)CaO2 = 0.0031×PaO2 + 1.38×Hb×SaO2; DO2 = CaO2×CO; 5 mechanisms of hypoxemia; A-a gradient formulae; pulse oximetry limitations; treatment targets
Tintinalli's EM - Ch. 29B (Severe Hypoxia/ARDS/Trauma)ARDS Berlin definition; lung-protective ventilation; PEEP table; auto-PEEP; ARDS SpO2 target 88-95%
SFMU/FICS Guidelines 2026 - Ann Intensive Care 2026 JanR3.2.1: VBG NOT for hypoxemia assessment; R3.2.2: SpO2 >96% excludes PaO2 <60 mmHg; Type I vs II RF; SpO2 thresholds
UK-ROX RCT (JAMA, Aug 2025) - PMID 40501321Conservative O2 (90-94%) vs standard in ICU ventilated patients - safe, potentially beneficial
OXY-BREATHES Meta-analysis (Crit Care Med, May 2026) - PMID 41661051Conservative O2 targets in MV patients - systematic review
Martin et al., Br J Anaesth 2024 - PMID 38368234Pulse oximetry overestimates SaO2 in dark-skinned patients - systematic review/meta-analysis
Geary et al., J Emerg Med 2026 - PMID 42407213HFNC for apneic oxygenation during RSI in ED - systematic review
Yau et al., Crit Care 2023 - PMID 37605238ROX index for predicting HFNC failure in hypoxemic patients

Top Exam Tips for PG EM Boards:
  1. Distinguish hypoxia vs hypoxemia (Harrison's - always examinable)
  2. Know the 5 mechanisms by A-a gradient + O2 response (Tintinalli's)
  3. Memorize pulse oximetry pitfalls: CO (falsely normal), MetHb (~85%), dark skin (overestimates)
  4. SFMU/FICS 2026: VBG cannot assess hypoxemia; SpO2 >96% excludes PaO2 <60 mmHg
  5. Conservative O2 targets now supported by UK-ROX (JAMA 2025) - avoid routine high-flow O2
  6. ARDS: target SpO2 88-95%, NOT 98-100%
  7. ROX Index for HFNC failure prediction (≥4.88 = success at 12 hrs)
  8. Cyanosis absent in anemia despite severe hypoxemia (key exam trap from Harrison's 22E)
  9. HIF-1 = master transcription factor governing hypoxia response (Harrison's viva)
  10. Critical threshold: all compensatory mechanisms activated at PaO2 = 60 mmHg; fail at PaO2 <20 mmHg
This is a shared conversation. Sign in to Orris to start your own chat.