PPT on approach to Hematuria in pediatrics

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/hematuria-peds-ppt

Writing File

~/hematuria-peds-ppt/build.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Approach to Hematuria in Pediatrics";
pres.author = "Orris Medical Education";

// ── Color palette ──────────────────────────────────────────────────────────
const C = {
  navy:    "0D2B55",   // dominant dark
  teal:    "1A7A8A",   // section accent
  gold:    "E8A020",   // highlight accent
  cream:   "F5F0E8",   // light background
  white:   "FFFFFF",
  red:     "C0392B",   // gross hematuria
  blue:    "2471A3",   // microscopic hematuria
  lightTeal: "D4EEF1",
  lightGold: "FCF0D5",
  midGray: "5D6D7E",
  lightGray: "ECF0F1",
};

// ── Helper: section banner ─────────────────────────────────────────────────
function addSectionBanner(slide, label) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.35, fill: { color: C.gold }, line: { color: C.gold } });
  slide.addText(label, { x: 0, y: 0, w: 10, h: 0.35, fontSize: 9, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
}

// ── Helper: slide title bar ────────────────────────────────────────────────
function addTitleBar(slide, title, sub) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.35, w: 10, h: 0.92, fill: { color: C.navy }, line: { color: C.navy } });
  slide.addText(title, { x: 0.3, y: 0.35, w: 9.4, h: 0.6, fontSize: 22, bold: true, color: C.white, valign: "bottom", margin: 0 });
  if (sub) {
    slide.addText(sub, { x: 0.3, y: 0.95, w: 9.4, h: 0.32, fontSize: 12, color: C.gold, valign: "top", margin: 0 });
  }
}

// ── Helper: footer ─────────────────────────────────────────────────────────
function addFooter(slide, note) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.35, w: 10, h: 0.275, fill: { color: C.navy }, line: { color: C.navy } });
  slide.addText(note || "Campbell-Walsh-Wein Urology | Pediatric Nephrology Reference", {
    x: 0.3, y: 5.35, w: 9.4, h: 0.275, fontSize: 8, color: C.gold, valign: "middle", margin: 0
  });
}

// ── Helper: colored box ────────────────────────────────────────────────────
function addBox(slide, x, y, w, h, fill, line) {
  slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color: fill }, line: { color: line || fill } });
}

