Pterygium explain as a short answer with diagram

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Loading Image
Reading File
Generating Image

Medical diagram of pterygium of the eye. Show a front-facing eye illustration with a labeled triangular fibrovascular growth (pterygium) growing from the nasal side of the conjunctiva across the limbus onto the cornea. Label the following parts clearly: Cap (avascular advancing edge), Head (apex on cornea), Body (wide vascularized base on conjunctiva), Limbus, Cornea, Conjunctiva, Iris, Pupil, and Stocker line (iron line in corneal epithelium anterior to head). Use a clean educational medical illustration style with a white background.

I now have all the content needed. Here is the full short answer with diagrams:

Pterygium

Definition

A pterygium (plural: pterygia) is a triangular fibrovascular sub-epithelial ingrowth of degenerative bulbar conjunctival tissue that grows over the limbus onto the cornea. The word comes from the Greek pterygion ("wing"), reflecting its wing-shaped appearance.

Diagram (Labeled Illustration)

Pterygium diagram showing cap, head, body, Stocker line, limbus, cornea, conjunctiva
Clinical photo (Wills Eye Manual):
Pterygium - clinical photo showing fibrovascular growth from nasal conjunctiva onto cornea
Fig. 4.9.1 - Pterygium. Wing-shaped fibrovascular fold growing from the nasal conjunctiva across the limbus onto the cornea.

Etiology / Risk Factors

  • Chronic UV light exposure (most important - common in sunny/tropical countries)
  • Chronic surface dryness
  • Familial tendency
  • Dust, wind, dry climate

Parts of a Pterygium

PartDescription
CapAvascular, halo-like zone at the advancing edge on the cornea
HeadApex resting on the cornea, invades Bowman layer
BodyBroad, vascularized base lying on the bulbar conjunctiva
  • Stocker line - a linear iron deposition in the corneal epithelium just anterior to the head of the pterygium (a siderotic line)
  • Fuchs islets - small whitish clusters of pterygial epithelial cells at the advancing edge

Pathology (Histology)

  • Elastotic degenerative changes in vascularized subepithelial stromal collagen
  • Unlike pinguecula, it invades Bowman layer of the cornea
  • Histologically similar to pinguecula

Location

  • Almost always at the 3 o'clock or 9 o'clock perilimbal position
  • Most commonly nasal side (nasally located, directed toward the pupil)

Symptoms

  • Small lesions - often asymptomatic
  • Irritation, grittiness, redness (due to dellen effect - localized drying at the advancing edge)
  • Blurred vision (if encroaching on visual axis)
  • Induced astigmatism (irregular corneal surface)
  • Cosmetic concern

Pseudopterygium (vs. True Pterygium)

