Glaucoma ophthalmology
Which glaucoma topic should I explain in detail?
Summarised notes
glaucoma treatment
American Academy Ophthalmology primary open angle glaucoma preferred practice pattern angle closure glaucoma
| Feature | POAG | Acute angle-closure glaucoma |
|---|---|---|
| Onset | Insidious | Sudden |
| Pain/redness | Usually absent | Severe ocular pain, red eye |
| Vision | Initially normal, later peripheral field loss | Marked blurred vision, haloes |
| Systemic symptoms | None | Headache, nausea, vomiting |
| Cornea | Clear | Hazy due to oedema |
| Pupil | Normal early | Mid-dilated, fixed/sluggish |
| IOP | Often raised, may be normal | Very high |
| Anterior chamber | Deep | Shallow |
| Fellow eye | May have glaucoma | Usually anatomically narrow and at risk |
| Drug group | Examples | Main action | Important adverse effects/cautions |
|---|---|---|---|
| Prostaglandin analogues | Latanoprost, travoprost, bimatoprost | Increase uveoscleral outflow | Iris darkening, lash growth, periocular changes, uveitis risk |
| Beta-blocker | Timolol | Reduces aqueous production | Avoid/caution in asthma, COPD, bradycardia, heart block |
| Alpha-2 agonist | Brimonidine | Reduces production, increases outflow | Allergy, dry mouth, fatigue |
| Carbonic anhydrase inhibitor | Dorzolamide, brinzolamide; oral acetazolamide | Reduces aqueous production | Stinging; systemic acetazolamide can cause paresthesia, acidosis, renal-stone risk |
| Miotic | Pilocarpine | Opens trabecular meshwork by ciliary muscle contraction | Miosis, brow ache, induced myopia; used particularly in pupillary-block angle closure after IOP reduction |
Create a one-page glaucoma quick-reference PDF
~/
glaucoma treatment
American Academy Ophthalmology glaucoma patient acute angle closure emergency symptoms treatment
mkdir -p "/tmp/workspace/glaucoma-quick-reference/src" "/tmp/workspace/glaucoma-quick-reference/output" && python - <<'PY' from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas from reportlab.lib.colors import HexColor, white, black from reportlab.pdfbase.pdfmetrics import stringWidth from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.units import mm from reportlab.pdfbase.pdfmetrics import stringWidth from reportlab.pdfbase.pdfmetrics import getAscentDescent from reportlab.lib import colors out='/tmp/workspace/glaucoma-quick-reference/output/Glaucoma_Quick_Reference.pdf' W,H=A4 c=canvas.Canvas(out,pagesize=A4) c.setTitle('Glaucoma Quick Reference') c.setAuthor('Orris') # Palette navy=HexColor('#103B4C'); teal=HexColor('#087E8B'); pale=HexColor('#EAF5F5') bluepale=HexColor('#EAF1F7'); red=HexColor('#B23A48'); redpale=HexColor('#FCEBED') gray=HexColor('#45545C'); line=HexColor('#C9D7DB'); green=HexColor('#28664B') M=12*mm; gap=6*mm; usable=W-2*M; col=(usable-gap)/2 def text(x,y,s,size=8,font='Helvetica',color=black): c.setFont(font,size); c.setFillColor(color); c.drawString(x,y,s) def wrap(s,font,size,maxw): words=s.split(); lines=[]; cur='' for word in words: trial=(cur+' '+word).strip() if stringWidth(trial,font,size)<=maxw: cur=trial else: lines.append(cur); cur=word if cur: lines.append(cur) return lines def box(x,top,w,title,items,accent=teal,fill=white,fs=7.4, pad=4.5*mm): # items tuples (heading, body) or plain strings lines=[] for item in items: if isinstance(item,tuple): head,body=item arr=wrap(head+' ', 'Helvetica-Bold',fs,w-2*pad) # structured combined wrapping with first head own first=head+' ' bodylines=wrap(body,'Helvetica',fs,w-2*pad-stringWidth(first,'Helvetica-Bold',fs)) lines.append(('combo',head,bodylines)) else: lines.append(('plain',wrap(item,'Helvetica',fs,w-2*pad))) lh=fs*1.33; height=10*mm for z in lines: if z[0]=='plain': height+=len(z[1])*lh+1.3*mm else: height+=max(1,len(z[2]))*lh+1.3*mm bottom=top-height c.setFillColor(fill); c.roundRect(x,bottom,w,height,3*mm,fill=1,stroke=0) c.setFillColor(accent); c.roundRect(x,bottom,w,5.5*mm,3*mm,fill=1,stroke=0) c.rect(x,bottom,w,height-3*mm,fill=0,stroke=0) text(x+pad,top-4.0*mm,title.upper(),8.2,'Helvetica-Bold',white) y=top-9*mm c.setFillColor(gray) for z in lines: if z[0]=='plain': for i,l in enumerate(z[1]): prefix='• ' if i==0 else ' ' text(x+pad,y,prefix+l,fs,'Helvetica',gray); y-=lh y-=1.3*mm else: head,bodylines=z[1],z[2] text(x+pad,y,'• '+head,fs,'Helvetica-Bold',navy) x2=x+pad+stringWidth('• '+head+' ','Helvetica-Bold',fs) if bodylines: text(x2,y,bodylines[0],fs,'Helvetica',gray) y-=lh for l in bodylines[1:]: text(x+pad+3.6*mm,y,l,fs,'Helvetica',gray); y-=lh y-=1.3*mm return bottom # Header c.setFillColor(navy); c.rect(0,H-31*mm,W,31*mm,fill=1,stroke=0) text(M,H-14*mm,'GLAUCOMA',21,'Helvetica-Bold',white) text(M,H-21*mm,'One-page ophthalmology quick reference',9.2,'Helvetica',HexColor('#D7F1F2')) c.setFillColor(teal); c.roundRect(W-M-52*mm,H-22.5*mm,52*mm,10*mm,5*mm,fill=1,stroke=0) text(W-M-46.5*mm,H-18.7*mm,'PROTECT THE OPTIC NERVE',6.8,'Helvetica-Bold',white) # key strip strip_top=H-35*mm c.setFillColor(pale); c.roundRect(M,strip_top-14*mm,usable,14*mm,3*mm,fill=1,stroke=0) text(M+4*mm,strip_top-5*mm,'CORE:',7.8,'Helvetica-Bold',navy) text(M+18*mm,strip_top-5*mm,'Progressive optic neuropathy: RNFL loss + disc cupping + characteristic field loss.',7.8,'Helvetica',gray) text(M+4*mm,strip_top-10*mm,'GOAL:',7.8,'Helvetica-Bold',navy) text(M+18*mm,strip_top-10*mm,'Preserve remaining vision by lowering IOP to an individual target and monitoring progression.',7.8,'Helvetica',gray) left=M; right=M+col+gap; top=strip_top-18*mm # left column b1=box(left,top,col,'Types at a glance',[ ('POAG','Open angle; chronic, painless, often silent until field loss.'), ('Angle closure','Peripheral iris blocks trabecular meshwork; can be acute or chronic.'), ('Normal-tension','Typical glaucomatous damage despite statistically normal IOP.'), ('Secondary','Pseudoexfoliation, pigment dispersion, steroid response, uveitis, trauma, neovascular or lens-related.'), ('Congenital','Epiphora, photophobia, blepharospasm, large/cloudy cornea.')],teal,white,7.15) b2=box(left,b1-5*mm,col,'POAG: risk factors & clues',[ ('Risk','Age, family history, African ancestry, raised IOP/asymmetry, myopia, thin cornea, vascular risk.'), ('Symptoms','Usually none early. Gradual peripheral field loss; central vision late.'), ('Disc/field','Vertical cupping, rim thinning/notching, disc haemorrhage; nasal step, paracentral or arcuate scotoma.'), ('Key point','An open angle does not exclude glaucoma. Raised IOP is a risk factor, not the diagnosis.')],navy,bluepale,7.15) b3=box(left,b2-5*mm,col,'Assessment',[ ('Examine','VA, pupils, slit lamp, Goldmann IOP, pachymetry, gonioscopy, optic disc.'), ('Document','OCT RNFL/ganglion cell complex and standard automated perimetry.'), ('Gonioscopy','Open vs narrow/closed angle; look for PAS, pigment, pseudoexfoliation, neovascularisation.')],teal,white,7.15) # right column r1=box(right,top,col,'Acute angle closure: emergency',[ ('Think','Sudden painful red eye + blurred vision/haloes + headache, nausea or vomiting.'), ('Signs','Hazy cornea, shallow chamber, mid-dilated poorly reactive pupil, markedly high IOP.'), ('Action','Same-day emergency ophthalmology assessment. Permanent optic-nerve injury can occur rapidly.'), ('Initial specialist care','Topical aqueous suppressants +/- systemic acetazolamide; analgesia/antiemetic; pilocarpine after pressure falls; definitive laser peripheral iridotomy when feasible.'), ('Drug alert','Topiramate can cause bilateral secondary angle closure: stop culprit with prescriber input; management differs from pupillary block.')],red,redpale,7.05) r2=box(right,r1-5*mm,col,'Treatment ladder',[ ('1. Drops','Prostaglandin analogue commonly first-line. Add beta-blocker, alpha-2 agonist or topical CAI as needed.'), ('2. Laser','SLT for open-angle glaucoma/ocular hypertension. LPI for pupillary-block angle closure or at-risk fellow eye.'), ('3. Surgery','Trabeculectomy, tube shunt, or selected MIGS. Lens extraction often helps angle closure.'), ('Follow-up','Check IOP, adherence/adverse effects, disc/OCT and fields. Escalate if progression occurs.')],green,pale,7.15) r3=box(right,r2-5*mm,col,'Drug cautions',[ ('Timolol','Avoid or use caution in asthma/COPD, bradycardia and heart block.'), ('Prostaglandins','May darken iris and increase lashes; caution with active uveitis/herpetic eye disease.'), ('Acetazolamide','Systemic adverse effects include paraesthesia, acidosis and renal-stone risk; check contraindications.')],navy,bluepale,7.15) # footer c.setStrokeColor(line); c.setLineWidth(.4); c.line(M,14*mm,W-M,14*mm) text(M,9.3*mm,'Exam pearl: glaucoma damage is irreversible. Detect early, lower IOP, and assess structure plus function over time.',7.2,'Helvetica-Bold',navy) text(M,5.0*mm,'Educational quick reference. For clinical decisions, use local protocols and specialist ophthalmology advice.',6.2,'Helvetica',gray) text(W-M-74*mm,5.0*mm,'Sources: Kanski Clinical Ophthalmology 10e; AAO PPP.',6.2,'Helvetica',gray) c.showPage(); c.save() print(out) PY python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/glaucoma-quick-reference/output/Glaucoma_Quick_Reference.pdf' r=PdfReader(p) print('pages',len(r.pages),'size',r.pages[0].mediabox) t=r.pages[0].extract_text() print('chars',len(t),'contains emergency', 'EMERGENCY' in t, 'contains glaucoma', 'GLAUCOMA' in t) PY
Glaucoma Quick Reference
PDF Document · PDF
Make into quick reference notes
glaucoma treatment
American Academy Ophthalmology glaucoma acute angle closure symptoms treatment
| Feature | POAG | Acute angle closure |
|---|---|---|
| Onset | Gradual | Sudden |
| Pain/redness | Usually absent | Severe pain, red eye |
| Vision | Gradual peripheral field loss | Sudden blur, haloes |
| IOP | Raised or normal | Markedly raised |
| Cornea | Clear | Oedematous/hazy |
| Pupil | Often normal | Mid-dilated, poorly reactive |
| Anterior chamber | Deep | Shallow |
| Symptoms | Usually silent | Headache, nausea, vomiting |
| Drug class | Examples | Main action | Key caution |
|---|---|---|---|
| Prostaglandin analogue | Latanoprost | Increases uveoscleral outflow | Iris darkening, lash growth |
| Beta-blocker | Timolol | Reduces aqueous production | Avoid/caution in asthma, bradycardia, heart block |
| Alpha-2 agonist | Brimonidine | Reduces production, increases outflow | Allergy, fatigue |
| Topical CAI | Dorzolamide | Reduces production | Local irritation |
| Oral CAI | Acetazolamide | Reduces production | Paresthesia, acidosis, renal stones |
| Miotic | Pilocarpine | Opens trabecular pathway | Miosis, brow ache, myopia |