Write a short note on the topic uses of prism in ophthalmology for pg ophthalmology exam

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
I have enough from the textbook along with my own clinical knowledge to write a comprehensive PG-level note. Let me now compose the answer.

Uses of Prism in Ophthalmology

Basic Optics Recap

A prism deviates a ray of light towards its base (the thicker end), while the perceived image is displaced towards the apex. The unit of prismatic power is the prism dioptre (PD or Δ): 1Δ deviates a ray by 1 cm at 1 metre distance. This property underlies every clinical use described below.

I. Diagnostic Uses

1. Prism Cover Test (PCT)

The most accurate clinical method for measuring the angle of strabismus (both manifest and latent).
  • An alternate cover test is performed first to dissociate the eyes.
  • Prisms of increasing strength are placed base-out (for esotropia), base-in (for exotropia), or base-up/down (for vertical deviations) in front of one eye.
  • The end-point is the neutralisation of all re-fixation movement ("point of reversal"), and the strength of prism at that point equals the angle of deviation.
  • A prism bar (a series of prisms of progressively increasing power mounted in a bar) is used for convenient stepwise measurement.
  • (Kanski's Clinical Ophthalmology, p. 743)

2. Krimsky Test

  • Used to measure strabismus in patients who cannot cooperate for a cover test (e.g., infants, poor vision in one eye).
  • Prisms are placed in front of the fixating eye until the corneal light reflexes (Hirschberg reflections) become symmetrical.
  • More practical than the prism reflection test (where prisms go before the deviating eye) because it avoids the parallax error.
  • (Kanski's, p. 743)

3. Prism Reflection Test

  • Prisms are placed in front of the deviating eye until the corneal light reflexes are symmetrised.
  • Less commonly used than the Krimsky test.

4. 4Δ (4 Prism Dioptre) Base-Out Test

  • Used to detect a central suppression scotoma (CSS) in microtropia/monofixation syndrome.
  • A 4Δ base-out prism is placed before the suspected eye. In a normal individual with bifoveal fixation, the image is displaced temporally and a refixation movement (convergence) is seen in both eyes. In microtropia with a CSS, the image falls within the suppression scotoma - no movement is seen.
  • (Kanski's, p. 737)

5. 20Δ Base-Out Prism Test

  • Assesses binocular fusion in infants (from ~6 months).
  • A 20Δ base-out prism is placed before one eye, displacing the image temporally and inducing diplopia. If fusion is present, the child will show a characteristic sequence: adduction of the prism eye, abduction of the fellow eye (Hering's law), followed by a corrective re-fixation saccade of the fellow eye.
  • (Kanski's, p. 736)

6. Maddox Rod + Prism

  • The Maddox rod dissociates the eyes; prisms are added to measure the degree of heterophoria.
  • Used to quantify esophoria, exophoria, hyperphoria, and cyclophoria at both distance and near.

II. Therapeutic Uses

7. Prisms in Spectacles (Refractive Correction)

  • Prescribed as incorporated prisms or as Fresnel press-on prisms to eliminate diplopia in patients with:
    • Decompensated heterophoria
    • Small-angle manifest strabismus not amenable to surgery
    • Paralytic strabismus (e.g., 4th nerve palsy causing hypertropia - base-down prism before the higher eye)
    • Post-surgical residual deviation
  • The principle: the prism displaces the image so that both retinal images fall on corresponding points, restoring single binocular vision.
  • Fresnel prisms are thin, lightweight press-on membranes ideal for large, temporary, or adjustable corrections.

8. Treatment of Convergence Insufficiency

  • Base-in prisms reduce the convergence demand and relieve asthenopia in symptomatic convergence insufficiency when exercises fail or are not tolerated.

9. Treatment of Nystagmus

  • Prisms can be used to shift the null point (the gaze position of least nystagmus) to the primary position.
  • This eliminates the compensatory head posture and reduces oscillopsia.
  • Typically base-in prisms (OU) to shift the null point from a convergence position to primary gaze ("Anderson prisms").

10. Low Vision Rehabilitation

  • Prisms (Peli lens/sector prisms) are used in patients with visual field loss (e.g., hemianopia) to expand the visual field by shifting peripheral images into the seeing field.

III. Instruments That Use Prismatic Principles

InstrumentPrism Used For
Goldmann Applanation TonometerThe Goldmann biprism splits the mire into two semicircles; end-point = when they overlap
Slit Lamp (Haag-Streit)Internal optics use prism systems for image erection
Gonioscopy lensesTotal internal reflection is overcome using a prism or mirror in the contact lens
Hruby lensUses a strong concave lens; gonioscopy lenses such as the Goldmann and Zeiss use mirror-prism systems
Indirect ophthalmoscopePrisms in the condensing lens design
Keratometer / OphthalmometerA Scheiner prism (doubling device) measures corneal curvature by image duplication
Prism barSerial prisms for cover testing
SynoptophoreBuilt-in mirrored optics (functionally equivalent to prism systems) for BSV assessment

IV. Key Points for PG Exam

  • 1 prism dioptre = 1 cm displacement at 1 m; 1° of arc ≈ 1.75Δ (approximately 2Δ by clinical convention).
  • Prentice's Rule: Prismatic effect (Δ) = Power (D) × decentration (cm). This is why decentered spectacle lenses produce unintended prismatic effects.
  • Prisms deviate light to the base; the eye moves toward the apex to maintain fixation (or equivalently, the image appears shifted toward the apex).
  • In the prism cover test, the prism base is always opposite the direction of deviation (base-out for eso, base-in for exo, base-down for right hypertropia in front of the right eye).
  • The 4Δ test differentiates microtropia (no movement) from true orthophoria (movement with recovery).
  • Fresnel prisms lose optical quality with increasing power (>12-15Δ) and are mainly for temporary use or very large angles.

Sources: Kanski's Clinical Ophthalmology: A Systematic Approach, 10th Ed. (pp. 736-743); The Wills Eye Manual, 8th Ed.

Make a pdf on the topic glaucoma surgeries covering all the surgeries step wise , with indications and contraindications, latest updates and recent advances

Reading File
Finding Sources
Searching PubMed

glaucoma surgery MIGS minimally invasive

Finding Sources
Finding Sources
Reading Article

PMID: 37760198

Reading File
Finding Sources
Reading Article

PMID: 38079242

Reading File
Finding Sources
Reading File
Finding Sources
Running Command

mkdir -p /tmp/workspace/glaucoma-surgery && ls /tmp/workspace/glaucoma-surgery/

Writing File

~/glaucoma-surgery/build_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, ListFlowable, ListItem, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate

OUTPUT = "/tmp/workspace/glaucoma-surgery/Glaucoma_Surgeries_PG_Notes.pdf"

# ── colour palette ──────────────────────────────────────────────────────────
NAVY   = colors.HexColor("#1a3a5c")
TEAL   = colors.HexColor("#0d7377")
GOLD   = colors.HexColor("#e8a838")
LGRAY  = colors.HexColor("#f5f7fa")
DGRAY  = colors.HexColor("#4a4a4a")
WHITE  = colors.white
RED    = colors.HexColor("#c0392b")
GREEN  = colors.HexColor("#1e7e34")

# ── document ────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT, pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2.5*cm, bottomMargin=2*cm,
    title="Glaucoma Surgeries – PG Ophthalmology Notes",
    author="Orris Medical"
)

styles = getSampleStyleSheet()

# custom styles
def mkstyle(name, parent="Normal", **kw):
    return ParagraphStyle(name, parent=styles[parent], **kw)

cover_title   = mkstyle("CoverTitle",   fontSize=28, textColor=WHITE,
                         alignment=TA_CENTER, spaceAfter=8, leading=34,
                         fontName="Helvetica-Bold")
cover_sub     = mkstyle("CoverSub",     fontSize=14, textColor=GOLD,
                         alignment=TA_CENTER, spaceAfter=4, fontName="Helvetica-Bold")
cover_body    = mkstyle("CoverBody",    fontSize=11, textColor=WHITE,
                         alignment=TA_CENTER, spaceAfter=4)

h1            = mkstyle("H1", fontSize=16, textColor=WHITE,
                         fontName="Helvetica-Bold", spaceAfter=6, spaceBefore=4,
                         backColor=NAVY, leftIndent=-12, rightIndent=-12,
                         borderPad=6)
h2            = mkstyle("H2", fontSize=13, textColor=NAVY,
                         fontName="Helvetica-Bold", spaceAfter=4, spaceBefore=10,
                         borderColor=TEAL, borderWidth=0, leftIndent=0,
                         underline=0)
h3            = mkstyle("H3", fontSize=11, textColor=TEAL,
                         fontName="Helvetica-Bold", spaceAfter=3, spaceBefore=6)
h4            = mkstyle("H4", fontSize=10, textColor=DGRAY,
                         fontName="Helvetica-BoldOblique", spaceAfter=2, spaceBefore=4)
body          = mkstyle("Body", fontSize=9.5, textColor=DGRAY,
                         leading=14, spaceAfter=4, alignment=TA_JUSTIFY)
bullet_style  = mkstyle("Bullet", fontSize=9.5, textColor=DGRAY,
                         leading=13, leftIndent=14, spaceAfter=2)
note_style    = mkstyle("Note", fontSize=9, textColor=colors.HexColor("#555555"),
                         leading=12, leftIndent=10, backColor=colors.HexColor("#fffbe6"),
                         borderColor=GOLD, borderWidth=1, borderPad=4, spaceAfter=6)
warn_style    = mkstyle("Warn", fontSize=9, textColor=RED,
                         leading=12, leftIndent=10, backColor=colors.HexColor("#fff0f0"),
                         borderColor=RED, borderWidth=1, borderPad=4, spaceAfter=6)
green_style   = mkstyle("Green", fontSize=9, textColor=GREEN,
                         leading=12, leftIndent=10, backColor=colors.HexColor("#f0fff4"),
                         borderColor=GREEN, borderWidth=1, borderPad=4, spaceAfter=6)
toc_style     = mkstyle("TOC", fontSize=10, textColor=NAVY,
                         leading=16, leftIndent=6, spaceAfter=1)
toc_h1_style  = mkstyle("TOCH1", fontSize=11, textColor=NAVY,
                         fontName="Helvetica-Bold", leading=18, leftIndent=0, spaceAfter=1)

story = []

# ════════════════════════════════════════════════════════════════════════════
# COVER PAGE
# ════════════════════════════════════════════════════════════════════════════
cover_table = Table(
    [[Paragraph("GLAUCOMA SURGERIES", cover_title)],
     [Paragraph("Comprehensive Notes for PG Ophthalmology Examination", cover_sub)],
     [Paragraph(" ", cover_body)],
     [Paragraph("Step-wise Techniques · Indications & Contraindications", cover_body)],
     [Paragraph("Complications · Recent Advances · MIGS", cover_body)],
     [Paragraph(" ", cover_body)],
     [Paragraph("Based on Kanski's Clinical Ophthalmology (10th Ed.) & Current Literature", cover_body)],
     [Paragraph("July 2026", cover_body)],
    ],
    colWidths=[17*cm]
)
cover_table.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), NAVY),
    ("ROUNDEDCORNERS", [8]),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("LEFTPADDING",   (0,0), (-1,-1), 20),
    ("RIGHTPADDING",  (0,0), (-1,-1), 20),
]))
story.append(Spacer(1, 2*cm))
story.append(cover_table)
story.append(Spacer(1, 0.6*cm))

