Enlarge this ppt to include all latest articles make this into 50 slide presentation with clean clutter free presentation, include pictures and images
python -m markitdown /home/daytona/workspace/attachments/af461a4c-153f-4747-8969-9c80fb1ff305/Endocrine_Tumours_Pancreas.pptx 2>&1
pancreatic neuroendocrine tumors diagnosis treatment
pancreatic neuroendocrine tumors 2024 2025 latest guidelines treatment advances
pip install markitdown --quiet 2>&1 | tail -5 && python -m markitdown /home/daytona/workspace/attachments/af461a4c-153f-4747-8969-9c80fb1ff305/Endocrine_Tumours_Pancreas.pptx 2>&1 | head -200
pancreatic neuroendocrine tumor PRRT sunitinib everolimus surgery
pip install "markitdown[pptx]" --quiet 2>&1 | tail -3 && /home/daytona/.local/bin/markitdown /home/daytona/workspace/attachments/af461a4c-153f-4747-8969-9c80fb1ff305/Endocrine_Tumours_Pancreas.pptx 2>&1
https://jnccn.org/view/journals/jnccn/23/Supplement/article-…
mkdir -p /home/daytona/workspace/pannets-pptx && ls /home/daytona/workspace/pannets-pptx/
Error
~/pannets-pptx/build.js
const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");
const path = require("path");
// ── helpers ──────────────────────────────────────────────────────────────────
function fetchImgs(...urls) {
try {
const json = execSync(
`node /home/daytona/skills/shared/scripts/fetch_images.js ${urls.map(u => `"${u}"`).join(" ")}`,
{ timeout: 30000 }
).toString();
return JSON.parse(json);
} catch(e) { return urls.map(() => ({ base64: null, error: e.message })); }
}
// ── palette ───────────────────────────────────────────────────────────────────
const C = {
navy: "0D2B55", // dominant dark
teal: "0E7C7B", // accent
amber: "F4A261", // warm accent
cream: "FAF8F5", // light bg
white: "FFFFFF",
grey: "6B7280",
ltgrey: "E5E7EB",
red: "C0392B",
green: "27AE60",
purple: "7B2D8B",
orange: "E67E22",
dark: "111827",
};
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Orris AI";
pres.title = "Pancreatic Neuroendocrine Neoplasms – Comprehensive Review 2025";
// ── image URLs ────────────────────────────────────────────────────────────────
const IMG = {
islets: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Langerhans_islet.jpg/640px-Langerhans_islet.jpg",
panNET_ct: "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2e/Pancreatic_neuroendocrine_tumor.jpg/640px-Pancreatic_neuroendocrine_tumor.jpg",
nme: "https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Necrolytic_migratory_erythema.jpg/640px-Necrolytic_migratory_erythema.jpg",
dotatate: "https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/68Ga-DOTATATE-PET-NET.jpg/640px-68Ga-DOTATATE-PET-CT-NET.jpg",
whipple: "https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Pancreaticoduodenectomy.svg/640px-Pancreaticoduodenectomy.svg.png",
cabozantinib:"https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Cabozantinib.svg/640px-Cabozantinib.svg.png",
lutetium: "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Lutetium-177-DOTATATE_therapy.jpg/640px-Lutetium-177-DOTATATE_therapy.jpg",
mri_net: "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Insulinoma_MRT.jpg/640px-Insulinoma_MRT.jpg",
pancreas_anatomy: "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Pancreas_anatomy.jpg/640px-Pancreas_anatomy.jpg",
men1: "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/MEN1_syndrome.jpg/640px-MEN1_syndrome.jpg",
};
// Pre-fetch all images
console.log("Fetching images…");
const keys = Object.keys(IMG);
const fetched = fetchImgs(...Object.values(IMG));
const imgs = {};
keys.forEach((k, i) => { imgs[k] = fetched[i]?.base64 || null; });
console.log("Images fetched:", keys.filter(k => imgs[k]).join(", ") || "none (will use colors only)");
// ── slide factories ───────────────────────────────────────────────────────────
// TITLE SLIDE
function addTitleSlide(p) {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:4.2, w:10, h:1.425, fill:{color:C.teal} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:0.12, h:5.625, fill:{color:C.amber} });
s.addText("Pancreatic Neuroendocrine", { x:0.4, y:0.5, w:9.2, h:0.9, fontSize:40, bold:true, color:C.white, fontFace:"Calibri" });
s.addText("Neoplasms (PanNENs)", { x:0.4, y:1.35, w:9.2, h:0.9, fontSize:40, bold:true, color:C.amber, fontFace:"Calibri" });
s.addText("Comprehensive Review 2025 | Updated with Latest Evidence", { x:0.4, y:2.4, w:9.2, h:0.55, fontSize:18, color:C.ltgrey, fontFace:"Calibri" });
s.addText("Robbins & Cotran · Harrison's · Bailey & Love · ENETS 2023 · NCCN 2025 · NETTER-1/2 · NEJM 2025", { x:0.4, y:3.05, w:9.2, h:0.4, fontSize:11, color:C.ltgrey, italic:true });
s.addText("For Medical Students & Clinicians", { x:0.4, y:4.35, w:6, h:0.5, fontSize:15, color:C.white });
s.addText("2025 Edition", { x:7.5, y:4.35, w:2.2, h:0.5, fontSize:14, color:C.white, align:"right" });
}
// SECTION DIVIDER
function addSection(p, num, title, subtitle="") {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.teal} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.08, fill:{color:C.amber} });
s.addText(`SECTION ${num}`, { x:0.6, y:1.3, w:8.8, h:0.5, fontSize:14, bold:true, color:C.amber, charSpacing:6 });
s.addText(title, { x:0.6, y:1.8, w:8.8, h:1.4, fontSize:38, bold:true, color:C.white, fontFace:"Calibri" });
if (subtitle) s.addText(subtitle, { x:0.6, y:3.2, w:8.8, h:0.6, fontSize:18, color:C.ltgrey, italic:true });
}
// CONTENT SLIDE – left text + right image
function addImgRight(p, badge, title, bullets, imgKey, bgLight=true) {
const s = p.addSlide();
const bg = bgLight ? C.cream : C.white;
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:bg} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.75, fill:{color:C.navy} });
if (badge) s.addShape(p.ShapeType.rect, { x:0, y:0, w:0.08, h:5.625, fill:{color:C.amber} });
s.addText(badge || "", { x:0.25, y:0.1, w:3, h:0.55, fontSize:10, color:C.amber, bold:true, charSpacing:3 });
s.addText(title, { x:0.25, y:0.1, w:8.5, h:0.55, fontSize:22, bold:true, color:C.white, fontFace:"Calibri" });
// bullets on left ~55% width
const bArr = bullets.map((b, i) => {
const isHead = b.startsWith("##");
const txt = b.replace(/^##\s*/, "");
return { text: txt, options: { bullet: !isHead, breakLine: true, fontSize: isHead ? 13 : 12,
bold: isHead, color: isHead ? C.teal : C.dark, indentLevel: isHead ? 0 : 1 } };
});
if (bArr.length > 0) bArr[bArr.length-1].options.breakLine = false;
s.addText(bArr, { x:0.25, y:0.9, w:5.5, h:4.5, fontFace:"Calibri", valign:"top" });
// image on right
if (imgKey && imgs[imgKey]) {
s.addImage({ data: imgs[imgKey], x:5.95, y:0.85, w:3.8, h:3.5, sizing:{type:"contain"} });
} else {
s.addShape(p.ShapeType.rect, { x:5.95, y:0.85, w:3.8, h:3.5, fill:{color:C.ltgrey}, line:{color:C.grey, pt:1} });
s.addText(imgKey ? imgKey.replace(/_/g," ") : "Illustration", { x:5.95, y:2.2, w:3.8, h:0.8, fontSize:11, color:C.grey, align:"center" });
}
}
// CONTENT SLIDE – full text, no image (clean bullets 2-col)
function addBulletSlide(p, badge, title, col1, col2=[]) {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.cream} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.75, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:0.08, h:5.625, fill:{color:C.amber} });
if (badge) s.addText(badge, { x:0.25, y:0.1, w:3, h:0.55, fontSize:10, color:C.amber, bold:true, charSpacing:3 });
s.addText(title, { x:0.25, y:0.1, w:9, h:0.55, fontSize:22, bold:true, color:C.white, fontFace:"Calibri" });
function makeBullets(arr) {
return arr.map((b, i) => {
const isHead = b.startsWith("##");
const txt = b.replace(/^##\s*/, "");
const last = i === arr.length - 1;
return { text: txt, options: { bullet: !isHead, breakLine: !last, fontSize: isHead ? 13 : 12,
bold: isHead, color: isHead ? C.teal : C.dark } };
});
}
s.addText(makeBullets(col1), { x:0.25, y:0.9, w: col2.length ? 4.6 : 9.5, h:4.5, fontFace:"Calibri", valign:"top" });
if (col2.length) {
s.addShape(p.ShapeType.line, { x:5.05, y:0.95, w:0, h:4.3, line:{color:C.ltgrey, pt:1} });
s.addText(makeBullets(col2), { x:5.2, y:0.9, w:4.6, h:4.5, fontFace:"Calibri", valign:"top" });
}
}
// TABLE SLIDE
function addTableSlide(p, badge, title, headers, rows, colW) {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.cream} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.75, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:0.08, h:5.625, fill:{color:C.teal} });
if (badge) s.addText(badge, { x:0.25, y:0.1, w:3, h:0.55, fontSize:10, color:C.amber, bold:true, charSpacing:3 });
s.addText(title, { x:0.25, y:0.1, w:9, h:0.55, fontSize:22, bold:true, color:C.white });
const tblRows = [
headers.map(h => ({ text: h, options: { bold:true, color:C.white, fill:C.teal, fontSize:11, align:"center" } })),
...rows.map((r, ri) => r.map(cell => ({ text: cell, options: { fontSize:10.5, color:C.dark, fill: ri%2===0 ? C.white : "F0F4F8", align:"center" } })))
];
s.addTable(tblRows, { x:0.2, y:0.85, w:9.6, colW: colW || headers.map(()=>9.6/headers.length), border:{color:C.ltgrey} });
}
// HIGHLIGHT CARD SLIDE
function addCardSlide(p, badge, title, cards) {
// cards: [{icon, head, body}]
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.cream} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.75, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:0.08, h:5.625, fill:{color:C.purple} });
if (badge) s.addText(badge, { x:0.25, y:0.1, w:3, h:0.55, fontSize:10, color:C.amber, bold:true, charSpacing:3 });
s.addText(title, { x:0.25, y:0.1, w:9, h:0.55, fontSize:22, bold:true, color:C.white });
const cols = Math.min(cards.length, 4);
const cardW = 9.5 / cols;
cards.slice(0, cols).forEach((c, i) => {
const x = 0.25 + i * cardW;
s.addShape(p.ShapeType.roundRect, { x, y:0.95, w:cardW-0.15, h:4.35, fill:{color:C.white}, line:{color:C.ltgrey, pt:1.5}, rectRadius:0.12 });
s.addShape(p.ShapeType.rect, { x, y:0.95, w:cardW-0.15, h:0.35, fill:{color:c.color||C.teal}, rectRadius:0.1 });
s.addText(c.icon||"", { x:x+0.1, y:1.25, w:cardW-0.35, h:0.55, fontSize:22, align:"center" });
s.addText(c.head, { x:x+0.1, y:1.8, w:cardW-0.35, h:0.5, fontSize:13, bold:true, color:C.navy, align:"center" });
s.addText(c.body, { x:x+0.1, y:2.35, w:cardW-0.35, h:2.75, fontSize:10.5, color:C.dark, valign:"top", wrap:true });
});
}
// EVIDENCE SLIDE (dark bg)
function addEvidenceSlide(p, badge, title, studies) {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.08, fill:{color:C.amber} });
s.addShape(p.ShapeType.rect, { x:0, y:5.545, w:10, h:0.08, fill:{color:C.teal} });
if (badge) s.addText(badge, { x:0.4, y:0.18, w:4, h:0.4, fontSize:10, color:C.amber, bold:true, charSpacing:4 });
s.addText(title, { x:0.4, y:0.55, w:9.2, h:0.7, fontSize:26, bold:true, color:C.white, fontFace:"Calibri" });
studies.forEach((st, i) => {
const y = 1.45 + i * 0.95;
s.addShape(p.ShapeType.roundRect, { x:0.3, y, w:9.4, h:0.8, fill:{color:"162B4A"}, line:{color:C.teal, pt:1}, rectRadius:0.08 });
s.addText(st.label, { x:0.45, y:y+0.05, w:2.2, h:0.35, fontSize:10, bold:true, color:C.amber });
s.addText(st.title, { x:0.45, y:y+0.38, w:5.5, h:0.35, fontSize:10, color:C.ltgrey });
s.addText(st.result, { x:5.9, y:y+0.05, w:3.65, h:0.65, fontSize:10.5, color:C.white, bold:true, valign:"middle", align:"right" });
});
}
// CLOSING SLIDE
function addClosingSlide(p) {
const s = p.addSlide();
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:5.625, fill:{color:C.navy} });
s.addShape(p.ShapeType.rect, { x:0, y:4.9, w:10, h:0.725, fill:{color:C.teal} });
s.addShape(p.ShapeType.rect, { x:0, y:0, w:10, h:0.08, fill:{color:C.amber} });
s.addText("THANK YOU", { x:0.5, y:1.2, w:9, h:1, fontSize:52, bold:true, color:C.white, align:"center", fontFace:"Calibri" });
s.addText("Pancreatic Neuroendocrine Neoplasms – 2025 Comprehensive Review", { x:0.5, y:2.3, w:9, h:0.6, fontSize:17, color:C.amber, align:"center" });
s.addText("Prepared with reference to: Robbins & Cotran · Harrison's 22nd ed · Bailey & Love 28th ed\nENETS 2023 Guidelines · NCCN 2025 · NETTER-1/2 Trials · NEJM 2025 (Cabozantinib)", {
x:0.5, y:3.1, w:9, h:0.9, fontSize:11, color:C.ltgrey, align:"center", italic:true });
s.addText("© 2025 | For educational purposes only", { x:0, y:5, w:10, h:0.5, fontSize:11, color:C.white, align:"center" });
}
// ═══════════════════════════════════════════════════════════════════════════════
// BUILD ALL 50 SLIDES
// ═══════════════════════════════════════════════════════════════════════════════
// 1. TITLE
addTitleSlide(pres);
// 2. TABLE OF CONTENTS
addBulletSlide(pres, "OVERVIEW", "Lecture Outline – 50 Slides",
["## Section 1 – Introduction & Epidemiology (Slides 3–6)",
"Definition, incidence, classification, islet cell anatomy",
"## Section 2 – Pathogenesis & Molecular Genetics (Slides 7–9)",
"MEN1, ATRX/DAXX, mTOR, molecular landscape 2025",
"## Section 3 – WHO Grading & Staging (Slides 10–12)",
"2022 WHO grading, AJCC 9th ed staging, NEC vs NET",
"## Section 4 – Insulinoma (Slides 13–16)",
"Whipple's triad, 72-hr fast, imaging, surgery",
"## Section 5 – Gastrinoma & ZES (Slides 17–20)",
"ZES syndrome, secretin test, gastrinoma triangle, Rx"],
["## Section 6 – Glucagonoma (Slides 21–22)",
"4 D's, NME rash, management",
"## Section 7 – VIPoma & Somatostatinoma (Slides 23–25)",
"WDHA, rare functional tumours",
"## Section 8 – Non-Functional PanNETs (Slides 26–28)",
"Incidentaloma, mass effect, advanced disease",
"## Section 9 – MEN-1 & Genetics (Slides 29–31)",
"MEN-1 syndrome, screening, surveillance",
"## Section 10 – Imaging & Diagnosis (Slides 32–35)",
"CT, MRI, EUS, DOTATATE PET, biomarkers",
"## Section 11 – Treatment Principles (Slides 36–45)",
"Surgery, SSAs, targeted therapy, PRRT, new agents 2025",
"## Section 12 – Prognosis, Evidence & Summary (Slides 46–50)",
"Survival data, key trials, exam pearls"]);
// ── SECTION 1 ─────────────────────────────────────────────────────────────────
addSection(pres, 1, "Introduction &\nEpidemiology", "What are PanNENs?");
// 4. What are PanNENs?
addImgRight(pres, "INTRODUCTION", "What Are PanNENs?",
["## Definition",
"Pancreatic Neuroendocrine Neoplasms (PanNENs) – preferred WHO 2022 term",
"Also called: islet cell tumours, P-NETs, endocrine tumours of the pancreas",
"## Epidemiology",
"Incidence: ~1–5 per 100,000/year (rising due to incidental detection)",
"Account for ~2–3% of all pancreatic neoplasms",
"Increasing prevalence: 2–3× rise in incidence over past 30 years",
"## Origin",
"Arise from neuroendocrine cells of the islets of Langerhans",
"Can occur anywhere in the pancreas or adjacent peripancreatic tissue",
"May be single or multiple, functional or non-functional"],
"pancreas_anatomy");
// 5. Islets of Langerhans
addImgRight(pres, "ANATOMY", "The Endocrine Pancreas – Islets of Langerhans",
["## Cell Types",
"β cells (65–80%) – secrete Insulin",
"α cells (15–20%) – secrete Glucagon",
"δ cells (3–10%) – secrete Somatostatin",
"PP cells (~1%) – secrete Pancreatic Polypeptide",
"ε cells (<1%) – secrete Ghrelin",
"## Key Facts",
"~1 million islets in an adult pancreas",
"Combined weight: 1–1.5 g",
"Endocrine cells = ~1–2% of total pancreatic mass",
"Rich vascular supply – important for hypervascular enhancement on CT"],
"islets");
// 6. Functional vs Non-Functional
addTableSlide(pres, "CLASSIFICATION", "Functional vs Non-Functional PanNENs",
["Tumour", "Cell of Origin", "Hormone", "Malignancy %", "Key Syndrome"],
[
["Insulinoma", "β cell", "Insulin", "~10%", "Hypoglycaemia (Whipple's triad)"],
["Gastrinoma", "G / δ cell", "Gastrin", ">50–60%", "Zollinger-Ellison Syndrome"],
["Glucagonoma", "α cell", "Glucagon", "~60–80%", "Necrolytic migratory erythema"],
["VIPoma", "Non-β islet", "VIP", "~60–80%", "WDHA (Verner-Morrison)"],
["Somatostatinoma", "δ cell", "Somatostatin", "~60–70%", "Diabetes + steatorrhoea + stones"],
["Non-Functional", "Various", "None / subclinical", "~60–90%", "Mass effect – pain, jaundice"],
],
[1.8, 1.5, 1.4, 1.1, 2.8]);
// ── SECTION 2 ─────────────────────────────────────────────────────────────────
addSection(pres, 2, "Pathogenesis &\nMolecular Genetics", "Key drivers of PanNEN tumorigenesis");
// 8. Molecular Genetics
addBulletSlide(pres, "GENETICS", "Pathogenesis – Key Molecular Alterations",
["## MEN1 Mutations (chr 11q13)",
"Encodes Menin – a tumour suppressor",
"Found in familial MEN-1 syndrome AND ~40% of sporadic PanNETs",
"Most common genetic alteration in PanNENs",
"## ATRX / DAXX Mutations (~50% of sporadic PanNETs)",
"Inactivating mutations → Alternative Lengthening of Telomeres (ALT)",
"Mutually exclusive – operate in the same ALT pathway",
"Associated with larger tumours and worse prognosis",
"## mTOR Pathway Activation",
"PTEN / TSC2 loss-of-function → mTOR hyperactivation",
"Therapeutically targetable – basis for everolimus therapy"],
["## 2025 Proteogenomic Advances (Cancer Cell, 2025)",
"Ji et al. identified 3 molecular subtypes of non-functional PanNETs",
"Subtype 1: DAXX/ATRX-mutant, ALT+, poorer prognosis",
"Subtype 2: Immune-inflamed, potential checkpoint inhibitor candidates",
"Subtype 3: Metabolically active, mTOR pathway dominant",
"## Clinical Implications",
"ATRX/DAXX mutations: independent adverse prognostic marker",
"mTOR activation → everolimus response",
"Immune subtypes → ongoing trials with immunotherapy combinations",
"## Key Stats",
"Whole-exome sequencing: PanNETs have low mutational burden",
"Average 16 mutations/tumour vs >50 in pancreatic adenocarcinoma"]);
// 9. Signalling Pathways
addBulletSlide(pres, "MOLECULAR", "Key Signalling Pathways in PanNENs",
["## mTOR Pathway (Therapeutic Target)",
"PI3K → AKT → mTOR complex activation",
"Promotes cell growth, proliferation, angiogenesis",
"Inhibited by: Everolimus (mTORC1 inhibitor) – RADIANT-3 trial",
"## VEGF / Angiogenesis Pathway",
"PanNETs are highly vascular tumours",
"VEGF-A overexpression promotes tumour vascularity",
"Target of: Sunitinib (multi-kinase inhibitor) – SUN1111 trial",
"Cabozantinib (VEGFR2/MET/AXL inhibitor) – CABINET trial 2025"],
["## Somatostatin Receptor (SSTR) Pathway",
"SSTR2 and SSTR5 overexpressed on most PanNETs",
"SSA binding → Gi protein → inhibits adenylyl cyclase",
"Reduces hormone secretion AND tumour cell proliferation",
"Basis for: SSA therapy + DOTATATE PET imaging + PRRT",
"## VEGFR / MET Pathway (Cabozantinib)",
"Dual inhibition of VEGFR2 + MET receptor",
"Phase 3 CABINET trial (NEJM, Feb 2025): PFS benefit",
"HR 0.47 vs placebo in PanNETs",
"FDA approved March 2025 for advanced PanNETs"]);
// ── SECTION 3 ─────────────────────────────────────────────────────────────────
addSection(pres, 3, "WHO Grading &\nStaging (2022)", "Classification drives treatment decisions");
// 11. WHO Grading
addTableSlide(pres, "GRADING", "WHO 2022 Classification – PanNENs",
["Grade / Type", "Differentiation", "Mitoses / 10 HPF", "Ki-67 Index", "Behaviour"],
[
["G1 NET", "Well differentiated", "<2", "<3%", "Low malignant potential"],
["G2 NET", "Well differentiated", "2–20", "3–20%", "Intermediate malignant potential"],
["G3 NET", "Well differentiated (high Ki-67)", ">20", ">20%", "High – but distinct from NEC"],
["NEC – Small Cell", "Poorly differentiated", ">20", ">20%", "Highly aggressive – like SCLC"],
["NEC – Large Cell", "Poorly differentiated", ">20", ">20%", "Highly aggressive"],
["MiNEN", "Mixed NEN + non-NEN", "Variable", "Variable", "Behaviour of dominant component"],
],
[2.0, 1.8, 1.5, 1.3, 2.0]);
// 12. G3 NET vs NEC distinction
addBulletSlide(pres, "KEY DISTINCTION", "G3 NET vs Neuroendocrine Carcinoma (NEC) – Critical Difference",
["## G3 NET (Well-differentiated, Ki-67 >20%)",
"Retains well-differentiated histological morphology",
"Often ATRX/DAXX/MEN1 mutations (same as G1/G2)",
"RB1 and TP53 typically WILD-TYPE",
"Better prognosis than NEC despite high Ki-67",
"Responds to SSAs and targeted therapy (everolimus/sunitinib)",
"NCCN 2025: G3 NET has dedicated treatment algorithm"],
["## NEC (Poorly-differentiated)",
"Small cell or large cell morphology",
"TP53 mutations in ~90%",
"RB1 loss in ~70%",
"ATRX/DAXX/MEN1 mutations: RARE",
"Poor prognosis – median survival <12 months",
"Treated like small cell carcinoma: platinum + etoposide",
"## Clinical Pearl",
"Ki-67 >55% almost always NEC",
"Ki-67 20–55% – morphology determines G3 NET vs NEC"]);
// ── SECTION 4 ─────────────────────────────────────────────────────────────────
addSection(pres, 4, "Insulinoma", "Most common functional PanNET · >90% benign");
// 14. Insulinoma overview
addImgRight(pres, "INSULINOMA", "Insulinoma – Overview & Pathology",
["## Epidemiology",
"Most common functional PanNET",
"Incidence: ~4 per million/year (range 1–32)",
"Any age; slight female predominance",
"## Pathology",
">90% solitary, benign; <2 cm",
"Equally distributed throughout pancreas",
"Histology: resembles giant islets; amyloid deposition hallmark",
"~10% associated with MEN-1 (multiple, recurrent)",
"## Malignancy Predictors",
"Size >2 cm, vascular invasion, perineural invasion",
"Mitotic rate, Ki-67 index"],
"mri_net");
// 15. Whipple's Triad & Diagnosis
addBulletSlide(pres, "DIAGNOSIS", "Insulinoma – Clinical Features & Diagnosis",
["## Whipple's Triad (Classic)",
"① Symptoms induced by fasting or exercise",
"② Hypoglycaemia documented (glucose <3.0 mmol/L / <54 mg/dL)",
"③ Relief of symptoms by glucose administration",
"## Neuroglycopenic Symptoms",
"Confusion, stupor, coma, behavioural change",
"Often misdiagnosed as epilepsy or psychiatric illness",
"## Adrenergic Symptoms",
"Sweating, tremor, palpitations, nausea, anxiety, weakness",
"Weight gain (patients eat to prevent symptoms)"],
["## Diagnostic Tests",
"72-hour supervised fast: GOLD STANDARD",
"Document: glucose <3.0 mmol/L + insulin ↑ + C-peptide ↑",
"Elevated C-peptide → confirms endogenous insulin (rules out exogenous)",
"Elevated proinsulin levels (>20% of insulin level)",
"## Key Differentials",
"Factitious hypoglycaemia: low C-peptide, no proinsulin",
"Sulfonylurea toxicity: elevated C-peptide, drug screen positive",
"Non-islet cell tumour hypoglycaemia (IGF-2 related)",
"## Provocative Tests",
"Glucagon stimulation if fast negative",
"Calcium infusion test (selective arterial)"]);
// 16. Insulinoma Localisation & Treatment
addBulletSlide(pres, "TREATMENT", "Insulinoma – Imaging & Management",
["## Localisation (Priority Order)",
"EUS – sensitivity >90%; best for small tumours (<1 cm)",
"CT/MRI triple-phase – first-line cross-sectional; may miss <1 cm",
"GLP-1 receptor scintigraphy – insulinomas overexpress GLP-1R",
"Note: NOT avid on Octreoscan/DOTATATE (unlike other PanNETs)",
"Arterial stimulation venous sampling (ASVS) – for elusive/multiple",
"## Surgical Management",
"Surgery is definitive – curative in >90% of benign cases",
"Exophytic/peripheral: enucleation (preferred)",
"Body/tail: distal pancreatectomy ± spleen preservation",
"Head: pancreatoduodenectomy (Whipple)"],
["## Medical Management (pre-op or inoperable)",
"Diazoxide – inhibits insulin release (K-ATP channel opener); 1st line",
"Frequent small meals – cornerstone of symptom control",
"Everolimus – mTOR inhibitor; improves glycaemia + antitumour effect",
"Octreotide – CAUTION: may suppress glucagon → worsen hypoglycaemia",
"## Malignant Insulinoma",
"Streptozocin + 5-FU (classic chemo regimen)",
"Everolimus (RADIANT-3 subgroup benefit)",
"PRRT with Lu-177 DOTATATE (off-label for SSTR+ tumours)",
"Temozolomide-based regimens for progressive disease",
"## Prognosis",
"Benign: >95% cured by surgery",
"Malignant: 5-year survival ~25–40%"]);
// ── SECTION 5 ─────────────────────────────────────────────────────────────────
addSection(pres, 5, "Gastrinoma &\nZollinger-Ellison Syndrome", "Most common malignant functional PanNET");
// 18. Gastrinoma overview
addBulletSlide(pres, "GASTRINOMA", "Gastrinoma – Overview",
["## Epidemiology",
"Incidence: 0.5–4 per million/year",
">50% already metastasised at diagnosis",
"~25% associated with MEN-1",
"## Location – Gastrinoma Triangle (90% of cases)",
"Medially: junction of neck/body of pancreas",
"Inferiorly: junction of 2nd/3rd part of duodenum",
"Superiorly: junction of cystic and common bile ducts",
"Sporadic: mostly duodenal (60–80%), small (<5 mm), multiple",
"MEN-1: all duodenal; multiple; generally smaller"],
["## Clinical Features",
"Peptic ulcer disease (>90%) – multiple, unusual locations",
"Diarrhoea (>50%) – presenting symptom in ~30%",
"GERD (most common symptom overall)",
"Intractable jejunal ulcers → SUSPECT ZES",
"## Pathology",
"Histologically bland – rarely shows marked anaplasia",
"Malignancy defined by metastases, not histology alone",
"Duodenal gastrinomas often <5mm – easy to miss",
"## ZES in MEN-1",
"Nearly always duodenal origin in MEN-1",
"Multiple small tumours – surgical cure is rare",
"Gastrinoma is the leading cause of death in MEN-1"]);
// 19. ZES Diagnosis
addBulletSlide(pres, "DIAGNOSIS", "ZES Diagnosis – Step-by-Step",
["## Step 1: Clinical Suspicion",
"PUD with diarrhoea, multiple ulcers, unusual locations",
"Failure to heal on standard PPI therapy",
"Intractable jejunal ulcers (pathognomonic hint)",
"## Step 2: Fasting Serum Gastrin (FSG)",
"Normal: <110 pg/mL",
"FSG >10× normal (>1000 pg/mL) + pH <2 = DIAGNOSTIC",
"PITFALL: PPIs falsely elevate gastrin – stop 1 week before testing",
"## Step 3: Gastric pH",
"pH <2 = confirms acid hypersecretion (rules out other causes of ↑gastrin)"],
["## Step 4: Secretin Provocation Test",
"Used when FSG is borderline elevated",
"IV secretin → PARADOXICAL rise in gastrin (≥120 pg/mL within 15 min)",
"Normal response: gastrin decreases or no change",
"## Differential Diagnosis of ↑FSG",
"ZES (pH <2 + ↑FSG)",
"Atrophic gastritis / H. pylori (pH >5 + ↑FSG)",
"PPI use (reversible – stop drug)",
"G-cell hyperplasia",
"## Imaging for Localisation",
"CT/MRI, EUS, Octreotide scintigraphy / DOTATATE PET-CT",
"EUS: best for small duodenal tumours"]);
// 20. Gastrinoma Management
addBulletSlide(pres, "MANAGEMENT", "Gastrinoma – Medical & Surgical Management",
["## Medical Management",
"PPIs – cornerstone of symptom control",
"High-dose omeprazole / pantoprazole",
"Rapid resolution of pain and diarrhoea",
"Somatostatin analogues (octreotide LAR / lanreotide)",
"For refractory cases; control hypergastrinemia",
"## Systemic Therapy (Metastatic)",
"Everolimus – mTOR inhibitor",
"Sunitinib – TKI (pancreatic NETs only)",
"Cabozantinib – new 2025 approval",
"Streptozocin-based chemotherapy for bulky/progressive NEC"],
["## Surgical Management",
"Recommended for sporadic gastrinomas once symptoms controlled",
"Goal: eliminate source of gastrin hypersecretion",
"Reduces risk of metastatic disease",
"## MEN-1 Gastrinoma (Controversial)",
"Surgery for tumours ≥1.5–2 cm (consensus threshold)",
"Small tumours (<1.5 cm): watchful waiting often preferred",
"Complete biochemical cure rare in MEN-1 ZES",
"## Prognosis",
"5-year survival: ~65%",
"10-year survival: ~51%",
"Complete resection: 90–100% 5- and 10-year survival",
"Metastatic disease: liver-directed therapy + PRRT"]);
// ── SECTION 6 ─────────────────────────────────────────────────────────────────
addSection(pres, 6, "Glucagonoma", "The 4 D's • Necrolytic Migratory Erythema");
// 22. Glucagonoma
addImgRight(pres, "GLUCAGONOMA", "Glucagonoma – The 4 D's & Management",
["## The 4 D's of Glucagonoma",
"Dermatitis – Necrolytic Migratory Erythema (NME) – PATHOGNOMONIC",
"Diabetes (mild glucose intolerance – glucagon excess)",
"Deep vein thrombosis – hypercoagulable state",
"Depression + weight loss + hypoaminoacidaemia",
"## Other Features",
"Normochromic normocytic anaemia",
"Glossitis, stomatitis, angular cheilitis",
"## Diagnosis",
"Fasting plasma glucagon >500 pg/mL (>940 pmol/L) diagnostic",
"Usually large at presentation (>5 cm)",
"Malignancy rate: 60–80% – often metastasised at diagnosis",
"## Treatment",
"SSAs (octreotide) for symptom control – improves NME",
"Surgery if resectable",
"Zinc supplementation may help NME"],
"nme");
// ── SECTION 7 ─────────────────────────────────────────────────────────────────
addSection(pres, 7, "VIPoma &\nRare Functional Tumours", "WDHA syndrome · Somatostatinoma · ACTHoma");
// 24. VIPoma
addBulletSlide(pres, "VIPoma", "VIPoma – Verner-Morrison Syndrome (WDHA)",
["## WDHA Syndrome",
"W – Watery diarrhoea (>3 litres/day, profuse secretory)",
"D – Hypokalaemia (massive GI potassium losses → arrhythmias)",
"H – Hypochlorhydria / Achlorhydria (VIP inhibits acid secretion)",
"A – Achlorhydria (confirmed by gastric pH measurement)",
"## Pathophysiology",
"VIP → activates adenylyl cyclase in enterocytes",
"↑ cAMP → massive chloride and water secretion into gut lumen",
"## Pathology",
"Non-β islet cell origin; malignancy rate ~60–80%",
"Often large at diagnosis; majority in body/tail of pancreas"],
["## Diagnosis",
"Fasting plasma VIP levels (>200 pg/mL diagnostic)",
"Stool osmotic gap = 0 (confirms secretory, not osmotic diarrhoea)",
"CT/MRI for tumour localisation",
"## Management",
"IV fluids and electrolyte replacement – critical acute management",
"SSAs (octreotide / lanreotide) – first-line for WDHA control",
"Glucocorticoids – adjunct for refractory diarrhoea",
"Surgery for localised disease",
"## Differential Diagnosis",
"Coeliac disease, Crohn's, laxative abuse (osmotic gap >50)",
"Carcinoid syndrome (flushing, bronchospasm, different marker profile)"]);
// 25. Rare functional tumours
addBulletSlide(pres, "RARE TUMOURS", "Somatostatinoma & Other Rare Functional Tumours",
["## Somatostatinoma",
"Inhibitory triad: Diabetes (insulin inhibition) + Steatorrhoea (enzyme inhibition) + Cholelithiasis (gallbladder inhibition)",
"δ-cell origin; ~60–70% malignant",
"Located: head of pancreas or duodenum",
"Associated with NF-1 (neurofibromatosis type 1) – duodenal origin",
"## GRFoma (Ectopic GHRH Secretion)",
"GHRH overproduction → Acromegaly",
"Must be distinguished from pituitary adenoma causing acromegaly",
"Biochemistry: elevated GHRH + GH + IGF-1"],
["## ACTHoma (Ectopic ACTH)",
"ACTH secretion → Cushing's syndrome",
"Often aggressive, poorly differentiated NEC",
"Management: ketoconazole, metyrapone, adrenalectomy",
"## PPoma",
"Pancreatic polypeptide-producing – usually non-functional",
"Elevated PP levels useful as a marker in MEN-1 surveillance",
"## Carcinoid Tumours (Serotonin)",
"Serotonin-releasing → carcinoid syndrome: flushing, diarrhoea, bronchospasm",
"Urine 5-HIAA elevated",
"Cardiac involvement (right-sided valvular disease) in advanced disease"]);
// ── SECTION 8 ─────────────────────────────────────────────────────────────────
addSection(pres, 8, "Non-Functional\nPanNETs", "Largest subgroup · Diagnosed late · Mass effect");
// 27. Non-functional overview
addBulletSlide(pres, "NF-PanNETs", "Non-Functional PanNETs – Clinical Features",
["## Definition",
"No clinically apparent hormonal hypersecretion syndrome",
"May produce hormones subclinically (PP, CgA, neurotensin)",
"Account for 25–100% of all PanNETs depending on series",
"Most common type in recent incidental-detection era",
"## Why Diagnosed Late?",
"No hormonal symptoms → silent until mass effect or incidental finding",
"Abdominal pain (most common symptom)",
"Obstructive jaundice (head of pancreas tumours)",
"Weight loss, GI bleeding, palpable mass"],
["## Incidental PanNETs",
"Increasing detection due to widespread CT/MRI use",
"Small (<2 cm) incidental PanNETs: often benign biology",
"Active surveillance acceptable for <2 cm G1 asymptomatic lesions",
"## Malignancy Risk",
"~60–90% malignant at diagnosis",
"Liver metastases most common spread (portal venous system)",
"Lymph node and peritoneal spread less common",
"## Biomarkers",
"Chromogranin A (CgA) – elevated in 70–80%",
"Pancreatic polypeptide (PP) – best marker for NF-PanNETs",
"NSE – elevated in high-grade/poorly differentiated"]);
// 28. Management of advanced NF-PanNETs
addBulletSlide(pres, "MANAGEMENT", "Advanced Non-Functional PanNETs – Management",
["## Surgical Options",
"Resection for localised/stage I–III disease",
"Laparoscopic distal pancreatectomy (body/tail)",
"Pancreatoduodenectomy (head/uncinate process)",
"Cytoreductive surgery for selected metastatic cases",
"## Liver-Directed Therapy",
"Hepatic arterial embolisation (HAE) – for dominant liver metastases",
"TACE (transarterial chemoembolisation)",
"Radiofrequency ablation / microwave ablation",
"Liver resection for resectable metastases"],
["## Active Surveillance Criteria (ENETS 2023)",
"Tumour ≤2 cm, G1, no symptoms, no vascular invasion",
"3–6 monthly MRI + biomarkers initially",
"Proceed to surgery if: growth, symptoms, or malignant features",
"## Systemic Therapy",
"SSAs (lanreotide / octreotide) – antiproliferative in SSTR+ tumours",
"Everolimus (RADIANT-3) – PFS benefit in progressive G1/G2",
"Sunitinib – PFS benefit in progressive pancreatic NETs",
"Cabozantinib (CABINET 2025) – new option",
"Lu-177 DOTATATE PRRT – for SSTR-positive disease",
"## Chemotherapy",
"Streptozocin + 5-FU (classic; moderate response rate)",
"Temozolomide ± capecitabine (MGMT-deficient tumours)"]);
// ── SECTION 9 ─────────────────────────────────────────────────────────────────
addSection(pres, 9, "MEN-1 Syndrome\n& Genetics", "Chromosome 11q13 • Menin • Autosomal Dominant");
// 30. MEN-1
addCardSlide(pres, "MEN-1 SYNDROME", "Multiple Endocrine Neoplasia Type 1 (MEN-1)",
[
{ icon:"🦴", head:"Parathyroid (>90%)", color:C.teal,
body:"Primary hyperparathyroidism\nHypercalcaemia\nFirst and most common manifestation\nMultiple gland hyperplasia (not adenoma)\nMay present before age 20" },
{ icon:"🧠", head:"Pituitary (30–40%)", color:C.purple,
body:"Prolactinoma most common\nGH-secreting → acromegaly\nACTH → Cushing's\nNFPA – non-functional\nScreening: MRI pituitary annually" },
{ icon:"🔬", head:"Pancreas (60–70%)", color:C.navy,
body:"Gastrinoma most common\nInsulinoma second\nMultiple, small, duodenal\nOften malignant\nLeading cause of death in MEN-1" },
{ icon:"🧬", head:"Genetics", color:C.amber,
body:"MEN1 gene: chromosome 11q13\nEncodes Menin – tumour suppressor\nAutosomal dominant\nHigh penetrance >95%\nDe novo in 10–15%\nGermline testing for families" },
]);
// 31. MEN-1 Management
addBulletSlide(pres, "MEN-1 MANAGEMENT", "MEN-1 – Pancreatic Manifestations & Surveillance",
["## Pancreatic PanNETs in MEN-1",
"Gastrinomas most common – typically multiple, duodenal, small",
"Insulinomas: ~10% of all insulinomas are MEN-1-associated",
"PanNETs: multiple, smaller, earlier onset than sporadic",
"Often functional (ZES leading cause of morbidity)",
"## Surgery in MEN-1 PanNETs",
"Controversial for small tumours (<1.5 cm)",
"ENETS 2023: operate for tumours ≥2 cm or growing rapidly",
"Complete cure rare due to multiple lesions"],
["## Surveillance Recommendations (ENETS 2023)",
"Annual MRI pancreas + liver (higher sensitivity than CT)",
"Annual EUS (more sensitive for small lesions)",
"Annual CgA, fasting gastrin, fasting glucose/insulin, calcium",
"Pituitary: annual MRI + IGF-1/prolactin",
"Parathyroid: annual calcium, PTH",
"Start surveillance at age 5–10 (early onset MEN-1)",
"## Germline Testing",
"Offer to all first-degree relatives of index case",
"Genetic testing identifies ~95% of MEN-1 carriers",
"Negative testing: exit from annual surveillance programme"]);
// ── SECTION 10 ─────────────────────────────────────────────────────────────────
addSection(pres, 10, "Imaging &\nDiagnosis", "Multimodality approach · Biomarkers · Histology");
// 33. Imaging modalities
addTableSlide(pres, "IMAGING", "Imaging Modalities for PanNET Localisation",
["Modality", "Sensitivity", "Best For", "Key Limitation"],
[
["CT Triphasic", "75–80%", "Initial staging, liver mets, hypervascular enhancement", "Misses tumours <1 cm"],
["MRI (DWI)", "85–90%", "Small lesions, liver mets, no radiation", "Cost, availability, time"],
["EUS", ">90%", "Insulinoma (<1 cm), FNA biopsy for grading", "Operator-dependent"],
["DOTATATE PET-CT", "93–95%", "SSTR+ tumours, occult primary, staging", "Low sensitivity for insulinoma"],
["GLP-1R Scintigraphy", "~90%", "Insulinoma (overexpress GLP-1R)", "Not widely available"],
["Selective Angiography + ASVS", "Varies", "Elusive insulinoma, multiple lesions", "Invasive, expertise needed"],
],
[1.7, 1.3, 3.2, 2.4]);
// 34. Biomarkers
addBulletSlide(pres, "BIOMARKERS", "Biochemical Markers in PanNET Diagnosis & Monitoring",
["## Chromogranin A (CgA)",
"General neuroendocrine marker; elevated in 70–80% of PanNETs",
"Useful for monitoring response and detecting recurrence",
"False positives: PPIs, renal failure, atrophic gastritis, hypertension",
"Not tumour-specific – must be interpreted in clinical context",
"## NSE (Neuron-Specific Enolase)",
"Elevated in poorly differentiated/high-grade NECs",
"Good marker for aggressive biology and monitoring",
"## Specific Hormones",
"Fasting insulin + C-peptide (insulinoma)",
"Fasting serum gastrin (gastrinoma)",
"Fasting glucagon (glucagonoma)",
"Fasting VIP (VIPoma)"],
["## Histological Confirmation",
"EUS-FNA: preferred for unresectable or metastatic lesions",
"IHC markers: Synaptophysin + Chromogranin A → confirm NE origin",
"Ki-67 labelling index: mandatory for grading",
"## Emerging Biomarkers (2024–2025)",
"NETest (multianalyte blood test): 96% sensitivity for PanNETs",
"Circulating tumour DNA (ctDNA): prognostic in advanced disease",
"Liquid biopsy: gaining traction for monitoring recurrence",
"## Urine / Functional Markers",
"5-HIAA (carcinoid/serotonin-secreting tumours)",
"24-hr urine 5-HIAA > 25 mg/day → carcinoid syndrome",
"PP (pancreatic polypeptide) – NF-PanNET marker"]);
// 35. DOTATATE PET
addImgRight(pres, "IMAGING", "68Ga-DOTATATE PET-CT – The Gold Standard",
["## Principle",
"68Ga-DOTATATE binds somatostatin receptor 2 (SSTR2)",
"PET acquisition: superior spatial resolution vs older Octreoscan",
"Combined functional (PET) + anatomic (CT) information",
"## Sensitivity & Specificity",
"Sensitivity: 93–95% for well-differentiated PanNETs",
"Specificity: ~95%",
"Superiority over conventional imaging demonstrated in NETTER studies",
"## Clinical Uses",
"Primary staging + detection of occult metastases",
"Patient selection for PRRT (must be SSTR+)",
"Monitoring treatment response",
"## Important Exceptions – LOW Uptake",
"Insulinoma (low SSTR2 expression) → use GLP-1R scintigraphy",
"G3 NET / NEC (may downregulate SSTR2)",
"MiNEN tumours (heterogeneous expression)"],
"dotatate");
// ── SECTION 11 ─────────────────────────────────────────────────────────────────
addSection(pres, 11, "Treatment Principles", "Surgery · SSAs · Targeted Therapy · PRRT · 2025 Advances");
// 37. Surgery
addImgRight(pres, "SURGERY", "Surgical Management of PanNETs",
["## Curative Surgery",
"Localised resectable disease: surgery is first-line for cure",
"Insulinoma: enucleation (exophytic) or distal pancreatectomy",
"Head lesions: pancreatoduodenectomy (Whipple procedure)",
"Laparoscopic approach: preferred for body/tail lesions",
"## Cytoreductive Surgery",
"70% hepatic debulking for functional tumours with liver mets",
"Palliative benefit even when cure not possible",
"Improves symptom control and may extend survival",
"## Intraoperative Ultrasound",
"Mandatory for insulinoma – detects non-palpable tumours",
"Reduces risk of missed lesions, especially in MEN-1"],
"whipple");
// 38. Somatostatin Analogues
addBulletSlide(pres, "PHARMACOLOGY", "Somatostatin Analogues (SSAs) – Key Pharmacology",
["## Mechanism",
"Bind SSTR2/SSTR5 on tumour cells",
"→ Gi protein → ↓ cAMP → inhibit hormone secretion",
"→ Direct antiproliferative effect (cell cycle arrest)",
"## Drugs",
"Octreotide (short-acting IV/SC) – acute symptomatic crises",
"Octreotide LAR 20–30 mg IM monthly – maintenance",
"Lanreotide Autogel 90–120 mg SC every 4 weeks – maintenance",
"## Key Trials",
"PROMID (2009): Octreotide LAR ↑ TTP vs placebo in midgut NETs",
"CLARINET (2014): Lanreotide ↑ PFS vs placebo (HR 0.47, G1/G2)"],
["## Indications",
"Symptom control: glucagonoma, VIPoma, gastrinoma, carcinoid",
"Antiproliferative: G1/G2 SSTR+ tumours",
"Pre-PRRT: load receptor with cold SSA for sensitisation",
"## AVOID in insulinoma monotherapy",
"Suppresses glucagon and growth hormone → worsens hypoglycaemia",
"Can use with close glucose monitoring in expert centres",
"## Side Effects",
"GI: diarrhoea, steatorrhoea, nausea, abdominal cramps",
"Cholelithiasis (inhibits gallbladder motility) – screen at 6–12 months",
"Hyperglycaemia (insulin inhibition)",
"Bradycardia (rare)"]);
// 39. Everolimus
addBulletSlide(pres, "TARGETED THERAPY", "Everolimus (mTOR Inhibitor) – RADIANT Trials",
["## Mechanism",
"mTORC1 inhibitor – blocks PI3K/AKT/mTOR signalling",
"Reduces tumour cell proliferation and angiogenesis",
"Inhibits HIF-1α → indirect anti-VEGF effect",
"## RADIANT-3 Trial (NEJM 2011)",
"Progressive pancreatic NETs (G1/G2)",
"Everolimus 10 mg/day vs placebo",
"PFS: 11.0 vs 4.6 months (HR 0.35, P<0.001)",
"FDA approved for advanced pancreatic NETs",
"## RADIANT-4 Trial",
"Non-functional lung/GI NETs (no PanNET subgroup)",
"PFS benefit maintained in stable disease"],
["## RADIANT-3 Subgroup – Insulinoma",
"Significant glycaemic improvement in malignant insulinoma",
"Reduces insulin secretion + antitumour effect",
"Now incorporated in management of malignant insulinoma",
"## Side Effects",
"Stomatitis (most common – 40–70%)",
"Rash, fatigue, diarrhoea",
"Hyperglycaemia, hyperlipidaemia",
"Pneumonitis (dose-limiting, 13–17%) – requires dose reduction",
"Immunosuppression – opportunistic infections",
"## Drug Interactions",
"CYP3A4 substrate – avoid strong inhibitors/inducers",
"Dose adjust with hepatic impairment"]);
// 40. Sunitinib
addBulletSlide(pres, "TARGETED THERAPY", "Sunitinib – Multi-Kinase Inhibitor (SUN1111 Trial)",
["## Mechanism",
"Multi-kinase inhibitor: VEGFR1/2/3, PDGFR, KIT, RET, FLT3",
"Anti-angiogenic + direct antiproliferative effects",
"## SUN1111 Trial (NEJM 2011)",
"Progressive, well-differentiated pancreatic NETs",
"Sunitinib 37.5 mg/day continuous vs placebo",
"PFS: 11.4 vs 5.5 months (HR 0.42, P<0.001)",
"OS trend improved (trial stopped early due to benefit)",
"## FDA Approval",
"Approved specifically for progressive, well-differentiated pancreatic NETs",
"NOT approved for extrapancreatic NETs (unlike everolimus)"],
["## Side Effects",
"Hypertension (50–70%) – manage with amlodipine, ACE inhibitors",
"Hand-foot skin reaction (palmar-plantar erythrodysesthesia)",
"Diarrhoea, nausea, mucositis",
"Fatigue, cytopenias",
"Cardiac toxicity – monitor LVEF at baseline and periodically",
"Hypothyroidism – screen TSH every 3 months",
"## Dosing",
"37.5 mg/day continuous (PanNET regimen)",
"or 50 mg/day 4 weeks on, 2 weeks off (other cancers)",
"Dose reduce for toxicity: 12.5 mg decrements"]);
// 41. CABOZANTINIB (NEW 2025)
addEvidenceSlide(pres, "NEW 2025 APPROVAL", "Cabozantinib – FDA Approved March 2025 (CABINET Trial)",
[
{ label:"CABINET Trial (NEJM, Feb 2025)", title:"Phase 3 RCT · Chan et al. · Cabozantinib vs placebo in advanced extrapancreatic NETs and PanNETs", result:"PFS benefit in both cohorts" },
{ label:"PanNET Cohort", title:"Cabozantinib 60 mg/day in progressive advanced pancreatic NETs", result:"HR 0.47 vs placebo (P<0.001)" },
{ label:"Mechanism", title:"Cabozantinib inhibits VEGFR2 + MET + AXL + RET + TIE2", result:"Anti-angiogenic + anti-proliferative" },
{ label:"FDA Approval", title:"March 31, 2025 – first new PNET approval since 2018 sunitinib/everolimus", result:"Advanced, progressive PanNETs" },
]);
// 42. PRRT
addImgRight(pres, "PRRT", "Peptide Receptor Radionuclide Therapy (PRRT)",
["## Principle",
"177Lu-DOTATATE: radiolabelled SSA",
"Binds SSTR2 → internalised → delivers beta radiation",
"Requires SSTR+ tumour on DOTATATE PET-CT",
"## NETTER-1 Trial (Strosberg et al., NEJM 2017)",
"177Lu-DOTATATE + octreotide LAR vs high-dose octreotide",
"20-month PFS: 65.2% vs 10.8% (HR 0.18, P<0.0001)",
"FDA/EMA approved for somatostatin receptor-positive GEP-NETs",
"## NETTER-2 Trial (Singh et al., Lancet 2024)",
"177Lu-DOTATATE in NEWLY DIAGNOSED advanced G2/G3 PanNETs",
"PFS benefit vs high-dose octreotide LAR",
"First-line PRRT data – practice changing",
"## Patient Selection",
"SSTR2+ on 68Ga-DOTATATE PET-CT (mandatory)",
"Adequate renal function (GFR >50 mL/min)",
"4 cycles IV over 7.4 GBq each"],
"lutetium");
// 43. Chemotherapy in NEC
addBulletSlide(pres, "CHEMOTHERAPY", "Chemotherapy – Indications & Regimens",
["## Neuroendocrine Carcinoma (NEC – Poorly Differentiated)",
"First-line: Cisplatin + Etoposide (like SCLC)",
"Alternative: Carboplatin + Etoposide (similar efficacy, better tolerated)",
"Response rates: 40–70% but short duration",
"Median OS: 11–13 months",
"## Well-differentiated PanNETs (when targeted fails)",
"Streptozocin + 5-FU – classic regimen; response ~40%",
"Streptozocin + Doxorubicin – alternative",
"Temozolomide ± Capecitabine (TEMCAP): response ~70% in MGMT-methylated",
"MGMT testing recommended before temozolomide"],
["## MGMT Methylation (Predictive Biomarker)",
"MGMT gene methylation → reduced DNA repair → temozolomide sensitivity",
"MGMT testing now recommended by ENETS 2023 guidelines",
"MGMT-low: benefit from temozolomide-based regimens",
"## Immunotherapy (Emerging)",
"PD-L1 inhibitors: limited activity in well-differentiated NETs",
"Pembrolizumab: activity in MMR-deficient / high-TMB NETs",
"Ongoing: combination PRRT + immunotherapy trials",
"## Sequencing in Advanced PanNET",
"ENETS/NCCN: no fixed sequence – individualise",
"Somatostatin status → PRRT eligibility",
"mTOR pathway → everolimus",
"VEGF pathway → sunitinib or cabozantinib"]);
// 44. Treatment Algorithm
addBulletSlide(pres, "ALGORITHM", "NCCN 2025 – Treatment Algorithm for Advanced PanNETs",
["## G1/G2 Unresectable – Well-differentiated SSTR+",
"Observation (slow growth, asymptomatic, low burden)",
"SSA (octreotide LAR or lanreotide) – antiproliferative",
"177Lu-DOTATATE PRRT – for progressive SSTR+ disease",
"Everolimus OR Sunitinib OR Cabozantinib (new 2025)",
"## G3 Well-differentiated NET (Ki-67 >20%)",
"NCCN 2025 has dedicated G3 NET algorithm",
"Resectable stage IV + favourable biology: surgery",
"Unfavourable biology: neoadjuvant therapy first",
"PRRT considered if SSTR+ and Ki-67 <55%"],
["## NEC (Poorly-differentiated)",
"Platinum + etoposide (first-line)",
"Second-line: temozolomide, FOLFOX, FOLFIRI",
"Immunotherapy trials for MMR-deficient",
"## Liver-Dominant Disease",
"Locoregional: HAE, TACE, SIRT (Y90 microspheres)",
"SIRT (Y90): ENETS 2023 recommends for liver-dominant, SSTR-",
"Ablation (RFA/MWA) for small/suitable lesions",
"## New Evidence Influencing Practice",
"CABINET (2025): Cabozantinib now standard option",
"NETTER-2 (2024): First-line PRRT in G2/G3",
"Proteogenomic subtypes (Ji et al., 2025): future personalised Rx"]);
// 45. Liver Metastases
addBulletSlide(pres, "LIVER METS", "Management of Liver Metastases from PanNETs",
["## Surgical Options",
"Liver resection: feasible in ~10–15% of patients",
"Requires: >90% debulking for functional tumours",
"Combined pancreatic primary + liver mets resection: selected cases",
"Liver transplantation: highly selected patients (slow-growing G1/G2, no extrahepatic)",
"## Systematic Review 2025 (Xue et al., Front Endocrinol)",
"Surgical resection shows best long-term outcome for resectable disease",
"TACE provides 30–50% response rate for unresectable",
"PRRT + TACE combination: emerging evidence"],
["## Liver-Directed Ablative Therapies",
"Hepatic arterial embolisation (HAE) – SSTR- or between PRRT cycles",
"TACE – adds chemotherapy (streptozocin or doxorubicin) to embolisation",
"SIRT (Y90 microspheres) – ENETS 2023 recommended for liver-dominant",
"RFA / MWA: for lesions <3 cm, accessible lesions",
"## Systemic + Local Combination",
"SSA + liver-directed therapy: synergistic",
"PRRT → liver-directed if residual liver disease",
"## Prognostic Factors for Liver Mets",
"Number, size, % liver involvement",
"Primary tumour grade (G1 vs G2 vs G3)",
"SSTR expression status",
"Time from diagnosis to liver metastases"]);
// ── SECTION 12 ─────────────────────────────────────────────────────────────────
addSection(pres, 12, "Prognosis, Evidence\n& Summary", "Survival data · Key trials · Exam pearls");
// 47. Prognosis table
addTableSlide(pres, "PROGNOSIS", "Prognosis of PanNENs by Tumour Type",
["Tumour", "Malignancy Rate", "5-yr Survival", "Key Prognostic Factor"],
[
["Insulinoma (benign)", "~10%", ">95% (surgery curative)", "Size, vascular invasion"],
["Insulinoma (malignant)", "~10% of all", "~25–40%", "Ki-67, metastases"],
["Gastrinoma (sporadic)", ">50%", "65% (complete resection: 90–100%)", "Complete resection achievable"],
["Gastrinoma (MEN-1)", ">50%", "Long survival if ZES controlled", "Liver metastases"],
["Glucagonoma", "60–80%", "Poor – metastasised at presentation", "Stage at diagnosis"],
["VIPoma", "60–80%", "Moderate with SSA control", "SSA responsiveness"],
["NF-PanNET G1", "60–90%", "80–100% (5yr); 60–70% (10yr)", "Grade, size, stage"],
["NF-PanNET G2/G3", "Most", "40–60% (5yr)", "Ki-67, ATRX/DAXX status"],
["NEC", "100%", "<15% (5yr); median OS ~11 mo", "Response to platinum/etop"],
],
[2.0, 1.5, 2.3, 3.8]);
// 48. Key Clinical Trials
addEvidenceSlide(pres, "KEY TRIALS", "Landmark Trials in PanNET Management",
[
{ label:"RADIANT-3 (NEJM 2011)", title:"Everolimus vs placebo in progressive pancreatic NETs", result:"PFS 11 vs 4.6 mo · HR 0.35" },
{ label:"SUN1111 (NEJM 2011)", title:"Sunitinib vs placebo in progressive pancreatic NETs", result:"PFS 11.4 vs 5.5 mo · HR 0.42" },
{ label:"NETTER-1 (NEJM 2017)", title:"177Lu-DOTATATE vs octreotide in midgut NETs", result:"20-mo PFS 65% vs 11% · HR 0.18" },
{ label:"NETTER-2 (Lancet 2024)", title:"177Lu-DOTATATE in newly-diagnosed G2/G3 GEP-NETs", result:"PFS superiority vs HD octreotide" },
{ label:"CABINET (NEJM 2025)", title:"Cabozantinib vs placebo in advanced PanNETs + epNETs", result:"PanNET PFS · HR 0.47 · FDA approved" },
]);
// 49. Exam High-Yield Points
addBulletSlide(pres, "HIGH-YIELD EXAM", "High-Yield Exam Points – PanNENs",
["★ Most common PanNET = Insulinoma (and most are benign ~90%)",
"★ WDHA (Watery Diarrhoea, Hypokalaemia, Achlorhydria) = VIPoma",
"★ Whipple's Triad: symptoms with fasting + hypoglycaemia + relief with glucose",
"★ Ki-67 index determines grade; >20% = G3 NET or NEC (differentiation distinguishes)",
"★ Most common malignant functional PanNET = Gastrinoma",
"★ ATRX/DAXX mutations in ~50% sporadic PanNETs → ALT mechanism",
"★ ZES: PUD + diarrhoea + elevated FSG; intractable jejunal ulcers = red flag",
"★ MEN-1 (11q13): parathyroid + pituitary + pancreas; gastrinoma most common PanNET"],
["★ Gastrinoma triangle: 90% of gastrinomas arise within this zone",
"★ SSAs = cornerstone medical management (AVOID monotherapy in insulinoma)",
"★ Necrolytic Migratory Erythema (NME) = pathognomonic for glucagonoma",
"★ DOTATATE PET-CT = most sensitive for SSTR-positive PanNETs",
"★ Insulinoma is SSTR-LOW → use GLP-1R scintigraphy for localisation",
"★ G3 NET vs NEC: differentiation, not Ki-67 alone, determines treatment",
"★ Cabozantinib FDA approved March 2025 – CABINET trial (HR 0.47)",
"★ NETTER-2 (2024): Lu-177 DOTATATE now demonstrated in first-line G2/G3",
"★ MGMT methylation predicts response to temozolomide in PanNETs"]);
// 50. CLOSING
addClosingSlide(pres);
// ── WRITE FILE ────────────────────────────────────────────────────────────────
const outPath = path.join(__dirname, "PanNEN_Comprehensive_2025.pptx");
pres.writeFile({ fileName: outPath })
.then(() => { console.log("SUCCESS:", outPath); })
.catch(e => { console.error("ERROR:", e.message); process.exit(1); });
cd /home/daytona/workspace/pannets-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/pannets-pptx/PanNEN_Comprehensive_2025.pptx && python3 -c " import zipfile, re with zipfile.ZipFile('/home/daytona/workspace/pannets-pptx/PanNEN_Comprehensive_2025.pptx') as z: slides = [f for f in z.namelist() if re.match(r'ppt/slides/slide[0-9]+\.xml', f)] print(f'Slide count: {len(slides)}') print('First 5 slides:', slides[:5]) "
PanNEN Comprehensive 2025
Presentation · PPTX
| # | Section | Slides |
|---|---|---|
| 1 | Introduction & Epidemiology | 1–6 |
| 2 | Pathogenesis & Molecular Genetics (2025 proteogenomic data) | 7–9 |
| 3 | WHO 2022 Grading + G3 NET vs NEC distinction | 10–12 |
| 4 | Insulinoma – Whipple's triad, 72-hr fast, imaging, surgery | 13–16 |
| 5 | Gastrinoma & ZES – secretin test, gastrinoma triangle, management | 17–20 |
| 6 | Glucagonoma – 4 D's, NME rash | 21–22 |
| 7 | VIPoma, Somatostatinoma & rare functional tumours | 23–25 |
| 8 | Non-functional PanNETs – incidentaloma, active surveillance | 26–28 |
| 9 | MEN-1 syndrome, genetics, surveillance | 29–31 |
| 10 | Imaging (CT/MRI/EUS/DOTATATE PET) & biomarkers | 32–35 |
| 11 | Treatment – Surgery, SSAs, Everolimus, Sunitinib, Cabozantinib (FDA approved March 2025), PRRT (NETTER-1/2), chemo, NCCN 2025 algorithm, liver mets | 36–45 |
| 12 | Prognosis tables, key trials, exam pearls | 46–50 |
Error
ls -lh /home/daytona/workspace/pannets-pptx/ && node -e "const pptxgen = require('pptxgenjs'); console.log('pptxgenjs OK:', typeof pptxgen);" 2>&1
cd /home/daytona/workspace/pannets-pptx && node build.js 2>&1 && echo "--- File check ---" && ls -lh PanNEN_Comprehensive_2025.pptx && python3 -c " import zipfile, re with zipfile.ZipFile('PanNEN_Comprehensive_2025.pptx') as z: slides = [f for f in z.namelist() if re.match(r'ppt/slides/slide[0-9]+\.xml', f)] print('Slides:', len(slides)) # Check file is valid by reading all content for s in slides: z.read(s) print('All slides readable - file is valid.') "
PanNEN Comprehensive 2025
Presentation · PPTX