Endocrine tumours of pancreas powerpoint presentation

Asking for Preferences
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/endocrine-pancreas-ppt && ls /home/daytona/workspace/endocrine-pancreas-ppt/

Writing File

~/endocrine-pancreas-ppt/build.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Endocrine Tumours of the Pancreas";
pres.subject = "Pancreatic Neuroendocrine Neoplasms (PanNENs)";

// ─── COLOUR PALETTE ───────────────────────────────────────────────────────────
const C = {
  navy:       "0D2B55",   // dominant dark (60%)
  teal:       "1A7A8A",   // supporting mid-tone
  amber:      "F0A500",   // accent / highlight
  white:      "FFFFFF",
  lightGray:  "EEF2F7",
  midGray:    "B0BEC5",
  textDark:   "1A1A2E",
  softBlue:   "1E3A5F",
  paleBlue:   "D6E4F0",
  gold:       "FFD166",
  green:      "2D9E6B",
  red:        "C0392B",
};

// ─── HELPERS ─────────────────────────────────────────────────────────────────
function addSlide(bg) {
  const s = pres.addSlide();
  s.background = { color: bg || C.white };
  return s;
}

function sectionTitle(slide, label) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.amber } });
  slide.addText(label, {
    x: 0, y: 0.08, w: 10, h: 0.5, fontSize: 10, bold: true, color: C.amber,
    align: "center", charSpacing: 3
  });
}

function mainTitle(slide, title, subtitle) {
  slide.addText(title, {
    x: 0.5, y: 0.9, w: 9, h: 1.4,
    fontSize: 38, bold: true, color: C.white, align: "center", fontFace: "Calibri"
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x: 0.5, y: 2.45, w: 9, h: 0.6,
      fontSize: 18, color: C.gold, align: "center", fontFace: "Calibri", italic: true
    });
  }
}

function slideHeading(slide, title) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: C.navy } });
  slide.addText(title, {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 22, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle"
  });
}

function bullet(text, level, bold) {
  return {
    text: text,
    options: {
      bullet: { indent: 12 + (level || 0) * 14 },
      fontSize: level === 1 ? 14 : 16,
      bold: bold || false,
      color: level === 1 ? C.teal : C.textDark,
      breakLine: true,
      paraSpaceAfter: level === 1 ? 2 : 5
    }
  };
}

function addBullets(slide, items, x, y, w, h) {
  slide.addText(items, { x, y, w, h, fontFace: "Calibri", valign: "top" });
}