// ── Helper: bullet block ───────────────────────────────────────────────────
function bulletsText(items, opts = {}) {
  return items.map((t, i) => ({
    text: t,
    options: { bullet: { code: "2022", indent: 10 }, breakLine: i < items.length - 1, ...opts }
  }));
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — Title
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  // Full dark background
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });

  // Decorative teal side panel
  s.addShape(pres.ShapeType.rect, { x: 7.6, y: 0, w: 2.4, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });

  // Gold accent bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.5, w: 7.6, h: 0.08, fill: { color: C.gold }, line: { color: C.gold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 4.0, w: 7.6, h: 0.08, fill: { color: C.gold }, line: { color: C.gold } });

  s.addText("APPROACH TO", { x: 0.5, y: 0.6, w: 7, h: 0.55, fontSize: 18, bold: false, color: C.gold, charSpacing: 6 });
  s.addText("HEMATURIA", { x: 0.5, y: 1.1, w: 7, h: 1.1, fontSize: 52, bold: true, color: C.white, charSpacing: 2 });
  s.addText("IN PEDIATRICS", { x: 0.5, y: 2.15, w: 7, h: 0.7, fontSize: 26, bold: false, color: C.lightTeal, charSpacing: 4 });

  s.addText([
    { text: "Definition  •  Epidemiology  •  Classification", options: { breakLine: true } },
    { text: "Causes  •  Evaluation  •  Management", options: {} }
  ], { x: 0.5, y: 3.0, w: 7, h: 0.8, fontSize: 13, color: C.lightGray, italic: true });

  // Right panel content
  s.addText("KEY TOPICS", { x: 7.7, y: 0.4, w: 2.2, h: 0.4, fontSize: 10, bold: true, color: C.white, align: "center", charSpacing: 3 });
  const topics = ["Definition", "Epidemiology", "Causes", "History & Exam", "Investigations", "Gross vs Micro", "Glomerular vs Non-", "Management", "Red Flags", "Referral"];
  topics.forEach((t, i) => {
    s.addText(`${i + 1}. ${t}`, { x: 7.65, y: 0.9 + i * 0.42, w: 2.3, h: 0.38, fontSize: 9.5, color: C.white, align: "left" });
  });
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — Definition & Epidemiology
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "DEFINITION & EPIDEMIOLOGY");
  addTitleBar(s, "What is Hematuria?", "Definitions and key epidemiological facts");

  // Two cards
  // Left card - gross
  addBox(s, 0.3, 1.45, 4.5, 1.4, C.red, C.red);
  s.addText("GROSS HEMATURIA", { x: 0.3, y: 1.45, w: 4.5, h: 0.4, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  addBox(s, 0.3, 1.85, 4.5, 1.0, "FDDBD8", "FDDBD8");
  s.addText([
    { text: "• Visible red or tea-colored urine", options: { breakLine: true } },
    { text: "• Confirmed by dipstick + microscopy", options: { breakLine: true } },
    { text: "• ~0.13% of pediatric ED visits", options: {} }
  ], { x: 0.4, y: 1.88, w: 4.3, h: 0.95, fontSize: 11, color: C.navy });

  // Right card - microscopic
  addBox(s, 5.2, 1.45, 4.5, 1.4, C.blue, C.blue);
  s.addText("MICROSCOPIC HEMATURIA", { x: 5.2, y: 1.45, w: 4.5, h: 0.4, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  addBox(s, 5.2, 1.85, 4.5, 1.0, "D4E8F7", "D4E8F7");
  s.addText([
    { text: "• Yellow urine, dipstick positive for blood", options: { breakLine: true } },
    { text: "• >5 RBCs/hpf on freshly spun sample", options: { breakLine: true } },
    { text: "• ~1% of school-age children", options: {} }
  ], { x: 5.3, y: 1.88, w: 4.3, h: 0.95, fontSize: 11, color: C.navy });

  // Epidemiology key points
  addBox(s, 0.3, 3.0, 9.4, 1.5, C.lightTeal, C.teal);
  s.addText("EPIDEMIOLOGY AT A GLANCE", { x: 0.3, y: 3.0, w: 9.4, h: 0.35, fontSize: 11, bold: true, color: C.teal, align: "center", valign: "middle", margin: 4 });
  s.addText([
    { text: "Microscopic hematuria: ~1% prevalence in school-age children (Dodge et al., 1976; Vehaskari et al., 1979)", options: { breakLine: true } },
    { text: "<25% persist on repeat testing; most resolve spontaneously within 1 year  •  Definitive diagnosis established in <30% of cases", options: { breakLine: true } },
    { text: "Gross hematuria: easier to diagnose — underlying cause identified in majority of cases", options: {} }
  ], { x: 0.5, y: 3.35, w: 9.0, h: 1.1, fontSize: 10.5, color: C.navy });

  addFooter(s, "Campbell-Walsh-Wein Urology, Pediatric Nephrology Chapter | BOX 21.1");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — Causes of Hematuria (Gross)
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "ETIOLOGY");
  addTitleBar(s, "Causes of Gross Hematuria in Children", "BOX 21.1 – Campbell-Walsh-Wein Urology");

  const grossCauses = [
    ["UTI / Cystitis", "Most common cause — 26% of cases"],
    ["Perineal Irritation", "11% of cases"],
    ["Trauma", "7% — CT abdomen often needed"],
    ["Meatal Stenosis / Ulceration", "7% in boys"],
    ["Coagulation Abnormalities", "Bleeding diathesis — 3%"],
    ["Nephrolithiasis / Hypercalciuria", "Flank pain, family history of stones"],
    ["Glomerulonephritis", "Tea-colored urine, HTN, edema, proteinuria"],
    ["Wilms Tumor / Bladder Tumor", "Abdominal mass in young children"],
    ["Renal Vein Thrombosis", "Neonates, hypercoagulable states"],
    ["Nutcracker Syndrome", "Left renal vein compression"],
    ["Sickle Cell Disease/Trait", "Papillary necrosis, sickling"],
    ["Benign Idiopathic Urethrorrhagia", "Prepubertal boys, blood spots in underwear"],
  ];

  const cols = [grossCauses.slice(0, 6), grossCauses.slice(6)];
  cols.forEach((col, ci) => {
    col.forEach((item, ri) => {
      const x = ci === 0 ? 0.25 : 5.15;
      const y = 1.45 + ri * 0.64;
      const bg = ri % 2 === 0 ? "FFFFFF" : C.lightGray;
      addBox(s, x, y, 4.7, 0.58, bg, "D5D8DC");
      s.addText(item[0], { x: x + 0.1, y: y + 0.04, w: 4.5, h: 0.28, fontSize: 10.5, bold: true, color: C.navy, valign: "top" });
      s.addText(item[1], { x: x + 0.1, y: y + 0.3, w: 4.5, h: 0.24, fontSize: 9, color: C.midGray, valign: "top" });
    });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Diven & Travis, 2000");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — Causes of Microscopic Hematuria
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "ETIOLOGY");
  addTitleBar(s, "Causes of Microscopic Hematuria", "Broad differential — definitive diagnosis in <30%");

  const microGroups = [
    { label: "Glomerular", color: C.teal, items: ["Thin Basement Membrane Disease", "IgA Nephropathy", "Alport Syndrome", "Post-infectious GN", "Lupus Nephritis", "MPGN"] },
    { label: "Non-Glomerular", color: C.blue, items: ["Hypercalciuria / Nephrolithiasis", "UTI / Pyelonephritis", "Congenital Anomalies (CAKUT)", "Exercise-induced", "Drugs / Interstitial Nephritis", "Sickle Cell Disease/Trait"] },
    { label: "Other", color: C.midGray, items: ["Transient (fever, vigorous exercise)", "Benign Familial Hematuria", "Protein overload syndromes", "Hemolysis / Rhabdomyolysis", "Hypergammaglobulinemia"] },
  ];

  microGroups.forEach((grp, gi) => {
    const x = 0.2 + gi * 3.27;
    addBox(s, x, 1.42, 3.0, 0.44, grp.color, grp.color);
    s.addText(grp.label, { x, y: 1.42, w: 3.0, h: 0.44, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    grp.items.forEach((item, ii) => {
      const bg = ii % 2 === 0 ? "FFFFFF" : C.lightGray;
      addBox(s, x, 1.86 + ii * 0.56, 3.0, 0.52, bg, "D5D8DC");
      s.addText(item, { x: x + 0.12, y: 1.9 + ii * 0.56, w: 2.8, h: 0.44, fontSize: 10, color: C.navy, valign: "middle" });
    });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology BOX 21.1");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — History Taking
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "CLINICAL EVALUATION");
  addTitleBar(s, "History Taking", "A systematic and detailed history guides the entire work-up");

  const histBlocks = [
    {
      title: "CHIEF COMPLAINT",
      color: C.navy,
      items: ["Duration: acute vs. chronic/intermittent", "Gross vs. microscopic (dipstick vs. naked eye)", "Color: red (lower tract) vs. tea/cola (glomerular)", "Timing: initial, terminal, or total stream"]
    },
    {
      title: "ASSOCIATED SYMPTOMS",
      color: C.teal,
      items: ["Fever → UTI, post-infectious GN", "Dysuria, frequency → UTI", "Flank / abdominal pain → stones, trauma, thrombosis", "Rash, joint pain → HSP, SLE", "Headache, visual changes, edema → hypertension / nephritic syndrome", "Weight gain, periorbital puffiness → nephrotic"]
    },
    {
      title: "FAMILY HISTORY",
      color: C.blue,
      items: ["Hematuria (thin BM disease, Alport)", "Hearing loss (Alport syndrome)", "Nephrolithiasis (urolithiasis)", "Sickle cell disease / trait", "Renal disease / ESRD", "Bleeding disorders / coagulopathy"]
    },
    {
      title: "MEDICAL / DRUG HISTORY",
      color: C.midGray,
      items: ["Recent throat / skin infection → ASO / APSGN", "Recent URTI → IgA nephropathy", "Vigorous exercise → exercise hematuria", "Medications (NSAIDs, cyclophosphamide)", "History of trauma (recent or remote)"]
    }
  ];

  histBlocks.forEach((blk, bi) => {
    const x = bi < 2 ? 0.2 + bi * 4.9 : 0.2 + (bi - 2) * 4.9;
    const y = bi < 2 ? 1.45 : 3.35;
    addBox(s, x, y, 4.6, 0.38, blk.color, blk.color);
    s.addText(blk.title, { x, y, w: 4.6, h: 0.38, fontSize: 10.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    addBox(s, x, y + 0.38, 4.6, 1.42, "FFFFFF", "D5D8DC");
    s.addText(bulletsText(blk.items, { fontSize: 9.5, color: C.navy }), { x: x + 0.1, y: y + 0.42, w: 4.4, h: 1.35 });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — Physical Examination
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "CLINICAL EVALUATION");
  addTitleBar(s, "Physical Examination", "Findings that direct the differential diagnosis");

  const examItems = [
    { icon: "BP", label: "Blood Pressure", detail: "Hypertension → glomerulonephritis, renal parenchymal disease, renal artery involvement" },
    { icon: "WT", label: "Weight / Edema", detail: "Peripheral edema, periorbital puffiness, ascites → nephritic or nephrotic syndrome" },
    { icon: "SKN", label: "Skin / Rash", detail: "Palpable purpura (legs, buttocks) → IgA Vasculitis (HSP) | Butterfly rash → SLE" },
    { icon: "JNT", label: "Joints", detail: "Arthritis / arthralgia → HSP, SLE, systemic vasculitis" },
    { icon: "ABD", label: "Abdomen / Flanks", detail: "Abdominal mass → Wilms tumor | Flank tenderness → pyelonephritis, stone, trauma | Renal bruit → AV fistula" },
    { icon: "EAR", label: "Hearing (ENT)", detail: "Sensorineural hearing loss → Alport syndrome (X-linked COL4A5 mutation)" },
    { icon: "GEN", label: "Genitalia / Perineum", detail: "Perineal irritation, meatal abnormalities, urethral discharge → local causes of gross hematuria" },
    { icon: "EYE", label: "Eyes", detail: "Anterior lenticonus → Alport syndrome | Retinal changes → severe hypertension or SLE" },
  ];

  examItems.forEach((item, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.2 + col * 5.0;
    const y = 1.45 + row * 1.0;
    addBox(s, x, y, 0.72, 0.72, C.teal, C.teal);
    s.addText(item.icon, { x, y, w: 0.72, h: 0.72, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    addBox(s, x + 0.72, y, 4.1, 0.72, i % 2 === 0 ? "FFFFFF" : C.lightGray, "D5D8DC");
    s.addText(item.label, { x: x + 0.82, y: y + 0.04, w: 3.9, h: 0.28, fontSize: 10.5, bold: true, color: C.navy });
    s.addText(item.detail, { x: x + 0.82, y: y + 0.32, w: 3.9, h: 0.38, fontSize: 9, color: C.midGray });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — Urinalysis & Urine Microscopy
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "INVESTIGATIONS — STEP 1");
  addTitleBar(s, "Urinalysis & Urine Microscopy", "The single most critical step in evaluation of hematuria");

  // Central importance box
  addBox(s, 0.25, 1.45, 9.5, 0.55, C.lightGold, C.gold);
  s.addText("ALWAYS examine a FRESHLY VOIDED urine sample with microscopic assessment — this is the critical first step", {
    x: 0.35, y: 1.45, w: 9.3, h: 0.55, fontSize: 11, bold: true, color: C.navy, valign: "middle", italic: true
  });

  const uaRows = [
    { test: "Dipstick Heme +, no RBCs on microscopy", interpretation: "Hemoglobinuria (hemolysis) or Myoglobinuria (rhabdomyolysis)", color: "FFE8D4" },
    { test: "Normal RBC morphology (isomorphic)", interpretation: "Non-glomerular origin → lower urinary tract, stones, infection, trauma", color: "D4EEF1" },
    { test: "Dysmorphic / crenated RBCs (acanthocytes)", interpretation: "Glomerular origin → GN, thin BM disease, Alport", color: "D4F0D4" },
    { test: "RBC casts in sediment", interpretation: "PATHOGNOMONIC of glomerulonephritis — defines nephritic syndrome", color: "FCF0D5" },
    { test: "WBCs / bacteria", interpretation: "Urinary tract infection → send urine culture", color: "ECDDF5" },
    { test: "Crystals (calcium oxalate, uric acid)", interpretation: "Urolithiasis / hypercalciuria — consider 24h urine calcium", color: "D4EEF1" },
    { test: "Proteinuria (dipstick 2+ or higher)", interpretation: "Glomerular disease — quantify with urine protein:creatinine ratio", color: "FFE8D4" },
  ];

  uaRows.forEach((row, i) => {
    addBox(s, 0.25, 2.08 + i * 0.49, 4.5, 0.45, row.color, "C0C0C0");
    s.addText(row.test, { x: 0.35, y: 2.1 + i * 0.49, w: 4.3, h: 0.41, fontSize: 9.5, bold: true, color: C.navy, valign: "middle" });
    addBox(s, 4.75, 2.08 + i * 0.49, 5.0, 0.45, row.color, "C0C0C0");
    s.addText(row.interpretation, { x: 4.85, y: 2.1 + i * 0.49, w: 4.8, h: 0.41, fontSize: 9.5, color: C.navy, valign: "middle" });
  });

  s.addText("FINDING", { x: 0.25, y: 1.98, w: 4.5, h: 0.1, fontSize: 9, bold: true, color: C.teal, align: "center" });
  s.addText("INTERPRETATION", { x: 4.75, y: 1.98, w: 5.0, h: 0.1, fontSize: 9, bold: true, color: C.teal, align: "center" });

  addFooter(s, "Campbell-Walsh-Wein Urology | Feld et al., 1998");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — Glomerular vs Non-Glomerular Hematuria
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "CLINICAL DIFFERENTIATION");
  addTitleBar(s, "Glomerular vs. Non-Glomerular Hematuria", "Key clinical and laboratory distinguishing features");

  const rows = [
    ["Feature", "Glomerular", "Non-Glomerular"],
    ["Urine color", "Tea / cola / brown colored", "Red / pink / bright red"],
    ["RBC morphology", "Dysmorphic, acanthocytes", "Isomorphic (normal)"],
    ["RBC casts", "Present (pathognomonic)", "Absent"],
    ["Proteinuria", "Often significant (2+ or more)", "Absent or trace"],
    ["Hypertension", "Common", "Rare (unless underlying cause)"],
    ["Edema", "May be present", "Absent"],
    ["Pain", "Rarely painful", "Often painful (stones, UTI, trauma)"],
    ["Common causes", "GN, thin BM disease, Alport, IgA", "UTI, stones, trauma, tumor"],
  ];

  rows.forEach((row, ri) => {
    const isHeader = ri === 0;
    const bg0 = isHeader ? C.navy : (ri % 2 === 0 ? "FFFFFF" : C.lightGray);
    const bg1 = isHeader ? C.red : (ri % 2 === 0 ? "FDDBD8" : "FADBD8");
    const bg2 = isHeader ? C.teal : (ri % 2 === 0 ? C.lightTeal : "C8E4EA");
    const fsize = isHeader ? 10.5 : 10;
    const textCol = isHeader ? C.white : C.navy;
    const y = 1.42 + ri * 0.46;
    addBox(s, 0.2, y, 2.8, 0.44, bg0, "C0C0C0");
    addBox(s, 3.0, y, 3.3, 0.44, bg1, "C0C0C0");
    addBox(s, 6.3, y, 3.45, 0.44, bg2, "C0C0C0");
    s.addText(row[0], { x: 0.28, y: y + 0.04, w: 2.65, h: 0.36, fontSize: fsize, bold: isHeader, color: textCol, valign: "middle" });
    s.addText(row[1], { x: 3.08, y: y + 0.04, w: 3.15, h: 0.36, fontSize: fsize, bold: isHeader, color: textCol, valign: "middle" });
    s.addText(row[2], { x: 6.38, y: y + 0.04, w: 3.28, h: 0.36, fontSize: fsize, bold: isHeader, color: textCol, valign: "middle" });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — Laboratory Investigations
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "INVESTIGATIONS — STEP 2");
  addTitleBar(s, "Laboratory Investigations", "Tailored to history, examination, and urinalysis findings");

  // 3-column approach
  const labCols = [
    {
      title: "INITIAL WORKUP\n(ALL patients)",
      color: C.navy,
      items: [
        "Urinalysis with microscopy",
        "Urine culture (if UTI suspected)",
        "Urine protein:creatinine ratio",
        "Blood pressure measurement",
        "Renal ultrasonography"
      ]
    },
    {
      title: "GLOMERULAR PANEL\n(if glomerular features)",
      color: C.teal,
      items: [
        "Serum creatinine, electrolytes, BUN",
        "Serum albumin",
        "CBC with differential",
        "C3 and C4 complement levels",
        "ASO / anti-DNase B titres (APSGN)",
        "ANA screening (if SLE suspected)",
        "ANCA (if vasculitis suspected)"
      ]
    },
    {
      title: "UROLOGICAL PANEL\n(if non-glomerular features)",
      color: C.blue,
      items: [
        "24h urine calcium (hypercalciuria)",
        "Spot urine calcium:creatinine ratio",
        "Urine culture and sensitivity",
        "Serum uric acid",
        "Sickle cell screen (if indicated)",
        "PT / PTT / bleeding time (coagulopathy)",
        "CT KUB (stone protocol if needed)"
      ]
    }
  ];

  labCols.forEach((col, ci) => {
    const x = 0.2 + ci * 3.27;
    addBox(s, x, 1.42, 3.0, 0.72, col.color, col.color);
    s.addText(col.title, { x: x + 0.05, y: 1.42, w: 2.9, h: 0.72, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle" });
    col.items.forEach((item, ii) => {
      const bg = ii % 2 === 0 ? "FFFFFF" : C.lightGray;
      addBox(s, x, 2.14 + ii * 0.48, 3.0, 0.46, bg, "D5D8DC");
      s.addText("• " + item, { x: x + 0.1, y: 2.18 + ii * 0.48, w: 2.8, h: 0.38, fontSize: 9.5, color: C.navy, valign: "middle" });
    });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — Imaging
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "INVESTIGATIONS — STEP 3");
  addTitleBar(s, "Imaging in Pediatric Hematuria", "First-line modality: renal ultrasonography (no radiation)");

  const imgData = [
    {
      modality: "Renal Ultrasound",
      color: C.teal,
      badge: "FIRST LINE",
      badgeColor: C.gold,
      indications: "All children with gross hematuria, suspected stones, masses, structural anomalies, or glomerular disease",
      detects: "Stones, hydronephrosis, CAKUT, cystic kidneys (PKD), renal masses, renal vein thrombosis"
    },
    {
      modality: "CT Abdomen/Pelvis",
      color: C.navy,
      badge: "TRAUMA / STONE",
      badgeColor: C.red,
      indications: "Gross hematuria + trauma | Suspected nephrolithiasis (non-contrast CT) | ≥50 RBC/hpf after trauma",
      detects: "Renal lacerations, contusions, vascular injury, stone location and size, tumor extent"
    },
    {
      modality: "VCUG",
      color: C.blue,
      badge: "STRUCTURAL",
      badgeColor: C.blue,
      indications: "Recurrent UTI with structural concern, VUR evaluation, bladder outflow obstruction",
      detects: "Vesicoureteral reflux grade, posterior urethral valves, bladder diverticula"
    },
    {
      modality: "Cystoscopy",
      color: C.midGray,
      badge: "PERSISTENT",
      badgeColor: C.midGray,
      indications: "Persistent gross hematuria without identifiable cause after US + labs",
      detects: "Bladder lesions, bleeding sites, ureteral orifice abnormalities; rarely needed in children"
    }
  ];

  imgData.forEach((item, i) => {
    const x = i < 2 ? 0.2 + i * 4.9 : 0.2 + (i - 2) * 4.9;
    const y = i < 2 ? 1.42 : 3.4;
    addBox(s, x, y, 4.6, 0.38, item.color, item.color);
    s.addText(item.modality, { x: x + 0.08, y, w: 3.4, h: 0.38, fontSize: 11, bold: true, color: C.white, valign: "middle" });
    addBox(s, x + 3.5, y + 0.06, 1.0, 0.26, item.badgeColor, item.badgeColor);
    s.addText(item.badge, { x: x + 3.5, y: y + 0.06, w: 1.0, h: 0.26, fontSize: 7.5, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    addBox(s, x, y + 0.38, 4.6, 1.58, "FFFFFF", "D5D8DC");
    s.addText("Indicated when:", { x: x + 0.1, y: y + 0.42, w: 4.4, h: 0.24, fontSize: 9.5, bold: true, color: C.teal });
    s.addText(item.indications, { x: x + 0.1, y: y + 0.62, w: 4.4, h: 0.58, fontSize: 9, color: C.navy });
    s.addText("Detects:", { x: x + 0.1, y: y + 1.18, w: 4.4, h: 0.22, fontSize: 9.5, bold: true, color: C.teal });
    s.addText(item.detects, { x: x + 0.1, y: y + 1.38, w: 4.4, h: 0.5, fontSize: 9, color: C.midGray });
  });

  addFooter(s, "Harriet Lane Handbook 23e | Campbell-Walsh-Wein Urology");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — Age-Based Glomerular Disease
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "GLOMERULAR CAUSES — AGE-BASED APPROACH");
  addTitleBar(s, "Glomerular Disease by Age Group", "BOX 21.3 – Campbell-Walsh-Wein Urology");

  const ageGroups = [
    {
      label: "< 1 YEAR",
      color: C.red,
      diseases: [
        "Congenital infections",
        "Diffuse mesangial sclerosis",
        "Congenital nephrotic syndrome",
        "Infantile nephrotic syndrome",
        "Denys-Drash syndrome",
        "Frasier syndrome",
        "Genetic renal diseases",
      ]
    },
    {
      label: "1 – 10 YEARS",
      color: C.teal,
      diseases: [
        "Post-streptococcal GN (APSGN)",
        "Minimal Change Nephrotic Syndrome",
        "Focal Segmental Glomerulosclerosis",
        "IgA Vasculitis (HSP)",
        "Hemolytic Uremic Syndrome",
        "Alport Syndrome",
        "Thin BM nephropathy",
      ]
    },
    {
      label: "≥ 7 YEARS",
      color: C.navy,
      diseases: [
        "Systemic Lupus Erythematosus",
        "Systemic Vasculitis / ANCA",
        "IgA Nephropathy",
        "Membranoproliferative GN",
        "Membranous Nephropathy",
        "Crescentic (Rapidly Progressive) GN",
        "Secondary FSGS",
      ]
    }
  ];

  ageGroups.forEach((grp, gi) => {
    const x = 0.2 + gi * 3.27;
    addBox(s, x, 1.42, 3.0, 0.52, grp.color, grp.color);
    s.addText(grp.label, { x, y: 1.42, w: 3.0, h: 0.52, fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    grp.diseases.forEach((d, di) => {
      const bg = di % 2 === 0 ? "FFFFFF" : C.lightGray;
      addBox(s, x, 1.94 + di * 0.52, 3.0, 0.5, bg, "D5D8DC");
      s.addText("• " + d, { x: x + 0.1, y: 1.98 + di * 0.52, w: 2.8, h: 0.42, fontSize: 10, color: C.navy, valign: "middle" });
    });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology BOX 21.3 — Common Age Ranges for Glomerular Diseases");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — Approach Algorithm (Flowchart-style)
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "1A2A3A" }, line: { color: "1A2A3A" } });
  addSectionBanner(s, "DIAGNOSTIC ALGORITHM");
  s.addText("Stepwise Approach to Hematuria in Pediatrics", { x: 0.2, y: 0.35, w: 9.6, h: 0.72, fontSize: 20, bold: true, color: C.white, valign: "middle" });

  // Step boxes
  const steps = [
    { num: "1", label: "CONFIRM HEMATURIA", sub: "UA + urine microscopy (freshly voided)\n>5 RBC/hpf on 2+ occasions", color: C.teal, x: 0.2, y: 1.15 },
    { num: "2", label: "RULE OUT PSEUDOHEMATURIA", sub: "Dipstick+ but no RBCs → Hb/Mb\nDrugs, foods (beets, rifampicin)", color: C.midGray, x: 3.55, y: 1.15 },
    { num: "3", label: "GLOMERULAR vs NON-GLOMERULAR", sub: "RBC morphology, casts, proteinuria,\nurine color, hypertension", color: C.navy, x: 6.9, y: 1.15 },
  ];

  steps.forEach(st => {
    addBox(s, st.x, st.y, 3.1, 1.5, st.color, st.color);
    s.addText(st.num, { x: st.x, y: st.y, w: 0.5, h: 0.5, fontSize: 14, bold: true, color: C.gold, align: "center", valign: "middle" });
    s.addText(st.label, { x: st.x + 0.08, y: st.y + 0.5, w: 2.94, h: 0.36, fontSize: 10, bold: true, color: C.white, align: "center" });
    s.addText(st.sub, { x: st.x + 0.1, y: st.y + 0.85, w: 2.9, h: 0.6, fontSize: 8.5, color: C.lightGray, align: "center" });
  });

  // Arrows
  s.addShape(pres.ShapeType.rightArrow, { x: 3.3, y: 1.6, w: 0.3, h: 0.5, fill: { color: C.gold }, line: { color: C.gold } });
  s.addShape(pres.ShapeType.rightArrow, { x: 6.65, y: 1.6, w: 0.3, h: 0.5, fill: { color: C.gold }, line: { color: C.gold } });

  // Step 4 & 5 side by side
  addBox(s, 0.2, 2.85, 4.6, 2.4, C.teal, C.teal);
  s.addText("4  GLOMERULAR WORKUP", { x: 0.25, y: 2.85, w: 4.5, h: 0.38, fontSize: 10.5, bold: true, color: C.white, valign: "middle" });
  const gl4 = ["C3, C4 complement levels", "ASO / anti-DNase B", "ANA, ANCA", "Serum Cr, albumin, CBC", "Renal biopsy if indicated", "Refer pediatric nephrology"];
  gl4.forEach((item, i) => {
    s.addText("• " + item, { x: 0.35, y: 3.28 + i * 0.33, w: 4.3, h: 0.3, fontSize: 9.5, color: C.white });
  });

  addBox(s, 5.15, 2.85, 4.6, 2.4, C.blue, C.blue);
  s.addText("5  NON-GLOMERULAR WORKUP", { x: 5.2, y: 2.85, w: 4.5, h: 0.38, fontSize: 10.5, bold: true, color: C.white, valign: "middle" });
  const ng5 = ["Urine culture (rule out UTI)", "24h urine calcium / Ca:Cr ratio", "Renal ultrasound (first-line imaging)", "CT scan if trauma or stones suspected", "Cystoscopy (persistent unexplained)", "Refer urology if structural cause"];
  ng5.forEach((item, i) => {
    s.addText("• " + item, { x: 5.25, y: 3.28 + i * 0.33, w: 4.35, h: 0.3, fontSize: 9.5, color: C.white });
  });

  // Down arrows
  s.addShape(pres.ShapeType.downArrow, { x: 2.4, y: 2.6, w: 0.5, h: 0.28, fill: { color: C.gold }, line: { color: C.gold } });
  s.addShape(pres.ShapeType.downArrow, { x: 7.1, y: 2.6, w: 0.5, h: 0.28, fill: { color: C.gold }, line: { color: C.gold } });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Reference");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 13 — Specific Conditions: APSGN, IgA, HSP
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "KEY GLOMERULAR CONDITIONS");
  addTitleBar(s, "Common Glomerular Causes in Children", "APSGN • IgA Nephropathy • IgA Vasculitis (HSP)");

  const conditions = [
    {
      name: "APSGN",
      full: "Acute Post-Streptococcal GN",
      color: C.teal,
      age: "1–10 years",
      features: ["Tea-colored urine (nephritis)", "Hypertension, edema", "Preceding throat (1–3 wks) or skin (3–6 wks) infection", "↓ C3, normal C4", "↑ ASO / anti-DNase B titers"],
      management: "Supportive: antihypertensives, diuretics, salt restriction. Penicillin if active strep. Self-limiting."
    },
    {
      name: "IgA Nephropathy",
      full: "Berger Disease",
      color: C.blue,
      age: "Older children / teens",
      features: ["Synpharyngitic gross hematuria (during URTI)", "Recurrent episodes of gross hematuria", "Normal complement levels", "Biopsy: mesangial IgA deposits", "Variable proteinuria"],
      management: "ACE inhibitor if proteinuria. Omega-3, tonsillectomy debated. Immunosuppression for progressive disease."
    },
    {
      name: "IgA Vasculitis",
      full: "Henoch-Schonlein Purpura (HSP)",
      color: C.red,
      age: "2–10 years",
      features: ["Palpable purpura (legs, buttocks)", "Arthritis / arthralgia", "Abdominal pain", "Renal involvement: hematuria ± proteinuria", "Normal platelets / coagulation"],
      management: "Supportive. Steroids for severe abdominal pain / arthritis. Nephrology referral if significant nephritis."
    }
  ];

  conditions.forEach((cond, ci) => {
    const x = 0.2 + ci * 3.27;
    addBox(s, x, 1.42, 3.0, 0.55, cond.color, cond.color);
    s.addText(cond.name, { x, y: 1.42, w: 3.0, h: 0.3, fontSize: 12.5, bold: true, color: C.white, align: "center", valign: "middle" });
    s.addText(cond.full, { x, y: 1.7, w: 3.0, h: 0.24, fontSize: 8.5, color: C.white, align: "center", italic: true });
    addBox(s, x, 1.97, 3.0, 0.25, C.lightGold, C.gold);
    s.addText("Age: " + cond.age, { x, y: 1.97, w: 3.0, h: 0.25, fontSize: 9, bold: true, color: C.navy, align: "center", valign: "middle" });
    s.addText("Key Features:", { x: x + 0.1, y: 2.25, w: 2.8, h: 0.24, fontSize: 9.5, bold: true, color: cond.color });
    cond.features.forEach((f, fi) => {
      s.addText("• " + f, { x: x + 0.1, y: 2.48 + fi * 0.3, w: 2.8, h: 0.27, fontSize: 9, color: C.navy });
    });
    addBox(s, x, 4.98, 3.0, 0.38, cond.color, cond.color);
    s.addText("Rx: " + cond.management.substring(0, 70) + "...", { x: x + 0.05, y: 4.98, w: 2.9, h: 0.38, fontSize: 8, color: C.white, valign: "middle" });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter BOX 21.3");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 14 — Alport & Thin BM Disease
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "HEREDITARY NEPHROPATHIES");
  addTitleBar(s, "Alport Syndrome & Thin Basement Membrane Disease", "Hereditary causes of persistent microscopic hematuria");

  // Alport
  addBox(s, 0.2, 1.42, 4.65, 3.8, "FFFFFF", C.navy);
  addBox(s, 0.2, 1.42, 4.65, 0.45, C.navy, C.navy);
  s.addText("ALPORT SYNDROME", { x: 0.2, y: 1.42, w: 4.65, h: 0.45, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle" });
  const alportItems = [
    ["Genetics", "X-linked (80%) — COL4A5 mutation\nAutosomal recessive — COL4A3/A4"],
    ["Renal", "Persistent microscopic hematuria → progressive nephritis → ESRD (teens–young adult in males)"],
    ["Hearing", "Sensorineural hearing loss (bilateral, progressive)"],
    ["Eyes", "Anterior lenticonus, macular flecks"],
    ["EM", "GBM thinning + splitting ('basket-weave' lamellation)"],
    ["Management", "ACE inhibitors (delay progression)\nAvoid nephrotoxins\nGenetic counseling\nRenal transplant for ESRD"],
  ];
  alportItems.forEach((item, i) => {
    s.addText(item[0] + ":", { x: 0.3, y: 1.95 + i * 0.53, w: 1.1, h: 0.48, fontSize: 9.5, bold: true, color: C.navy, valign: "top" });
    s.addText(item[1], { x: 1.35, y: 1.95 + i * 0.53, w: 3.4, h: 0.48, fontSize: 9, color: C.midGray, valign: "top" });
  });

  // Thin BM
  addBox(s, 5.15, 1.42, 4.65, 3.8, "FFFFFF", C.teal);
  addBox(s, 5.15, 1.42, 4.65, 0.45, C.teal, C.teal);
  s.addText("THIN BASEMENT MEMBRANE DISEASE", { x: 5.15, y: 1.42, w: 4.65, h: 0.45, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle" });
  const tbmItems = [
    ["Genetics", "Autosomal dominant\nHeterozygous COL4A3 or COL4A4"],
    ["Renal", "Isolated persistent microscopic hematuria\nBenign prognosis in most cases"],
    ["Family Hx", "Family history of microscopic hematuria (3–4 generations)"],
    ["EM", "Diffuse thinning of GBM (<200 nm)\nNo splitting or lamellation"],
    ["Hearing / Eyes", "Normal hearing and vision (unlike Alport)"],
    ["Management", "Observation and monitoring\nBP control if proteinuria develops\nAnnual follow-up with UA + BP"],
  ];
  tbmItems.forEach((item, i) => {
    s.addText(item[0] + ":", { x: 5.25, y: 1.95 + i * 0.53, w: 1.1, h: 0.48, fontSize: 9.5, bold: true, color: C.teal, valign: "top" });
    s.addText(item[1], { x: 6.3, y: 1.95 + i * 0.53, w: 3.4, h: 0.48, fontSize: 9, color: C.midGray, valign: "top" });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology BOX 21.3 | Comprehensive Clinical Nephrology");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 15 — Hypercalciuria & Nephrolithiasis
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "NON-GLOMERULAR — STONES & HYPERCALCIURIA");
  addTitleBar(s, "Hypercalciuria & Nephrolithiasis", "Most common metabolic cause of hematuria in children");

  addBox(s, 0.2, 1.42, 9.6, 0.62, C.lightGold, C.gold);
  s.addText("Hypercalciuria is the most common metabolic abnormality causing hematuria in children — present in up to 30% of cases of isolated microscopic hematuria", {
    x: 0.3, y: 1.42, w: 9.4, h: 0.62, fontSize: 11, italic: true, color: C.navy, valign: "middle"
  });

  const cols3 = [
    {
      title: "DIAGNOSIS",
      color: C.teal,
      items: [
        "Spot urine Ca:Cr ratio >0.2 mg/mg (children >2 yrs)",
        "24h urine calcium >4 mg/kg/day",
        "Family history of kidney stones",
        "Renal ultrasound (calculi, nephrocalcinosis)",
        "Plain abdominal X-ray (radiopaque stones)",
        "Non-contrast CT KUB (gold standard for stones)"
      ]
    },
    {
      title: "CLINICAL FEATURES",
      color: C.navy,
      items: [
        "Gross or microscopic hematuria",
        "Colicky flank / groin pain (older children)",
        "Dysuria, urgency, frequency",
        "Nausea, vomiting with renal colic",
        "Passage of stone / gravel in urine",
        "Younger children: irritability, vomiting"
      ]
    },
    {
      title: "MANAGEMENT",
      color: C.blue,
      items: [
        "Increase fluid intake (goal 2L/m²/day)",
        "Thiazide diuretics (idiopathic hypercalciuria)",
        "Low sodium diet (reduces Ca excretion)",
        "Low oxalate diet (calcium oxalate stones)",
        "Citrate supplementation (alkalinizes urine)",
        "Urological referral for obstructing stones"
      ]
    }
  ];

  cols3.forEach((col, ci) => {
    const x = 0.2 + ci * 3.27;
    addBox(s, x, 2.15, 3.0, 0.42, col.color, col.color);
    s.addText(col.title, { x, y: 2.15, w: 3.0, h: 0.42, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle" });
    col.items.forEach((item, ii) => {
      const bg = ii % 2 === 0 ? "FFFFFF" : C.lightGray;
      addBox(s, x, 2.57 + ii * 0.48, 3.0, 0.46, bg, "D5D8DC");
      s.addText("• " + item, { x: x + 0.1, y: 2.6 + ii * 0.48, w: 2.8, h: 0.4, fontSize: 9.5, color: C.navy, valign: "middle" });
    });
  });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Reference");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 16 — Red Flags & When to Refer
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "RED FLAGS & REFERRAL");
  addTitleBar(s, "Red Flags & When to Refer", "Features that require urgent nephrology or urology referral");

  // Red flags
  addBox(s, 0.2, 1.42, 9.6, 0.38, C.red, C.red);
  s.addText("RED FLAG FEATURES — Require Urgent Evaluation", {
    x: 0.2, y: 1.42, w: 9.6, h: 0.38, fontSize: 11.5, bold: true, color: C.white, align: "center", valign: "middle"
  });

  const redFlags = [
    ["Hypertension", "Suggests glomerular or renovascular disease"],
    ["Edema / Weight gain", "Nephrotic or nephritic syndrome"],
    ["Significant proteinuria", "Glomerular pathology — biopsy may be needed"],
    ["Impaired renal function", "Rapidly progressive GN — urgent biopsy"],
    ["RBC casts", "Pathognomonic glomerulonephritis"],
    ["Abdominal mass", "Wilms tumor — urgent imaging"],
    ["Clotting abnormality", "Bleeding diathesis — hematology referral"],
    ["Systemic features: rash, fever, arthritis", "SLE, HSP, vasculitis"],
  ];

  redFlags.forEach((rf, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.2 + col * 4.9;
    const y = 1.88 + row * 0.55;
    addBox(s, x, y, 4.65, 0.5, i % 2 === 0 ? "FDDBD8" : "FAD7D5", C.red);
    s.addText(rf[0], { x: x + 0.1, y: y + 0.05, w: 2.0, h: 0.22, fontSize: 10, bold: true, color: C.red });
    s.addText(rf[1], { x: x + 0.1, y: y + 0.26, w: 4.4, h: 0.2, fontSize: 9, color: C.navy });
  });

  // Referral guidance
  addBox(s, 0.2, 4.1, 9.6, 1.2, C.lightTeal, C.teal);
  s.addText("REFERRAL GUIDANCE", { x: 0.3, y: 4.1, w: 9.4, h: 0.3, fontSize: 10.5, bold: true, color: C.teal });
  s.addText([
    { text: "Nephrology: ", options: { bold: true, color: C.teal, breakLine: false } },
    { text: "Glomerular features, proteinuria, hypertension, impaired GFR, systemic disease, RBC casts, hereditary nephropathy     ", options: { color: C.navy, breakLine: true } },
    { text: "Urology: ", options: { bold: true, color: C.blue, breakLine: false } },
    { text: "Persistent gross hematuria without apparent cause, suspected stones/obstruction, abdominal mass, structural anomalies, urethrorrhagia >2 years", options: { color: C.navy } }
  ], { x: 0.3, y: 4.4, w: 9.4, h: 0.85, fontSize: 10.5 });

  addFooter(s, "Campbell-Walsh-Wein Urology | Pediatric Nephrology Chapter");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 17 — Isolated Microscopic Hematuria: Management
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream }, line: { color: C.cream } });
  addSectionBanner(s, "MANAGEMENT");
  addTitleBar(s, "Managing Isolated Microscopic Hematuria", "A watchful waiting approach for asymptomatic children");

  addBox(s, 0.2, 1.42, 9.6, 0.55, C.lightGold, C.gold);
  s.addText("In the absence of RBC casts, proteinuria, or family history of progressive renal disease — most patients may be OBSERVED and retested in 6–12 months", {
    x: 0.3, y: 1.42, w: 9.4, h: 0.55, fontSize: 11, italic: true, color: C.navy, valign: "middle"
  });

  const mgmtFlow = [
    { step: "CONFIRM", detail: "Repeat UA x2 over 2–4 weeks to confirm persistence (>5 RBC/hpf both times)", color: C.teal },
    { step: "ASSESS", detail: "BP, urine protein:Cr ratio, family history, renal function baseline", color: C.navy },
    { step: "STRATIFY", detail: "Low risk: isolated, asymptomatic, no family history of ESRD\nHigh risk: + proteinuria, + hypertension, + family history of progressive renal disease", color: C.blue },
    { step: "FOLLOW-UP", detail: "Low risk: Annual review — UA, BP, growth monitoring, no biopsy needed\nHigh risk: Nephrology referral, consider biopsy", color: C.midGray },
  ];

  mgmtFlow.forEach((m, i) => {
    const x = 0.2 + i * 2.42;
    addBox(s, x, 2.1, 2.1, 0.45, m.color, m.color);
    s.addText(m.step, { x, y: 2.1, w: 2.1, h: 0.45, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle" });
    addBox(s, x, 2.55, 2.1, 1.8, "FFFFFF", "D5D8DC");
    s.addText(m.detail, { x: x + 0.08, y: 2.6, w: 1.95, h: 1.7, fontSize: 9.5, color: C.navy, valign: "top" });
    if (i < 3) {
      s.addShape(pres.ShapeType.rightArrow, { x: x + 2.1, y: 2.25, w: 0.32, h: 0.35, fill: { color: C.gold }, line: { color: C.gold } });
    }
  });

  addBox(s, 0.2, 4.52, 9.6, 0.78, C.lightTeal, C.teal);
  s.addText([
    { text: "When to consider RENAL BIOPSY: ", options: { bold: true, color: C.teal, breakLine: false } },
    { text: "Persistent proteinuria + hematuria | Declining GFR | Hypertension | Suspected IgA nephropathy, Alport, MPGN | Clinical features of systemic disease", options: { color: C.navy } }
  ], { x: 0.3, y: 4.52, w: 9.4, h: 0.78, fontSize: 10.5, valign: "middle" });

  addFooter(s, "Campbell-Walsh-Wein Urology | Feld et al., 1998");
}

// ══════════════════════════════════════════════════════════════════════════════
// SLIDE 18 — Summary
// ══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });

  addSectionBanner(s, "SUMMARY");
  s.addText("Key Takeaways", { x: 0.3, y: 0.35, w: 9.4, h: 0.72, fontSize: 26, bold: true, color: C.white, valign: "middle" });

  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.05, w: 10, h: 0.06, fill: { color: C.gold }, line: { color: C.gold } });

  const takeaways = [
    { n: "1", txt: "Hematuria = >5 RBCs/hpf on freshly spun urine on 2+ occasions. Confirm before extensive work-up." },
    { n: "2", txt: "Dipstick+ with no RBCs on microscopy → think hemoglobinuria or myoglobinuria, not true hematuria." },
    { n: "3", txt: "Determine glomerular vs. non-glomerular origin using RBC morphology, casts, and proteinuria." },
    { n: "4", txt: "Most common cause of gross hematuria in children: UTI (26%), followed by perineal irritation, trauma." },
    { n: "5", txt: "Isolated microscopic hematuria occurs in ~1% of school-age children and mostly resolves within 1 year." },
    { n: "6", txt: "Always measure blood pressure — hypertension narrows the differential toward glomerular or renovascular disease." },
    { n: "7", txt: "Renal ultrasound is the first-line imaging modality; reserve CT for trauma, stones, or tumor." },
    { n: "8", txt: "Refer to nephrology if: proteinuria, hypertension, impaired GFR, or glomerular features on UA." },
  ];

  takeaways.forEach((t, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.2 + col * 5.0;
    const y = 1.18 + row * 1.06;
    s.addShape(pres.ShapeType.rect, { x, y, w: 0.46, h: 0.46, fill: { color: C.gold }, line: { color: C.gold } });
    s.addText(t.n, { x, y, w: 0.46, h: 0.46, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
    s.addText(t.txt, { x: x + 0.54, y: y, w: 4.3, h: 0.92, fontSize: 9.5, color: C.white, valign: "middle" });
  });

  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.35, w: 10, h: 0.275, fill: { color: C.teal }, line: { color: C.teal } });
  s.addText("Source: Campbell-Walsh-Wein Urology | Harriet Lane Handbook 23e | Pediatric Nephrology Reference", {
    x: 0.3, y: 5.35, w: 9.4, h: 0.275, fontSize: 8, color: C.white, valign: "middle", align: "center"
  });
}

// ── Write file ─────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hematuria-peds-ppt/Pediatric_Hematuria.pptx" })
  .then(() => console.log("SUCCESS: File written"))
  .catch(err => { console.error("ERROR:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/hematuria-peds-ppt && node build.js 2>&1

Running Command

ls -lh /home/daytona/workspace/hematuria-peds-ppt/

Your presentation is ready!

Pediatric Hematuria

Presentation · PPTX


What's inside (18 slides)

#SlideContent
1TitleBold dark design with topic overview panel
2Definition & EpidemiologyGross vs. microscopic hematuria defined; prevalence data
3Causes of Gross HematuriaFull table with 12 causes + clinical context (UTI 26%, trauma 7%, etc.)
4Causes of Microscopic HematuriaThree-column layout: glomerular / non-glomerular / other
5History Taking4-block grid: chief complaint, associated symptoms, family history, drug/medical history
6Physical Examination8 key findings with icons: BP, edema, rash, joints, abdomen, hearing, genitalia, eyes
7Urinalysis & Urine MicroscopyInterpretation table: dysmorphic RBCs, casts, crystals, proteinuria, Hb/Mb
8Glomerular vs. Non-GlomerularColor-coded comparison table (8 distinguishing features)
9Laboratory InvestigationsThree-tier panel: initial workup / glomerular panel / urological panel
10ImagingUltrasound, CT, VCUG, Cystoscopy - indications and what each detects
11Glomerular Disease by Age GroupBOX 21.3 layout: <1 yr / 1-10 yrs / ≥7 yrs
12Diagnostic AlgorithmFlowchart: Confirm → Rule out pseudo → Glomerular vs Non-glomerular → workup
13APSGN, IgA Nephropathy, HSPThree-column card design with features + management
14Alport & Thin BM DiseaseSide-by-side comparison of hereditary nephropathies
15Hypercalciuria & NephrolithiasisDiagnosis, clinical features, management
16Red Flags & Referral8 red flag features + nephrology vs. urology referral criteria
17Managing Isolated Microscopic Hematuria4-step management flow + renal biopsy indications
18Summary8 key takeaways on a dark navy background
Sources: Campbell-Walsh-Wein Urology (Pediatric Nephrology chapter, BOX 21.1 & 21.3), Harriet Lane Handbook 23e, and Feld et al. 1998.
This is a shared conversation. Sign in to Orris to start your own chat.