# disclaimer box
disc = Table([[Paragraph(
    "<b>For Educational Use Only.</b> This document is intended for postgraduate "
    "ophthalmology study purposes. Clinical decisions should always be based on "
    "current guidelines and individual patient assessment.",
    mkstyle("Disc", fontSize=8.5, textColor=DGRAY, leading=12)
)]], colWidths=[17*cm])
disc.setStyle(TableStyle([
    ("BACKGROUND",    (0,0),(-1,-1), LGRAY),
    ("BOX",           (0,0),(-1,-1), 0.5, TEAL),
    ("TOPPADDING",    (0,0),(-1,-1), 6),
    ("BOTTOMPADDING", (0,0),(-1,-1), 6),
    ("LEFTPADDING",   (0,0),(-1,-1), 10),
    ("RIGHTPADDING",  (0,0),(-1,-1), 10),
]))
story.append(disc)
story.append(PageBreak())

# ════════════════════════════════════════════════════════════════════════════
# TABLE OF CONTENTS
# ════════════════════════════════════════════════════════════════════════════
story.append(Paragraph("TABLE OF CONTENTS", h1))
story.append(Spacer(1,0.3*cm))

toc_items = [
    ("1.", "Overview of Glaucoma Surgery"),
    ("2.", "Laser Peripheral Iridotomy (LPI)"),
    ("3.", "Laser Trabeculoplasty (ALT / SLT / MFLT)"),
    ("4.", "Trabeculectomy"),
    ("5.", "Glaucoma Drainage Devices (GDD / Tube-Shunt Surgery)"),
    ("6.", "Non-Penetrating Glaucoma Surgery (NPGS)"),
    ("7.", "Cyclodestructive Procedures"),
    ("8.", "Minimally Invasive Glaucoma Surgery (MIGS)"),
    ("   8a.", "Schlemm's Canal Devices (iStent, Hydrus)"),
    ("   8b.", "Subconjunctival Filtration (XEN, PRESERFLO)"),
    ("   8c.", "Suprachoroidal Space Devices"),
    ("   8d.", "Trabecular Ablation (GATT, KDB, OMNI)"),
    ("9.", "Goniotomy & Trabeculotomy (Paediatric Glaucoma)"),
    ("10.", "Combined Phaco-Glaucoma Surgery"),
    ("11.", "Recent Advances & Future Directions"),
    ("12.", "High-Yield Summary Table"),
]
for num, title_t in toc_items:
    story.append(Paragraph(f"<b>{num}</b>  {title_t}", toc_style))
story.append(PageBreak())

# ════════════════════════════════════════════════════════════════════════════
# helper functions
# ════════════════════════════════════════════════════════════════════════════
def section(title_txt):
    story.append(KeepTogether([
        HRFlowable(width="100%", thickness=2, color=NAVY, spaceAfter=2),
        Paragraph(f"  {title_txt}", h1),
        Spacer(1,0.15*cm),
    ]))

def subsection(title_txt):
    story.append(Paragraph(title_txt, h2))
    story.append(HRFlowable(width="60%", thickness=1, color=TEAL, spaceAfter=3))

def subsubsection(title_txt):
    story.append(Paragraph(title_txt, h3))

def para(txt):
    story.append(Paragraph(txt, body))

def bullets(items, label="•"):
    for it in items:
        story.append(Paragraph(f"<b>{label}</b>  {it}", bullet_style))

def note(txt):
    story.append(Paragraph(f"<b>Key Point:</b>  {txt}", note_style))

def warn(txt):
    story.append(Paragraph(f"<b>Caution:</b>  {txt}", warn_style))

def update(txt):
    story.append(Paragraph(f"<b>Recent Update:</b>  {txt}", green_style))

def sp(n=0.2):
    story.append(Spacer(1, n*cm))