function colorBox(slide, x, y, w, h, color, text, textColor, fontSize) {
  slide.addShape(pres.ShapeType.roundRect, {
    x, y, w, h,
    fill: { color },
    line: { color: C.white, width: 1 },
    rectRadius: 0.08
  });
  if (text) {
    slide.addText(text, {
      x, y, w, h, fontSize: fontSize || 13, bold: true,
      color: textColor || C.white, align: "center", valign: "middle", fontFace: "Calibri"
    });
  }
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 1 – TITLE
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  // Decorative gradient band
  s.addShape(pres.ShapeType.rect, { x: 0, y: 4.3, w: 10, h: 1.325, fill: { color: C.softBlue } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: C.amber } });
  mainTitle(s, "Endocrine Tumours\nof the Pancreas", "Pancreatic Neuroendocrine Neoplasms (PanNENs)");
  s.addText("For Medical Students  |  Comprehensive Review", {
    x: 0.5, y: 3.2, w: 9, h: 0.4, fontSize: 13, color: C.midGray,
    align: "center", fontFace: "Calibri"
  });
  s.addText("Sources: Robbins & Cotran Pathology · Bailey & Love Surgery · Harrison's Principles · Yamada's Gastroenterology", {
    x: 0.5, y: 4.9, w: 9, h: 0.4, fontSize: 9, color: C.midGray,
    align: "center", fontFace: "Calibri", italic: true
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 2 – OUTLINE
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Lecture Outline");
  const topics = [
    ["1. Introduction & Classification", C.navy],
    ["2. Pathogenesis & Molecular Genetics", C.teal],
    ["3. WHO Grading System", C.teal],
    ["4. Insulinoma", C.navy],
    ["5. Gastrinoma & Zollinger-Ellison Syndrome", C.navy],
    ["6. Glucagonoma", C.teal],
    ["7. VIPoma (Verner-Morrison Syndrome)", C.teal],
    ["8. Somatostatinoma & Rare Tumours", C.teal],
    ["9. Non-Functioning PanNETs", C.navy],
    ["10. MEN-1 Association", C.navy],
    ["11. Imaging & Diagnosis", C.teal],
    ["12. Management Principles", C.navy],
    ["13. Prognosis & Summary", C.teal],
  ];
  const col1 = topics.slice(0, 7);
  const col2 = topics.slice(7);
  col1.forEach((t, i) => {
    s.addShape(pres.ShapeType.roundRect, { x: 0.4, y: 1.1 + i * 0.58, w: 4.5, h: 0.46, fill: { color: t[1] }, rectRadius: 0.07 });
    s.addText(t[0], { x: 0.4, y: 1.1 + i * 0.58, w: 4.5, h: 0.46, fontSize: 13, bold: true, color: C.white, valign: "middle", fontFace: "Calibri" });
  });
  col2.forEach((t, i) => {
    s.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 1.1 + i * 0.58, w: 4.5, h: 0.46, fill: { color: t[1] }, rectRadius: 0.07 });
    s.addText(t[0], { x: 5.1, y: 1.1 + i * 0.58, w: 4.5, h: 0.46, fontSize: 13, bold: true, color: C.white, valign: "middle", fontFace: "Calibri" });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 3 – INTRODUCTION
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Introduction");
  sectionTitle(s, "WHAT ARE PanNENs?");
  addBullets(s, [
    bullet("Preferred term: Pancreatic Neuroendocrine Neoplasms (PanNENs)"),
    bullet("Also called: islet cell tumours, P-NETs"),
    bullet("Rare – account for only ~2% of all pancreatic neoplasms"),
    bullet("Arise from islet cells of Langerhans (endocrine pancreas)"),
    bullet("Can occur anywhere in the pancreas or adjacent peripancreatic tissues"),
    bullet("May be single or multiple"),
    bullet("Functional (hormone-secreting) OR Non-functional", false),
    bullet("Non-functional tumours = 25–100% of all P-NETs; diagnosed later due to lack of symptoms", 1),
    bullet("When malignant → liver is the most common site of metastases"),
  ], 0.4, 1.05, 9.2, 4.2);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 4 – ISLETS OF LANGERHANS (PHYSIOLOGY)
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "The Endocrine Pancreas – Islets of Langerhans");
  // Central circle label
  s.addShape(pres.ShapeType.ellipse, { x: 3.8, y: 1.8, w: 2.4, h: 2.1, fill: { color: C.paleBlue }, line: { color: C.teal, width: 2 } });
  s.addText("Islet of\nLangerhans\n~1 million in adult\nCombined wt: 1–1.5 g", {
    x: 3.8, y: 1.8, w: 2.4, h: 2.1, fontSize: 11, align: "center", valign: "middle", bold: true, color: C.navy, fontFace: "Calibri"
  });
  // Cell boxes
  const cells = [
    { label: "β Cells\n65–80%", sub: "Secrete: Insulin", x: 0.3, y: 1.5, color: C.navy },
    { label: "α Cells\n15–20%", sub: "Secrete: Glucagon", x: 0.3, y: 3.3, color: C.teal },
    { label: "δ Cells\n3–10%", sub: "Secrete: Somatostatin", x: 7.3, y: 1.5, color: C.green },
    { label: "PP Cells\n~1%", sub: "Secrete: Pancreatic Polypeptide", x: 7.3, y: 3.3, color: C.amber + "" },
  ];
  cells.forEach(c => {
    s.addShape(pres.ShapeType.roundRect, { x: c.x, y: c.y, w: 2.6, h: 1.4, fill: { color: c.color }, rectRadius: 0.1 });
    s.addText([
      { text: c.label + "\n", options: { fontSize: 14, bold: true, breakLine: false } },
      { text: c.sub, options: { fontSize: 11, bold: false } }
    ], { x: c.x, y: c.y, w: 2.6, h: 1.4, align: "center", valign: "middle", color: C.white, fontFace: "Calibri" });
  });
  s.addText("Endocrine cells constitute approximately 1–2% of the total pancreatic mass", {
    x: 0.5, y: 5.0, w: 9, h: 0.4, fontSize: 11, italic: true, color: C.teal, align: "center", fontFace: "Calibri"
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 5 – CLASSIFICATION TABLE
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Classification of PanNENs");
  sectionTitle(s, "FUNCTIONAL vs NON-FUNCTIONAL");

  const rows = [
    ["Tumour Type", "Cell of Origin", "Hormone", "Malignancy Rate", "Key Syndrome"],
    ["Insulinoma", "β cell", "Insulin", "~10%", "Hypoglycaemia"],
    ["Gastrinoma", "G cell / δ cell", "Gastrin", ">50–60%", "Zollinger-Ellison"],
    ["Glucagonoma", "α cell", "Glucagon", "~60–80%", "Necrolytic migratory erythema"],
    ["VIPoma", "Non-β islet cell", "VIP", "~60–80%", "Verner-Morrison (WDHA)"],
    ["Somatostatinoma", "δ cell", "Somatostatin", "~60–70%", "Diabetes, steatorrhoea, cholelithiasis"],
    ["Non-Functional", "Various", "None*", "~60–90%", "Mass effect (pain, jaundice)"],
  ];
  const colW = [1.5, 1.5, 1.3, 1.4, 3.5];
  const rowH = 0.52;
  const startX = 0.2, startY = 1.05;

  rows.forEach((row, ri) => {
    row.forEach((cell, ci) => {
      const xPos = startX + colW.slice(0, ci).reduce((a, b) => a + b, 0);
      const yPos = startY + ri * rowH;
      const bg = ri === 0 ? C.navy : (ri % 2 === 0 ? C.paleBlue : C.white);
      const fg = ri === 0 ? C.white : C.textDark;
      s.addShape(pres.ShapeType.rect, { x: xPos, y: yPos, w: colW[ci], h: rowH, fill: { color: bg }, line: { color: C.midGray, width: 0.5 } });
      s.addText(cell, { x: xPos, y: yPos, w: colW[ci], h: rowH, fontSize: ri === 0 ? 11 : 10.5, bold: ri === 0, color: fg, align: "center", valign: "middle", fontFace: "Calibri" });
    });
  });
  s.addText("*May produce hormones subclinically; diagnosed by mass effect or incidentally", {
    x: 0.3, y: 5.15, w: 9.5, h: 0.3, fontSize: 9, italic: true, color: C.midGray, fontFace: "Calibri"
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 6 – PATHOGENESIS & MOLECULAR GENETICS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  slideHeading(s, "Pathogenesis & Molecular Genetics");
  s.background = { color: C.navy };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: "0A1E3A" } });
  s.addText("Pathogenesis & Molecular Genetics", {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
  });

  const boxes = [
    { title: "MEN1 Mutation", body: "Mutated in familial MEN-1 syndrome AND sporadic PanNENs\nTumour suppressor on chromosome 11q13", color: C.teal, x: 0.3, y: 1.15 },
    { title: "PTEN / TSC2 Loss", body: "Loss-of-function mutations activate the mTOR signalling pathway\n→ Oncogenic proliferation", color: C.green, x: 3.55, y: 1.15 },
    { title: "ATRX / DAXX Mutations", body: "Inactivating mutations in ~50% of PanNENs\nLead to Alternative Lengthening of Telomeres (ALT)\n→ Telomere maintenance without telomerase", color: C.amber, x: 6.8, y: 1.15 },
  ];
  boxes.forEach(b => {
    s.addShape(pres.ShapeType.roundRect, { x: b.x, y: b.y, w: 3.1, h: 2.0, fill: { color: b.color }, rectRadius: 0.12 });
    s.addText(b.title, { x: b.x + 0.1, y: b.y + 0.08, w: 2.9, h: 0.42, fontSize: 14, bold: true, color: C.white, fontFace: "Calibri" });
    s.addText(b.body, { x: b.x + 0.1, y: b.y + 0.52, w: 2.9, h: 1.4, fontSize: 12, color: C.white, fontFace: "Calibri", valign: "top" });
  });

  addBullets(s, [
    bullet("Sporadic PanNEN genome sequencing has identified 3 major recurrent alterations", false),
    bullet("MEN1 mutations also found in ~40% of sporadic tumours (not just familial)", 1),
    bullet("mTOR pathway activation is therapeutically relevant – target of everolimus", 1),
    bullet("ATRX and DAXX are mutually exclusive (operate in the same pathway)", 1),
    bullet("Common clinical syndromes: (1) Hyperinsulinism  (2) Hypergastrinemia / ZES  (3) MEN-1 associated", false),
  ], 0.3, 3.25, 9.4, 2.1);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 7 – WHO GRADING
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "WHO Grading of PanNENs (2022)");
  sectionTitle(s, "GRADING BASED ON PROLIFERATIVE INDEX");

  const grades = [
    { grade: "Grade 1 NET\n(Well Differentiated)", mitoses: "<2 / 10 HPF", ki67: "<3%", behavior: "Low malignant potential", color: C.green },
    { grade: "Grade 2 NET\n(Well Differentiated)", mitoses: "2–20 / 10 HPF", ki67: "3–20%", behavior: "Intermediate malignant potential", color: C.amber },
    { grade: "Grade 3 NET\n(Well Differentiated, high proliferative index)", mitoses: ">20 / 10 HPF", ki67: ">20%", behavior: "High malignant potential", color: C.red },
    { grade: "NEC\n(Neuroendocrine Carcinoma – Poorly Differentiated)", mitoses: ">20 / 10 HPF", ki67: ">20%", behavior: "Small cell or large cell type – aggressive", color: "5D0000" },
  ];
  const headers = ["Grade / Type", "Mitoses / 10 HPF", "Ki-67 Index", "Behavior"];
  const hW = [2.9, 1.8, 1.5, 3.3];
  const sx = 0.25, sy = 1.05;
  // Header
  headers.forEach((h, i) => {
    const xPos = sx + hW.slice(0, i).reduce((a, b) => a + b, 0);
    s.addShape(pres.ShapeType.rect, { x: xPos, y: sy, w: hW[i], h: 0.48, fill: { color: C.navy }, line: { color: C.white, width: 0.5 } });
    s.addText(h, { x: xPos, y: sy, w: hW[i], h: 0.48, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri" });
  });
  grades.forEach((g, ri) => {
    const rowData = [g.grade, g.mitoses, g.ki67, g.behavior];
    rowData.forEach((cell, ci) => {
      const xPos = sx + hW.slice(0, ci).reduce((a, b) => a + b, 0);
      const yPos = sy + 0.48 + ri * 0.88;
      const bg = ci === 0 ? g.color : (ri % 2 === 0 ? C.white : C.paleBlue);
      s.addShape(pres.ShapeType.rect, { x: xPos, y: yPos, w: hW[ci], h: 0.88, fill: { color: bg }, line: { color: C.midGray, width: 0.5 } });
      s.addText(cell, { x: xPos, y: yPos, w: hW[ci], h: 0.88, fontSize: ci === 0 ? 11 : 12, bold: ci === 0, color: ci === 0 ? C.white : C.textDark, align: "center", valign: "middle", fontFace: "Calibri" });
    });
  });
  s.addText("HPF = High-Power Field  |  NEC = Neuroendocrine Carcinoma  |  NET = Neuroendocrine Tumour", {
    x: 0.3, y: 5.2, w: 9.5, h: 0.28, fontSize: 9, italic: true, color: C.midGray, fontFace: "Calibri"
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 8 – INSULINOMA OVERVIEW
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Insulinoma");
  sectionTitle(s, "MOST COMMON FUNCTIONAL PanNET");

  const facts = [
    { icon: "β-Cell", label: "Cell of Origin", val: "Pancreatic β cells (insulin-producing)" },
    { icon: "~4/M", label: "Incidence", val: "~4 per million per year (1–32 range)" },
    { icon: ">90%", label: "Benign", val: "More than 90% are benign and solitary" },
    { icon: "<2cm", label: "Tumour Size", val: "Usually < 2 cm; equally distributed in pancreas" },
    { icon: "~10%", label: "MEN-1 Assoc.", val: "~10% associated with MEN-1 syndrome" },
  ];
  facts.forEach((f, i) => {
    const row = Math.floor(i / 3), col = i % 3;
    const x = 0.3 + col * 3.15, y = 1.1 + row * 1.8;
    s.addShape(pres.ShapeType.roundRect, { x, y, w: 2.9, h: 1.55, fill: { color: C.navy }, rectRadius: 0.1 });
    s.addText(f.icon, { x, y: y + 0.08, w: 2.9, h: 0.55, fontSize: 20, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
    s.addText(f.label, { x, y: y + 0.58, w: 2.9, h: 0.3, fontSize: 10, color: C.midGray, align: "center", fontFace: "Calibri" });
    s.addText(f.val, { x, y: y + 0.88, w: 2.9, h: 0.6, fontSize: 10.5, color: C.white, align: "center", valign: "top", fontFace: "Calibri" });
  });
  s.addText("Morphology: Solitary pale/red-brown nodule; histologically resembles giant islets; amyloid deposition is a hallmark", {
    x: 0.3, y: 4.85, w: 9.4, h: 0.55, fontSize: 12, color: C.teal, italic: true, fontFace: "Calibri", align: "center"
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 9 – INSULINOMA CLINICAL FEATURES & DIAGNOSIS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Insulinoma – Clinical Features & Diagnosis");

  // Left column – Whipple's Triad box
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.1, w: 4.3, h: 3.8, fill: { color: C.navy }, rectRadius: 0.12 });
  s.addText("WHIPPLE'S TRIAD", { x: 0.3, y: 1.2, w: 4.3, h: 0.5, fontSize: 15, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
  s.addText([
    { text: "① Symptoms induced by fasting / exercise\n", options: { breakLine: false } },
    { text: "\n② Hypoglycaemia at time of symptoms\n   (plasma glucose < 3.0 mmol/L)\n", options: { breakLine: false } },
    { text: "\n③ Relief of symptoms by glucose\n   administration", options: { breakLine: false } },
  ], { x: 0.45, y: 1.75, w: 4.0, h: 2.9, fontSize: 13, color: C.white, fontFace: "Calibri", valign: "top" });

  // Right column
  addBullets(s, [
    bullet("Clinical Presentation", false),
    bullet("Neuroglycopenic: confusion, stupor, loss of consciousness, coma", 1),
    bullet("Adrenergic: sweating, weakness, hunger, tremor, nausea, anxiety, palpitations", 1),
    bullet("Weight gain (patients learn to eat to survive)", 1),
    bullet("Often misdiagnosed as epilepsy or psychiatric illness", 1),
    bullet("Diagnostic Tests", false),
    bullet("72-hour supervised fast: documented endogenous hyperinsulinism", 1),
    bullet("Elevated C-peptide → confirms endogenous insulin (rules out exogenous)", 1),
    bullet("Elevated proinsulin levels", 1),
    bullet("If fast negative → prolonged oral glucose tolerance test", 1),
  ], 4.9, 1.05, 4.8, 4.0);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 10 – INSULINOMA IMAGING & TREATMENT
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Insulinoma – Imaging & Treatment");
  sectionTitle(s, "LOCALISATION AND SURGICAL MANAGEMENT");

  addBullets(s, [
    bullet("Localisation (in order of preference)", false),
    bullet("CT or MRI – first-line; may miss tumours < 1 cm", 1),
    bullet("Endoscopic Ultrasound (EUS) – sensitivity > 90%; best for small tumours", 1),
    bullet("Visceral angiography + arterial stimulation venous sampling – for elusive/multiple lesions", 1),
    bullet("GLP-1 receptor scintigraphy – promising (insulinomas overexpress GLP-1R) but not universally available", 1),
    bullet("Insulinomas are less avid on somatostatin scintigraphy (Octreoscan) – unlike other PanNETs", 1),
    bullet("Treatment", false),
    bullet("SURGERY is the definitive treatment – curative in >90% of benign cases", 1),
    bullet("Exophytic / peripheral tumours → Enucleation (preferred)", 1),
    bullet("Head of pancreas → Pancreatoduodenectomy (Whipple)", 1),
    bullet("Body/tail → Distal pancreatectomy ± spleen preservation", 1),
    bullet("Medical (pre-operative / inoperable):", 1),
    bullet("Diazoxide – inhibits insulin release", 1),
    bullet("Everolimus – mTOR inhibitor; improves glycaemia + antitumour effect", 1),
    bullet("Caution with somatostatin analogues – may suppress counterregulatory hormones → worsen hypoglycaemia", 1),
  ], 0.4, 1.05, 9.2, 4.2);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 11 – GASTRINOMA OVERVIEW
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  s.background = { color: C.navy };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: "0A1E3A" } });
  s.addText("Gastrinoma & Zollinger-Ellison Syndrome", {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
  });

  // Stats boxes
  const stats = [
    { val: "0.5–4\nper million", label: "Incidence" },
    { val: ">50%", label: "Already metastasised\nat diagnosis" },
    { val: "25%", label: "Associated\nwith MEN-1" },
    { val: "90%", label: "Occur in\nGastrinoma Triangle" },
  ];
  stats.forEach((st, i) => {
    colorBox(s, 0.3 + i * 2.4, 1.1, 2.1, 1.5, C.teal, "", C.white);
    s.addText(st.val, { x: 0.3 + i * 2.4, y: 1.1, w: 2.1, h: 0.9, fontSize: 20, bold: true, color: C.gold, align: "center", valign: "middle", fontFace: "Calibri" });
    s.addText(st.label, { x: 0.3 + i * 2.4, y: 1.95, w: 2.1, h: 0.65, fontSize: 11, color: C.white, align: "center", valign: "top", fontFace: "Calibri" });
  });

  addBullets(s, [
    bullet("Gastrinoma Triangle (90% of tumours): bounded by:", false),
    bullet("Medially: junction of neck and body of pancreas", 1),
    bullet("Inferiorly: junction of 2nd and 3rd parts of duodenum", 1),
    bullet("Superiorly: junction of cystic and common bile ducts", 1),
    bullet("Sporadic: mostly duodenal (60–80%), small (<5 mm), multiple", false),
    bullet("MEN-1: all tumours in duodenum; multiple; generally smaller", false),
    bullet("Histologically bland – rarely shows marked anaplasia", false),
  ], 0.3, 2.75, 9.4, 2.6);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 12 – GASTRINOMA / ZES CLINICAL & DIAGNOSIS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Gastrinoma – Clinical Features & Diagnosis");

  // ZES feature boxes
  const features = [
    { h: "Peptic Ulcer Disease", b: "Present in >90% of patients\nOften multiple, in unusual locations\nIntractable jejunal ulcers → suspect ZES", c: C.red },
    { h: "Diarrhoea", b: "Present in >50% of patients\nPresenting symptom in ~30%\nCaused by massive gastric acid hypersecretion", c: C.teal },
    { h: "GERD / Reflux", b: "Abdominal pain in >75% of patients\nGER most common symptom\nMay mimic simple reflux disease", c: C.navy },
  ];
  features.forEach((f, i) => {
    s.addShape(pres.ShapeType.roundRect, { x: 0.25 + i * 3.25, y: 1.1, w: 3.0, h: 2.0, fill: { color: f.c }, rectRadius: 0.1 });
    s.addText(f.h, { x: 0.25 + i * 3.25, y: 1.15, w: 3.0, h: 0.48, fontSize: 13, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
    s.addText(f.b, { x: 0.35 + i * 3.25, y: 1.65, w: 2.8, h: 1.35, fontSize: 11.5, color: C.white, fontFace: "Calibri", valign: "top" });
  });

  addBullets(s, [
    bullet("Diagnosis of ZES", false),
    bullet("Cornerstone: Elevated fasting serum gastrin (FSG)", 1),
    bullet("If FSG raised → measure gastric pH; pH < 2 + FSG > 10× normal = diagnosis confirmed", 1),
    bullet("If FSG < 10× elevated → perform secretin provocation test", 1),
    bullet("Pitfall: PPIs cause false elevation of gastrin – must be stopped before testing", 1),
    bullet("Imaging: CT, MRI, EUS, Octreotide scintigraphy", 1),
  ], 0.3, 3.2, 9.4, 2.15);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 13 – GASTRINOMA TREATMENT
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Gastrinoma – Management");
  sectionTitle(s, "MEDICAL + SURGICAL APPROACH");

  // Two-column layout
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.1, w: 4.3, h: 4.2, fill: { color: C.paleBlue }, rectRadius: 0.1 });
  s.addText("MEDICAL MANAGEMENT", { x: 0.3, y: 1.15, w: 4.3, h: 0.45, fontSize: 13, bold: true, color: C.navy, align: "center", fontFace: "Calibri" });
  addBullets(s, [
    bullet("Proton Pump Inhibitors (PPIs)"),
    bullet("First-line for symptom control", 1),
    bullet("Rapid resolution of pain and diarrhoea", 1),
    bullet("Somatostatin Analogues"),
    bullet("Octreotide / lanreotide for refractory cases", 1),
    bullet("Control hypergastrinemia", 1),
    bullet("Everolimus / Sunitinib"),
    bullet("For metastatic / unresectable disease", 1),
  ], 0.45, 1.65, 4.0, 3.45);

  s.addShape(pres.ShapeType.roundRect, { x: 4.9, y: 1.1, w: 4.8, h: 4.2, fill: { color: C.navy }, rectRadius: 0.1 });
  s.addText("SURGICAL MANAGEMENT", { x: 4.9, y: 1.15, w: 4.8, h: 0.45, fontSize: 13, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
  addBullets(s, [
    { text: "Recommended for sporadic gastrinomas once symptoms controlled", options: { bullet: { indent: 12 }, fontSize: 13, color: C.white, breakLine: true, paraSpaceAfter: 5 } },
    { text: "Eliminates source of gastrin hypersecretion", options: { bullet: { indent: 12 }, fontSize: 13, color: C.white, breakLine: true, paraSpaceAfter: 5 } },
    { text: "Reduces risk of metastatic disease", options: { bullet: { indent: 12 }, fontSize: 13, color: C.white, breakLine: true, paraSpaceAfter: 5 } },
    { text: "MEN-1: generally surgery for tumours ≥1.5–2 cm (controversial for smaller)", options: { bullet: { indent: 12 }, fontSize: 13, color: C.white, breakLine: true, paraSpaceAfter: 5 } },
    { text: "Prognosis: 5-yr survival 65%, 10-yr 51%; complete resection → 90–100% 5/10-yr survival", options: { bullet: { indent: 12 }, fontSize: 13, color: C.gold, breakLine: true, paraSpaceAfter: 5 } },
  ], 5.05, 1.65, 4.5, 3.45);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 14 – GLUCAGONOMA
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Glucagonoma");
  sectionTitle(s, "α-CELL TUMOUR");

  // Hallmark rash callout
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.1, w: 4.5, h: 2.8, fill: { color: C.red }, rectRadius: 0.12 });
  s.addText("NECROLYTIC\nMIGRATORY\nERYTHEMA", { x: 0.3, y: 1.2, w: 4.5, h: 1.1, fontSize: 20, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri" });
  s.addText("Hallmark skin rash\n• Intertriginous sites (groin, buttock)\n• Waxes and wanes\n• Blistering, erosive, crusting lesions", { x: 0.4, y: 2.3, w: 4.2, h: 1.5, fontSize: 12, color: C.white, fontFace: "Calibri", valign: "top" });

  addBullets(s, [
    bullet("Clinical Features – 'The 4 D's of Glucagonoma'", false),
    bullet("Dermatitis – necrolytic migratory erythema (pathognomonic)", 1),
    bullet("Diabetes (glucose intolerance) – due to glucagon excess", 1),
    bullet("Deep vein thrombosis – hypercoagulable state", 1),
    bullet("Depression / weight loss", 1),
    bullet("Other features: anaemia, glossitis, stomatitis", false),
    bullet("Diagnosis", false),
    bullet("Elevated fasting plasma glucagon levels (>500 pg/mL is diagnostic)", 1),
    bullet("CT/MRI for localisation; usually large at presentation", 1),
    bullet("Malignancy rate: 60–80% – often metastasised at diagnosis", 1),
    bullet("Treatment: Somatostatin analogues for symptom control; surgery if resectable", false),
  ], 5.1, 1.05, 4.7, 4.3);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 15 – VIPoma
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "VIPoma (Verner-Morrison Syndrome)");
  sectionTitle(s, "WDHA SYNDROME");

  // WDHA acronym
  const wdha = [
    { l: "W", t: "Watery", d: "Profuse secretory diarrhoea\n(> 3 litres/day)", c: C.navy },
    { l: "D", t: "Diarrhoea", d: "Electrolyte loss, dehydration,\nmetabolic derangement", c: C.teal },
    { l: "H", t: "Hypokalaemia", d: "Due to massive GI potassium losses\n→ weakness, arrhythmias", c: C.green },
    { l: "A", t: "Achlorhydria", d: "VIP inhibits gastric acid secretion\n→ absence of gastric acid", c: C.amber },
  ];
  wdha.forEach((w, i) => {
    s.addShape(pres.ShapeType.roundRect, { x: 0.3 + i * 2.35, y: 1.05, w: 2.1, h: 2.4, fill: { color: w.c }, rectRadius: 0.12 });
    s.addText(w.l, { x: 0.3 + i * 2.35, y: 1.1, w: 2.1, h: 0.85, fontSize: 40, bold: true, color: C.white, align: "center", fontFace: "Calibri" });
    s.addText(w.t, { x: 0.3 + i * 2.35, y: 1.88, w: 2.1, h: 0.3, fontSize: 12, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
    s.addText(w.d, { x: 0.3 + i * 2.35, y: 2.2, w: 2.1, h: 1.2, fontSize: 10.5, color: C.white, align: "center", valign: "top", fontFace: "Calibri" });
  });

  addBullets(s, [
    bullet("Pathophysiology: VIP causes massive intestinal fluid / electrolyte secretion"),
    bullet("Tumour: Non-β islet cell; malignancy rate ~60–80%"),
    bullet("Diagnosis: Elevated fasting plasma VIP levels; CT/MRI for localisation"),
    bullet("Stool electrolyte analysis confirms secretory diarrhoea (osmotic gap = 0)"),
    bullet("Treatment"),
    bullet("Somatostatin analogues (octreotide / lanreotide) – first-line for WDHA control", 1),
    bullet("IV fluids and electrolyte replacement – critical acute management", 1),
    bullet("Surgical resection for localised disease", 1),
  ], 0.3, 3.6, 9.4, 1.75);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 16 – SOMATOSTATINOMA & RARE TUMOURS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Somatostatinoma & Other Rare Functional Tumours");

  // Somatostatinoma triad
  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.1, w: 4.6, h: 3.8, fill: { color: C.navy }, rectRadius: 0.12 });
  s.addText("SOMATOSTATINOMA", { x: 0.3, y: 1.15, w: 4.6, h: 0.45, fontSize: 14, bold: true, color: C.gold, align: "center", fontFace: "Calibri" });
  s.addText("Inhibitory triad:", { x: 0.5, y: 1.65, w: 4.2, h: 0.35, fontSize: 12, bold: true, color: C.amber, fontFace: "Calibri" });
  addBullets(s, [
    { text: "Diabetes mellitus (insulin inhibition)", options: { bullet: { indent: 12 }, fontSize: 12, color: C.white, breakLine: true, paraSpaceAfter: 4 } },
    { text: "Steatorrhoea (pancreatic enzyme inhibition)", options: { bullet: { indent: 12 }, fontSize: 12, color: C.white, breakLine: true, paraSpaceAfter: 4 } },
    { text: "Cholelithiasis (gallbladder motility inhibition)", options: { bullet: { indent: 12 }, fontSize: 12, color: C.white, breakLine: true, paraSpaceAfter: 4 } },
    { text: "δ-cell tumour; ~60–70% malignant", options: { bullet: { indent: 12 }, fontSize: 12, color: C.gold, breakLine: true, paraSpaceAfter: 4 } },
    { text: "Mostly pancreatic head / duodenum", options: { bullet: { indent: 12 }, fontSize: 12, color: C.white, breakLine: true, paraSpaceAfter: 4 } },
    { text: "Associated with NF-1 (neurofibromatosis)", options: { bullet: { indent: 12 }, fontSize: 12, color: C.white, breakLine: true, paraSpaceAfter: 4 } },
  ], 0.4, 2.05, 4.3, 2.7);

  // Rare tumours column
  s.addShape(pres.ShapeType.roundRect, { x: 5.2, y: 1.1, w: 4.5, h: 3.8, fill: { color: C.lightGray }, rectRadius: 0.12, line: { color: C.teal, width: 1.5 } });
  s.addText("OTHER RARE FUNCTIONAL TUMOURS", { x: 5.2, y: 1.15, w: 4.5, h: 0.45, fontSize: 12, bold: true, color: C.teal, align: "center", fontFace: "Calibri" });
  const rare = [
    { t: "GRFoma", d: "Growth hormone releasing factor → acromegaly" },
    { t: "ACTHoma", d: "ACTH secretion → Cushing's syndrome (Rx: ketoconazole, metyrapone)" },
    { t: "PPoma", d: "Pancreatic polypeptide – usually non-functional" },
    { t: "Carcinoid", d: "Serotonin-releasing → carcinoid syndrome (flushing, diarrhoea)" },
    { t: "PTH-related", d: "Ectopic PTH secretion → hypercalcaemia" },
  ];
  rare.forEach((r, i) => {
    s.addText(r.t + ":", { x: 5.4, y: 1.7 + i * 0.6, w: 1.3, h: 0.5, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", valign: "top" });
    s.addText(r.d, { x: 6.7, y: 1.7 + i * 0.6, w: 2.8, h: 0.5, fontSize: 11, color: C.textDark, fontFace: "Calibri", valign: "top" });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 17 – NON-FUNCTIONING PanNETs
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Non-Functioning PanNETs");
  sectionTitle(s, "LARGEST SUBGROUP – DIAGNOSED LATE");

  addBullets(s, [
    bullet("Definition: No clinically apparent hormonal hypersecretion syndrome"),
    bullet("May produce hormones subclinically (e.g. pancreatic polypeptide, chromogranin A)"),
    bullet("Account for 25–100% of all P-NETs depending on series"),
    bullet("Why diagnosed late?"),
    bullet("No hormonal symptoms → come to attention only via mass effect or incidentally", 1),
    bullet("Symptoms: abdominal pain, jaundice (biliary obstruction), weight loss, GI bleeding", 1),
    bullet("Often larger at presentation than functional tumours", 1),
    bullet("Malignancy: ~60–90% are malignant at diagnosis"),
    bullet("Liver metastases are the most common site of spread"),
    bullet("Diagnosis"),
    bullet("CT/MRI – typically large, well-defined, enhancing lesions on contrast imaging", 1),
    bullet("Somatostatin receptor scintigraphy (Octreoscan) / DOTATATE PET-CT – highly sensitive", 1),
    bullet("Serum markers: Chromogranin A (CgA), NSE, pancreatic polypeptide", 1),
    bullet("EUS-guided biopsy for tissue diagnosis and grading", 1),
    bullet("Treatment: Surgery (if resectable); SSAs for antiproliferative effect; everolimus/sunitinib for advanced disease"),
  ], 0.4, 1.05, 9.2, 4.3);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 18 – MEN-1 ASSOCIATION
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  s.background = { color: C.navy };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: "0A1E3A" } });
  s.addText("Multiple Endocrine Neoplasia Type 1 (MEN-1) & PanNETs", {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 21, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
  });

  // MEN-1 triad
  const organs = [
    { label: "Parathyroid\n(>90%)", sub: "Hyperparathyroidism\nHypercalcaemia", c: C.teal },
    { label: "Pituitary\n(30–40%)", sub: "Prolactinoma most common\nAlso GH / ACTH adenomas", c: C.green },
    { label: "Pancreas\n(60–70%)", sub: "Gastrinoma (most common)\nInsulinoma, VIPoma, etc.", c: C.amber },
  ];
  organs.forEach((o, i) => {
    s.addShape(pres.ShapeType.roundRect, { x: 0.5 + i * 3.1, y: 1.15, w: 2.7, h: 2.2, fill: { color: o.c }, rectRadius: 0.12 });
    s.addText(o.label, { x: 0.5 + i * 3.1, y: 1.2, w: 2.7, h: 0.85, fontSize: 16, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri" });
    s.addText(o.sub, { x: 0.6 + i * 3.1, y: 2.05, w: 2.5, h: 1.25, fontSize: 12, color: C.white, fontFace: "Calibri", valign: "top", align: "center" });
  });

  addBullets(s, [
    bullet("MEN-1 gene (chromosome 11q13) encodes Menin – a tumour suppressor", false),
    bullet("Autosomal dominant inheritance with high penetrance", false),
    bullet("Pancreatic manifestations in MEN-1:", false),
    bullet("Gastrinomas most common (multiple, duodenal, small, often malignant)", 1),
    bullet("Insulinomas: ~10% of insulinomas are MEN-1 associated", 1),
    bullet("PanNETs in MEN-1: typically multiple, smaller, duodenal", 1),
    bullet("Surgery role controversial for small tumours (<1.5 cm) – watchful waiting may be preferred", 1),
    bullet("Screening: Annual surveillance with MRI, EUS, biochemical markers in MEN-1 families", false),
  ], 0.3, 3.45, 9.4, 1.95);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 19 – IMAGING & DIAGNOSIS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Imaging & Diagnostic Workup of PanNETs");
  sectionTitle(s, "LOCALISATION STRATEGY");

  const modalities = [
    { t: "CT Scan\n(Triple Phase)", b: "First-line cross-sectional imaging\nHypervascular tumours enhance on arterial phase\nDetects liver metastases", c: C.navy, x: 0.2, y: 1.1 },
    { t: "MRI", b: "Superior soft tissue contrast\nPreferred for small lesions and liver mets\nHigh sensitivity for insulinomas", c: C.teal, x: 2.6, y: 1.1 },
    { t: "EUS\n(Endoscopic US)", b: "Best for tumours < 1 cm\nSensitivity > 90% for insulinoma\nAllows FNA biopsy for grading", c: C.green, x: 5.0, y: 1.1 },
    { t: "DOTATATE\nPET-CT", b: "Somatostatin receptor imaging\nVery high sensitivity for most PanNETs (except insulinoma)\nDetects occult / metastatic disease", c: C.amber, x: 7.4, y: 1.1 },
  ];
  modalities.forEach(m => {
    s.addShape(pres.ShapeType.roundRect, { x: m.x, y: m.y, w: 2.2, h: 2.7, fill: { color: m.c }, rectRadius: 0.1 });
    s.addText(m.t, { x: m.x, y: m.y + 0.08, w: 2.2, h: 0.65, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri" });
    s.addText(m.b, { x: m.x + 0.1, y: m.y + 0.78, w: 2.0, h: 1.85, fontSize: 11, color: C.white, fontFace: "Calibri", valign: "top" });
  });

  addBullets(s, [
    bullet("Biochemical Markers:", false),
    bullet("Chromogranin A (CgA) – general marker; elevated in 70–80%; false positives with PPIs", 1),
    bullet("NSE (Neuron-Specific Enolase) – marker for aggressive/poorly differentiated tumours", 1),
    bullet("Specific hormones: fasting insulin, gastrin, glucagon, VIP, somatostatin", 1),
    bullet("Histology: Synaptophysin and Chromogranin A IHC confirm neuroendocrine origin; Ki-67 for grading", false),
  ], 0.3, 3.9, 9.4, 1.5);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 20 – MANAGEMENT OVERVIEW
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Management Principles – PanNETs");
  sectionTitle(s, "MULTIMODAL APPROACH");

  const steps = [
    { n: "1", t: "Control Hormone Excess", b: "PPIs (gastrinoma)\nDiazoxide (insulinoma)\nSSAs: octreotide / lanreotide (glucagonoma, VIPoma)\nEverolimus (insulinoma glycaemia)", c: C.navy },
    { n: "2", t: "Surgical Resection", b: "Curative intent for localised disease\nEnucleation / pancreatectomy\nLaparotomy + intraoperative US if imaging negative", c: C.teal },
    { n: "3", t: "Antiproliferative Therapy", b: "SSAs (octreotide LAR / lanreotide)\nEverolimus (mTOR inhibitor)\nSunitinib (tyrosine kinase inhibitor)", c: C.green },
    { n: "4", t: "Liver-Directed Therapy", b: "Hepatic arterial embolisation\nRFA / microwave ablation\nLiver resection for resectable mets", c: C.amber },
    { n: "5", t: "PRRT", b: "Peptide Receptor Radionuclide Therapy\nLu-177 DOTATATE for SSR-positive metastatic disease\nSignificant PFS benefit (NETTER-1 trial)", c: C.red },
  ];
  steps.forEach((st, i) => {
    const x = 0.25 + (i % 3) * 3.2;
    const y = i < 3 ? 1.1 : 3.15;
    if (i === 3) { /* second row left */ }
    s.addShape(pres.ShapeType.roundRect, { x, y, w: 2.9, h: 1.85, fill: { color: st.c }, rectRadius: 0.1 });
    s.addText(st.n, { x, y: y + 0.05, w: 0.55, h: 0.55, fontSize: 18, bold: true, color: C.gold, fontFace: "Calibri", align: "center" });
    s.addText(st.t, { x: x + 0.45, y: y + 0.05, w: 2.4, h: 0.5, fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", valign: "middle" });
    s.addText(st.b, { x: x + 0.1, y: y + 0.6, w: 2.7, h: 1.2, fontSize: 10.5, color: C.white, fontFace: "Calibri", valign: "top" });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 21 – SOMATOSTATIN ANALOGUES
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Somatostatin Analogues – Key Pharmacology");
  sectionTitle(s, "CORNERSTONE OF MEDICAL MANAGEMENT");

  s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.1, w: 9.4, h: 1.0, fill: { color: C.teal }, rectRadius: 0.1 });
  s.addText("Mechanism: SSAs bind somatostatin receptors (SSTR2/5) on tumour cells → inhibit hormone secretion and tumour proliferation", {
    x: 0.4, y: 1.15, w: 9.2, h: 0.9, fontSize: 13, color: C.white, fontFace: "Calibri", valign: "middle", bold: false
  });

  addBullets(s, [
    bullet("Drugs: Octreotide (short-acting / LAR) · Lanreotide (Autogel / Somatuline)"),
    bullet("Indications in PanNETs:"),
    bullet("Symptom control: gastrinoma, glucagonoma, VIPoma, somatostatinoma, carcinoid syndrome", 1),
    bullet("Antiproliferative: approved for G1/G2 tumours (PROMID, CLARINET trials)", 1),
    bullet("AVOID in insulinoma as monotherapy – may suppress counterregulatory hormones (glucagon, GH)", 1),
    bullet("Side Effects:"),
    bullet("GI: diarrhoea, steatorrhoea, nausea", 1),
    bullet("Cholelithiasis (inhibits gallbladder motility)", 1),
    bullet("Hyperglycaemia (inhibits insulin secretion)", 1),
    bullet("Monitoring: Chromogranin A levels and imaging every 3–6 months on therapy"),
  ], 0.4, 2.2, 9.2, 3.1);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 22 – PROGNOSIS COMPARISON
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide();
  slideHeading(s, "Prognosis of PanNENs");
  sectionTitle(s, "SURVIVAL DEPENDS ON GRADE, STAGE & TUMOUR TYPE");

  const data = [
    { t: "Insulinoma", mal: "~10%", surv: "Excellent (>90% cured by surgery)", bar: 90, c: C.green },
    { t: "Gastrinoma", mal: ">50%", surv: "5-yr 65%, 10-yr 51%\n(Complete resection → 90-100%)", bar: 65, c: C.amber },
    { t: "Glucagonoma", mal: "60–80%", surv: "Poor – usually metastasised at diagnosis", bar: 40, c: C.red },
    { t: "VIPoma", mal: "60–80%", surv: "Moderate with SSA control", bar: 50, c: C.teal },
    { t: "Non-Functional", mal: "60–90%", surv: "Variable – depends on grade", bar: 55, c: C.navy },
  ];

  s.addText("Tumour", { x: 0.3, y: 1.05, w: 2.2, h: 0.4, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri" });
  s.addText("Malignancy Rate", { x: 2.6, y: 1.05, w: 1.8, h: 0.4, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", align: "center" });
  s.addText("Approximate 5-yr Survival", { x: 4.5, y: 1.05, w: 5.2, h: 0.4, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri" });

  data.forEach((d, i) => {
    const y = 1.55 + i * 0.82;
    s.addShape(pres.ShapeType.roundRect, { x: 0.3, y, w: 2.1, h: 0.65, fill: { color: d.c }, rectRadius: 0.06 });
    s.addText(d.t, { x: 0.3, y, w: 2.1, h: 0.65, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri" });
    s.addText(d.mal, { x: 2.55, y, w: 1.8, h: 0.65, fontSize: 13, color: C.red, align: "center", valign: "middle", fontFace: "Calibri", bold: true });
    // bar
    s.addShape(pres.ShapeType.rect, { x: 4.5, y: y + 0.12, w: 5.0 * d.bar / 100, h: 0.4, fill: { color: d.c } });
    s.addText(d.surv, { x: 4.5, y: y + 0.0, w: 5.0, h: 0.65, fontSize: 10, color: C.textDark, valign: "middle", fontFace: "Calibri" });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 23 – COMPARISON SUMMARY TABLE
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Quick Comparison – Functional PanNETs");

  const rows = [
    ["Feature", "Insulinoma", "Gastrinoma", "Glucagonoma", "VIPoma"],
    ["Hormone", "Insulin", "Gastrin", "Glucagon", "VIP"],
    ["Key Symptom", "Hypoglycaemia\n(Whipple's triad)", "PUD, diarrhoea\n(ZES)", "NME rash\nDiabetes", "WDHA\n(watery diarrhoea)"],
    ["Diagnosis", "72-hr fast\nC-peptide↑", "FSG↑ + pH<2\nSecretin test", "Plasma glucagon\n>500 pg/mL", "Plasma VIP↑\nStool osmol gap"],
    ["Malignancy", "~10% (best prognosis)", "~50–60%", "~60–80%", "~60–80%"],
    ["Treatment", "Surgery\n(enucleation)", "PPI + Surgery", "SSA + Surgery", "IV fluids + SSA"],
    ["MEN-1 Link", "~10%", "~25%", "Rare", "Rare"],
  ];
  const cW = [1.9, 1.85, 1.85, 1.85, 1.85];
  const rH = 0.65;
  const sx = 0.15, sy = 1.05;
  rows.forEach((row, ri) => {
    row.forEach((cell, ci) => {
      const x = sx + cW.slice(0, ci).reduce((a, b) => a + b, 0);
      const y = sy + ri * rH;
      const isH = ri === 0;
      const isFeat = ci === 0;
      const bg = isH ? C.navy : (isFeat ? C.softBlue : (ri % 2 === 0 ? C.white : C.paleBlue));
      s.addShape(pres.ShapeType.rect, { x, y, w: cW[ci], h: rH, fill: { color: bg }, line: { color: C.midGray, width: 0.5 } });
      s.addText(cell, { x, y, w: cW[ci], h: rH, fontSize: isH ? 11 : 10.5, bold: isH || isFeat, color: (isH || isFeat) ? C.white : C.textDark, align: "center", valign: "middle", fontFace: "Calibri" });
    });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 24 – KEY EXAM POINTS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  s.background = { color: C.navy };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: "0A1E3A" } });
  s.addText("High-Yield Exam Points", {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 24, bold: true, color: C.gold, fontFace: "Calibri", valign: "middle"
  });

  const points = [
    "Most common PanNET = Insulinoma (and most are benign ~90%)",
    "Whipple's triad: symptoms with fasting + hypoglycaemia + relief with glucose",
    "Most common functional malignant PanNET = Gastrinoma",
    "ZES: PUD + diarrhoea + elevated FSG; intractable jejunal ulcers are a red flag",
    "Gastrinoma triangle: 90% of gastrinomas arise within this anatomic zone",
    "Necrolytic migratory erythema (NME) = pathognomonic for glucagonoma",
    "WDHA syndrome (Watery Diarrhoea, Hypokalaemia, Achlorhydria) = VIPoma",
    "Ki-67 index determines grade; >20% = Grade 3 NET or NEC",
    "ATRX / DAXX mutations in ~50% of sporadic PanNENs → ALT mechanism",
    "MEN-1 (11q13): parathyroid + pituitary + pancreas; gastrinoma most common PanNET in MEN-1",
    "Somatostatin analogues = cornerstone of medical management (AVOID monotherapy in insulinoma)",
    "DOTATATE PET-CT is most sensitive for somatostatin receptor-positive PanNETs",
  ];
  points.forEach((p, i) => {
    const col = i < 6 ? 0 : 1;
    const row = i < 6 ? i : i - 6;
    const x = col === 0 ? 0.3 : 5.2;
    const y = 1.1 + row * 0.73;
    s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.6, h: 0.62, fill: { color: C.softBlue }, rectRadius: 0.06, line: { color: C.teal, width: 0.8 } });
    s.addText([
      { text: "★  ", options: { color: C.gold, bold: true, fontSize: 11 } },
      { text: p, options: { color: C.white, fontSize: 10.5 } }
    ], { x: x + 0.08, y, w: 4.45, h: 0.62, fontFace: "Calibri", valign: "middle" });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 25 – SUMMARY MIND MAP / FLOWCHART
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.lightGray);
  slideHeading(s, "Summary – Approach to a Patient with Suspected PanNET");

  const steps2 = [
    { t: "Clinical Suspicion", b: "Hypoglycaemia\nPeptic ulcers/ZES\nNME rash\nWDHA diarrhoea\nMass effect", c: C.navy, x: 0.2, y: 1.1 },
    { t: "Biochemical Tests", b: "Fasting glucose, insulin,\ngastrin, glucagon, VIP\nCgA, NSE\n72-hr fast if insulinoma", c: C.teal, x: 3.4, y: 1.1 },
    { t: "Imaging", b: "CT/MRI (triple phase)\nEUS for small lesions\nDOTATATE PET-CT\n(not insulinoma)", c: C.green, x: 6.6, y: 1.1 },
    { t: "Histology & Grade", b: "Synaptophysin / CgA IHC\nKi-67 index (G1/G2/G3)\nDifferentiation status", c: C.amber, x: 0.2, y: 3.5 },
    { t: "Staging & MEN-1 Screen", b: "Liver / lymph node mets\nFamily history\nCalcium, PTH, pituitary MRI", c: C.red, x: 3.4, y: 3.5 },
    { t: "Management", b: "Surgical resection\nMedical: SSA / PPI / diazoxide\nEvero/Sunitinib / PRRT\nLiver-directed Rx", c: C.softBlue, x: 6.6, y: 3.5 },
  ];
  steps2.forEach(st => {
    s.addShape(pres.ShapeType.roundRect, { x: st.x, y: st.y, w: 3.0, h: 1.95, fill: { color: st.c }, rectRadius: 0.1 });
    s.addText(st.t, { x: st.x + 0.1, y: st.y + 0.08, w: 2.8, h: 0.48, fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center" });
    s.addText(st.b, { x: st.x + 0.12, y: st.y + 0.6, w: 2.76, h: 1.25, fontSize: 11, color: C.white, fontFace: "Calibri", valign: "top", align: "center" });
  });
  // Arrows
  [[1.2, 2.35, 0.55, 2.35], [4.4, 2.35, 0.55, 2.35], [1.2, 4.75, 0.55, 4.75], [4.4, 4.75, 0.55, 4.75]].forEach(([x1, y1, x2, y2]) => {
    s.addShape(pres.ShapeType.line, { x: x1, y: y1, w: x2, h: 0, line: { color: C.amber, width: 2, dashType: "dash" } });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 26 – REFERENCES
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = addSlide(C.navy);
  s.background = { color: C.navy };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1, fill: { color: "0A1E3A" } });
  s.addText("References & Further Reading", {
    x: 0.4, y: 0.1, w: 9.2, h: 0.8, fontSize: 22, bold: true, color: C.gold, fontFace: "Calibri", valign: "middle"
  });
  const refs = [
    "1. Kumar V, Abbas A, Aster J. Robbins & Cotran Pathologic Basis of Disease. 10th ed. 2023. Ch.19 – Pancreatic Neuroendocrine Neoplasms.",
    "2. Bailey RW, Love M. Bailey and Love's Short Practice of Surgery. 28th ed. 2022. Ch.57 – Pancreatic Neuroendocrine Tumours.",
    "3. Loscalzo J et al. Harrison's Principles of Internal Medicine. 22nd ed. 2025. Ch.89 – Pancreatic NETs.",
    "4. Kumar V, Abbas A, Aster J. Robbins & Kumar Basic Pathology. 11th ed. 2023. Ch.18 – PanNETs.",
    "5. Yamada T et al. Yamada's Textbook of Gastroenterology. 7th ed. 2019. Ch.25 – Pancreatic Neuroendocrine Tumours.",
    "6. WHO Classification of Tumours. Digestive System Tumours. 5th ed. 2019 – Grading criteria for PanNENs.",
    "7. Strosberg J et al. Phase 3 Trial of 177Lu-DOTATATE for Midgut Neuroendocrine Tumors (NETTER-1). NEJM 2017.",
  ];
  refs.forEach((r, i) => {
    s.addText(r, {
      x: 0.4, y: 1.1 + i * 0.62, w: 9.2, h: 0.55, fontSize: 11, color: i === 0 ? C.gold : C.white,
      fontFace: "Calibri", valign: "middle"
    });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// WRITE FILE
// ─────────────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/endocrine-pancreas-ppt/Endocrine_Tumours_Pancreas.pptx" })
  .then(() => console.log("DONE: Endocrine_Tumours_Pancreas.pptx written successfully"))
  .catch(e => { console.error("ERROR:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/endocrine-pancreas-ppt && node build.js 2>&1

Running Command

ls -lh /home/daytona/workspace/endocrine-pancreas-ppt/Endocrine_Tumours_Pancreas.pptx

Your presentation is ready for download:

Endocrine Tumours Pancreas

Presentation · PPTX


What's inside (26 slides)

SlideContent
1Title slide – bold navy/gold design
2Outline – 13-topic colour-coded index
3Introduction – definition, incidence, functional vs non-functional
4Islets of Langerhans – cell types & hormones diagram (β, α, δ, PP)
5Classification table – all tumour types, cell of origin, malignancy rate, syndrome
6Pathogenesis & Molecular Genetics – MEN1, PTEN/TSC2/mTOR, ATRX/DAXX/ALT
7WHO Grading – G1/G2/G3 NET and NEC with mitoses & Ki-67 table
8Insulinoma overview – incidence, benign rate, morphology cards
9Insulinoma clinical & diagnosis – Whipple's triad box + neuroglycopenic/adrenergic features
10Insulinoma imaging & treatment – EUS, diazoxide, everolimus, surgery
11Gastrinoma overview – gastrinoma triangle, stats, MEN-1 link
12Gastrinoma / ZES clinical & diagnosis – PUD, diarrhoea, FSG testing, secretin provocation
13Gastrinoma management – PPI + surgery; prognosis data
14Glucagonoma – NME rash hallmark, "4 D's", diagnosis
15VIPoma – WDHA acronym layout, pathophysiology, management
16Somatostatinoma & rare tumours – inhibitory triad, ACTHoma, GRFoma, carcinoid
17Non-functioning PanNETs – why diagnosed late, imaging, markers
18MEN-1 association – parathyroid/pituitary/pancreas triad, genetics, surveillance
19Imaging workup – CT, MRI, EUS, DOTATATE PET-CT; biochemical markers
20Management principles – 5-step multimodal framework
21Somatostatin analogues – mechanism, indications, side effects
22Prognosis comparison – bar-chart style comparison across tumour types
23Quick comparison table – one-slide summary of all 4 major functional tumours
24High-yield exam points – 12 starred boxes on dark background
25Summary flowchart – 6-step approach to a suspected PanNET patient
26References – key textbooks and NETTER-1 trial
Design: Navy/teal dominant with amber accents. Dark title/conclusion slides, light content slides, coloured boxes and tables throughout. All content sourced from Robbins & Cotran, Bailey & Love, Harrison's, and Yamada's Gastroenterology.

Increase the slide count to 45 and elaborate recent articles

Searching PubMed

"pancreatic neuroendocrine"[MeSH Terms] AND "treatment"[MeSH Terms]

Searching PubMed

"pancreatic neuroendocrine" AND "PRRT" AND "lutetium"

Searching PubMed

"pancreatic neuroendocrine" AND "everolimus" OR "sunitinib"

Searching PubMed

"insulinoma" AND "diagnosis" AND "management"

Reading Article

PMID: 41387032

Searching PubMed

"pancreatic neuroendocrine"[MeSH] AND "everolimus"[MeSH]

Searching PubMed

"pancreatic neuroendocrine tumor" AND "molecular" AND "targeted therapy"

Searching PubMed

"pancreatic neuroendocrine" AND "immunotherapy" AND "checkpoint"

Reading Article

PMID: 38617746

Reading Article

PMID: 41916478

Reading Article

PMID: 37754542

Reading Article

PMID: 39213785

Finding Sources
Finding Sources
Finding Sources
Reading File

Error please rectify

Browsing Directory

~/endocrine-pancreas-ppt

Please give the ppt enlarged to 45 slides as asked earlier

This is a shared conversation. Sign in to Orris to start your own chat.