FeatureTrue PterygiumPseudopterygium
CauseUV/degenerativeAcute inflammation (chemical burn, ulcer, trauma)
LocationHorizontal (3 or 9 o'clock)Any position
Corneal attachmentEntire extentOnly at apex (head)
Probe testCannot pass probe beneath bodyProbe can pass beneath body

Treatment

StageManagement
Asymptomatic/smallLubricants, UV protection (sunglasses), observation
InflamedTopical vasoconstrictors/NSAIDs
SurgicalIndicated for progression toward visual axis, significant astigmatism, or cosmesis
Surgical options:
  • Bare sclera excision alone - high recurrence rate (~80%) - not recommended alone
  • Conjunctival autograft (gold standard) - donor graft from superior para-limbal conjunctiva; reduces recurrence significantly
  • Adjuvant mitomycin C (MMC) or beta-irradiation - further reduces recurrence
  • Peripheral lamellar keratoplasty - for deep/aggressive lesions
Key tip (Kanski): Recurrence risk is reduced by conjunctival autograft or intraoperative mitomycin C application.

Sources: Kanski's Clinical Ophthalmology, 10th ed., p. 215-216 | The Wills Eye Manual, p. 191-192

Make a one-page reference card on pterygium diagnosis and treatment

Reading File
Reading File
Reading File
Running Command

ls /home/daytona/workspace/

Running Command

mkdir -p /home/daytona/workspace/pterygium-refcard

Writing File

~/pterygium-refcard/build.js

const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");

// ── Fetch the clinical eye photo ──────────────────────────────────────────────
const IMG_URL = "https://cdn.orris.care/cdss_images/c2dc4546527a58c88b80302ff664398e382a5f0c222fa6067f04635217a14213.png";
const DIAG_URL = "https://cdn.orris.care/image-gen/ec806156299848c5965ec12c54f8de7a.png";

const imgs = JSON.parse(
  execSync(
    `node /home/daytona/skills/shared/scripts/fetch_images.js "${IMG_URL}" "${DIAG_URL}"`
  ).toString()
);
const clinicalImg = imgs[0].base64;
const diagImg     = imgs[1].base64;

// ── Palette ───────────────────────────────────────────────────────────────────
const C = {
  navy:      "0D2B4E",   // dominant dark
  teal:      "0A7B8C",   // accent
  tealLight: "0D9AAD",
  amber:     "D97B2B",   // warm accent for warnings
  white:     "FFFFFF",
  offWhite:  "F4F8FB",
  lightGrey: "E3EDF4",
  midGrey:   "7A93A8",
  dark:      "1A2E40",
  red:       "C0392B",
  green:     "1A7A4A",
};

const pres = new pptxgen();
// A4 landscape: 11.69" x 8.27"
pres.defineLayout({ name: "A4L", width: 11.69, height: 8.27 });
pres.layout = "A4L";
pres.title  = "Pterygium Quick Reference Card";

const slide = pres.addSlide();

// ── BACKGROUND ────────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, {
  x: 0, y: 0, w: 11.69, h: 8.27,
  fill: { color: C.offWhite },
  line: { color: C.offWhite },
});

// ── TOP HEADER BAR ────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, {
  x: 0, y: 0, w: 11.69, h: 0.72,
  fill: { color: C.navy },
  line: { color: C.navy },
});

// Eye icon circle accent in header
slide.addShape(pres.ShapeType.ellipse, {
  x: 0.22, y: 0.10, w: 0.50, h: 0.50,
  fill: { color: C.teal },
  line: { color: C.tealLight, width: 1.5 },
});
slide.addText("👁", { x: 0.22, y: 0.10, w: 0.50, h: 0.50, fontSize: 18, align: "center", valign: "middle", margin: 0 });

slide.addText("PTERYGIUM", {
  x: 0.82, y: 0, w: 5, h: 0.72,
  fontSize: 22, bold: true, color: C.white, valign: "middle", margin: 0, charSpacing: 3,
});
slide.addText("Quick Reference Card  ·  Ophthalmology", {
  x: 5.5, y: 0, w: 5.5, h: 0.72,
  fontSize: 10, color: "A8C8D8", italic: true, align: "right", valign: "middle", margin: 0,
});
// Teal accent line below header
slide.addShape(pres.ShapeType.rect, {
  x: 0, y: 0.72, w: 11.69, h: 0.055,
  fill: { color: C.teal },
  line: { color: C.teal },
});

// ── COLUMN LAYOUT: 3 columns ──────────────────────────────────────────────────
// Col 1: x=0.18  w=3.15
// Col 2: x=3.55  w=3.15
// Col 3: x=7.0   w=4.5  (wider for image + treatment)

const COL1_X = 0.18;
const COL2_X = 3.60;
const COL3_X = 7.08;
const COL_W  = 3.15;
const COL3_W = 4.40;
const SECTION_Y_START = 0.88;

// ── Helper: section header ────────────────────────────────────────────────────
function sectionHeader(slide, x, y, w, label, color) {
  color = color || C.teal;
  slide.addShape(pres.ShapeType.rect, {
    x, y, w, h: 0.26,
    fill: { color },
    line: { color },
    rectRadius: 0.03,
  });
  slide.addText(label.toUpperCase(), {
    x, y, w, h: 0.26,
    fontSize: 8.5, bold: true, color: C.white,
    align: "center", valign: "middle", margin: 0, charSpacing: 1.5,
  });
}

// ── helper: small label pill ─────────────────────────────────────────────────
function pill(slide, x, y, label, bg, fg) {
  bg = bg || C.teal; fg = fg || C.white;
  const w = 1.0;
  slide.addShape(pres.ShapeType.rect, { x, y, w, h: 0.21, fill: { color: bg }, line: { color: bg }, rectRadius: 0.08 });
  slide.addText(label, { x, y, w, h: 0.21, fontSize: 7, bold: true, color: fg, align: "center", valign: "middle", margin: 0 });
}

