Make a pdf on the topic glaucoma surgeries covering all the steps , indications and contraindications, latest and recent make it elaborate for study material fir pg ophthalmology student Please note to make it in a simple white background and black text
glaucoma surgery trabeculectomy MIGS outcomes
mkdir -p /tmp/workspace/glaucoma-surgery && ls /tmp/workspace/
??????
Why it is taking so much time after so many attempts
mkdir -p /tmp/workspace/glaucoma-surgery && python3 << 'PYEOF' 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 doc = SimpleDocTemplate( "/tmp/workspace/glaucoma-surgery/Glaucoma_Surgeries_PG_Ophthalmology.pdf", pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2.2*cm, bottomMargin=2.2*cm, title="Glaucoma Surgeries - PG Ophthalmology Study Material" ) W = A4[0] - 4*cm styles = getSampleStyleSheet() # Custom styles cover_title = ParagraphStyle('CoverTitle', parent=styles['Title'], fontSize=28, textColor=colors.black, spaceAfter=10, alignment=TA_CENTER, fontName='Helvetica-Bold') cover_sub = ParagraphStyle('CoverSub', parent=styles['Normal'], fontSize=14, textColor=colors.black, spaceAfter=6, alignment=TA_CENTER, fontName='Helvetica') cover_detail = ParagraphStyle('CoverDetail', parent=styles['Normal'], fontSize=11, textColor=colors.black, spaceAfter=4, alignment=TA_CENTER, fontName='Helvetica-Oblique') h1 = ParagraphStyle('H1', parent=styles['Heading1'], fontSize=16, textColor=colors.black, spaceBefore=18, spaceAfter=8, fontName='Helvetica-Bold', borderPad=4, borderWidth=0, leading=20) h2 = ParagraphStyle('H2', parent=styles['Heading2'], fontSize=13, textColor=colors.black, spaceBefore=14, spaceAfter=6, fontName='Helvetica-Bold', leading=16) h3 = ParagraphStyle('H3', parent=styles['Heading3'], fontSize=11, textColor=colors.black, spaceBefore=10, spaceAfter=4, fontName='Helvetica-BoldOblique', leading=14) body = ParagraphStyle('Body', parent=styles['Normal'], fontSize=10, textColor=colors.black, spaceAfter=6, spaceBefore=2, fontName='Helvetica', leading=15, alignment=TA_JUSTIFY) bullet = ParagraphStyle('Bullet', parent=styles['Normal'], fontSize=10, textColor=colors.black, spaceAfter=4, fontName='Helvetica', leading=14, leftIndent=16, bulletIndent=4) subbullet = ParagraphStyle('SubBullet', parent=styles['Normal'], fontSize=9.5, textColor=colors.black, spaceAfter=3, fontName='Helvetica', leading=13, leftIndent=30, bulletIndent=18) note = ParagraphStyle('Note', parent=styles['Normal'], fontSize=9.5, textColor=colors.black, spaceAfter=5, spaceBefore=5, fontName='Helvetica-Oblique', leading=13, leftIndent=10, borderPad=5, backColor=colors.HexColor('#F5F5F5')) keypoint = ParagraphStyle('KeyPoint', parent=styles['Normal'], fontSize=10, textColor=colors.black, spaceAfter=5, spaceBefore=5, fontName='Helvetica-Bold', leading=14, leftIndent=8) def HR(): return HRFlowable(width="100%", thickness=1, color=colors.black, spaceAfter=6, spaceBefore=6) def HR2(): return HRFlowable(width="100%", thickness=0.5, color=colors.grey, spaceAfter=4, spaceBefore=4) def B(text): return f"<b>{text}</b>" def I(text): return f"<i>{text}</i>" story = [] # ─── COVER PAGE ─────────────────────────────────────────────── story.append(Spacer(1, 3*cm)) story.append(Paragraph("GLAUCOMA SURGERIES", cover_title)) story.append(HR()) story.append(Spacer(1, 0.4*cm)) story.append(Paragraph("Comprehensive Study Material", cover_sub)) story.append(Paragraph("for PG Ophthalmology Students", cover_sub)) story.append(Spacer(1, 1*cm)) story.append(Paragraph("Covering All Procedures · Indications & Contraindications", cover_detail)) story.append(Paragraph("Surgical Steps · Complications · Recent Advances (2024–2026)", cover_detail)) story.append(Spacer(1, 2*cm)) toc_data = [ ["CONTENTS", ""], ["1. Introduction & Overview", ""], ["2. Laser Treatments of Glaucoma", ""], [" • Laser Trabeculoplasty (ALT / SLT)", ""], [" • Laser Iridotomy (LPI)", ""], [" • Diode Laser Cycloablation (DLCP)", ""], [" • Laser Iridoplasty (ALPI)", ""], ["3. Trabeculectomy", ""], [" • Indications & Contraindications", ""], [" • Surgical Steps (Detailed)", ""], [" • Antimetabolites (MMC / 5-FU)", ""], [" • Ex-PRESS Mini-Shunt", ""], [" • Postoperative Management", ""], [" • Complications & Management", ""], ["4. Non-Penetrating Glaucoma Surgery", ""], [" • Deep Sclerectomy", ""], [" • Viscocanalostomy", ""], ["5. Glaucoma Drainage Devices (GDD)", ""], [" • Types: Molteno, Baerveldt, Ahmed, PAUL", ""], [" • Indications & Surgical Steps", ""], [" • Complications", ""], ["6. Minimally Invasive Glaucoma Surgery (MIGS)", ""], [" • Schlemm Canal-Based", ""], [" • Bleb-Based", ""], [" • Supraciliary", ""], ["7. Cyclodestructive Procedures", ""], ["8. Recent Advances (2024–2026)", ""], ["9. Quick Revision Tables", ""], ] toc_table = Table(toc_data, colWidths=[W*0.85, W*0.15]) toc_table.setStyle(TableStyle([ ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTSIZE', (0,0), (-1,0), 12), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,1), (-1,-1), 10), ('TEXTCOLOR', (0,0), (-1,-1), colors.black), ('LINEBELOW', (0,0), (-1,0), 1, colors.black), ('ROWBACKGROUNDS', (0,0), (-1,-1), [colors.white, colors.HexColor('#F9F9F9')]), ('LEFTPADDING', (0,0), (-1,-1), 4), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ])) story.append(toc_table) story.append(Spacer(1, 1*cm)) story.append(Paragraph("Source: Kanski's Clinical Ophthalmology 10th Ed · Wills Eye Manual · PubMed 2024–2026", cover_detail)) story.append(PageBreak()) # ─── CHAPTER 1: INTRODUCTION ────────────────────────────────── story.append(Paragraph("1. INTRODUCTION AND OVERVIEW", h1)) story.append(HR()) story.append(Paragraph( "Glaucoma is characterized by progressive optic neuropathy with associated visual field loss, in which elevated intraocular pressure (IOP) plays a central pathogenic role. When medical or laser therapy fails to achieve the target IOP, surgical intervention becomes necessary. The fundamental aim of all glaucoma surgery is to lower IOP sufficiently to halt or slow progressive optic nerve damage.", body)) story.append(Paragraph(B("General Goals of Surgical Treatment:"), body)) items = [ "Reduce IOP to the individually determined target pressure", "Preserve existing visual function and quality of life", "Minimize surgical morbidity and complications", "Reduce or eliminate dependence on topical medications", "Provide a durable, long-term solution" ] for item in items: story.append(Paragraph(f"• {item}", bullet)) story.append(Spacer(1, 0.3*cm)) story.append(Paragraph(B("Classification of Glaucoma Surgical Procedures:"), body)) class_data = [ [B("Category"), B("Procedures")], ["Laser Procedures", "ALT, SLT, LPI, DLCP, ALPI, ECP"], ["Filtration Surgery (Penetrating)", "Trabeculectomy, Ex-PRESS mini-shunt"], ["Non-Penetrating Surgery", "Deep Sclerectomy, Viscocanalostomy"], ["Glaucoma Drainage Devices", "Molteno, Baerveldt, Ahmed Valve, PAUL"], ["MIGS", "iStent, Hydrus, Kahook Dual Blade, Trabectome, Xen Gel Stent, Preserflo, MINIject"], ["Cyclodestructive Procedures", "TSCPC, Endocyclophotocoagulation (ECP)"], ] ct = Table(class_data, colWidths=[W*0.38, W*0.62]) ct.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('LEFTPADDING', (0,0), (-1,-1), 5), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(ct) story.append(PageBreak()) # ─── CHAPTER 2: LASER TREATMENTS ───────────────────────────── story.append(Paragraph("2. LASER TREATMENTS OF GLAUCOMA", h1)) story.append(HR()) # 2.1 SLT/ALT story.append(Paragraph("2.1 Laser Trabeculoplasty (ALT / SLT)", h2)) story.append(Paragraph( B("Argon Laser Trabeculoplasty (ALT)") + " uses a 50-micron spot to create thermal burns at the trabecular meshwork, increasing aqueous outflow mechanically and biochemically. " + B("Selective Laser Trabeculoplasty (SLT)") + " uses a Q-switched 532 nm Nd:YAG laser that selectively targets pigmented trabecular meshwork cells, causing minimal collateral thermal damage. SLT is now the preferred first-line option and is repeatable.", body)) story.append(Paragraph(B("Indications:"), h3)) ind = ["Primary open-angle glaucoma (POAG) — first-line or adjunct to drops", "Ocular hypertension with risk factors", "Pseudoexfoliation glaucoma (good response)", "Pigmentary glaucoma", "Steroid-induced glaucoma", "Patient non-compliance with drops", "ALT: for eyes with moderate pigmentation of trabecular meshwork"] for i in ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Contraindications:"), h3)) ci = ["Angle-closure glaucoma (relative — open angle must be confirmed first)", "Extensive peripheral anterior synechiae (PAS) covering >180°", "Inflammatory (uveitic) glaucoma", "Neovascular glaucoma", "Eyes with clear trabecular meshwork (poor response in albinos)", "Previous 360° ALT (for repeat ALT — SLT can be tried)"] for i in ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("SLT Technique (Step-by-Step):"), h3)) steps_slt = [ ("1", "Instill topical anaesthetic drops (e.g. proxymetacaine 0.5%)"), ("2", "Apply apraclonidine 1% or brimonidine to prevent post-laser IOP spike"), ("3", "Place Latina SLT lens (or equivalent gonioscopy lens) with coupling gel"), ("4", "Laser parameters: 400 µm spot size, 3 ns pulse duration, 532 nm wavelength"), ("5", "Energy: start at 0.6–0.8 mJ; titrate to see 'champagne bubbles' (cavitation) — just sub-threshold effect"), ("6", "Apply 50–100 non-overlapping spots over 180° (lower half) or 360° of trabecular meshwork"), ("7", "Treat only the pigmented trabecular band — avoid Schwalbe's line and ciliary body band"), ("8", "Post-laser: re-check IOP at 30–60 minutes; prescribe anti-inflammatory drops for 3–5 days"), ("9", "Maximum IOP reduction typically seen at 4–8 weeks"), ] slt_table = Table([(B(s[0]), s[1]) for s in steps_slt], colWidths=[W*0.06, W*0.94]) slt_table.setStyle(TableStyle([ ('FONTNAME', (0,0), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9.5), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ('LEFTPADDING', (0,0), (0,-1), 2), ])) story.append(slt_table) story.append(Paragraph(I("SLT achieves ~25-30% IOP reduction. LiGHT trial (2019) demonstrated SLT as superior first-line therapy vs drops in newly diagnosed POAG/OHT — 74% of SLT patients required no drops at 3 years."), note)) # 2.2 LPI story.append(Paragraph("2.2 Laser Peripheral Iridotomy (LPI)", h2)) story.append(Paragraph( "LPI creates a full-thickness opening in the peripheral iris, equalizing pressure between posterior and anterior chambers, eliminating pupillary block and opening the drainage angle.", body)) story.append(Paragraph(B("Indications:"), h3)) lpi_ind = ["Primary angle-closure suspect (PACS) — prophylactic", "Primary angle closure (PAC) — therapeutic", "Primary angle-closure glaucoma (PACG)", "Acute angle-closure crisis — after IOP reduction with medications", "Fellow eye of acute angle closure", "Plateau iris syndrome (combined with ALPI)", "Phacomorphic glaucoma (temporary measure)", "Mixed-mechanism glaucoma with pupillary block component"] for i in lpi_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Contraindications:"), h3)) lpi_ci = ["Flat anterior chamber (very high risk of corneal damage)", "Corneal oedema/opacity obscuring view — relative; clear corneal area needed", "Rubeosis iridis / neovascular iris — risk of severe haemorrhage", "Non-pupillary block angle closure (e.g. plateau iris — ALPI preferred)", "Patient inability to cooperate"] for i in lpi_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Technique (Step-by-Step):"), h3)) steps_lpi = [ ("1", "Pilocarpine 2% drops 30 minutes before to constrict pupil, stretch iris, and thin the peripheral iris stroma"), ("2", "Apraclonidine 1% to prevent IOP spike"), ("3", "Topical anaesthetic; place Abraham iridotomy lens (66D button) with coupling gel"), ("4", "Select site: superior iris at 11 or 1 o'clock position (under upper lid to reduce glare symptoms), preferably in a crypt"), ("5", "Nd:YAG laser — single or burst pulses: 4–8 mJ; aim for a full-thickness opening (observe deep brown pigment layer, then red reflex)"), ("6", "Confirm patency: gonioscopy to check angle opening; slit-lamp to confirm trans-illumination defect"), ("7", "Post-laser: apraclonidine or brimonidine, topical steroids for 5–7 days"), ("8", "Check IOP at 30–60 minutes; review gonioscopy at 4–6 weeks"), ] lpi_t = Table([(B(s[0]), s[1]) for s in steps_lpi], colWidths=[W*0.06, W*0.94]) lpi_t.setStyle(TableStyle([ ('FONTNAME', (0,0), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9.5), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ])) story.append(lpi_t) story.append(Paragraph(I("Optimal LPI size: 150–200 µm (functional patency). Argon laser can be used first to 'pre-treat' the iris before Nd:YAG to reduce bleeding."), note)) # 2.3 DLCP story.append(Paragraph("2.3 Diode Laser Cyclophotocoagulation (DLCP / TSCPC)", h2)) story.append(Paragraph( "Transscleral cyclophotocoagulation (TSCPC) uses an 810 nm diode laser to ablate the ciliary body epithelium, reducing aqueous production. It is typically reserved for eyes with poor visual potential or refractory glaucoma.", body)) story.append(Paragraph(B("Indications:"), h3)) dlcp_ind = ["Refractory glaucoma unresponsive to maximum medical and surgical therapy", "Neovascular glaucoma", "End-stage glaucoma with poor visual prognosis", "Painful blind eye (for comfort)", "Repeated failure of filtration surgery", "High surgical risk patients (elderly, poor general health)", "Eyes not suitable for filtration surgery (extensive scarring)"] for i in dlcp_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Contraindications:"), h3)) dlcp_ci = ["Eye with good visual potential (risk of vision loss — relative)", "Active uveitis (can exacerbate inflammation)", "Silicone oil-filled eye (risk of burn injury to oil)"] for i in dlcp_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Technique:"), h3)) steps_dlcp = [ ("1", "Peribulbar or retrobulbar anaesthesia"), ("2", "G-probe placed 1.2–1.5 mm posterior to limbus (to target ciliary body pars plana)"), ("3", "Parameters: 810 nm diode, 2000 mW, 2-second duration per spot"), ("4", "Apply 16–20 spots over 270° (avoid 3 and 9 o'clock positions — risk of long ciliary nerve damage)"), ("5", "Listen for 'pop' sounds — reduce energy by 250 mW if heard (indicates over-treatment)"), ("6", "Post-op: atropine 1%, topical steroids, oral analgesia"), ("7", "IOP effect begins at 2–4 weeks; can be repeated if necessary"), ] dlcp_t = Table([(B(s[0]), s[1]) for s in steps_dlcp], colWidths=[W*0.06, W*0.94]) dlcp_t.setStyle(TableStyle([('FONTNAME', (0,0), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9.5), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3)])) story.append(dlcp_t) story.append(Paragraph(B("MicroPulse Transscleral Laser Therapy (MP-TSCPC):"), h3)) story.append(Paragraph( "A newer modality using micropulse diode laser (810 nm) in repetitive short pulses (duty cycle 31.3%). Delivers 'subthreshold' energy — targets retinal pigment and ciliary epithelium with less thermal damage. Used with the MicroPulse P3 probe (360° treatment). Reported lower risk of hypotony and phthisis compared to conventional TSCPC. Gaining popularity in moderate glaucoma with some visual potential.", body)) # 2.4 ALPI story.append(Paragraph("2.4 Argon Laser Peripheral Iridoplasty (ALPI)", h2)) story.append(Paragraph( "ALPI uses low-energy argon laser burns to contract the peripheral iris stroma, mechanically pulling the iris away from the trabecular meshwork — opening the drainage angle.", body)) story.append(Paragraph(B("Indications:"), h3)) alpi_ind = ["Plateau iris syndrome (primary indication)", "Residual angle closure after LPI", "Acute angle closure when LPI not immediately possible", "Nanophthalmos with angle closure"] for i in alpi_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Parameters:"), body)) story.append(Paragraph("500 µm spot · 0.5 s duration · 200–400 mW · 20–24 spots placed in far peripheral iris · Use Goldmann 3-mirror or Abraham lens.", bullet)) story.append(PageBreak()) # ─── CHAPTER 3: TRABECULECTOMY ──────────────────────────────── story.append(Paragraph("3. TRABECULECTOMY", h1)) story.append(HR()) story.append(Paragraph( "Trabeculectomy (filtration surgery / guarded sclerostomy) remains the gold standard surgical procedure for glaucoma. It creates a fistula protected by a partial-thickness scleral flap, allowing aqueous to flow from the anterior chamber to the sub-Tenon space, forming a filtering bleb on the surface of the eye.", body)) story.append(Paragraph("3.1 Indications", h2)) trab_ind = [ "Failure of medical therapy to achieve adequate IOP control despite maximum tolerated treatment", "Progressive visual field deterioration despite apparently adequate IOP control", "Advanced glaucoma requiring very low target pressure (esp. in younger patients — primary surgery may achieve superior long-term outcomes)", "Patient non-compliance or intolerance to topical medications", "Patient preference: desire to be free of chronic medical treatment", "Pseudoexfoliation or pigmentary glaucoma not controlled medically", "Uveitic glaucoma uncontrolled medically (with appropriate anti-inflammatory cover)", "Combined trabeculectomy + phacoemulsification (phacotrabeculectomy) when cataract coexists" ] for i in trab_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.2 Contraindications", h2)) story.append(Paragraph(B("Absolute:"), h3)) trab_abs_ci = [ "Active corneal ulcer or infection", "Active ocular surface disease (e.g. Stevens-Johnson syndrome — very high failure rate)", "Uncontrolled systemic bleeding disorder" ] for i in trab_abs_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Relative:"), h3)) trab_rel_ci = [ "Extensive conjunctival scarring (prior surgery, chemical injury) — may need GDD instead", "Active uveitis (high failure risk; treat inflammation first)", "Neovascular glaucoma (consider GDD; trabeculectomy has poor outcome)", "Iridocorneal endothelial (ICE) syndrome", "Aphakic glaucoma (high failure rate; consider GDD)", "Primary angle-closure glaucoma with significant PAS (consider phacoemulsification first)", "Only eye — extreme caution due to risk of endophthalmitis and vision loss", "Patient unable to attend for close follow-up" ] for i in trab_rel_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.3 Preoperative Preparation", h2)) pre_op = [ "Stop anticoagulants/antiplatelet agents (aspirin, clopidogrel, warfarin) as per systemic team advice", "Treat any blepharitis or conjunctivitis before surgery", "Continue glaucoma medications until the day of surgery", "Biometry if combined phacotrabeculectomy planned", "Pilocarpine 2% instilled on the morning of surgery to constrict the pupil", "Informed consent: explain bleb, risk of failure, need for anti-metabolites, lifelong follow-up" ] for i in pre_op: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.4 Detailed Surgical Steps", h2)) story.append(Paragraph(B("Anaesthesia:"), body)) story.append(Paragraph("Peribulbar or sub-Tenon's local anaesthesia is standard. General anaesthesia in children or very anxious patients.", body)) steps_trab = [ ("1", B("Bridle suture:") + " A 4-0 silk or 7-0 Vicryl bridle suture is inserted through superior corneal stroma (or superior rectus) to rotate the globe downward and expose the superior limbus."), ("2", B("Conjunctival flap:") + " Either a limbal-based flap (incision at limbus, base anteriorly — preferred by many; faster healing) or a fornix-based flap (incision at fornix — better bleb morphology, easier dissection). The conjunctiva and Tenon's capsule are lifted together."), ("3", B("Haemostasis:") + " Episcleral tissue is cleared; bleeding vessels are cauterized with wet-field diathermy. Meticulous haemostasis reduces bleb failure from blood-induced fibrosis."), ("4", B("Scleral flap:") + " A partial-thickness lamellar scleral flap (~50% scleral depth) is fashioned, typically 3×3 mm rectangular, trapezoidal, or triangular depending on surgeon preference. Incisions are made with a 15° blade. The flap is dissected anteriorly until clear cornea is reached (entering the 'blue zone')."), ("5", B("Antimetabolite application (if used):") + " MMC (0.1–0.5 mg/mL for 1–3 min) or 5-FU (50 mg/mL for 5 min) is applied under the conjunctiva/Tenon's with a soaked sponge. Thorough irrigation with 20 mL BSS is essential afterward. Applied before entering the anterior chamber."), ("6", B("Paracentesis:") + " A side-port paracentesis is made in temporal clear cornea with a 15° blade to allow anterior chamber reformation and pressure regulation during surgery."), ("7", B("Sclerostomy (punch):") + " A 1×1.5 mm block of deep sclera and trabecular meshwork is excised using a Kelly punch or Vannas scissors, just anterior to Schlemm's canal. This creates the internal fistula. Aqueous should flow freely."), ("8", B("Peripheral iridectomy (PI):") + " The iris is grasped at the base with Lim's or Moorfields forceps and a small sector iridectomy is performed with Vannas scissors to prevent iris prolapse blocking the sclerostomy. Omitted in some pseudophakic eyes (but small risk of iris plug remains)."), ("9", B("Scleral flap sutures:") + " The flap is closed with 10-0 nylon sutures at the posterior corners. Releasable or laser-lysable sutures allow postoperative titration of filtration. Some surgeons add radial edge sutures to prevent lateral leakage."), ("10", B("Anterior chamber reformation:") + " BSS is injected via the paracentesis to deepen the AC and test the patency and flow rate through the fistula. Aim for a diffuse, low bleb with formed AC."), ("11", B("Conjunctival closure:") + " Conjunctiva/Tenon's flap is sutured water-tight using 10-0 Vicryl or 8-0 Vicryl on a vascular needle. Irrigation through paracentesis is repeated to confirm a well-formed bleb with no leak (Seidel negative)."), ("12", B("Postoperative medications:") + " Atropine 1% drop instilled at end; steroid + antibiotic subconjunctival injection inferiorly. Topical antibiotic + steroid QID for 2 weeks; then steroid alone for 8–12 weeks."), ] for step in steps_trab: story.append(Paragraph(f"{step[0]}. {step[1]}", bullet)) story.append(Spacer(1, 2)) story.append(Paragraph("3.5 Antimetabolites in Filtration Surgery", h2)) story.append(Paragraph( "The major cause of trabeculectomy failure is subconjunctival fibrosis at the bleb site, driven by Tenon's fibroblast proliferation. Antimetabolites dramatically improve success rates, especially in high-risk cases.", body)) amm_data = [ [B("Feature"), B("Mitomycin C (MMC)"), B("5-Fluorouracil (5-FU)")], ["Mechanism", "Alkylating agent — cross-links DNA, irreversibly inhibits fibroblast proliferation", "Antimetabolite — inhibits thymidylate synthase, blocks DNA synthesis"], ["Dose/Concentration", "0.1–0.4 mg/mL (intraop)", "50 mg/mL (intraop) or 5 mg/0.1 mL (postop subconjunctival)"], ["Duration of application", "1–5 minutes (intraoperative)", "5 minutes (intraop) or 5 mg injection × 5–10 postop doses"], ["Potency", "More potent; longer lasting", "Less potent; shorter lasting"], ["Bleb morphology", "Thin-walled, avascular, cystic", "More diffuse, vascular"], ["Risk of hypotony", "Higher", "Lower"], ["Risk of bleb leak/infection", "Higher (thin blebs)", "Lower"], ["Indications (when to use)", "High-risk cases: young patients, previous surgery, uveitic, aphakic, NVG", "Lower-risk adjunctive use or postoperative salvage"], ] amm_t = Table(amm_data, colWidths=[W*0.22, W*0.39, W*0.39]) amm_t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('LEFTPADDING', (0,0), (-1,-1), 4), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ('WORDWRAP', (0,0), (-1,-1), True), ])) story.append(amm_t) story.append(Paragraph(B("High-risk cases warranting MMC:"), h3)) mmchigh = ["Young age (<40 years)", "Aphakia", "Previous failed trabeculectomy", "Active or previous uveitis", "Neovascular glaucoma", "Previous conjunctival surgery (strabismus, retinal)", "Black/African-descent patients (higher fibrosis risk)", "Pseudophakia with iris clip or AC IOL"] for i in mmchigh: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.6 Ex-PRESS Mini-Shunt", h2)) story.append(Paragraph( "The Ex-PRESS is a stainless steel (MRI-compatible titanium) miniature drainage device (2–3 mm long, 400 µm outer diameter) inserted under a scleral flap, providing a standardized, reproducible route for aqueous drainage. It is placed via a needle track rather than a punch sclerostomy — eliminating the need for iridectomy.", body)) story.append(Paragraph(B("Key Points:"), h3)) express_pts = [ "Scleral flap creation is identical to standard trabeculectomy", "A 25-gauge needle enters the AC at the corneoscleral junction; the Ex-PRESS device is inserted into this track", "No iridectomy required (lower rate of haemorrhage)", "Lower rates of early hypotony and hyphaema vs standard trabeculectomy", "IOP control equivalent to standard trabeculectomy at 1–2 years", "NOT recommended in primary angle-closure glaucoma without prior cataract surgery", "Can be used with MMC in high-risk cases" ] for i in express_pts: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.7 Postoperative Management and Follow-up", h2)) postop = [ "Day 1: check VA, IOP, AC depth, bleb morphology, Seidel test", "Week 1: assess bleb; consider 5-FU injections if bleb is flattening/failing", "Releasable suture removal at 1–4 weeks to augment filtration (if IOP elevated)", "Laser suture lysis (using argon or diode laser via Hoskins/Ritch lens) if tight scleral sutures limiting filtration", "Bleb massage: gentle pressure on lower lid to push aqueous through the fistula", "Avoid eye rubbing, heavy lifting for 2 weeks", "Long-term: annual review for bleb-related infection risk (lifetime risk ~1–2% per year for late endophthalmitis)" ] for i in postop: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("3.8 Complications of Trabeculectomy", h2)) comp_data = [ [B("Complication"), B("Mechanism / Features"), B("Management")], ["Early Hypotony\n(<5 mmHg IOP)", "Overfiltration; wound leak; cyclodialysis cleft", "Pressure patch; bleb leak repair; Simmons shell; reform AC with viscoelastic"], ["Shallow / Flat AC", "Overfiltration or suprachoroidal effusion", "Atropine; aqueous suppressants; drain choroidal if grade 3-4 (lens-cornea touch)"], ["Hyphaema", "Iris or ciliary body bleeding at iridectomy", "Observe; avoid anticoagulants; wash out if 8-ball hyphaema"], ["Choroidal detachment", "Hypotony → transudation", "Observe if shallow; drain surgically if severe"], ["Malignant Glaucoma\n(Aqueous misdirection)", "Ciliolenticular block → aqueous directed posteriorly; high IOP + flat AC + absent bleb", "Atropine + phenylephrine; IV mannitol; vitreous aspiration; Nd:YAG hyaloidotomy; vitrectomy"], ["Failure of Filtration", "Subconjunctival fibrosis; episcleral membrane", "Bleb needling + 5-FU; repeat trabeculectomy; GDD"], ["Late Bleb Leak", "Thin avascular bleb (esp. post-MMC)", "Bandage contact lens; autologous blood injection; surgical bleb revision"], ["Bleb Dysaesthesia", "Uncomfortable exposed bleb; triggered by lid movement", "Lubricants; autologous serum; conjunctival advancement; surgical excision"], ["Blebitis / Endophthalmitis", "Bacterial invasion via thin-walled bleb", "URGENT: hospitalize; intravitreal antibiotics (vancomycin + ceftazidime); vitrectomy if vitreous involved"], ["Cataract progression", "Hypotony; lens-cornea touch; surgical trauma", "Phacoemulsification when visually significant"], ["Diplopia", "Rectus muscle trauma (esp. superior rectus bridle suture)", "Usually resolves; strabismus surgery if persistent"], ] comp_t = Table(comp_data, colWidths=[W*0.22, W*0.40, W*0.38]) comp_t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('LEFTPADDING', (0,0), (-1,-1), 4), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ('WORDWRAP', (0,0), (-1,-1), True), ])) story.append(comp_t) story.append(PageBreak()) # ─── CHAPTER 4: NON-PENETRATING GLAUCOMA SURGERY ───────────── story.append(Paragraph("4. NON-PENETRATING GLAUCOMA SURGERY (NPGS)", h1)) story.append(HR()) story.append(Paragraph( "Non-penetrating procedures avoid full-thickness entry into the anterior chamber, instead relying on a thin Descemet membrane window to allow aqueous filtration. The theoretical advantage is a lower incidence of early hypotony and related complications.", body)) story.append(Paragraph("4.1 Deep Sclerectomy", h2)) story.append(Paragraph( "A Descemet window is created by excising a deep scleral lamella, exposing the juxtacanalicular trabecular meshwork and Descemet's membrane. Aqueous percolates through this trabeculo-Descemet membrane into the intrascleral space, sub-Tenon space (bleb formation), and along suprachoroidal routes.", body)) story.append(Paragraph(B("Indications:"), h3)) ds_ind = ["Open-angle glaucoma (POAG, pseudoexfoliative, pigmentary) not controlled by medications", "Patients who cannot tolerate the risk of hypotony (e.g. monocular patients)", "Combined with phacoemulsification", "Younger patients with good visual potential (lower hypotony risk vs trabeculectomy)"] for i in ds_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Contraindications:"), h3)) ds_ci = ["Angle-closure glaucoma (requires open angle)", "Neovascular glaucoma", "Uveitic glaucoma with PAS", "Previously failed filtration surgery (relative — results are poorer)"] for i in ds_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("Steps:"), h3)) ds_steps = [ ("1", "Conjunctival/Tenon flap (limbal or fornix based)"), ("2", "Superficial scleral flap: 5×5 mm, 300 µm depth"), ("3", "Deep scleral flap: 4×4 mm, extending to Schlemm's canal and Descemet's membrane junction"), ("4", "Schlemm's canal outer wall is unroofed; the deep flap is excised — leaving a thin trabecular-Descemet membrane window"), ("5", "Collagen implant (Aquaflow or SKGEL) placed in the intrascleral lake to maintain space"), ("6", "Superficial scleral flap sutured loosely; conjunctival closure"), ("7", "Postoperative Nd:YAG goniopuncture (at 1–3 months) can be applied to the Descemet window to enhance filtration if IOP rises"), ] for s in ds_steps: story.append(Paragraph(f"{s[0]}. {s[1]}", bullet)) story.append(Paragraph(I("Deep sclerectomy achieves IOP ~15–17 mmHg; lower success rate vs trabeculectomy at 5 years but significantly fewer early hypotony-related complications."), note)) story.append(Paragraph("4.2 Viscocanalostomy", h2)) story.append(Paragraph( "Similar initial dissection to deep sclerectomy. After exposing the Schlemm's canal, high-viscosity viscoelastic (Healon GV) is injected into the canal to dilate it and disrupt the juxtacanalicular tissue, improving physiological outflow. The superficial flap is sutured tightly (no bleb formation intended). Aqueous outflow is improved primarily through the conventional drainage pathway.", body)) story.append(Paragraph(B("Advantage:") + " No bleb — eliminates bleb-related complications.", bullet)) story.append(Paragraph(B("Disadvantage:") + " Lower IOP reduction compared to trabeculectomy or deep sclerectomy.", bullet)) story.append(PageBreak()) # ─── CHAPTER 5: GLAUCOMA DRAINAGE DEVICES ──────────────────── story.append(Paragraph("5. GLAUCOMA DRAINAGE DEVICES (GDD)", h1)) story.append(HR()) story.append(Paragraph( "GDDs (also called tube shunts, aqueous shunts, or long-tube implants) divert aqueous from the anterior chamber via a silicone tube to a posterior episcleral reservoir (plate/explant), where it is absorbed. IOP reduction results from passive, pressure-dependent flow limited by the fibrous capsule that forms around the plate.", body)) story.append(Paragraph("5.1 Types of GDD", h2)) gdd_data = [ [B("Device"), B("Type"), B("Plate Area"), B("Key Features")], ["Molteno3", "Non-valved", "137 mm² (single) or 274 mm² (double)", "Polypropylene; single or double plate; requires ligation or venting slits to prevent early hypotony"], ["Baerveldt", "Non-valved", "250 or 350 mm²", "Large silicone plate; sutured under 2 rectus muscles; requires tube ligation until capsule forms (6–8 wks)"], ["Ahmed Glaucoma Valve (AGV)", "Valved (FP7/FP8)", "184 mm²", "Venturi/Urrets-Zavalia valve — opens at IOP >8 mmHg; reduces early hypotony; most widely used; prime before surgery"], ["PAUL", "Non-valved", "344 mm²", "Newest device; smaller tube diameter; long narrow plate does not sit under rectus muscles — lower diplopia risk; good early results"], ["Aurolab Aqueous Drainage Implant (AADI)", "Non-valved", "200 mm²", "Indian-made (Aravind); affordable; comparable to Baerveldt in studies"], ] gdd_t = Table(gdd_data, colWidths=[W*0.18, W*0.14, W*0.22, W*0.46]) gdd_t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('LEFTPADDING', (0,0), (-1,-1), 4), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(gdd_t) story.append(Paragraph("5.2 Indications for GDD", h2)) gdd_ind = [ "Uncontrolled glaucoma following failed trabeculectomy (with or without MMC)", "Severe conjunctival scarring precluding safe trabeculectomy dissection", "Active neovascular glaucoma", "Uveitic glaucoma (particularly with extensive PAS or previous surgery)", "Aphakic and pseudophakic glaucoma (high failure rate for trabeculectomy)", "Iridocorneal endothelial (ICE) syndrome", "Epithelial downgrowth / fibrous ingrowth", "Glaucoma associated with vitreoretinal surgery (silicone oil)", "Penetrating keratoplasty with glaucoma (tube placed via pars plana)", "Congenital / developmental glaucoma (when goniotomy/trabeculotomy fails)" ] for i in gdd_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("5.3 Contraindications for GDD", h2)) gdd_ci = [ "Eyes with inadequate conjunctival space for plate placement", "Active endophthalmitis or severe corneal disease", "Very shallow anterior chamber (risk of corneal endothelial touch)", "Patient unable to comply with postoperative care" ] for i in gdd_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("5.4 Detailed Surgical Steps (Ahmed Valve / Non-valved Tube)", h2)) gdd_steps = [ ("1", B("Anaesthesia:") + " Peribulbar or general anaesthesia"), ("2", B("Conjunctival peritomy:") + " Limbal conjunctival peritomy in the supero-temporal quadrant (between superior and lateral rectus muscles) — most common site. Superior nasal site (between superior and medial rectus) used for second implant."), ("3", B("Plate fixation:") + " Plate is positioned 8–10 mm posterior to limbus. Secured to episclera with two 9-0 nylon or 8-0 Ethibond sutures through the fixation holes."), ("4", B("Prime the valve (Ahmed only):") + " Inject BSS through the tube with a 27-gauge cannula to open the valve leaflets."), ("5", B("Tube ligation (non-valved):") + " For Baerveldt/Molteno — tie the tube with a 3-0 Vicryl ligature to occlude flow until a fibrous capsule forms (prevents early hypotony). Venting slits or a ripcord suture may be added to allow partial drainage."), ("6", B("Anterior chamber entry:") + " A 23-gauge needle is inserted into the AC parallel to the iris at the corneoscleral limbus (under a pre-placed patch graft site)."), ("7", B("Tube trimming and insertion:") + " Tube is trimmed at 45° bevel; inserted so that 2–3 mm extends into the AC above the iris plane. The bevel faces anteriorly."), ("8", B("Tube coverage:") + " Tube is covered with a patch graft (human donor sclera, pericardium, or cornea) to prevent tube erosion. Secured with 9-0 nylon or 8-0 Vicryl sutures."), ("9", B("Conjunctival closure:") + " Watertight closure of conjunctiva with 8-0 Vicryl."), ("10", B("Postoperative:") + " Topical antibiotic + steroid QID for 4–6 weeks; IOP monitored closely; glaucoma medications continued until tube functioning fully (non-valved: ~6–8 weeks until ligation suture dissolves)."), ] for s in gdd_steps: story.append(Paragraph(f"{s[0]}. {s[1]}", bullet)) story.append(Paragraph("5.5 Complications of GDD", h2)) gdd_comp = [ ("Early hypotony", "Overfiltration; Ahmed over-drainage; manage with viscoelastic injection into AC"), ("Bleb encapsulation (Tenon cyst)", "Raised IOP 1–6 weeks post-op; thick-walled bleb over plate; more common with Ahmed; treat with topical steroids, needling, or revision"), ("Tube malposition", "Corneal endothelial touch (decompensation); iris or lens touch; reposition tube or convert to pars plana placement"), ("Tube erosion", "Tube erodes through sclera/conjunctiva; risk of endophthalmitis; requires patch graft replacement"), ("Corneal decompensation", "Endothelial cell loss from tube touch or inflammation"), ("Diplopia", "Extraocular muscle interference from plate; less common with PAUL device"), ("Early tube blockage", "Fibrin, blood, vitreous, or iris plug; manage with Nd:YAG laser or tube irrigation"), ("Late failure", "~10% per year; comparable to trabeculectomy") ] for comp, mgmt in gdd_comp: story.append(Paragraph(f"• {B(comp)}: {mgmt}", bullet)) story.append(Paragraph(I("TVT Study (Tube vs. Trabeculectomy): At 5 years, IOP reduction, failure rates, and visual loss were similar between non-valved tube (Baerveldt) and MMC-trabeculectomy. More postoperative medication needed in tube group."), note)) story.append(PageBreak()) # ─── CHAPTER 6: MIGS ───────────────────────────────────────── story.append(Paragraph("6. MINIMALLY INVASIVE GLAUCOMA SURGERY (MIGS)", h1)) story.append(HR()) story.append(Paragraph( "MIGS encompasses a heterogeneous group of implants and techniques that aim to lower IOP with significantly less surgical risk, faster recovery, and lower complication rates compared to traditional glaucoma surgery. MIGS is most commonly combined with phacoemulsification. The IOP reduction is typically modest and suitable for mild to moderate glaucoma.", body)) story.append(Paragraph(B("General Indications for MIGS:"), h3)) migs_ind = [ "Mild to moderate open-angle glaucoma (not requiring very low target IOP)", "Combined with phacoemulsification (phaco-MIGS) to reduce medication burden", "Target IOP of 15–17 mmHg (not suitable when very low pressures are required)", "Patients wishing to reduce or eliminate topical medications", "Glaucoma suspects with elevated IOP as adjunct to cataract surgery" ] for i in migs_ind: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph(B("General Contraindications for MIGS:"), h3)) migs_ci = [ "Severe or advanced glaucoma requiring very low target IOP (<12 mmHg)", "Angle-closure glaucoma (for Schlemm canal-based procedures — open angle required)", "Neovascular glaucoma (NVA/NVI present)", "Active uveitis", "Narrow or closed angles (for angle-based devices)", "Previous failed MIGS — may compromise future trabeculectomy bleb (increased fibrosis risk)" ] for i in migs_ci: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("6.1 Group 1: Schlemm Canal-Based MIGS (No Bleb)", h2)) story.append(Paragraph(B("A. Trabecular Bypass Stents:"), h3)) story.append(Paragraph(B("iStent inject W (Glaukos):"), body)) istent = [ "2nd-generation device; two stents inserted ab interno through the trabecular meshwork into Schlemm's canal", "Each stent: 360 µm long, 230 µm outer diameter; 4 side outlets", "Inserted via gonioprism under direct gonioscopic visualization", "Mechanism: bypasses resistance of the juxtacanalicular trabecular meshwork", "Results: ~30% IOP reduction from baseline; maintained up to 5 years (iStent meta-analysis)", "Best results in eyes with functional collector channels", "Combined with phaco: additional ~1–2 mmHg reduction beyond phaco alone" ] for i in istent: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("Hydrus Microstent (Alcon):"), body)) hydrus = [ "8 mm long crescent-shaped nitinol scaffold inserted into Schlemm's canal spanning ~3 clock hours", "Mechanism: scaffolds and dilates ~90° of Schlemm's canal; provides multiple access windows to collector channels", "HORIZON Study (5-year data): Hydrus + phaco significantly superior to phaco alone; 41% medication-free vs 19% in phaco-only group", "Lower risk of IOP spike post-phaco compared to phaco alone" ] for i in hydrus: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("B. Trabecular Excision/Ablation:"), h3)) story.append(Paragraph(B("Trabectome (NovaBay):"), body)) trabectome = [ "Ab-interno trabeculotomy using electrosurgical ablation of trabecular meshwork", "Creates a 60–120° goniotomy-like opening directly into Schlemm's canal", "IOP reduction: ~40% at 1 year in stand-alone cases", "Combined with phaco (phaco-trabectome): good results in POAG", "Complication: retrograde haemorrhage from Schlemm's canal (hyphema) — usually self-limiting" ] for i in trabectome: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("Kahook Dual Blade (KDB) Goniotomy:"), body)) kdb = [ "Dual-bladed ab-interno cutting device — excises a strip of trabecular meshwork rather than simple incision", "Creates a wider, cleaner opening than single-blade goniotomy", "Available as reusable or single-use instrument", "Combined with phaco: IOP reduction ~30–35%; comparable to iStent in head-to-head studies" ] for i in kdb: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("Ab-Interno Canaloplasty (iTrack, Nova Eye):"), body)) itrack = [ "A 250 µm flexible illuminated microcatheter is inserted into Schlemm's canal and threaded 360°", "High-viscosity viscoelastic injected during withdrawal to dilate the canal and collector channels", "Creates durable outflow enhancement; can be combined with goniotomy", "Results: ~30% IOP reduction; maintains efficacy at 3 years" ] for i in itrack: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph("6.2 Group 2: Bleb-Based MIGS (Sub-Tenon Drainage)", h2)) story.append(Paragraph( "These devices use a microstent to bypass the trabecular meshwork and outer sclera, draining aqueous to a subconjunctival/sub-Tenon bleb — similar to trabeculectomy but less invasive. MMC is usually injected subconjunctivally to reduce bleb fibrosis.", body)) story.append(Paragraph(B("Xen Gel Stent (Allergan/AbbVie):"), body)) xen = [ "45 µm lumen gelatin stent (6 mm long) inserted ab-interno through the TM into subconjunctival space", "Gelatin softens in contact with aqueous, resisting fibrosis", "MMC 0.02% (0.1 mL) injected subconjunctivally at intended stent site prior to insertion", "IOP reduction: ~35–40% at 1 year; ~25% at 2 years", "25–30% require needling or revision within 2 years", "Advantages: no conjunctival incision required; day-case procedure under topical anaesthesia", "Complications: stent malposition, fibrosis, hypotony, bleb leaks" ] for i in xen: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("Preserflo MicroShunt (Santen; formerly InnFocus):"), body)) preserflo = [ "8 mm long SIBS (poly[styrene-block-isobutylene-block-styrene]) polymer tube", "Lumen diameter 70 µm; inserted via ab-externo conjunctival incision approach", "SIBS is highly biocompatible — minimal fibrosis induction", "Combined with MMC application; creates a diffuse, low bleb", "PRESERFLO vs. Trabeculectomy Study: comparable IOP reduction at 1–2 years; fewer complications", "Advantage: simpler insertion than trabeculectomy; no scleral flap required" ] for i in preserflo: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph("6.3 Group 3: Supraciliary / Suprachoroidal MIGS", h2)) story.append(Paragraph(B("MINIject (iSTAR Medical):"), body)) miniject = [ "5 mm × 1.1 mm silicone implant composed of thousands of interconnected hollow spheres (STAR biocompatible material)", "Placed ab-interno into the supraciliary space; protrudes 0.5 mm into the AC", "Increases uveoscleral outflow (suprachoroidal pathway)", "No bleb formed; no antimetabolite required", "IOP reduction: ~35% at 2 years in stand-alone studies", "Small risk of late corneal endothelial cell loss" ] for i in miniject: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("CyPass Micro-Stent:"), body)) story.append(Paragraph( "Note: CyPass was withdrawn from the market in 2018 due to accelerated corneal endothelial cell loss detected in the COMPASS-XT 5-year data. This is an important examination point — awareness of device withdrawal and its reason.", note)) story.append(Paragraph(B("MIGS Surgical Steps (General ab-interno approach):"), h3)) migs_steps = [ ("1", "Topical or peribulbar anaesthesia"), ("2", "Temporal clear corneal incision (2.2–2.8 mm) — same as phacoemulsification if combined"), ("3", "Viscoelastic fills the AC to maintain the angle"), ("4", "Head/microscope tilted 30–40° away; gonioscopy lens placed to visualize the nasal angle"), ("5", "Device-specific inserter introduced through the corneal wound and directed to the nasal TM"), ("6", "Device deployed into/through TM under direct gonioscopic visualization (iStent, Hydrus, KDB, Xen)"), ("7", "Viscoelastic removed; corneal wound may be hydrated or sutured"), ("8", "Postoperative: topical steroid + antibiotic; continue glaucoma medications initially and taper based on IOP response"), ] for s in migs_steps: story.append(Paragraph(f"{s[0]}. {s[1]}", bullet)) migs_comparison = [ [B("Device"), B("Target"), B("Bleb?"), B("MMC?"), B("IOP Reduction"), B("Key Trial")], ["iStent inject W", "TM / Schlemm", "No", "No", "~30%", "iStent meta-analysis"], ["Hydrus", "Schlemm canal", "No", "No", "~30–35%", "HORIZON (5yr)"], ["Trabectome", "TM ablation", "No", "No", "~30–40%", "Multiple RCTs"], ["KDB Goniotomy", "TM excision", "No", "No", "~30–35%", "COMPARE RCT"], ["Xen 45", "Subconjunctival", "Yes", "Yes", "~35–40%", "APEX Study"], ["Preserflo", "Subconjunctival", "Yes", "Yes", "~35–42%", "PRESERFLO vs Trab"], ["MINIject", "Supraciliary", "No", "No", "~35%", "STAR-I, STAR-II"], ] migs_t = Table(migs_comparison, colWidths=[W*0.18, W*0.18, W*0.1, W*0.1, W*0.18, W*0.26]) migs_t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('LEFTPADDING', (0,0), (-1,-1), 4), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(migs_t) story.append(PageBreak()) # ─── CHAPTER 7: CYCLODESTRUCTIVE ────────────────────────────── story.append(Paragraph("7. CYCLODESTRUCTIVE PROCEDURES", h1)) story.append(HR()) story.append(Paragraph( "Cyclodestructive procedures reduce IOP by ablating ciliary body epithelium, thereby decreasing aqueous production. They are generally reserved for refractory or end-stage glaucoma.", body)) story.append(Paragraph("7.1 Endocyclophotocoagulation (ECP)", h2)) story.append(Paragraph( "ECP uses an 810 nm diode laser delivered via an endoscopic probe introduced into the AC or vitreous cavity. It provides direct visualization of ciliary processes under endoscopic guidance, allowing precise ablation.", body)) ecp_pts = [ "Performed combined with phacoemulsification (phaco-ECP) — popular in moderate glaucoma", "Less collateral damage than TSCPC due to direct visualization", "IOP reduction: ~20–35% at 1–2 years", "Indications: refractory glaucoma with poor bleb formation potential; combined phaco-ECP in moderate POAG", "Complications: hypotony (if over-treated), cystoid macular oedema, sympathetic ophthalmia (rare)" ] for i in ecp_pts: story.append(Paragraph(f"• {i}", bullet)) story.append(Paragraph("7.2 High-Intensity Focused Ultrasound (HIFU) Cycloplasty (EyeOP1)", h2)) story.append(Paragraph( "A ring of 6 ultrasound transducers is placed on the eye and focuses energy to the ciliary body without skin/scleral incision. Each session takes ~3 minutes. Used for refractory glaucoma. Results show ~30% IOP reduction at 1 year. Still under investigation in Europe and India.", body)) story.append(PageBreak()) # ─── CHAPTER 8: RECENT ADVANCES ────────────────────────────── story.append(Paragraph("8. RECENT ADVANCES IN GLAUCOMA SURGERY (2023–2026)", h1)) story.append(HR()) advances = [ ("MIGS Expansion and Long-term Evidence", "The HORIZON 5-year data for Hydrus confirmed sustained IOP reduction and medication reduction vs phaco alone with a favorable safety profile. Multiple 2024–2025 meta-analyses confirm combined phaco-MIGS superior to phaco alone for IOP and medication reduction in mild-moderate OAG (PMID 39089358, 40340860). MIGS in normal tension glaucoma also shows benefit per 2024 meta-analysis (PMID 38853535)."), ("Preserflo MicroShunt", "The PRESERFLO MicroShunt has emerged as an effective alternative to trabeculectomy with a simpler surgical technique. 2–3 year data shows comparable IOP reduction to trabeculectomy with fewer early complications. The SIBS polymer's biocompatibility reduces the need for adjunctive antimetabolite in many cases."), ("Minimally Invasive Bleb Surgery (MIBS)", "A Health Technology Assessment (2024, PMID 38332948) concluded MIBS (Xen, Preserflo) are effective and safe alternatives to trabeculectomy for open-angle glaucoma, with comparable IOP outcomes and improved safety profiles. Recommended for integration into clinical pathways."), ("PAUL Glaucoma Implant", "The PAUL GDD (300 µm tube diameter vs 600 µm for Baerveldt) reduces risk of early hypotony in non-valved tubes. The narrower footplate reduces diplopia. 3-year data shows IOP outcomes equivalent to Ahmed and Baerveldt with lower hypotony rates. Now increasingly used as primary tube shunt."), ("MicroPulse Transscleral Laser Therapy (MP-TLT)", "MP-TLT (Iridex CYCLO G6 with MicroPulse P3 probe) has gained traction as a less destructive cyclodestruction modality for moderate-to-advanced glaucoma. 2024 studies confirm ~25–35% IOP reduction with a favorable safety profile and repeatability. Being evaluated as a viable option even in eyes with residual visual potential."), ("iStent infinite (3rd Generation)", "The iStent infinite contains three pre-loaded stents deployed in a single pass. Initial 1-year data shows ~30–35% IOP reduction in stand-alone procedures. FDA-approved 2022; now entering clinical practice in India and Europe for moderate OAG not requiring very low IOP."), ("Subthreshold Micropulse Laser Trabeculoplasty", "Micropulse laser trabeculoplasty (MLT) using 577 nm yellow laser or 810 nm diode in micropulse mode is being evaluated as a less inflammatory alternative to SLT. Early evidence suggests comparable efficacy with reduced risk of post-laser IOP spikes."), ("Goniotomy for Congenital Glaucoma — Advances", "360-degree ab-interno trabeculotomy using illuminated microcatheters (iTrack) has shown superior results compared to traditional trabeculotomy in congenital glaucoma, achieving >80% success in primary congenital glaucoma at 2 years."), ("Artificial Intelligence in Surgical Planning", "AI-based systems are being developed to predict trabeculectomy bleb failure, optimize antimetabolite dosing, and identify ideal MIGS candidates based on gonioscopic angle morphology, visual field severity, and OCT-RNFL data."), ("Sustained-release Drug Delivery Combined with Surgery", "Bimatoprost SR (Durysta implant) and travoprost-eluting stents are being combined with MIGS procedures. iDose TR (travoprost sustained release implant, Glaukos) showed 80% responder rate — approved FDA 2024. Represents a paradigm combining pharmacological and surgical IOP lowering."), ] for title, content in advances: story.append(Paragraph(B(title), h3)) story.append(Paragraph(content, body)) story.append(PageBreak()) # ─── CHAPTER 9: QUICK REVISION TABLES ──────────────────────── story.append(Paragraph("9. QUICK REVISION TABLES", h1)) story.append(HR()) story.append(Paragraph("9.1 Glaucoma Surgery by Type of Glaucoma", h2)) bytype = [ [B("Glaucoma Type"), B("Preferred Surgical Approach")], ["POAG (mild-moderate)", "SLT first → Phaco-MIGS → Trabeculectomy"], ["POAG (advanced)", "Trabeculectomy with MMC"], ["PACG", "LPI → Phacoemulsification → Trabeculectomy if needed"], ["Acute angle closure", "Emergency: IV Acetazolamide + pilocarpine + timolol → Laser PI when IOP controlled"], ["Pseudoexfoliation glaucoma", "SLT (excellent response) → Trabeculectomy"], ["Pigmentary glaucoma", "SLT → Trabeculectomy"], ["Neovascular glaucoma", "Anti-VEGF injection → Ahmed valve GDD (trabeculectomy poor outcome)"], ["Uveitic glaucoma", "Optimize anti-inflammatory → Trabeculectomy (with MMC) or GDD"], ["Primary congenital glaucoma", "Goniotomy / Trabeculotomy (first line) → Combined trabeculotomy-trabeculectomy → GDD"], ["Juvenile OAG", "Goniotomy/Trabeculotomy → Trabeculectomy with MMC"], ["ICE syndrome", "GDD (trabeculectomy poor outcome)"], ["Aphakic glaucoma", "GDD preferred (high failure rate for trabeculectomy)"], ["Steroid-induced", "Withdraw steroid → SLT → Trabeculectomy"], ["Failed previous trabeculectomy", "GDD or repeat trabeculectomy with MMC"], ["Plateau iris", "ALPI → Phacoemulsification"], ] byt_t = Table(bytype, colWidths=[W*0.38, W*0.62]) byt_t.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#E0E0E0')), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTNAME', (0,1), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 8.5), ('GRID', (0,0), (-1,-1), 0.5, colors.black), ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#F5F5F5')]), ('VALIGN', (0,0), (-1,-1), 'MIDDLE'), ('LEFTPADDING', (0,0), (-1,-1), 5), ('TOPPADDING', (0,0), (-1,-1), 4), ('BOTTOMPADDING', (0,0), (-1,-1), 4), ])) story.append(byt_t) story.append(Paragraph("9.2 High-Yield Examination Points", h2)) highyield = [ "Gold standard for glaucoma surgery: Trabeculectomy", "Most common cause of trabeculectomy failure: Subconjunctival fibrosis", "Most potent antimetabolite: MMC (more than 5-FU)", "MMC complication (late): Thin avascular bleb → blebitis/endophthalmitis", "TVT Study: Tube vs MMC-trabeculectomy — comparable outcomes at 5 years", "ABC Study: Ahmed IOP = 14.7; Baerveldt IOP = 12.7 mmHg at 5 years (Baerveldt lowers more, more hypotony risk)", "CyPass withdrawn 2018: Corneal endothelial cell loss (COMPASS-XT data)", "LiGHT Trial: SLT superior to drops as first-line for newly diagnosed POAG/OHT", "Malignant glaucoma: Flat AC + high IOP + absent bleb + Seidel negative — treated with atropine + mannitol", "Bleb-related endophthalmitis: Commonest organism = Streptococcus spp / H. influenzae (late-onset)", "PAUL GDD: Narrower tube (300 µm) — less early hypotony, less diplopia than Baerveldt", "iDose TR: First FDA-approved sustained-release travoprost implant (2024) for glaucoma", "HORIZON 5-year: Hydrus microstent + phaco superior to phaco alone for IOP and medication reduction", "MicroPulse TLT: Subthreshold cyclodestruction — repeatable, useful in eyes with residual vision", "Non-penetrating surgery: No PI required; lower hypotony risk; lower IOP reduction than trabeculectomy", "Goniotomy vs Trabeculotomy: Both for congenital glaucoma; Trabeculotomy doesn't need clear cornea", "360° trabeculotomy with iTrack: Success >80% in primary congenital glaucoma", "Preserflo: SIBS polymer — highly biocompatible; simpler to insert than trabeculectomy" ] for i, pt in enumerate(highyield): story.append(Paragraph(f"{i+1}. {pt}", bullet)) story.append(Paragraph("9.3 Congenital Glaucoma Surgery", h2)) story.append(Paragraph(B("Goniotomy:"), h3)) gonio = [ "Indication: Primary congenital glaucoma (PCG) — first line when cornea is clear (allows gonioscopy)", "Technique: Under GA; Barkan goniotomy lens; 23-gauge needle or Kahook blade ab-interno to incise TM", "Success: 70–90% in early-onset PCG (Barkan stage I/II)", "Repeated up to 3 times if needed", ] for i in gonio: story.append(Paragraph(f" - {i}", subbullet)) story.append(Paragraph(B("Trabeculotomy:"), h3)) trabotomy = [ "Indication: PCG when cornea is cloudy (cannot perform gonioscopy); also as alternative to goniotomy", "Technique: External approach — Schlemm's canal identified; Harms trabeculotome inserted into canal and rotated into AC, tearing the TM", "360° trabeculotomy with illuminated microcatheter (iTrack): Superior to conventional trabeculotomy", "Combined trabeculotomy-trabeculectomy: For advanced or recurrent cases", ] for i in trabotomy: story.append(Paragraph(f" - {i}", subbullet)) story.append(Spacer(1, 0.5*cm)) story.append(HR()) story.append(Paragraph( "References: Kanski's Clinical Ophthalmology 10th Ed (Jack J Kanski & Brad Bowling) · Wills Eye Manual 7th Ed · " "PMID 38332948 (MIBS HTA 2024) · PMID 38853535 (Angle-MIGS in NTG 2024) · " "PMID 39089358 (Phaco-MIGS meta-analysis 2025) · PMID 40437308 (VF outcomes phaco-MIGS 2025) · " "PMID 40340860 (MIGS in NTG 2025) · LiGHT Trial (Gazzard et al. Lancet 2019) · " "TVT Study (Gedde et al. Am J Ophthalmol 2012) · HORIZON Study (Samuelson et al. 2022) · " "ABC Study (Barton et al. Ophthalmology 2016)", ParagraphStyle('Ref', parent=styles['Normal'], fontSize=7.5, textColor=colors.black, fontName='Helvetica-Oblique', leading=11, alignment=TA_JUSTIFY))) doc.build(story) print("PDF GENERATED SUCCESSFULLY") PYEOF
Glaucoma Surgeries PG Ophthalmology
PDF Document · PDF