def two_col_table(left_header, right_header, rows, lw=8*cm, rw=9*cm):
    data = [[Paragraph(f"<b>{left_header}</b>",
                       mkstyle("TH", fontSize=9.5, textColor=WHITE, fontName="Helvetica-Bold")),
             Paragraph(f"<b>{right_header}</b>",
                       mkstyle("TH2", fontSize=9.5, textColor=WHITE, fontName="Helvetica-Bold"))]]
    for l, r in rows:
        data.append([Paragraph(l, mkstyle("TC", fontSize=9, leading=12)),
                     Paragraph(r, mkstyle("TC2", fontSize=9, leading=12))])
    t = Table(data, colWidths=[lw, rw])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0), NAVY),
        ("BACKGROUND",    (0,1), (-1,-1), LGRAY),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
        ("BOX",           (0,0), (-1,-1), 0.5, TEAL),
        ("INNERGRID",     (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("RIGHTPADDING",  (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]))
    story.append(t)
    sp(0.3)

def three_col_table(h1t, h2t, h3t, rows, w1=5.5*cm, w2=5.5*cm, w3=6*cm):
    data = [[Paragraph(f"<b>{h1t}</b>", mkstyle("TH3", fontSize=9, textColor=WHITE, fontName="Helvetica-Bold")),
             Paragraph(f"<b>{h2t}</b>", mkstyle("TH4", fontSize=9, textColor=WHITE, fontName="Helvetica-Bold")),
             Paragraph(f"<b>{h3t}</b>", mkstyle("TH5", fontSize=9, textColor=WHITE, fontName="Helvetica-Bold"))]]
    for a,b,c in rows:
        data.append([Paragraph(a, mkstyle("TC3", fontSize=8.5, leading=11)),
                     Paragraph(b, mkstyle("TC4", fontSize=8.5, leading=11)),
                     Paragraph(c, mkstyle("TC5", fontSize=8.5, leading=11))])
    t = Table(data, colWidths=[w1,w2,w3])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0), TEAL),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
        ("BOX",           (0,0), (-1,-1), 0.5, TEAL),
        ("INNERGRID",     (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("RIGHTPADDING",  (0,0), (-1,-1), 5),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]))
    story.append(t)
    sp(0.3)