// ══════════════════════════════════════════════════════════════════════════════
// COLUMN 1  —  Definition, Anatomy, Risk Factors
// ══════════════════════════════════════════════════════════════════════════════
let y = SECTION_Y_START;

// DEFINITION
sectionHeader(slide, COL1_X, y, COL_W, "Definition");
y += 0.30;
slide.addShape(pres.ShapeType.rect, {
  x: COL1_X, y, w: COL_W, h: 0.82,
  fill: { color: C.white }, line: { color: C.lightGrey, width: 0.8 }, rectRadius: 0.05,
});
slide.addText(
  "A triangular fibrovascular sub-epithelial ingrowth of degenerative bulbar conjunctival tissue, crossing the limbus onto the cornea.",
  { x: COL1_X + 0.08, y: y + 0.06, w: COL_W - 0.16, h: 0.70, fontSize: 8, color: C.dark, valign: "top" }
);
y += 0.88;

// ANATOMY — Parts
y += 0.10;
sectionHeader(slide, COL1_X, y, COL_W, "Anatomical Parts");
y += 0.30;

const parts = [
  ["CAP",    C.teal,  "Avascular, halo-like advancing edge on cornea"],
  ["HEAD",   C.navy,  "Apex on cornea; invades Bowman layer"],
  ["BODY",   "1A5A6A","Broad, vascularized base on conjunctiva"],
];
parts.forEach(([lbl, col, desc]) => {
  slide.addShape(pres.ShapeType.rect, {
    x: COL1_X, y, w: 0.55, h: 0.24,
    fill: { color: col }, line: { color: col }, rectRadius: 0.04,
  });
  slide.addText(lbl, { x: COL1_X, y, w: 0.55, h: 0.24, fontSize: 7, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  slide.addText(desc, { x: COL1_X + 0.60, y: y + 0.02, w: COL_W - 0.65, h: 0.22, fontSize: 7.2, color: C.dark });
  y += 0.28;
});

// Stocker line note
slide.addShape(pres.ShapeType.rect, {
  x: COL1_X, y: y + 0.04, w: COL_W, h: 0.28,
  fill: { color: "FFF3E0" }, line: { color: C.amber, width: 0.8 }, rectRadius: 0.04,
});
slide.addText(
  [
    { text: "Stocker line: ", options: { bold: true, color: C.amber } },
    { text: "Iron deposits in corneal epithelium anterior to head", options: { color: C.dark } },
  ],
  { x: COL1_X + 0.08, y: y + 0.06, w: COL_W - 0.16, h: 0.24, fontSize: 7.2 }
);
y += 0.40;

// RISK FACTORS
y += 0.10;
sectionHeader(slide, COL1_X, y, COL_W, "Risk Factors");
y += 0.30;
const risks = [
  "☀  Chronic UV exposure (most important)",
  "🌏  Tropical / sunny climates",
  "💨  Dust, wind, dry environments",
  "💧  Chronic surface dryness",
  "🧬  Familial tendency",
];
risks.forEach((r, i) => {
  slide.addText(r, {
    x: COL1_X + 0.08, y, w: COL_W - 0.16, h: 0.22,
    fontSize: 7.5, color: C.dark,
    fill: { color: i % 2 === 0 ? C.white : C.lightGrey },
  });
  y += 0.22;
});

// ══════════════════════════════════════════════════════════════════════════════
// COLUMN 2  —  Symptoms, Signs, Pseudo vs True, DDx
// ══════════════════════════════════════════════════════════════════════════════
y = SECTION_Y_START;

sectionHeader(slide, COL2_X, y, COL_W, "Symptoms");
y += 0.30;
const sx = [
  ["Small lesions", "Often asymptomatic"],
  ["Irritation / grittiness", "Dellen effect (tear film disruption)"],
  ["Redness", "Episodic inflammation"],
  ["Blurred vision", "If visual axis involved"],
  ["Astigmatism", "Irregular corneal surface"],
  ["Cosmetic concern", ""],
];
sx.forEach(([a, b], i) => {
  slide.addShape(pres.ShapeType.rect, {
    x: COL2_X, y, w: COL_W, h: 0.22,
    fill: { color: i % 2 === 0 ? C.white : C.lightGrey }, line: { color: C.lightGrey, width: 0.5 },
  });
  slide.addText(a, { x: COL2_X + 0.08, y: y + 0.02, w: 1.30, h: 0.18, fontSize: 7.2, bold: true, color: C.dark });
  if (b) slide.addText(b, { x: COL2_X + 1.42, y: y + 0.02, w: 1.65, h: 0.18, fontSize: 7, color: C.midGrey });
  y += 0.22;
});

// TRUE vs PSEUDO TABLE
y += 0.12;
sectionHeader(slide, COL2_X, y, COL_W, "True vs Pseudopterygium", C.navy);
y += 0.30;

// Table header
slide.addShape(pres.ShapeType.rect, {
  x: COL2_X, y, w: COL_W, h: 0.22,
  fill: { color: C.dark }, line: { color: C.dark },
});
["Feature", "True", "Pseudo"].forEach((h, i) => {
  const xs = [COL2_X + 0.06, COL2_X + 1.05, COL2_X + 2.10];
  slide.addText(h, { x: xs[i], y, w: i === 0 ? 0.95 : 0.95, h: 0.22, fontSize: 7, bold: true, color: C.white, valign: "middle", margin: 0 });
});
y += 0.22;

const tbl = [
  ["Cause",    "UV / degen.",   "Injury/burn"],
  ["Location", "Horiz (3/9)",   "Any"],
  ["Apex fix", "Entire length", "Apex only"],
  ["Probe test","Cannot pass",  "Can pass"],
];
tbl.forEach(([f, t, p], i) => {
  slide.addShape(pres.ShapeType.rect, {
    x: COL2_X, y, w: COL_W, h: 0.22,
    fill: { color: i % 2 === 0 ? C.white : C.lightGrey }, line: { color: C.lightGrey, width: 0.5 },
  });
  [[f, COL2_X + 0.06, 0.90], [t, COL2_X + 1.02, 0.90], [p, COL2_X + 2.06, 1.0]].forEach(([txt, tx, tw]) => {
    slide.addText(txt, { x: tx, y: y + 0.02, w: tw, h: 0.18, fontSize: 7, color: C.dark });
  });
  y += 0.22;
});

// DDx box
y += 0.12;
sectionHeader(slide, COL2_X, y, COL_W, "Differential Diagnosis", C.red);
y += 0.30;
const ddx = [
  "Pinguecula — does NOT cross limbus onto cornea",
  "Conjunctival intraepithelial neoplasia (CIN)",
  "Limbal dermoid — congenital, inferotemporal",
  "Conjunctival papilloma / nevus / melanoma",
  "Peripheral hypertrophic subepithelial degeneration",
];
ddx.forEach((d, i) => {
  slide.addText("• " + d, {
    x: COL2_X + 0.06, y, w: COL_W - 0.12, h: 0.22,
    fontSize: 7, color: C.dark,
    fill: { color: i % 2 === 0 ? C.white : C.lightGrey },
  });
  y += 0.22;
});

// ══════════════════════════════════════════════════════════════════════════════
// COLUMN 3  —  Clinical Photo, Grading, Treatment, Key Points
// ══════════════════════════════════════════════════════════════════════════════
y = SECTION_Y_START;

// CLINICAL IMAGE
sectionHeader(slide, COL3_X, y, COL3_W, "Clinical Appearance");
y += 0.30;
slide.addImage({
  data: clinicalImg,
  x: COL3_X + 0.55, y, w: 3.35, h: 1.70,
  sizing: { type: "contain", w: 3.35, h: 1.70 },
});
slide.addText("Nasal pterygium with fibrovascular body and head on cornea", {
  x: COL3_X, y: y + 1.72, w: COL3_W, h: 0.20,
  fontSize: 6.5, italic: true, color: C.midGrey, align: "center",
});
y += 1.98;

// GRADING
y += 0.08;
sectionHeader(slide, COL3_X, y, COL3_W, "Grading (T1–T3 Koranyi / extent)", C.tealLight);
y += 0.30;
const grades = [
  ["T1", C.green,  "Thin, transparent — scleral vessels visible beneath"],
  ["T2", C.amber,  "Intermediate — partial obscuring of scleral vessels"],
  ["T3", C.red,    "Thick, fleshy — scleral vessels fully obscured"],
];
grades.forEach(([g, c, desc]) => {
  slide.addShape(pres.ShapeType.rect, { x: COL3_X, y, w: 0.30, h: 0.23, fill: { color: c }, line: { color: c }, rectRadius: 0.04 });
  slide.addText(g, { x: COL3_X, y, w: 0.30, h: 0.23, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  slide.addText(desc, { x: COL3_X + 0.36, y: y + 0.02, w: COL3_W - 0.40, h: 0.20, fontSize: 7.2, color: C.dark });
  y += 0.26;
});

// TREATMENT
y += 0.10;
sectionHeader(slide, COL3_X, y, COL3_W, "Management");
y += 0.30;

// Conservative row
slide.addShape(pres.ShapeType.rect, {
  x: COL3_X, y, w: COL3_W, h: 0.24,
  fill: { color: "EAF7EE" }, line: { color: C.green, width: 0.8 }, rectRadius: 0.04,
});
slide.addText([
  { text: "Conservative: ", options: { bold: true, color: C.green } },
  { text: "Lubricants, UV-blocking sunglasses, observation. Topical vasoconstrictors / NSAIDs if inflamed.", options: { color: C.dark } },
], { x: COL3_X + 0.08, y: y + 0.02, w: COL3_W - 0.14, h: 0.22, fontSize: 7.2 });
y += 0.30;

// Surgery indications
slide.addText("Surgical Indications:", { x: COL3_X + 0.06, y, w: COL3_W, h: 0.20, fontSize: 7.5, bold: true, color: C.navy });
y += 0.22;
const surInd = ["Progression toward visual axis", "Significant astigmatism", "Cosmesis / contact lens intolerance", "Recurrent inflammation"];
surInd.forEach((s, i) => {
  slide.addText("▸ " + s, { x: COL3_X + 0.10, y, w: COL3_W - 0.14, h: 0.19, fontSize: 7, color: C.dark, fill: { color: i % 2 === 0 ? C.white : C.lightGrey } });
  y += 0.19;
});

y += 0.06;
// Surgery options table
const surgOps = [
  ["Bare sclera excision",          "~80%",  C.red,    "Alone — NOT recommended"],
  ["Conjunctival autograft",        "< 15%", C.green,  "Gold standard (superior limbal donor)"],
  ["+ Mitomycin C (MMC)",           "< 5%",  C.green,  "Adjuvant — reduces recurrence further"],
  ["Amniotic membrane graft",       "Low",   C.teal,   "Alternative if insufficient conjunctiva"],
  ["Peripheral lamellar keratoplasty","—",   C.navy,   "Deep / aggressive lesions"],
];

// Table header
slide.addShape(pres.ShapeType.rect, { x: COL3_X, y, w: COL3_W, h: 0.22, fill: { color: C.dark }, line: { color: C.dark } });
[["Technique", 1.60], ["Recur.", 0.48], ["Notes", 2.18]].reduce((acc, [h, w]) => {
  slide.addText(h, { x: acc, y, w, h: 0.22, fontSize: 6.8, bold: true, color: C.white, valign: "middle", margin: 0 });
  return acc + w + 0.03;
}, COL3_X + 0.05);
y += 0.22;

surgOps.forEach(([name, recur, col, note], i) => {
  slide.addShape(pres.ShapeType.rect, { x: COL3_X, y, w: COL3_W, h: 0.22, fill: { color: i % 2 === 0 ? C.white : C.lightGrey }, line: { color: C.lightGrey, width: 0.5 } });
  slide.addText(name, { x: COL3_X + 0.05, y: y + 0.02, w: 1.58, h: 0.18, fontSize: 7, color: C.dark });
  slide.addShape(pres.ShapeType.rect, { x: COL3_X + 1.65, y: y + 0.03, w: 0.46, h: 0.16, fill: { color: col }, line: { color: col }, rectRadius: 0.04 });
  slide.addText(recur, { x: COL3_X + 1.65, y: y + 0.03, w: 0.46, h: 0.16, fontSize: 6.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  slide.addText(note, { x: COL3_X + 2.16, y: y + 0.02, w: 2.18, h: 0.18, fontSize: 6.5, color: C.midGrey });
  y += 0.22;
});

// KEY POINTS
y += 0.10;
slide.addShape(pres.ShapeType.rect, {
  x: COL3_X, y, w: COL3_W, h: 0.26,
  fill: { color: C.amber }, line: { color: C.amber }, rectRadius: 0.04,
});
slide.addText("⚠  KEY POINTS", { x: COL3_X, y, w: COL3_W, h: 0.26, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 0, charSpacing: 1 });
y += 0.28;

const keys = [
  "Atypical pterygia → biopsy to rule out CIN",
  "Pseudopterygium: probe passes beneath body; true does not",
  "Bare sclera alone = 80% recurrence — always add graft/MMC",
  "Post-op: recurrence risk highest in young patients",
];
keys.forEach((k, i) => {
  slide.addShape(pres.ShapeType.rect, { x: COL3_X, y, w: COL3_W, h: 0.22, fill: { color: i % 2 === 0 ? "FFF8EC" : "FFF3DC" }, line: { color: C.lightGrey, width: 0.5 } });
  slide.addText("• " + k, { x: COL3_X + 0.08, y: y + 0.02, w: COL3_W - 0.12, h: 0.20, fontSize: 7, color: C.dark });
  y += 0.22;
});

// ── DIVIDERS between columns ──────────────────────────────────────────────────
[COL2_X - 0.12, COL3_X - 0.12].forEach(dx => {
  slide.addShape(pres.ShapeType.line, {
    x: dx, y: 0.80, w: 0, h: 7.35,
    line: { color: C.lightGrey, width: 0.8, dashType: "dash" },
  });
});

// ── FOOTER ────────────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, {
  x: 0, y: 8.10, w: 11.69, h: 0.17,
  fill: { color: C.navy }, line: { color: C.navy },
});
slide.addText(
  "Sources: Kanski's Clinical Ophthalmology 10e  ·  Wills Eye Manual 8e  ·  Rosen's Emergency Medicine  ·  For educational use only",
  { x: 0.2, y: 8.10, w: 11.29, h: 0.17, fontSize: 5.5, color: "A8C8D8", valign: "middle", margin: 0 }
);

// ── WRITE ─────────────────────────────────────────────────────────────────────
const outPath = "/home/daytona/workspace/pterygium-refcard/Pterygium_Reference_Card.pptx";
pres.writeFile({ fileName: outPath }).then(() => {
  console.log("DONE:", outPath);
}).catch(e => { console.error(e); process.exit(1); });
Running Command

cd /home/daytona/workspace/pterygium-refcard && node build.js 2>&1

Editing File

~/pterygium-refcard/build.js

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pterygium-refcard/build.js'
Running Command

cd /home/daytona/workspace/pterygium-refcard && node build.js 2>&1

Running Command

cd /home/daytona/workspace/pterygium-refcard && python /home/daytona/skills/pptx…

Loading Image
analyse_media
Running Command

ls -lh /home/daytona/workspace/pterygium-refcard/Pterygium_Reference_Card.pptx

Your one-page Pterygium reference card is ready:

Pterygium Reference Card

Presentation · PPTX


What's on the card (A4 landscape, 3-column layout):
Column 1Column 2Column 3
DefinitionSymptomsClinical photo (from Wills Eye Manual)
Anatomical parts (Cap / Head / Body) with Stocker line calloutTrue vs Pseudopterygium comparison tableGrading T1-T2-T3 (Koranyi)
Risk factorsDifferential diagnosisManagement: conservative + surgical indications
Surgery table with recurrence rates (bare sclera vs autograft vs MMC)
Key clinical pearls (atypical = biopsy, probe test, bare sclera = 80% recurrence)
Design: Navy header bar, teal section headers, color-coded grade pills (green/amber/red for T1-T3), amber warning box for key pearls, footer with sources (Kanski's 10e, Wills Eye Manual 8e).
This is a shared conversation. Sign in to Orris to start your own chat.