Write a 30 marks answer for Postgraduate Anaesthesia exam on the topic of Capnography and Capnometry

Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
I now have comprehensive, authoritative content from three major anaesthesia textbooks. I have everything needed to write a thorough 30-mark postgraduate exam answer. Let me compose it now.

Capnography and Capnometry

Postgraduate Anaesthesia Examination Answer (30 Marks)


1. Definitions and Terminology (3 marks)

Considerable confusion arises from interchangeable use of terms in clinical practice. The following distinctions are important:
  • Capnometry refers to the measurement and numeric quantification of inhaled or exhaled CO2 concentrations at the airway opening. A capnometer is the device that measures and displays a numeric value for CO2.
  • Capnography refers not only to the measurement of CO2, but also to its graphic display as a function of time or expired volume. A capnograph records and displays CO2 concentrations as a waveform. The resulting waveform is called a capnogram.
  • End-tidal CO2 (ETCO2 or PETCO2) is the peak partial pressure of CO2 measured at the end of exhalation, which approximates alveolar CO2 and, under normal conditions, closely estimates arterial PaCO2.
(Miller's Anesthesia, 10e)

2. Physiological Basis (4 marks)

CO2 is a byproduct of aerobic cellular metabolism and is transported via the circulation to the lungs. The presence of CO2 in exhaled breath reflects the integration of three fundamental physiological processes:
  1. Cellular metabolism - CO2 production (VCO2)
  2. Cardiovascular transport - delivery of CO2 to the pulmonary circulation (cardiac output)
  3. Pulmonary ventilation - elimination of CO2 by the lungs
Under steady-state conditions in a healthy patient, ETCO2 is 2-5 mmHg lower than arterial PaCO2 (PaCO2 - ETCO2 gradient = 2-5 mmHg). This gradient reflects alveolar dead space - alveoli that are ventilated but not perfused. When pulmonary perfusion is reduced (e.g., pulmonary embolism, decreased cardiac output, air embolism), alveolar dead space increases, diluting expired CO2 and widening this gradient.
ETCO2 can be used with PaCO2 to calculate the physiologic dead space (Vd) to tidal volume (Vt) ratio using the modified Bohr equation:
Vd/Vt = (PaCO2 - PECO2) / PaCO2
where PECO2 is the mixed expired CO2 partial pressure. This ratio is normally 0.2-0.3 at rest but may increase substantially in lung disease.
(Miller's Anesthesia, 10e; Morgan & Mikhail, 7e)

3. Technology: Principles of Measurement (4 marks)

Infrared Absorption Spectrophotometry

The most widely used clinical method is non-dispersive infrared (NDIR) absorption. CO2 is an asymmetric polyatomic molecule that strongly absorbs infrared light at a specific wavelength of 4.3 microns (4.26 μm). This principle is governed by the Beer-Lambert Law: the absorption of infrared light passing through a gas sample is directly proportional to the concentration of the absorbing species.
A beam of infrared light is passed through the gas sample, and the resulting transmitted intensity is measured by a photodetector. As CO2 concentration increases, infrared absorption increases and transmission decreases proportionally. CO2's absorption spectrum partially overlaps with water vapour and nitrous oxide, so infrared filters and compensation algorithms are used to minimise interference.
Other techniques of historical interest include:
  • Mass spectrometry
  • Raman spectrometry
  • Gas chromatography
  • Piezoelectric crystal (quartz) oscillation
(Barash's Clinical Anesthesia, 9e; Miller's Anesthesia, 10e)

Mainstream vs. Sidestream Capnometers

Two fundamental engineering approaches exist:
FeatureMainstream (Non-diverting)Sidestream (Diverting)
Sensor locationIn-line in the breathing circuitRemote - at the monitor console
Sample methodGas analysed in the airwayGas aspirated via thin tubing (30-500 mL/min)
Response timeFast - minimal lagDelayed - aspiration lag time
Weight on airwayAdds dead space and weightNone added to circuit
Water interferenceLess proneProne to water condensation and blockage
Neonatal useLess suitable (added dead space)Preferred; but high flow rates can entrain fresh gas and underestimate ETCO2
Common useLess common clinicallyMost common in operating rooms
Sidestream units aspirate gas through tubing of approximately 6 feet in length at flow rates of 30-500 mL/min. This aspiration volume represents a small circuit leak and must be scavenged or returned. Water traps and filters protect the sample cell. In neonates and small children, high aspiration rates can entrain fresh gas from the circuit and dilute ETCO2, leading to underestimation.
(Miller's Anesthesia, 10e; Barash's Clinical Anesthesia, 9e)

4. The Capnogram: Waveform Analysis (5 marks)

Time Capnogram

The time capnogram plots CO2 partial pressure (y-axis) against time (x-axis) and shows a characteristic repeating waveform divided into distinct phases:
Phase 0 (Inspiration): CO2 falls rapidly to near zero as fresh inspired gas washes the sampling site. A non-zero inspiratory baseline indicates CO2 rebreathing.
Phase I (Early Expiration / Dead Space): The initial flat portion at near-zero CO2. Represents exhalation of gas from anatomical dead space (central conducting airways, equipment dead space distal to the sampling point) which contains no CO2.
Phase II (Transitional / Ascending): A sharp, steep rise in CO2. Represents the transition from dead space gas to alveolar gas. The angle between phase II and phase III is designated the alpha (α) angle; a wider alpha angle suggests obstructive disease.
Phase III (Alveolar Plateau): The plateau phase. Represents exhalation of alveolar gas. In healthy lungs with homogeneous ventilation, this is nearly flat. A slight upslope is normal due to sequential emptying of alveoli with different V/Q ratios. A steeper upslope (increased S slope) is seen in obstructive lung disease (asthma, COPD) due to increased ventilation heterogeneity. The peak of phase III at end-expiration is the ETCO2 value.
Phase IV (in some patients): A brief upstroke at the very end of phase III before inspiration, caused by closure of lung units with lower PCO2, allowing regions of higher CO2 to contribute more to the sample.
The beta (β) angle is formed between the end of phase III and the descending limb back to baseline. An obtuse beta angle with failure to return to zero suggests rebreathing or absorber exhaustion.

Volume Capnogram

A volume capnogram plots CO2 partial pressure against exhaled volume (rather than time). It has the same three phases but provides additional information:
  • Estimation of relative contributions of anatomic vs. alveolar dead space
  • Greater sensitivity to subtle dead space changes caused by alterations in PEEP, pulmonary blood flow, or ventilation heterogeneity
  • Estimation of total CO2 elimination (VCO2) per breath from the area under the curve
  • Assessment of cardiac output and fluid responsiveness
(Miller's Anesthesia, 10e)

5. Normal Values and ETCO2-PaCO2 Gradient (2 marks)

  • Normal ETCO2: 35-45 mmHg (4.6-6.0 kPa) in a healthy spontaneously breathing or mechanically ventilated patient
  • Normal PaCO2-ETCO2 gradient: 2-5 mmHg
  • In patients with significant V/Q mismatch, pulmonary hypertension, or low cardiac output, this gradient widens substantially and ETCO2 becomes an unreliable surrogate for PaCO2; arterial blood gas analysis is required for accurate PaCO2 measurement

6. Causes of Abnormal ETCO2 (4 marks)

Causes of Elevated ETCO2 (Hypercapnia)

Increased CO2 production / delivery to lungs:
  • Fever, sepsis
  • Seizures
  • Malignant hyperthermia (marked and rapid rise - a key early warning)
  • Thyrotoxicosis
  • Increased cardiac output (e.g., during effective CPR)
  • Laparoscopic surgery (CO2 absorption from pneumoperitoneum)
  • Bicarbonate administration (CO2 generated from buffering)
Decreased alveolar ventilation:
  • Hypoventilation (opioid-induced respiratory depression, inadequate ventilator settings)
  • Partial neuromuscular blockade
  • High spinal or epidural anaesthesia
  • Airway obstruction
Equipment malfunction:
  • Rebreathing (exhausted CO2 absorber, faulty expiratory valve, insufficient fresh gas flow)
  • Leak in the ventilator circuit

Causes of Decreased or Absent ETCO2 (Hypocapnia / No Waveform)

Decreased CO2 production / delivery:
  • Hypothermia
  • Pulmonary hypoperfusion - pulmonary embolism (sudden fall is a sensitive indicator)
  • Venous air embolism (sudden fall; also increases dead space)
  • Cardiac arrest
  • Haemorrhage / hypotension
  • Severe decrease in cardiac output
Increased alveolar ventilation:
  • Hyperventilation (deliberate or inadvertent)
Equipment malfunction / patient safety events:
  • Circuit disconnection (sudden loss of waveform)
  • Oesophageal intubation - absent or rapidly disappearing waveform after intubation (most critical)
  • Kinked or obstructed endotracheal tube
  • Sampling line blockage, water in the line
  • Leak around ETT cuff
(Miller's Anesthesia, 10e - Table 37.2; Morgan & Mikhail, 7e)

7. Clinical Applications (5 marks)

(a) Confirmation of Endotracheal Tube Placement

This is arguably the most critical application. Capnography reliably and rapidly detects oesophageal intubation - a potentially fatal complication. Although small amounts of CO2 may initially be detected from swallowed gas, this is washed out within a few breaths, while a persistent waveform confirms tracheal placement. Capnography does not reliably detect mainstem bronchial intubation, as CO2 is still exhaled from the contralateral lung.

(b) Monitoring Adequacy of Ventilation

Capnography is the standard of care for monitoring ventilation under general anaesthesia, mandated by major anaesthetic societies. It is superior to pulse oximetry for detecting early hypoventilation - especially when supplemental oxygen is being administered (where SpO2 may remain normal for several minutes despite apnoea). Studies show respiratory depression is 17.6 times more likely to be detected with capnography than standard monitoring alone.

(c) Monitoring During Procedural Sedation and MAC

Capnography detects airway and respiratory compromise earlier and more frequently than pulse oximetry during procedural sedation. In studies of patients undergoing MAC, all episodes of apnoea >20 seconds were detected by capnography but not by the anaesthetist. Capnography is now mandated for moderate and deep sedation in many guidelines.

(d) Detection of Malignant Hyperthermia

A marked, rapid rise in ETCO2 - caused by greatly increased CO2 production from hypermetabolism - is one of the earliest and most sensitive indicators of malignant hyperthermia (MH), typically preceding temperature elevation. This allows for early intervention.

(e) Detection of Venous Air / CO2 Embolism

A sudden sharp decrease in ETCO2 during laparoscopy, neurosurgery, or major vascular procedures suggests venous air embolism. Both increased dead space ventilation and reduced cardiac output reduce CO2 delivery to the lungs and lower ETCO2.

(f) Cardiopulmonary Resuscitation (CPR)

ETCO2 monitors the adequacy of chest compressions during CPR. An ETCO2 < 10 mmHg after 20 minutes of CPR is associated with very poor prognosis and has been used to guide decisions about terminating resuscitation. A sudden rise in ETCO2 during CPR indicates return of spontaneous circulation (ROSC) before it is detectable by pulse oximetry.

(g) Assessment of Dead Space and Pulmonary Blood Flow

ETCO2 trends are used to assess V/Q mismatch, pulmonary embolism, and changes in cardiac output during anaesthesia. Rising dead space fraction (Vd/Vt) can be estimated non-invasively.

(h) Confirmation of LMA Placement

Persistent ETCO2 waveforms confirm satisfactory positioning of a laryngeal mask airway and adequate gas exchange.
(Morgan & Mikhail's Clinical Anesthesiology, 7e; Barash's Clinical Anesthesia, 9e; Miller's Anesthesia, 10e)

8. Limitations and Sources of Error (2 marks)

  • Sidestream systems: Aspiration lag causes delayed readings; water condensation blocks the sampling line; in small tidal volumes, fresh gas entrainment underestimates ETCO2
  • V/Q mismatch: ETCO2 underestimates PaCO2 when the gradient is widened - arterial blood gases are required for accuracy
  • Rapid breathing: Insufficient time for alveolar plateau to develop, leading to underestimation
  • Calibration errors: Incorrect calibration leads to spurious readings
  • Xenon anaesthesia: Infrared spectrophotometry cannot detect xenon; not informative for xenon-based anaesthesia
  • TIVA: ETCO2 provides no information about anaesthetic depth when total intravenous anaesthesia is used
  • Neonates: Small tidal volumes make accurate ETCO2 measurement technically challenging
(Barash's Clinical Anesthesia, 9e; Miller's Anesthesia, 10e)

9. Standards and Monitoring Requirements (1 mark)

Capnography is a mandatory monitor during general anaesthesia in most international standards, including:
  • Association of Anaesthetists of Great Britain and Ireland (AAGBI) guidelines
  • American Society of Anesthesiologists (ASA) standards - required during all general anaesthetics and for monitoring ventilation during moderate and deep sedation
  • It is not merely a "nice to have" but a patient safety standard; its absence in cases of adverse respiratory events has been associated with medicolegal liability

Summary Table: Quick-Reference Capnogram Waveform Patterns

Capnogram PatternClinical Cause
Absent waveformOesophageal intubation, circuit disconnect, cardiac arrest
Elevated baseline (phase 0 non-zero)CO2 rebreathing - exhausted absorber, faulty valves
Steep phase III upslope (shark-fin pattern)Obstructive airway disease (asthma, COPD)
Sudden fall to zeroCircuit disconnect, ETT obstruction, pulmonary embolism, cardiac arrest
Gradual rise in ETCO2Hypoventilation, rising metabolic rate
Rapid marked riseMalignant hyperthermia, CO2 pneumoperitoneum
Dip in phase III plateauSpontaneous respiratory effort during IPPV
Cleft in waveformCurare cleft - partial neuromuscular blockade, spontaneous effort
Gradual fall of ETCO2Hyperventilation, decreasing cardiac output, hypothermia
Return of waveform after arrestROSC during CPR

References:
  • Miller RD et al. Miller's Anesthesia, 10th ed. Elsevier, 2023 (Chapter 37)
  • Barash PG et al. Barash, Cullen, and Stoelting's Clinical Anesthesia, 9th ed. Wolters Kluwer, 2023 (Chapters 26 and 30)
  • Morgan GE, Mikhail MS. Morgan and Mikhail's Clinical Anesthesiology, 7th ed. McGraw-Hill, 2022 (Chapter 6)

Convert the above answer into pdf

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace

Writing File

~/capnography_pdf/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import ListFlowable, ListItem

OUTPUT = "/home/daytona/workspace/capnography_pdf/Capnography_and_Capnometry_PG_Anaesthesia.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    rightMargin=2*cm,
    leftMargin=2*cm,
    topMargin=2.2*cm,
    bottomMargin=2.2*cm,
    title="Capnography and Capnometry – PG Anaesthesia Exam Answer",
    author="Orris Medical AI",
)

styles = getSampleStyleSheet()

# Custom styles
title_style = ParagraphStyle(
    'CustomTitle',
    parent=styles['Title'],
    fontSize=20,
    textColor=colors.HexColor('#1a2a4a'),
    spaceAfter=6,
    leading=26,
    alignment=TA_CENTER,
)
subtitle_style = ParagraphStyle(
    'Subtitle',
    parent=styles['Normal'],
    fontSize=11,
    textColor=colors.HexColor('#4a6fa5'),
    spaceAfter=2,
    alignment=TA_CENTER,
    italic=True,
)
marks_style = ParagraphStyle(
    'Marks',
    parent=styles['Normal'],
    fontSize=10,
    textColor=colors.white,
    backColor=colors.HexColor('#1a2a4a'),
    spaceBefore=4,
    spaceAfter=10,
    alignment=TA_CENTER,
    borderPadding=(5, 8, 5, 8),
)
h1_style = ParagraphStyle(
    'H1',
    parent=styles['Heading1'],
    fontSize=13,
    textColor=colors.white,
    backColor=colors.HexColor('#1a2a4a'),
    spaceBefore=14,
    spaceAfter=6,
    leading=18,
    borderPadding=(6, 8, 6, 8),
)
h2_style = ParagraphStyle(
    'H2',
    parent=styles['Heading2'],
    fontSize=11,
    textColor=colors.HexColor('#1a2a4a'),
    spaceBefore=10,
    spaceAfter=4,
    leading=15,
    borderPadding=(0, 0, 2, 0),
)
body_style = ParagraphStyle(
    'Body',
    parent=styles['Normal'],
    fontSize=10,
    textColor=colors.HexColor('#222222'),
    spaceAfter=5,
    leading=15,
    alignment=TA_JUSTIFY,
)
bullet_style = ParagraphStyle(
    'Bullet',
    parent=styles['Normal'],
    fontSize=10,
    textColor=colors.HexColor('#222222'),
    spaceAfter=3,
    leading=14,
    leftIndent=14,
    bulletIndent=0,
    alignment=TA_LEFT,
)
formula_style = ParagraphStyle(
    'Formula',
    parent=styles['Normal'],
    fontSize=10,
    textColor=colors.HexColor('#1a2a4a'),
    backColor=colors.HexColor('#eef2f8'),
    spaceAfter=6,
    spaceBefore=4,
    leading=15,
    alignment=TA_CENTER,
    borderPadding=(6, 10, 6, 10),
)
ref_style = ParagraphStyle(
    'Ref',
    parent=styles['Normal'],
    fontSize=9,
    textColor=colors.HexColor('#555555'),
    spaceAfter=3,
    leading=13,
    leftIndent=12,
    italic=True,
)
footer_style = ParagraphStyle(
    'Footer',
    parent=styles['Normal'],
    fontSize=8,
    textColor=colors.HexColor('#888888'),
    alignment=TA_CENTER,
    spaceAfter=0,
)

def h1(text):
    return Paragraph(text, h1_style)

def h2(text):
    return Paragraph(text, h2_style)

def body(text):
    return Paragraph(text, body_style)

def bullet(text):
    return Paragraph(f"&#8226;  {text}", bullet_style)

def formula(text):
    return Paragraph(text, formula_style)

def sp(h=6):
    return Spacer(1, h)

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#c0c8d8'), spaceAfter=4, spaceBefore=4)

story = []

# ── TITLE BLOCK ────────────────────────────────────────────────────────────────
story.append(sp(10))
story.append(Paragraph("Capnography and Capnometry", title_style))
story.append(Paragraph("Postgraduate Anaesthesia Examination Model Answer", subtitle_style))
story.append(Paragraph("Total Marks: 30", marks_style))
story.append(hr())
story.append(sp(4))

# ── SECTION 1 ──────────────────────────────────────────────────────────────────
story.append(h1("1.  Definitions and Terminology                           [3 marks]"))
story.append(sp(4))
story.append(body(
    "Considerable confusion arises from the interchangeable use of terms in clinical practice. "
    "The following distinctions are essential:"
))
items = [
    ("<b>Capnometry</b> – measurement and numeric quantification of inhaled or exhaled CO₂ concentrations "
     "at the airway opening. A <b>capnometer</b> displays only a numeric CO₂ value."),
    ("<b>Capnography</b> – measurement of CO₂ <i>and</i> its graphic display as a function of time or "
     "expired volume. A <b>capnograph</b> records and displays the waveform; the waveform itself is the <b>capnogram</b>."),
    ("<b>End-tidal CO₂ (ETCO₂ / PETCO₂)</b> – the peak partial pressure of CO₂ at the end of exhalation, "
     "approximating alveolar CO₂ and, under normal conditions, closely estimating arterial PaCO₂."),
]
for i in items:
    story.append(bullet(i))
story.append(sp(2))
story.append(Paragraph("<i>Miller's Anesthesia, 10e</i>", ref_style))

# ── SECTION 2 ──────────────────────────────────────────────────────────────────
story.append(h1("2.  Physiological Basis                                     [4 marks]"))
story.append(sp(4))
story.append(body(
    "CO₂ is a byproduct of aerobic cellular metabolism and is transported via the circulation to the lungs. "
    "Exhaled CO₂ reflects the integration of three fundamental physiological processes:"
))
for i in [
    "<b>Cellular metabolism</b> – CO₂ production (VCO₂)",
    "<b>Cardiovascular transport</b> – delivery of CO₂ to the pulmonary circulation (cardiac output)",
    "<b>Pulmonary ventilation</b> – elimination of CO₂ by the lungs",
]:
    story.append(bullet(i))

story.append(sp(4))
story.append(body(
    "Under steady-state conditions in a healthy patient, ETCO₂ is <b>2–5 mmHg lower than PaCO₂</b>. "
    "This gradient reflects <b>alveolar dead space</b> – alveoli that are ventilated but not perfused. "
    "When pulmonary perfusion is reduced (e.g., pulmonary embolism, air embolism, reduced cardiac output), "
    "alveolar dead space increases, CO₂ is diluted in exhaled gas, and this gradient widens."
))
story.append(sp(4))
story.append(body(
    "ETCO₂ combined with PaCO₂ allows estimation of the physiological dead space fraction using the "
    "<b>modified Bohr equation</b>:"
))
story.append(formula("Vd / Vt  =  (PaCO₂ − P̄ECO₂)  /  PaCO₂"))
story.append(body(
    "where P̄ECO₂ is the mixed expired CO₂ partial pressure. Normal Vd/Vt is 0.2–0.3 at rest but rises "
    "substantially in lung disease."
))
story.append(Paragraph("<i>Miller's Anesthesia, 10e; Morgan &amp; Mikhail's Clinical Anesthesiology, 7e</i>", ref_style))

# ── SECTION 3 ──────────────────────────────────────────────────────────────────
story.append(h1("3.  Technology: Principles of Measurement                [4 marks]"))
story.append(sp(4))
story.append(h2("Non-dispersive Infrared Absorption Spectrophotometry (NDIR)"))
story.append(body(
    "The most widely used clinical method is <b>NDIR absorption</b>. CO₂ is an asymmetric polyatomic molecule "
    "that strongly absorbs infrared light at <b>4.3 µm (4.26 µm)</b>. This principle is governed by the "
    "<b>Beer-Lambert Law</b>: absorption is directly proportional to the CO₂ concentration in the sample. "
    "As CO₂ concentration rises, infrared transmission falls proportionally. Since CO₂'s absorption spectrum "
    "partially overlaps with water vapour and nitrous oxide, infrared filters and compensation algorithms minimise interference."
))
story.append(sp(3))
story.append(body(
    "Other methods (now largely of historical interest): mass spectrometry, Raman spectrometry, gas chromatography, "
    "piezoelectric crystal oscillation."
))
story.append(sp(6))
story.append(h2("Mainstream vs. Sidestream Capnometers"))

table_data = [
    [
        Paragraph("<b>Feature</b>", body_style),
        Paragraph("<b>Mainstream (Non-diverting)</b>", body_style),
        Paragraph("<b>Sidestream (Diverting)</b>", body_style),
    ],
    ["Sensor location", "In-line in the breathing circuit", "Remote – at the monitor console"],
    ["Aspiration", "None – gas analysed in the airway", "Gas aspirated via thin tubing (30–500 mL/min)"],
    ["Response time", "Fast – minimal lag", "Delayed – aspiration lag time"],
    ["Weight on circuit", "Adds dead space + weight to airway", "No added weight to circuit"],
    ["Water interference", "Less prone", "Prone to water condensation + blockage"],
    ["Neonatal use", "Less suitable (added dead space)", "Preferred; but high flows may underestimate ETCO₂"],
    ["Common use", "Less common", "Most common in operating rooms"],
]

col_widths = [3.8*cm, 6.5*cm, 6.5*cm]
t = Table(table_data, colWidths=col_widths, repeatRows=1)
t.setStyle(TableStyle([
    ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a2a4a')),
    ('TEXTCOLOR', (0, 0), (-1, 0), colors.white),
    ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
    ('FONTSIZE', (0, 0), (-1, -1), 9),
    ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#f4f6fb'), colors.white]),
    ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#c0c8d8')),
    ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
    ('TOPPADDING', (0, 0), (-1, -1), 5),
    ('BOTTOMPADDING', (0, 0), (-1, -1), 5),
    ('LEFTPADDING', (0, 0), (-1, -1), 6),
    ('RIGHTPADDING', (0, 0), (-1, -1), 6),
]))
story.append(t)
story.append(sp(4))
story.append(body(
    "Sidestream units aspirate gas through ~6 feet of tubing. This represents a small circuit leak and must be "
    "scavenged or returned. In neonates, high aspiration rates entrain fresh gas, diluting ETCO₂ and causing underestimation."
))
story.append(Paragraph("<i>Miller's Anesthesia, 10e; Barash's Clinical Anesthesia, 9e</i>", ref_style))

# ── SECTION 4 ──────────────────────────────────────────────────────────────────
story.append(h1("4.  The Capnogram: Waveform Analysis                     [5 marks]"))
story.append(sp(4))
story.append(h2("Time Capnogram – Phases"))
story.append(body(
    "The time capnogram plots CO₂ partial pressure (y-axis) against time (x-axis) and shows a characteristic "
    "repeating waveform divided into distinct phases:"
))
phases = [
    ("<b>Phase 0 (Inspiration):</b> CO₂ falls rapidly to near zero as fresh inspired gas washes the sampling site. "
     "A non-zero baseline indicates CO₂ rebreathing."),
    ("<b>Phase I (Dead Space Expiration):</b> Initial flat portion at near-zero CO₂. Represents exhalation of "
     "gas from anatomical dead space (conducting airways, equipment dead space) – no CO₂."),
    ("<b>Phase II (Transitional / Ascending):</b> Sharp steep rise in CO₂ representing the transition from dead "
     "space to alveolar gas. The angle between phases II and III is the <b>alpha (α) angle</b> – widened in "
     "obstructive disease."),
    ("<b>Phase III (Alveolar Plateau):</b> Plateau representing exhalation of alveolar gas. Near-flat in healthy "
     "lungs. Slight upslope is normal due to sequential V/Q-dependent alveolar emptying. Steeper upslope (increased "
     "S-slope) is seen in asthma and COPD. The peak value at end-expiration is the <b>ETCO₂</b> value."),
    ("<b>Phase IV (some patients):</b> A brief upstroke at the very end of phase III before inspiration. Caused "
     "by closure of low-CO₂ lung units, allowing higher-CO₂ regions to contribute more to the exhaled sample."),
]
for p in phases:
    story.append(bullet(p))

story.append(sp(5))
story.append(body(
    "The <b>beta (β) angle</b> is formed between the end of phase III and the descending limb back to baseline. "
    "An obtuse beta angle with failure to return to zero indicates rebreathing (exhausted CO₂ absorber, faulty valves)."
))
story.append(sp(6))
story.append(h2("Volume Capnogram"))
story.append(body(
    "The volume capnogram plots CO₂ partial pressure against exhaled <i>volume</i> (not time). Advantages over "
    "the time capnogram include:"
))
for v in [
    "Estimation of relative contributions of anatomic vs. alveolar dead space",
    "Greater sensitivity to subtle dead space changes caused by alterations in PEEP or pulmonary blood flow",
    "Estimation of total CO₂ elimination (VCO₂) per breath from the area under the curve",
    "Assessment of cardiac output and fluid responsiveness",
]:
    story.append(bullet(v))
story.append(Paragraph("<i>Miller's Anesthesia, 10e</i>", ref_style))

# ── SECTION 5 ──────────────────────────────────────────────────────────────────
story.append(h1("5.  Normal Values and ETCO₂–PaCO₂ Gradient              [2 marks]"))
story.append(sp(4))
for v in [
    "Normal ETCO₂: <b>35–45 mmHg</b> (4.6–6.0 kPa) in a healthy spontaneously breathing or ventilated patient",
    "Normal PaCO₂–ETCO₂ gradient: <b>2–5 mmHg</b>",
    "In patients with significant V/Q mismatch, pulmonary hypertension, or low cardiac output, this gradient "
    "widens substantially. ETCO₂ becomes an unreliable surrogate for PaCO₂ – arterial blood gas analysis is required for accuracy.",
]:
    story.append(bullet(v))

# ── SECTION 6 ──────────────────────────────────────────────────────────────────
story.append(h1("6.  Causes of Abnormal ETCO₂                               [4 marks]"))
story.append(sp(4))

story.append(h2("Causes of Elevated ETCO₂ (Hypercapnia)"))
story.append(body("<b>Increased CO₂ production / delivery to lungs:</b>"))
for c in [
    "Fever, sepsis",
    "Seizures",
    "Malignant hyperthermia – marked, rapid rise; key early warning",
    "Thyrotoxicosis",
    "Increased cardiac output (e.g., during effective CPR)",
    "Laparoscopic surgery – CO₂ absorption from pneumoperitoneum",
    "Bicarbonate administration – CO₂ generated from buffering",
]:
    story.append(bullet(c))

story.append(sp(3))
story.append(body("<b>Decreased alveolar ventilation:</b>"))
for c in [
    "Hypoventilation (opioid-induced respiratory depression, inadequate ventilator settings)",
    "Partial neuromuscular blockade",
    "High spinal or epidural anaesthesia",
    "Airway obstruction",
]:
    story.append(bullet(c))

story.append(sp(3))
story.append(body("<b>Equipment malfunction:</b>"))
for c in [
    "Rebreathing – exhausted CO₂ absorber, faulty expiratory valve, insufficient fresh gas flow",
    "Leak in the ventilator circuit",
]:
    story.append(bullet(c))

story.append(sp(6))
story.append(h2("Causes of Decreased or Absent ETCO₂ (Hypocapnia / No Waveform)"))
story.append(body("<b>Decreased CO₂ production / delivery:</b>"))
for c in [
    "Hypothermia",
    "Pulmonary embolism – sudden fall; sensitive indicator",
    "Venous air embolism – sudden fall; increases dead space and reduces cardiac output",
    "Cardiac arrest",
    "Haemorrhage, hypotension, severe reduction in cardiac output",
]:
    story.append(bullet(c))

story.append(sp(3))
story.append(body("<b>Increased alveolar ventilation:</b>"))
story.append(bullet("Hyperventilation (deliberate or inadvertent)"))

story.append(sp(3))
story.append(body("<b>Equipment malfunction / patient safety events:</b>"))
for c in [
    "Circuit disconnection – sudden loss of waveform",
    "<b>Oesophageal intubation</b> – absent or rapidly disappearing waveform after intubation (most critical application)",
    "Kinked or obstructed endotracheal tube",
    "Sampling line blockage or water in the line",
    "Leak around ETT cuff",
]:
    story.append(bullet(c))
story.append(Paragraph("<i>Miller's Anesthesia, 10e (Table 37.2); Morgan &amp; Mikhail's Clinical Anesthesiology, 7e</i>", ref_style))

# ── SECTION 7 ──────────────────────────────────────────────────────────────────
story.append(h1("7.  Clinical Applications                                    [5 marks]"))
story.append(sp(4))

apps = [
    ("(a) Confirmation of Endotracheal Tube Placement",
     "The most critical application. Capnography reliably detects <b>oesophageal intubation</b>. Small amounts "
     "of CO₂ from swallowed gas wash out within a few breaths; a persistent waveform confirms tracheal placement. "
     "Capnography does <b>not</b> reliably detect mainstem bronchial intubation, as CO₂ continues to be exhaled from the contralateral lung."),
    ("(b) Monitoring Adequacy of Ventilation",
     "Capnography is the <b>standard of care</b> for monitoring ventilation under general anaesthesia, mandated "
     "by major anaesthetic societies (ASA, AAGBI). It is superior to pulse oximetry for detecting early "
     "hypoventilation, especially with supplemental oxygen (SpO₂ may remain normal for several minutes despite "
     "apnoea). Respiratory depression is <b>17.6 times</b> more likely to be detected with capnography than with standard monitoring alone."),
    ("(c) Procedural Sedation and MAC",
     "Capnography detects airway and respiratory compromise earlier and more frequently than pulse oximetry during "
     "procedural sedation. Studies show all episodes of apnoea >20 seconds during MAC were detected by capnography "
     "but not by the anaesthetist. Capnography is now mandated for moderate and deep sedation in many guidelines."),
    ("(d) Detection of Malignant Hyperthermia",
     "A marked, rapid rise in ETCO₂ due to greatly increased CO₂ production from hypermetabolism is one of the "
     "<b>earliest and most sensitive</b> indicators of malignant hyperthermia, typically preceding temperature "
     "elevation. Early detection permits prompt treatment."),
    ("(e) Detection of Venous Air/CO₂ Embolism",
     "A <b>sudden sharp decrease</b> in ETCO₂ during laparoscopy, neurosurgery, or major vascular procedures "
     "suggests venous air embolism. Both increased dead space and reduced cardiac output lower CO₂ delivery to "
     "the lungs and reduce ETCO₂."),
    ("(f) Cardiopulmonary Resuscitation (CPR)",
     "ETCO₂ monitors the adequacy of chest compressions. ETCO₂ <b>&lt;10 mmHg</b> after 20 minutes of CPR is "
     "associated with very poor prognosis and can guide decisions about terminating resuscitation. A <b>sudden "
     "rise</b> in ETCO₂ during CPR indicates return of spontaneous circulation (ROSC) before it is detectable "
     "by pulse oximetry."),
    ("(g) Assessment of Dead Space and Pulmonary Blood Flow",
     "ETCO₂ trends assess V/Q mismatch, pulmonary embolism, and changes in cardiac output. Rising dead space "
     "fraction (Vd/Vt) can be estimated non-invasively."),
    ("(h) LMA Placement Confirmation",
     "Persistent ETCO₂ waveforms confirm satisfactory positioning of a laryngeal mask airway and adequate gas exchange."),
]
for title, text in apps:
    story.append(h2(title))
    story.append(body(text))
    story.append(sp(2))

story.append(Paragraph("<i>Morgan &amp; Mikhail's Clinical Anesthesiology, 7e; Barash's Clinical Anesthesia, 9e; Miller's Anesthesia, 10e</i>", ref_style))

# ── SECTION 8 ──────────────────────────────────────────────────────────────────
story.append(h1("8.  Limitations and Sources of Error                     [2 marks]"))
story.append(sp(4))
for lim in [
    "<b>Sidestream systems:</b> Aspiration lag causes delayed readings; water condensation blocks the sampling line; in small tidal volumes, fresh gas entrainment underestimates ETCO₂",
    "<b>V/Q mismatch:</b> ETCO₂ underestimates PaCO₂ when the gradient is widened – arterial blood gases are required for accuracy",
    "<b>Rapid breathing:</b> Insufficient time for alveolar plateau to develop, leading to ETCO₂ underestimation",
    "<b>Calibration errors:</b> Incorrect calibration leads to spurious readings",
    "<b>Xenon anaesthesia:</b> Infrared spectrophotometry cannot detect xenon – not informative for xenon-based anaesthesia",
    "<b>TIVA:</b> ETCO₂ provides no information about anaesthetic depth when total intravenous anaesthesia is used",
    "<b>Neonates:</b> Small tidal volumes make accurate ETCO₂ measurement technically challenging",
]:
    story.append(bullet(lim))
story.append(Paragraph("<i>Barash's Clinical Anesthesia, 9e; Miller's Anesthesia, 10e</i>", ref_style))

# ── SECTION 9 ──────────────────────────────────────────────────────────────────
story.append(h1("9.  Monitoring Standards and Requirements                [1 mark]"))
story.append(sp(4))
story.append(body(
    "Capnography is a <b>mandatory monitor</b> during general anaesthesia under most international standards:"
))
for s in [
    "Association of Anaesthetists of Great Britain and Ireland (AAGBI) guidelines",
    "American Society of Anesthesiologists (ASA) standards – required during all general anaesthetics and for "
    "monitoring ventilation during moderate and deep sedation",
    "Its absence in cases of adverse respiratory events has been associated with significant medicolegal liability",
]:
    story.append(bullet(s))

# ── SUMMARY TABLE ──────────────────────────────────────────────────────────────
story.append(sp(8))
story.append(h1("Summary: Capnogram Waveform Pattern Recognition"))
story.append(sp(4))

summary_data = [
    [
        Paragraph("<b>Capnogram Pattern</b>", body_style),
        Paragraph("<b>Clinical Cause</b>", body_style),
    ],
    ["Absent waveform", "Oesophageal intubation, circuit disconnect, cardiac arrest"],
    ["Elevated baseline (phase 0 non-zero)", "CO₂ rebreathing – exhausted absorber, faulty valves"],
    ["Steep phase III upslope (shark-fin pattern)", "Obstructive airway disease (asthma, COPD)"],
    ["Sudden fall to zero", "Circuit disconnect, ETT obstruction, pulmonary embolism, cardiac arrest"],
    ["Gradual rise in ETCO₂", "Hypoventilation, rising metabolic rate, malignant hyperthermia"],
    ["Rapid marked rise in ETCO₂", "Malignant hyperthermia, CO₂ pneumoperitoneum"],
    ["Dip / notch in phase III plateau", "Spontaneous respiratory effort during IPPV (curare cleft)"],
    ["Gradual fall of ETCO₂", "Hyperventilation, decreasing cardiac output, hypothermia"],
    ["Return of waveform during CPR", "Return of spontaneous circulation (ROSC)"],
    ["Non-zero inspiratory baseline", "CO₂ rebreathing (faulty valve, exhausted absorber)"],
]

col_widths2 = [8.5*cm, 8.5*cm]
t2 = Table(summary_data, colWidths=col_widths2, repeatRows=1)
t2.setStyle(TableStyle([
    ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a2a4a')),
    ('TEXTCOLOR', (0, 0), (-1, 0), colors.white),
    ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
    ('FONTSIZE', (0, 0), (-1, -1), 9),
    ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#f4f6fb'), colors.white]),
    ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#c0c8d8')),
    ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
    ('TOPPADDING', (0, 0), (-1, -1), 5),
    ('BOTTOMPADDING', (0, 0), (-1, -1), 5),
    ('LEFTPADDING', (0, 0), (-1, -1), 6),
    ('RIGHTPADDING', (0, 0), (-1, -1), 6),
]))
story.append(t2)

# ── REFERENCES ─────────────────────────────────────────────────────────────────
story.append(sp(10))
story.append(hr())
story.append(h2("References"))
refs = [
    "Miller RD et al. <i>Miller's Anesthesia</i>, 10th ed. Elsevier, 2023 (Chapter 37: Respiratory Monitoring).",
    "Barash PG et al. <i>Barash, Cullen, and Stoelting's Clinical Anesthesia</i>, 9th ed. Wolters Kluwer, 2023 "
    "(Chapters 26 and 30).",
    "Morgan GE, Mikhail MS. <i>Morgan and Mikhail's Clinical Anesthesiology</i>, 7th ed. McGraw-Hill, 2022 "
    "(Chapter 6: Intraoperative Monitoring).",
]
for r in refs:
    story.append(Paragraph(f"&#8226;  {r}", ref_style))

story.append(sp(8))
story.append(Paragraph(
    "Generated by Orris Medical AI  |  Postgraduate Anaesthesia Examination Series  |  July 2026",
    footer_style
))

doc.build(story)
print("PDF generated successfully:", OUTPUT)
Running Command

cd /home/daytona/workspace/capnography_pdf && python generate_pdf.py

Your PDF is ready. Click below to download:

Capnography and Capnometry PG Anaesthesia

PDF Document · PDF

The PDF includes:
  • A clean title block with exam details (30 marks)
  • All 9 sections with mark allocations shown in each heading
  • Formatted tables (Mainstream vs. Sidestream comparison, Waveform Pattern Recognition summary)
  • Highlighted formula box (Bohr equation)
  • Structured bullet points throughout
  • References at the end
  • Professional A4 layout with a navy/white colour scheme suitable for printing

Create practice questions on capnography waveform interpretation with answer keys

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