# ════════════════════════════════════════════════════════════════════════════
# SECTION 1 – OVERVIEW
# ════════════════════════════════════════════════════════════════════════════
section("1. OVERVIEW OF GLAUCOMA SURGERY")
sp()
para("Glaucoma surgery aims to lower intraocular pressure (IOP) by enhancing aqueous outflow, reducing aqueous production, or creating a new drainage pathway. Surgical intervention is considered when IOP cannot be controlled by medications or laser to the target level required to halt progressive optic nerve damage.")
sp(0.2)
subsection("Goals of Surgery")
bullets([
    "Lower IOP to target level (individualized: 8–12 mmHg for advanced disease, 12–18 mmHg for early disease)",
    "Halt progression of visual field loss and optic nerve damage",
    "Reduce medication burden and improve quality of life",
    "Preserve existing vision",
])
sp(0.2)
subsection("Classification of Glaucoma Procedures")
two_col_table("Category", "Procedures",
    [
        ("Laser Procedures", "LPI, ALT, SLT, MFLT, Cyclodiode laser, ECP"),
        ("Incisional Filtering Surgery", "Trabeculectomy, Non-penetrating surgery (DSTS, viscocanalostomy, canaloplasty)"),
        ("Glaucoma Drainage Devices", "Ahmed, Baerveldt, Molteno, Paul tube implants"),
        ("Cyclodestructive", "Cyclocryotherapy, Trans-scleral cyclodiode, ECP, HIFU"),
        ("MIGS – Canal-based", "iStent inject W, Hydrus Microstent, ab interno canaloplasty"),
        ("MIGS – Subconjunctival", "XEN Gel Stent, PRESERFLO MicroShunt"),
        ("MIGS – Suprachoroidal", "CyPass (withdrawn), iStent Supra, MINIject"),
        ("MIGS – Trabecular ablation", "GATT, KDB Goniotomy, OMNI, TRAB360"),
        ("Paediatric Procedures", "Goniotomy, Trabeculotomy, Combined trabeculotomy-trabeculectomy"),
        ("Combined Surgery", "Phaco-trabeculectomy, Phaco-MIGS, Phaco-GDD"),
    ]
)
note("The choice of surgery depends on glaucoma type, severity, previous surgery, patient age, conjunctival status, and target IOP.")
sp()
PageBreak()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 2 – LPI
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("2. LASER PERIPHERAL IRIDOTOMY (LPI)")
sp()
para("LPI creates a small full-thickness hole in the peripheral iris using a Nd:YAG or argon laser, establishing an alternative aqueous pathway from the posterior to the anterior chamber and bypassing any pupillary block.")
sp(0.2)
subsection("Indications")
bullets([
    "Primary angle closure suspect (PACS) – controversial; used in Asia",
    "Primary angle closure (PAC) – recommended",
    "Primary angle closure glaucoma (PACG)",
    "Acute angle closure crisis – after medical stabilization",
    "Fellow eye prophylaxis in acute angle closure",
    "Phacomorphic glaucoma (temporary measure)",
    "Plateau iris syndrome (followed by laser iridoplasty if needed)",
    "Pigment dispersion syndrome – debated benefit",
])
sp(0.2)
subsection("Contraindications")
bullets([
    "Flat anterior chamber / corneal decompensation (relative)",
    "Hyphaema or severe corneal haze (impairs visualization)",
    "Non-pupillary block mechanism confirmed",
    "Patient unable to cooperate",
    "Very dark, thick iris – may require argon pre-treatment",
])
sp(0.2)
subsection("Technique – Nd:YAG LPI (Preferred)")
bullets([
    "Instill pilocarpine 2% (30–60 min pre-op) to tense iris stroma",
    "Apply topical anaesthetic; use Abraham (+66D) or CGI (+103D) contact lens",
    "Target: Superior iris at 11 or 1 o'clock position (under eyelid to reduce dysphotopsia)",
    "Preferred site: Iris crypt or thin zone to minimize energy",
    "Energy: 1–8 mJ per pulse; burst mode (2–3 pulses) common",
    "End-point: Gush of pigment, patency confirmed (back-illumination, transillumination)",
    "Post-op: 1% apraclonidine / brimonidine to prevent IOP spike; topical steroid for inflammation",
])
sp(0.2)
subsection("Complications")
bullets([
    "IOP spike (most common; prevented with apraclonidine pre/post)",
    "Uveitis – mild; treated with topical steroids",
    "Haemorrhage – usually self-limiting",
    "Dysphotopsia / monocular diplopia (up to 3.5% – site at 12 o'clock reduces this)",
    "Corneal damage",
    "Closure of iridotomy – re-treatment may be needed",
    "Cataract – rare",
])
update("ZAP Trial (2019, Ophthalmology): In PACS, LPI reduced fellow eye progression to PAC but did NOT significantly reduce symptom burden (dysphotopsia common). Current trend: selective LPI rather than universal treatment for all PACS.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 3 – LASER TRABECULOPLASTY
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("3. LASER TRABECULOPLASTY (ALT / SLT / MFLT)")
sp()
para("Laser trabeculoplasty treats the trabecular meshwork (TM) to enhance aqueous outflow, lowering IOP by 20–30%. It is used as primary therapy or adjunct to medications.")
sp(0.2)

subsubsection("3A. Selective Laser Trabeculoplasty (SLT) – Current Standard")
para("SLT uses a 532 nm frequency-doubled Nd:YAG laser to selectively target pigmented TM cells without causing coagulative damage (selective photothermolysis). The TM architecture is preserved, allowing repeatability.")
sp(0.1)
subsection("Indications – SLT")
bullets([
    "Open-angle glaucoma (POAG, normal tension glaucoma, pigmentary, pseudoexfoliative)",
    "OHT requiring IOP reduction",
    "Adjunct to medications when additional IOP control is needed",
    "Primary therapy (LiGHT trial supports SLT as 1st-line)",
    "Repeat SLT after initial response wanes",
])
subsection("Contraindications – SLT")
bullets([
    "Closed/narrow angle without prior LPI",
    "Uveitic glaucoma (active uveitis)",
    "Neovascular glaucoma",
    "ICE syndrome",
    "Extensive peripheral anterior synechiae (>180°)",
    "Prior ALT in same quadrant (relative)",
])
subsection("SLT Technique")
bullets([
    "Instill topical anaesthetic; apply apraclonidine 1% pre-treatment",
    "Goldmann single or three-mirror lens (Latina SLT lens preferred)",
    "Parameters: Spot size 400 µm, duration 3 ns, energy 0.3–1.2 mJ",
    "Titrate: Champagne bubbles = too high; no bubble = appropriate end-point (some debate)",
    "Treat 90–180° or full 360° of TM",
    "Post-op: Topical NSAID or steroid; monitor IOP at 1 hour",
])
update("LiGHT Trial (2019, Lancet): SLT as primary therapy was non-inferior to drops for IOP control, with better quality of life and cost-effectiveness. 74% of SLT-treated POAG/OHT did not require drops at 3 years.")
sp(0.2)

subsubsection("3B. Argon Laser Trabeculoplasty (ALT)")
para("ALT uses a 488/514 nm argon laser to create coagulative burns at the TM-SC junction, causing scarring and physically widening the TM. Cannot be repeated in the same area. Largely replaced by SLT.")
bullets([
    "Parameters: 50 µm spot, 100 ms, 400–700 mW",
    "50 burns over 180°, or 100 burns over 360°",
    "End-point: Blanching or tiny bubble at TM",
])
sp(0.2)

subsubsection("3C. Micropulse Laser Trabeculoplasty (MFLT/MLT)")
para("Uses subthreshold 577 nm or 810 nm micropulse laser to deliver repetitive short pulses to TM, minimizing collateral thermal damage. IOP reduction ~20–25%. Repeatable. Evidence still emerging.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 4 – TRABECULECTOMY
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("4. TRABECULECTOMY")
sp()
para("Trabeculectomy (Cairns, 1968) is the gold-standard incisional glaucoma surgery. It creates a guarded fistula through the sclera protected by a scleral flap, diverting aqueous from the anterior chamber to a subconjunctival filtration bleb.")

subsection("Indications")
bullets([
    "POAG, NTG, PACG: Failure of medical and laser therapy",
    "Advanced glaucoma requiring very low target IOP",
    "Progressive field loss despite seemingly adequate IOP control",
    "Poor compliance with medications",
    "Patient preference for medication-free management",
    "Uveitic glaucoma (with MMC)",
    "Secondary glaucomas: Pseudoexfoliative, pigmentary, traumatic",
    "Combined trabeculectomy in aphakic/pseudophakic glaucoma",
])
sp(0.2)

subsection("Contraindications")
bullets([
    "<b>Absolute:</b> Active conjunctival/corneal infection",
    "<b>Relative:</b> Extensive conjunctival scarring (prior surgery, burns, OCP, SJS)",
    "Neovascular glaucoma (high failure rate; GDD preferred)",
    "Advanced uveitic glaucoma with active inflammation",
    "Sole-seeing eye (high risk of vision loss from complications)",
    "Inability to attend post-op follow-up",
    "Anticoagulation – manage carefully",
])
sp(0.2)

subsection("Pre-operative Preparation")
bullets([
    "Pilocarpine 2% to constrict pupil",
    "Wash out conjunctival flora",
    "Control inflammation with topical steroids pre-op",
    "Measure baseline IOP, optic disc, and visual field",
    "Consent for vision-threatening complications",
    "Plan use of antimetabolites (MMC / 5-FU) based on risk factors",
])
sp(0.2)

subsection("Surgical Steps – Classical Trabeculectomy")
bullets([
    "<b>Step 1 – Anaesthesia:</b> Peribulbar or sub-Tenon's block; general anaesthesia in children",
    "<b>Step 2 – Bridle suture:</b> 4-0 silk through superior cornea or around superior rectus to rotate globe downward",
    "<b>Step 3 – Conjunctival flap:</b> Either limbal-based (hinged at limbus; less bleb dysaesthesia) or fornix-based (hinged at fornix; easier access, better bleb morphology – preferred by many)",
    "<b>Step 4 – Episcleral dissection:</b> Clear episcleral tissue; cauterize episcleral vessels",
    "<b>Step 5 – Antimetabolite application (if used):</b> MMC-soaked sponge (0.1–0.4 mg/mL × 1–5 min) applied under conjunctiva/Tenon's; copious BSS irrigation afterward",
    "<b>Step 6 – Scleral flap:</b> Half-thickness lamellar flap (rectangular 3×4 mm, triangular or trapezoidal) dissected anteriorly into clear cornea",
    "<b>Step 7 – Paracentesis:</b> Temporal peripheral corneal paracentesis made (for AC access)",
    "<b>Step 8 – Sclerostomy:</b> AC entered; block of limbal tissue (deep sclera + TM) excised using Kelly punch or scissors (~1×2 mm)",
    "<b>Step 9 – Peripheral iridectomy (PI):</b> Iris tented and excised to prevent iris prolapse blocking the sclerostomy",
    "<b>Step 10 – Scleral flap closure:</b> 10-0 nylon sutures at posterior corners; flap should allow slow aqueous egress; may use releasable sutures (laser-lysable post-op)",
    "<b>Step 11 – AC reformation:</b> BSS injected through paracentesis; bleb should elevate; test flow rate",
    "<b>Step 12 – Conjunctival closure:</b> 10-0 Vicryl or 9-0 nylon; watertight; Seidel test performed",
    "<b>Step 13 – Post-op medications:</b> Topical antibiotic + steroid (intensive); cycloplegic if shallow AC",
])
sp(0.2)

subsection("Antimetabolites in Trabeculectomy")
two_col_table("Parameter", "MMC vs 5-FU",
    [
        ("MMC (Mitomycin-C)", "0.1–0.4 mg/mL × 1–5 min; inhibits fibroblast proliferation permanently; used intra-operatively"),
        ("5-FU", "50 mg/mL subconjunctival 5 mg injections post-op; used in high-risk cases or trabeculectomy rescue"),
        ("Indications for MMC", "Younger age, high risk of failure, aphakia, previous conjunctival surgery, uveitic/neovascular glaucoma"),
        ("Risk of MMC", "Thin avascular blebs, blebitis, endophthalmitis, hypotony maculopathy"),
        ("OLOGEN implant", "Biodegradable collagen-glycosaminoglycan matrix placed under scleral flap to modulate healing; alternative to MMC"),
    ]
)
sp(0.2)

subsection("Post-operative Laser Suture Lysis (LSL)")
bullets([
    "Releasable or laser-lysable sutures allow post-op IOP titration",
    "Hoskins or Zeiss lens used; argon 50 µm, 200 mW, 0.1 s",
    "Performed in early post-op period (days 1–4 weeks)",
    "Releases tight scleral flap sutures to increase flow through bleb",
    "Reduces need for re-operation",
])
sp(0.2)

subsection("Needling of Failing Bleb")
bullets([
    "Used when bleb encapsulation (Tenon's cyst) or fibrosis occurs",
    "25-27G needle inserted subconjunctivally with 5-FU or MMC injection",
    "Mechanically disrupts scar tissue around bleb",
    "Success rate 40–70% with antimetabolite adjunct",
])
sp(0.2)

subsection("Complications")

subsubsection("Intra-operative")
bullets([
    "Buttonhole in conjunctiva – repair immediately; consider repositioning",
    "Haemorrhage from episcleral vessels or iris",
    "Loss of vitreous (rare) – in aphakic eyes",
    "Expulsive haemorrhage (rare, catastrophic)",
])

subsubsection("Early Post-operative")
bullets([
    "<b>Hypotony:</b> IOP < 5 mmHg – overfiltration, wound leak, choroidal detachment",
    "<b>Shallow/flat AC:</b> Grade 1 – peripheral iris-corneal touch; Grade 2 – central except lens; Grade 3 – lens-corneal touch (urgent reformation)",
    "<b>Choroidal detachment:</b> Annular elevation of choroid; risk of kissing choroidals; drain if severe",
    "<b>Hyphema:</b> Blood in AC from iris vessels",
    "<b>Wound leak (Seidel positive):</b> Collagen shield, pressure patching, AC reformation",
    "<b>Pupillary block:</b> Non-patent PI → iris bombé; treat with Nd:YAG or new LPI",
])

subsubsection("Late Post-operative")
bullets([
    "<b>Bleb failure / encapsulated bleb (Tenon's cyst):</b> Elevated IOP, dome-shaped tense bleb; manage with needling + 5-FU",
    "<b>Blebitis:</b> Bleb infection without vitreous involvement; urgent antibiotics",
    "<b>Bleb-related endophthalmitis:</b> Most serious; incidence 0.12–1.5%/year; presents with pain, hypopyon, vitritis; emergency pars plana vitrectomy + intravitreal antibiotics",
    "<b>Hypotony maculopathy:</b> Choroidal folds, reduced VA; treat with compression sutures or blood injection into bleb",
    "<b>Cataract acceleration</b>",
    "<b>Malignant glaucoma (aqueous misdirection):</b> High IOP + flat AC + patent PI; treat with Nd:YAG hyaloidotomy, cycloplegic-mydriatic, then PPV if needed",
    "<b>Sympathetic ophthalmia</b> (extremely rare)",
])
update("Ex-PRESS Shunt (Alcon): Stainless steel 50 µm mini-shunt placed under scleral flap instead of sclerostomy; comparable IOP outcomes to standard trabeculectomy with fewer early complications (hypotony, hyphema). A randomized trial (Maris et al.) showed equivalence at 2 years.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 5 – GDD
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("5. GLAUCOMA DRAINAGE DEVICES (GDD / TUBE-SHUNT SURGERY)")
sp()
para("GDDs are tube-plate implants that divert aqueous from the AC to an equatorial episcleral plate (bleb), where it is absorbed. They are preferred over trabeculectomy in difficult cases.")

subsection("Types of GDD")
three_col_table("Device", "Plate Area", "Valve?",
    [
        ("Ahmed Glaucoma Valve (AGV)", "184 mm² (S2), 96 mm² (M2 paediatric)", "Yes – Venturi silicone membrane"),
        ("Baerveldt Glaucoma Implant (BGI)", "250 mm², 350 mm²", "No – non-valved"),
        ("Molteno Implant", "135 mm² (single), 270 mm² (double)", "No – non-valved"),
        ("Paul Tube Implant", "New design; 350 mm² PTFE plate", "No – non-valved; better drainage"),
        ("Aurolab Aqueous Drainage Implant (AADI)", "Indian equivalent of Ahmed; 184 mm²", "Yes"),
    ]
)
note("Non-valved devices need the tube ligated or temporized (ripcord technique) for 4–6 weeks post-op to allow plate fibrosis (pseudocapsule) to limit initial hypotony.")

subsection("Indications")
bullets([
    "Failed trabeculectomy",
    "Neovascular glaucoma (GDD preferred over trabeculectomy)",
    "Uveitic glaucoma with extensive scarring",
    "Aphakic/pseudophakic glaucoma",
    "Iridocorneal endothelial (ICE) syndrome",
    "Silicone oil-filled eye with secondary glaucoma",
    "Pediatric glaucoma (after failed goniotomy/trabeculotomy)",
    "Glaucoma following keratoplasty",
    "TVT Study eyes: Prior trabeculectomy with MMC failure",
])
sp(0.2)

subsection("Contraindications")
bullets([
    "Insufficient conjunctival space in all quadrants (relative)",
    "Avascular conjunctiva / extensive symblepharon",
    "Active infectious endophthalmitis",
    "Very shallow AC (tube placement hazardous)",
])
sp(0.2)

subsection("Surgical Steps – Ahmed Valve Implantation (Anterior Plate)")
bullets([
    "<b>Step 1 – Anaesthesia:</b> Peribulbar or sub-Tenon's block",
    "<b>Step 2 – Priming the valve:</b> Irrigate the AGV with BSS to open the valve membrane",
    "<b>Step 3 – Conjunctival incision:</b> Fornix-based flap in superotemporal quadrant (between superior and lateral rectus)",
    "<b>Step 4 – Plate placement:</b> AGV plate sutured to sclera 8–10 mm from limbus with 9-0 Prolene sutures; plate should lie flat",
    "<b>Step 5 – Tube trimming:</b> Tube trimmed at 45° bevel to extend 2–3 mm into AC",
    "<b>Step 6 – Donor patch graft:</b> Human donor sclera, cornea, pericardium, or dura mater sutured over tube to prevent erosion",
    "<b>Step 7 – Paracentesis:</b> Temporal peripheral clear cornea",
    "<b>Step 8 – Sclerotomy / tube insertion:</b> 22-G needle track made parallel to iris plane at limbus; tube inserted into AC (tip should be visible on gonioscopy)",
    "<b>Step 9 – Tube fixation:</b> 10-0 Prolene suture to sclera, securing tube",
    "<b>Step 10 – Conjunctival closure:</b> Watertight closure with 8-0 Vicryl",
    "<b>Step 11 – For non-valved (Baerveldt):</b> Tube ligated with 8-0 Vicryl tie + ripcord suture (3-0 Prolene) to enable controlled release at 4–6 weeks, OR fenestrations cut in tube",
])
sp(0.2)

subsection("Complications")
two_col_table("Early (<3 months)", "Late (>3 months)",
    [
        ("Hypotony (non-valved devices) – most common", "Encapsulated bleb (Tenon's cyst) – elevated IOP"),
        ("Hypertensive phase (valved devices) – IOP spike", "Tube erosion through conjunctiva"),
        ("Choroidal detachment", "Corneal decompensation from tube-cornea touch"),
        ("Shallow AC", "Diplopia / strabismus (from plate bulk)"),
        ("Tube occlusion (iris, vitreous, blood)", "Plate migration"),
        ("Hyphema", "Endophthalmitis (rare)"),
        ("Motility restriction", "Cataract progression"),
    ]
)
update("TVT Trial (Tube vs Trabeculectomy, Gedde et al., 2012–2017): BGI 350 mm² had higher surgical success at 5 years vs trabeculectomy with MMC (42% vs 29%) in previously operated eyes. PRIMARY TVT: In eyes without prior surgery, both had similar success at 3 years with slightly higher complications for tube. The field is shifting toward earlier GDD use.")
update("ABC Trial (Ahmed vs Baerveldt, Christakis et al., 2013): BGI provided lower IOP and fewer medications, but higher early hypotony. AGV had faster IOP control but higher 5-year failure rate. Choice depends on clinical priority.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 6 – NPGS
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("6. NON-PENETRATING GLAUCOMA SURGERY (NPGS)")
sp()
para("NPGS avoids full penetration of the AC, aiming for aqueous percolation through a thin trabeculo-Descemet's membrane (TDM). Advantages: Fewer hypotony-related complications, lower infection risk. Disadvantages: More technically demanding, requires steep learning curve, lower IOP reduction than trabeculectomy.")

subsection("Types of NPGS")
bullets([
    "<b>Deep Sclerectomy with Space Maintainer (DSTS):</b> Deep scleral dissection, leave TDM intact; insert space maintainer (SKGEL, hyaluronic acid implant) to prevent collapse",
    "<b>Viscocanalostomy:</b> Descemet's window created; Schlemm's canal dilated with viscoelastic (sodium hyaluronate); aqueous exits via juxtacanalicular TM",
    "<b>Canaloplasty (ab externo):</b> 360° catheterization of Schlemm's canal with iTrack 250A microcatheter; tensioning suture placed to permanently distend canal; lower IOP but complex",
])
sp(0.2)

subsection("Indications – NPGS")
bullets([
    "Open angle glaucoma where avoidance of hypotony is important (myopic eyes, prior vitrectomy)",
    "Surgeon preference in POAG with good target IOP (>12 mmHg adequate)",
])
subsection("Contraindications – NPGS")
bullets([
    "Very low target IOP required (<10 mmHg)",
    "Extensively scarred trabecular meshwork",
    "Combined with cataract surgery (may be done but less evidence)",
])
note("ECC (Enhanced-depth Coherence Canaloplasty): ab interno version using OVD under gonioscopy control – classified as MIGS.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 7 – CYCLODESTRUCTIVE
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("7. CYCLODESTRUCTIVE PROCEDURES")
sp()
para("Cyclodestructive procedures lower IOP by destroying ciliary body epithelium, thereby reducing aqueous production. Generally reserved for eyes with poor visual potential, refractory glaucoma, or pain management.")

subsection("7A. Trans-scleral Cyclodiode Laser (TSCL)")
para("Semiconductor diode 810 nm laser delivered trans-sclerally via a probe placed 1.2 mm behind limbus. Selectively absorbed by melanin in ciliary body pigment epithelium.")
subsubsection("Indications")
bullets([
    "Refractory glaucoma failing all other therapies",
    "Absolute glaucoma / no light perception (pain management)",
    "High-risk surgical eyes: Dense vascularization, poor conjunctiva",
    "Neovascular glaucoma (short-term IOP control)",
    "Blind painful eye",
])
subsubsection("Contraindications")
bullets([
    "Potentially sighted eye with other surgical options available",
    "Eyes with known uveal melanoma",
    "Good VA with other options remaining",
])
subsubsection("Technique")
bullets([
    "Peribulbar or retrobulbar anaesthesia; topical if unavailable",
    "Probe: Contact G-probe (Iridex) placed 1.2–1.8 mm behind limbus",
    "Parameters: 2000 mW, 2 seconds per spot (4 J); titrate until 'pop' sound (avoid – indicates overtreatment)",
    "Treat 270° (avoid 3 and 9 o'clock to spare long ciliary nerves / prevent anterior segment ischemia)",
    "Approx 16–20 burns per session",
    "Post-op: Topical steroid + cycloplegic; oral analgesic",
    "Can repeat if inadequate IOP control; interval ≥4 weeks",
])
subsubsection("Complications")
bullets([
    "Pain, inflammation",
    "IOP spike (early)",
    "Hypotony / phthisis bulbi (serious; more common with >2 sessions)",
    "Sympathetic ophthalmia (rare)",
    "Loss of accommodation",
    "Scleral thinning/perforation",
])
sp(0.2)

subsection("7B. Endoscopic Cyclophotocoagulation (ECP)")
para("810 nm diode laser applied via endoscope directly under visualization of ciliary processes. More precise than trans-scleral; fewer complications. Used in combined phaco-ECP.")
bullets([
    "Probe inserted through pars plana or limbal route",
    "Treat 270–360° of ciliary processes under direct visualization",
    "End-point: Whitening and shrinkage of ciliary processes",
    "Suitable for moderate glaucoma combined with cataract surgery",
])
update("EAGLE Study (2023): ECP combined with cataract surgery showed non-inferiority to phaco-trabeculectomy for mild-moderate glaucoma with fewer complications – growing evidence supports phaco-ECP as an option in this setting.")
sp(0.2)

subsection("7C. High-Intensity Focused Ultrasound (HIFU) – UCP / EyeOP1")
para("Focused ultrasound destroys ciliary body via thermal coagulation. Non-invasive (no probe placement). Device: EyeOP1 (Eye Tech Care). IOP reduction ~30–40%. Used in refractory glaucoma. FDA-approved 2018 in Europe; growing evidence.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 8 – MIGS
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("8. MINIMALLY INVASIVE GLAUCOMA SURGERY (MIGS)")
sp()
para("MIGS is a category of glaucoma surgeries sharing features of: ab interno approach, minimal trauma to ocular structures, rapid recovery, high safety profile, and modest efficacy. They are most appropriate for mild-to-moderate glaucoma, often combined with cataract surgery.")

subsection("MIGS Classification by Target Pathway")
three_col_table("Category", "Mechanism", "Device Examples",
    [
        ("Schlemm's Canal (Trabecular bypass)", "Bypass TM resistance; increase outflow via SC into collector channels", "iStent inject W, Hydrus Microstent"),
        ("Subconjunctival filtration", "Create micro-bleb similar to trabeculectomy but via ab interno approach", "XEN Gel Stent, PRESERFLO MicroShunt"),
        ("Suprachoroidal space", "Enhance uveoscleral outflow via suprachoroidal route", "iStent Supra, MINIject, CyPass (withdrawn)"),
        ("Trabecular ablation/goniotomy", "Remove or incise TM to directly access SC / collector channels", "KDB, GATT, OMNI, Trab360"),
        ("Aqueous production reduction", "Laser/thermal ciliary body ablation", "ECP, HIFU, STS diode"),
    ]
)
sp(0.2)

subsubsection("8A. Schlemm's Canal Devices")
sp(0.1)
para("<b>iStent inject W (Glaukos):</b> A second-generation trabecular micro-bypass stent. Two titanium stents (0.36 mm wide) implanted into SC via ab interno gonioscopy-guided approach. FDA-approved. IOP reduction ~20–30% with medication reduction.")
bullets([
    "Indications: Mild-moderate OAG combined with cataract surgery; POAG, PXG",
    "Contraindications: Closed angle, active uveitis, SVS glaucoma, inadequate gonioscopic view",
    "Technique: Gonioprism + keratome incision; push device through TM into SC × 2 stents placed ~2 clock hours apart",
    "Complications: Stent malposition, iris prolapse, hyphema, IOP spike",
])
sp(0.1)
para("<b>Hydrus Microstent (Ivantis/Alcon):</b> An 8 mm scaffold placed in SC via ab interno; spans 3 clock hours; dilates and scaffolds the canal. FDA-approved 2018.")
bullets([
    "HORIZON Trial (Samuelson et al., 2019): Phaco + Hydrus vs phaco alone – 77% vs 57% medication elimination at 2 years; IOP reduction ~2.6 mmHg greater",
    "COMPARE Trial (2021): Hydrus vs iStent – Hydrus showed superior IOP-lowering (21% vs 13%)",
    "Complications: Stent malposition, peripheral anterior synechiae near stent ends",
])
update("Long-term 5-year data from HORIZON Trial (2022) confirms durable IOP reduction with Hydrus; no increased risk of corneal endothelial cell loss.")
sp(0.2)

subsubsection("8B. Subconjunctival Filtration Devices")
sp(0.1)
para("<b>XEN Gel Stent (Allergan/AbbVie):</b> A 6 mm gelatin-based (cross-linked porcine collagen) implant with 45 µm lumen. Placed ab interno from AC to subconjunctival space, bypassing sclera to create a micro-bleb.")
bullets([
    "Lumen = 45 µm (Hagen-Poiseuille law limits flow; self-regulating against hypotony)",
    "Indications: Refractory OAG, failed trabeculectomy, patients unsuitable for trab, combined phaco",
    "Contraindications: Severe conjunctival scarring in target quadrant, prior filtering surgery in same area",
    "Technique: AC filled with OVD; XEN applicator needle (27G) passed through temporal corneal incision at 30–40° angle; deployed 3 mm into subconjunctival space; 1 mm through sclera; 2 mm in AC",
    "Post-op bleb management: Subconjunctival 5-FU injections; needling if encapsulation",
    "IOP reduction: ~6–8 mmHg; NeedlXT study showed 40% needed needling at 12 months",
])
sp(0.1)
para("<b>PRESERFLO MicroShunt (Santen/InnFocus):</b> 8.5 mm SIBS polymer (poly(styrene-block-isobutylene-block-styrene)) tube, 70 µm lumen, placed ab externo through scleral tunnel to subconjunctival space. Requires conjunctival incision.")
bullets([
    "PRESERFLO vs MMC trabeculectomy (Fili et al., Ophthalmology 2021): Non-inferior IOP outcomes, fewer severe complications (no hypotony maculopathy); faster recovery",
    "Not truly 'ab interno' – ab externo approach; less traumatic than full trabeculectomy",
    "Can be combined with MMC sponge application",
])
update("Baerveldt Tube vs XEN: A 2023 systematic review (Balas & Mathew, Vision) found XEN achieved IOP ~14.5 mmHg vs GDD ~13.7 mmHg; XEN had higher needling rate but fewer serious complications.")
sp(0.2)

subsubsection("8C. Suprachoroidal Space Devices")
para("Suprachoroidal implants enhance uveoscleral outflow by creating a patent pathway into the suprachoroidal space.")
bullets([
    "<b>CyPass Micro-Stent (Alcon):</b> 6.35 mm titanium device placed ab interno into suprachoroidal space. FDA-approved 2016. <b>WITHDRAWN 2018</b> – COMPASS-XT trial showed significant endothelial cell loss at 5 years.",
    "<b>iStent Supra (Glaukos):</b> Heparin-coated stent; investigational; suprachoroidal route",
    "<b>MINIject (iStar Medical):</b> Soft STAR biocompatible material; ab interno suprachoroidal; STAR-I trial IOP ~19→13 mmHg; no significant corneal loss",
])
update("Due to CyPass withdrawal, regulatory scrutiny of suprachoroidal devices increased. MINIject 3-year data (2023) shows sustained IOP reduction without corneal endothelial cell loss – resurging interest in this route.")
sp(0.2)

subsubsection("8D. Trabecular Ablation / Goniotomy")
para("These procedures remove or incise the TM to directly access Schlemm's canal and collector channels, providing a higher degree of IOP reduction than bypass stents.")
bullets([
    "<b>KDB Goniotomy (KAHOOK Dual Blade, New World Medical):</b> Dual-blade excises a strip of TM ab interno under gonioscopy; direct wide excision",
    "<b>GATT (Gonioscopy-Assisted Transluminal Trabeculotomy):</b> 360° ab interno trabeculotomy using a suture or illuminated microcatheter (iTrack); disrupts entire SC → high flow; good for congenital/juvenile glaucoma",
    "<b>OMNI Surgical System (Sight Sciences):</b> Single-use device; ab interno canaloplasty (OVD dilation of SC 360°) followed by goniotomy; two mechanisms combined",
    "<b>TRAB360:</b> 360° trabeculotomy ab interno using a stainless steel rotational device",
    "<b>Ab interno canaloplasty (ABiC) with iTrack:</b> OVD injected into SC 360° via microcatheter; viscodilation only (no tensioning suture as in ab externo)",
])
note("Trabecular ablation provides the highest IOP reduction among MIGS categories (~30–40%) but theoretical maximum is episcleral venous pressure (~8–10 mmHg). Cannot achieve IOP below EVP.")
update("GEMINI Trial (2022, Vold et al., Ophthalmology): OMNI standalone vs cataract + OMNI – standalone IOP reduction 7.6 mmHg; 80% IOP ≤18 mmHg without drops at 12 months.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 9 – PAEDIATRIC
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("9. GONIOTOMY & TRABECULOTOMY (PAEDIATRIC GLAUCOMA)")
sp()
para("Primary congenital glaucoma (PCG) is caused by maldevelopment of the trabecular meshwork and angle. Surgery is the mainstay of treatment; medications are only temporizing.")

subsection("Goniotomy (Barkan, 1936)")
para("Ab interno incision of the TM under direct gonioscopic visualization to open the underdeveloped trabecular tissue.")
bullets([
    "<b>Indications:</b> PCG with clear cornea (need visualization), JOAG, some secondary paediatric glaucomas",
    "<b>Contraindications:</b> Hazy cornea, very advanced disease (cup:disc >0.9), Axenfeld-Rieger syndrome",
    "<b>Technique:</b> Barkan goniotomy lens or Swan-Jacob lens; knife passed ab interno across AC; incise TM from 10–2 o'clock (120°); can repeat opposite segment",
    "<b>Success rate:</b> 70–90% for typical PCG with clear cornea",
    "<b>Complications:</b> Hyphema (common, usually resolves), cyclodialysis, iridodialysis, lens damage",
])
sp(0.2)

subsection("Trabeculotomy (Ab Externo)")
para("External approach; SC cannulated and trabeculotome rotated ab externo to break open TM. Used when cornea too hazy for goniotomy.")
bullets([
    "Radial limbal incision; SC identified by paracentesis; trabeculotome inserted; rotated into AC (2 passes, 120° each or single 360° via catheter)",
    "<b>GATT:</b> Ab interno 360° trabeculotomy via iTrack catheter; now preferred over classical trabeculotomy",
    "Success rate: 65–85%",
])
sp(0.2)

subsection("Combined Trabeculotomy-Trabeculectomy (CTT)")
para("Performed in PCG with advanced disease, failed primary surgery, or high IOP. Adds trabeculectomy bleb to external trabeculotomy for augmented IOP control. Especially used in India for PCG management (Mandal et al. series).")
note("CTT with MMC is favoured in India and Asia for advanced PCG. Success rates of 85–90% reported (Mandal, AIIMS protocol).")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 10 – COMBINED PHACO-GLAUCOMA
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("10. COMBINED PHACO-GLAUCOMA SURGERY")
sp()
para("Combination of cataract surgery (phacoemulsification) with a glaucoma procedure offers the advantage of reducing IOP and improving vision in a single operation, reducing recovery time and cost.")

subsection("Phaco-Trabeculectomy")
bullets([
    "Most common combined surgery; especially useful in PACG (lens extraction helps angle",
    "Opening of angle by thick lens removal combined with trabeculectomy for further IOP reduction",
    "Phaco first, then trabeculectomy superiorly (separate sites preferred to avoid fibrosis)",
    "IOP reduction less than standalone trabeculectomy; bleb management more difficult",
    "Indication: Coexisting visually significant cataract + uncontrolled glaucoma requiring surgery",
])
sp(0.2)

subsection("Phaco-GDD")
bullets([
    "Cataract + tube implantation in same session",
    "Tube preferably placed in AC after removal of IOL; or in sulcus/vitreous via pars plana",
    "Useful in patients with neovascular glaucoma + cataract",
])
sp(0.2)

subsection("Phaco-MIGS")
bullets([
    "Most popular combination: Phaco + iStent / Hydrus / KDB goniotomy / GATT / OMNI",
    "FDA-approved combinations: Phaco + iStent inject W; Phaco + Hydrus",
    "IOP reduction beyond cataract alone: Additional 1.5–3 mmHg; medication reduction significant",
    "Regulatory note: Many MIGS devices are only FDA-approved combined with cataract; standalone data more limited",
])
note("In PACG: Lens extraction alone (EAGLE trial) can lower IOP significantly by opening the angle – consider LCE (lens extraction) as primary procedure before adding trabeculectomy in some PACG cases.")
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 11 – RECENT ADVANCES
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("11. RECENT ADVANCES & FUTURE DIRECTIONS")
sp()

subsection("A. New Surgical Devices (2022–2026)")
bullets([
    "<b>iStent infinite (Glaukos, FDA 2022):</b> Triple-stent version for standalone MIGS (not just phaco-combined); targets more collector channels; IOP reduction ~30%",
    "<b>OMNI 2.0:</b> Updated catheter-based canaloplasty + goniotomy device; improved delivery system",
    "<b>MINIject (STAR-II, 2023):</b> 3-year data confirms 37% IOP reduction without corneal endothelial cell loss; suprachoroidal route resurgence",
    "<b>PRESERFLO 5-year data (2024):</b> Sustained IOP reduction ~35%; 52% medication-free; comparable to MMC trabeculectomy",
    "<b>Streamline Surgical System (New World Medical):</b> 360° SC catheterization + viscodilation (similar to OMNI) – additional player entering canal-based space",
])
sp(0.2)

subsection("B. Drug-Eluting Implants")
bullets([
    "<b>Bimatoprost SR (Durysta, Allergan):</b> Biodegradable intracameral implant; sustained release 33 µg bimatoprost for 4–6 months; FDA-approved 2020; reduces burden of drops",
    "<b>iDose TR (Glaukos):</b> Non-biodegradable travoprost intracameral implant (exchangeable); SOLARIS trial IOP reduction sustained at 12 months; FDA-approved 2024",
    "<b>OTX-TIC (Oculex/Allergan):</b> Travoprost-eluting intracanalicular implant; placed in SC via MIGS approach",
])
sp(0.2)

subsection("C. Surgical Technique Advances")
bullets([
    "<b>Ab externo canaloplasty + tensioning suture:</b> iTrack 360° catheter; proven long-term data; lower IOP than viscocanalostomy",
    "<b>Subscleral GATT:</b> GATT with deeper scleral dissection for larger outflow area",
    "<b>Microhook ab interno trabeculotomy (µLOT):</b> Japanese technique using microhook under gonioprism; comparable to KDB; 60–120° incision",
    "<b>Bent-needle goniotomy:</b> Cost-effective GATT variant using bent 25G needle; relevant for developing world",
    "<b>Deep Sclerectomy + iStent bypass:</b> Combining NPGS with intracanalicular stent for additive effect",
])
sp(0.2)

subsection("D. AI & Technology Integration")
bullets([
    "<b>Intraoperative OCT (iOCT):</b> Real-time imaging during MIGS to confirm stent/implant placement in SC; reduces malposition rate",
    "<b>AI-guided surgical planning:</b> Predicting bleb morphology and failure risk using OCT angiography + machine learning",
    "<b>Robotic-assisted glaucoma surgery:</b> Experimental; robotic systems for more precise tube/stent placement",
])
sp(0.2)

subsection("E. SLT & Laser Updates")
bullets([
    "<b>LiGHT Trial follow-up (2023):</b> SLT remains effective as primary therapy with 78% not requiring surgery at 6 years in POAG/OHT; cost savings vs drops confirmed",
    "<b>Repeat SLT:</b> Laser trabeculoplasty re-treatment trial confirms >70% response to 2nd SLT when first SLT had ≥20% IOP reduction",
    "<b>MFLT (MicroPulse Laser Trabeculoplasty):</b> Equivalent efficacy to SLT in direct comparison trials; safer in uveitic glaucoma",
])
sp(0.2)

subsection("F. Bleb Imaging & Management")
bullets([
    "<b>Anterior segment OCT bleb assessment:</b> Bleb morphology (bleb wall thickness, bleb height, reflectivity) predicts IOP outcomes and needling response",
    "<b>Mitomycin-C delivery systems:</b> MMC-soaked sponge vs MMC-loaded collagen matrix (OcuGel) – equivalent outcomes, reduced handling risk",
])
sp()

# ════════════════════════════════════════════════════════════════════════════
# SECTION 12 – SUMMARY TABLE
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
section("12. HIGH-YIELD SUMMARY TABLE – GLAUCOMA SURGERIES")
sp()

summary_data = [
    [Paragraph("<b>Surgery</b>", mkstyle("SH", fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("<b>IOP Reduction</b>", mkstyle("SH2", fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("<b>Key Indication</b>", mkstyle("SH3", fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("<b>Key Risk</b>", mkstyle("SH4", fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold")),
    ],
    [Paragraph("LPI", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("Not applicable (opens angle)", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("PACG / PAC", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Dysphotopsia", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("SLT", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("20–30%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("POAG primary/adjunct", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("IOP spike (rare)", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("Trabeculectomy", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("35–45%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Refractory OAG", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Hypotony, blebitis, endophthalmitis", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("GDD (Ahmed/Baerveldt)", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("30–40%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Failed trab, NVG, uveitic", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Hypertensive phase, tube erosion", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("Non-penetrating (DSTS)", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("20–30%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("POAG, avoid hypotony", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("TDM perforation, lower success", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("Cyclodiode TSCL", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("30–50%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Refractory / blind eye", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Phthisis, hypotony", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("iStent inject W", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("20–25% (+ phaco)", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Mild-mod OAG + cataract", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Malposition, IOP spike", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("Hydrus Microstent", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("~25–30% (+ phaco)", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Mild-mod OAG + cataract", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("PAS at stent ends", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("XEN Gel Stent", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("25–35%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Refractory OAG, failed trab", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Needling rate 40%, migration", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("PRESERFLO", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("~35%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("OAG alternative to trab", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Requires bleb mgmt like trab", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("GATT / KDB Goniotomy", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("30–40%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("OAG, juvenile glaucoma", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Hyphema, limited by EVP", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("Goniotomy / Trabeculotomy", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("70–90% success (PCG)", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Primary congenital glaucoma", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Hyphema, repeat needed", mkstyle("SC4", fontSize=8, leading=11))],
    [Paragraph("iDose TR / Durysta", mkstyle("SC", fontSize=8, leading=11)),
     Paragraph("~20–25%", mkstyle("SC2", fontSize=8, leading=11)),
     Paragraph("Compliance issues, adjunct to surgery", mkstyle("SC3", fontSize=8, leading=11)),
     Paragraph("Intracameral inflammation, limited duration", mkstyle("SC4", fontSize=8, leading=11))],
]

summary_t = Table(summary_data, colWidths=[3.8*cm, 3.2*cm, 5*cm, 5*cm])
summary_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), NAVY),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("BOX",           (0,0), (-1,-1), 0.7, NAVY),
    ("INNERGRID",     (0,0), (-1,-1), 0.3, colors.HexColor("#aaaaaa")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 5),
    ("RIGHTPADDING",  (0,0), (-1,-1), 5),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(summary_t)
sp(0.4)

# References
story.append(HRFlowable(width="100%", thickness=1, color=NAVY, spaceAfter=4))
story.append(Paragraph("References", h2))
ref_style = mkstyle("Ref", fontSize=8.5, textColor=DGRAY, leading=13, leftIndent=16, firstLineIndent=-16)
refs = [
    "Kanski's Clinical Ophthalmology: A Systematic Approach, 10th Edition. Kanski JJ, Bowling B. Elsevier, 2023.",
    "Gedde SJ et al. Treatment Outcomes in the Primary Tube Versus Trabeculectomy (PTVT) Study after 3 years of follow-up. Ophthalmology. 2020.",
    "Gazzard G et al. Selective laser trabeculoplasty versus eye drops for first-line treatment of ocular hypertension and glaucoma (LiGHT). Lancet. 2019.",
    "Ang BCH, Lim SY, Betzler BK et al. Recent Advancements in Glaucoma Surgery – A Review. Bioengineering (Basel). 2023;10(9):1096.",
    "Chan PPM et al. Minimally Invasive Glaucoma Surgery: Latest Developments and Future Challenges. Asia Pac J Ophthalmol. 2023.",
    "Samuelson TW et al. A Schlemm Canal Microstent for Intraocular Pressure Reduction in Primary Open-Angle Glaucoma and Cataract: The HORIZON Study. Ophthalmology. 2019.",
    "Fili S et al. PRESERFLO MicroShunt vs Trabeculectomy. Ophthalmology. 2021.",
    "Mandal AK et al. Combined trabeculotomy-trabeculectomy for developmental glaucoma. AIIMS experience.",
    "Christakis PG et al. The Ahmed Versus Baerveldt Study: 5-year Treatment Outcomes. Ophthalmology. 2016.",
    "Healey PR et al. ZAP Trial. Ophthalmology. 2019.",
]
for i, r in enumerate(refs, 1):
    story.append(Paragraph(f"{i}.  {r}", ref_style))

sp(0.5)
story.append(Paragraph(
    "© 2026 Orris Medical Education. Prepared for PG Ophthalmology examination study purposes.",
    mkstyle("Footer", fontSize=8, textColor=colors.gray, alignment=TA_CENTER)
))

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

cd /tmp/workspace/glaucoma-surgery && python build_pdf.py 2>&1

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.