Describe the natural history, presentation, course, complications and cause of death for common cancers. Plwase make a ppt baswd on davidson and architbollor textbook based 20 slides text big understandavle premium like with pictures in text At last thankyou
free medical images cancer natural history presentation complications lung breast colorectal prostate
mkdir -p /home/daytona/workspace/cancer-ppt && ls /home/daytona/workspace/cancer…
~/cancer-ppt/cancer_ppt.js
const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");
// Fetch images
const imageUrls = [
"https://cdn.rttnews.com/articleimages/ustopstories/2024/february/lungbreastcolorectalcancer-feb2-lt.jpg",
"https://thumbs.dreamstime.com/b/visually-informative-infographic-illustrating-top-four-cancer-types-lung-colon-prostate-brain-cancer-each-organ-396819637.jpg"
];
let fetchedImages = [];
try {
const result = execSync(
`node /home/daytona/skills/shared/scripts/fetch_images.js ${imageUrls.map(u => `"${u}"`).join(" ")}`,
{ timeout: 30000 }
).toString();
fetchedImages = JSON.parse(result);
} catch(e) {
console.log("Image fetch warning:", e.message);
fetchedImages = [{ base64: null }, { base64: null }];
}
const img1 = fetchedImages[0] && fetchedImages[0].base64 ? fetchedImages[0].base64 : null;
const img2 = fetchedImages[1] && fetchedImages[1].base64 ? fetchedImages[1].base64 : null;
// ---- THEME COLORS ----
const BG_DARK = "0A0F2B"; // deep navy
const BG_MID = "0D1A3A"; // navy mid
const ACCENT1 = "C0392B"; // medical red
const ACCENT2 = "E74C3C"; // bright red
const GOLD = "F5A623"; // gold accent
const WHITE = "FFFFFF";
const LIGHT_GRAY = "E8EAF0";
const LIGHT_BLUE = "5DADE2";
const TEAL = "1ABC9C";
const ORANGE = "E67E22";
const PURPLE = "9B59B6";
const SLIDE_BG = "060D27";
let pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"
pres.title = "Common Cancers – Natural History, Presentation & Complications";
pres.author = "Davidson's & Robbins Pathology";
// ========================
// HELPER FUNCTIONS
// ========================
function addDarkSlide(pres, color) {
let s = pres.addSlide();
s.background = { color: color || BG_DARK };
return s;
}
function addAccentBar(slide, color, x, y, w, h) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color } });
}
function addSlideNumber(slide, num) {
slide.addText(`${num} / 20`, {
x: 11.8, y: 7.1, w: 1.3, h: 0.3,
fontSize: 9, color: "556080", align: "right"
});
}
// ========================
// SLIDE 1 – TITLE
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
// Background gradient shapes
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: SLIDE_BG } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.8, w: 13.3, h: 1.7, fill: { color: "0A0F2B" } });
// Red accent bar
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.1, w: 0.12, h: 3.2, fill: { color: ACCENT1 } });
// Title
s.addText("COMMON CANCERS", {
x: 0.8, y: 1.4, w: 11, h: 1.1,
fontSize: 54, bold: true, color: WHITE, fontFace: "Calibri",
charSpacing: 4
});
s.addText("Natural History · Clinical Presentation · Course · Complications · Cause of Death", {
x: 0.8, y: 2.6, w: 11, h: 0.7,
fontSize: 18, color: LIGHT_BLUE, fontFace: "Calibri", italic: true
});
// Gold divider line
s.addShape(pres.ShapeType.rect, { x: 0.8, y: 3.45, w: 8, h: 0.04, fill: { color: GOLD } });
s.addText("Based on Davidson's Principles & Practice of Medicine\nand Robbins & Kumar Basic Pathology", {
x: 0.8, y: 3.6, w: 10, h: 0.8,
fontSize: 14, color: "8899BB", fontFace: "Calibri"
});
s.addText("Orris Medical Education · 2026", {
x: 0.8, y: 6.9, w: 8, h: 0.4,
fontSize: 11, color: "445577", fontFace: "Calibri"
});
}
// ========================
// SLIDE 2 – OVERVIEW of CANCERS
// ========================
{
let s = addDarkSlide(pres, BG_MID);
addAccentBar(s, ACCENT1, 0, 0, 13.3, 0.08);
s.addText("OVERVIEW", { x: 0.4, y: 0.15, w: 4, h: 0.4, fontSize: 11, color: GOLD, bold: true, charSpacing: 3 });
s.addText("What are 'Common Cancers'?", { x: 0.4, y: 0.6, w: 12, h: 0.7, fontSize: 34, bold: true, color: WHITE, fontFace: "Calibri" });
addAccentBar(s, ACCENT1, 0.4, 1.4, 0.08, 5.5);
const cancers = [
{ name: "Lung", color: LIGHT_BLUE, stat: "#1 cause of cancer death worldwide" },
{ name: "Breast", color: PURPLE, stat: "Most common cancer in women" },
{ name: "Colorectal", color: TEAL, stat: "3rd most common, highly preventable" },
{ name: "Prostate", color: GOLD, stat: "#1 diagnosed cancer in men" },
{ name: "Stomach", color: ORANGE, stat: "Leading cancer death in Asia" },
{ name: "Liver (HCC)", color: ACCENT2, stat: "Rising incidence; poor prognosis" },
];
cancers.forEach((c, i) => {
const col = i < 3 ? 0 : 1;
const row = i % 3;
const x = col === 0 ? 0.7 : 6.8;
const y = 1.5 + row * 1.6;
s.addShape(pres.ShapeType.rect, { x, y, w: 5.8, h: 1.4, fill: { color: "0E1E48" }, line: { color: c.color, width: 1.2 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.22, h: 1.4, fill: { color: c.color } });
s.addText(c.name, { x: x + 0.35, y: y + 0.1, w: 5.2, h: 0.55, fontSize: 20, bold: true, color: WHITE });
s.addText(c.stat, { x: x + 0.35, y: y + 0.7, w: 5.2, h: 0.55, fontSize: 13, color: c.color });
});
addSlideNumber(s, 2);
}
// ========================
// SLIDE 3 – LUNG CANCER Overview
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, LIGHT_BLUE, 0, 0, 13.3, 0.08);
s.addText("LUNG CANCER", { x: 0.4, y: 0.18, w: 10, h: 0.65, fontSize: 36, bold: true, color: LIGHT_BLUE, fontFace: "Calibri", charSpacing: 2 });
s.addText("Epidemiology & Natural History", { x: 0.4, y: 0.85, w: 9, h: 0.45, fontSize: 18, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.4, y: 1.4, w: 7.8, h: 5.5, fill: { color: "080E28" }, line: { color: LIGHT_BLUE, width: 0.8 } });
s.addText([
{ text: "Aetiology & Risk Factors\n", options: { bold: true, color: LIGHT_BLUE, fontSize: 15 } },
{ text: "• Cigarette smoking – accounts for >85% of cases\n• Occupational: asbestos, radon, arsenic, chromates\n• Air pollution; passive smoking\n• EGFR, ALK, RAS mutations in non-smokers\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Natural History\n", options: { bold: true, color: LIGHT_BLUE, fontSize: 15 } },
{ text: "• Originates in bronchial epithelium; precancerous dysplasia → CIS → invasive\n• NSCLC (80%): adenocarcinoma, squamous cell, large cell\n• SCLC (20%): neuroendocrine origin; rapid doubling time\n• 5-year survival: Stage I ~70% | Stage IV ~5%\n• Often asymptomatic until advanced (Stage III/IV at diagnosis)\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.55, y: 1.55, w: 7.5, h: 5.2, valign: "top", margin: 4 });
// Right panel stats
s.addShape(pres.ShapeType.rect, { x: 8.5, y: 1.4, w: 4.4, h: 2.5, fill: { color: "0D2040" }, line: { color: LIGHT_BLUE, width: 0.5 } });
s.addText("KEY STATS", { x: 8.7, y: 1.5, w: 4, h: 0.4, fontSize: 12, bold: true, color: GOLD, charSpacing: 2 });
s.addText("~1.8 million deaths/year globally\n\nNSCLC 80% | SCLC 20%\n\nMedian age at diagnosis: 70 yrs\n\nOnly 16% diagnosed at Stage I", {
x: 8.7, y: 2.0, w: 4, h: 2.6,
fontSize: 12.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.5, y: 4.05, w: 4.4, h: 2.85, fill: { color: "12052A" }, line: { color: PURPLE, width: 0.5 } });
s.addText("STAGING (TNM)", { x: 8.7, y: 4.15, w: 4, h: 0.4, fontSize: 12, bold: true, color: PURPLE, charSpacing: 2 });
s.addText("Stage I: Tumor confined to lung\nStage II: Ipsilateral nodes\nStage III: Mediastinal spread\nStage IV: Distant metastases\n(bone, brain, adrenals, liver)", {
x: 8.7, y: 4.65, w: 4, h: 2.3,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
addSlideNumber(s, 3);
}
// ========================
// SLIDE 4 – LUNG CANCER Presentation
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, LIGHT_BLUE, 0, 0, 13.3, 0.08);
s.addText("LUNG CANCER", { x: 0.4, y: 0.18, w: 10, h: 0.55, fontSize: 28, bold: true, color: LIGHT_BLUE });
s.addText("Clinical Presentation, Complications & Cause of Death", { x: 0.4, y: 0.75, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
const boxes = [
{
title: "LOCAL SYMPTOMS", color: LIGHT_BLUE,
items: ["Cough (persistent, new-onset)", "Haemoptysis – blood-streaked sputum", "Dyspnoea, wheeze, stridor", "Chest pain (pleuritic or dull ache)", "Recurrent pneumonia / collapse"]
},
{
title: "REGIONAL SPREAD", color: TEAL,
items: ["Superior Vena Cava Obstruction (SVCO)", "Horner's Syndrome (Pancoast)", "Hoarseness (recurrent laryngeal palsy)", "Dysphagia (oesophageal compression)", "Phrenic nerve palsy → raised hemidiaphragm"]
},
{
title: "DISTANT METASTASES", color: ORANGE,
items: ["Brain: headache, seizures, focal deficit", "Bone: pain, pathological fracture", "Adrenal: often asymptomatic", "Liver: hepatomegaly, jaundice", "Lymphadenopathy (supraclavicular)"]
},
{
title: "PARANEOPLASTIC / CoD", color: ACCENT2,
items: ["SIADH → hyponatraemia (SCLC)", "Ectopic ACTH → Cushing syndrome", "Hypercalcaemia (PTHrP – squamous)", "Eaton-Lambert syndrome", "Cause of Death: respiratory failure,\ncachexia, brain/bone metastases"]
},
];
boxes.forEach((b, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = col === 0 ? 0.3 : 6.8;
const y = 1.35 + row * 2.9;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 2.7, fill: { color: "0A1535" }, line: { color: b.color, width: 1 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 0.42, fill: { color: b.color } });
s.addText(b.title, { x: x + 0.1, y: y + 0.04, w: 6, h: 0.36, fontSize: 13, bold: true, color: "000000" });
s.addText(b.items.join("\n"), { x: x + 0.15, y: y + 0.5, w: 5.95, h: 2.1, fontSize: 12.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.35 });
});
addSlideNumber(s, 4);
}
// ========================
// SLIDE 5 – BREAST CANCER Overview
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, PURPLE, 0, 0, 13.3, 0.08);
s.addText("BREAST CANCER", { x: 0.4, y: 0.18, w: 10, h: 0.65, fontSize: 36, bold: true, color: PURPLE, charSpacing: 2 });
s.addText("Epidemiology & Natural History", { x: 0.4, y: 0.85, w: 9, h: 0.45, fontSize: 18, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 8.1, h: 5.6, fill: { color: "080E28" }, line: { color: PURPLE, width: 0.8 } });
s.addText([
{ text: "Risk Factors\n", options: { bold: true, color: PURPLE, fontSize: 15 } },
{ text: "• Female sex; age >50 years; nulliparity / late first pregnancy\n• Family history: BRCA1, BRCA2 mutations\n• Oestrogen exposure: HRT, OCP, early menarche, late menopause\n• Obesity; prior radiation; dense breast tissue\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Natural History (Robbins)\n", options: { bold: true, color: PURPLE, fontSize: 15 } },
{ text: "• DCIS (ductal carcinoma in situ) → invasive ductal carcinoma (most common)\n• Lobular carcinoma – bilateral tendency, diffuse spread\n• Hormone receptor (ER/PR) positive tumours: slower growth, better prognosis\n• HER2+ tumours: aggressive; responds to trastuzumab\n• Triple-negative: no ER/PR/HER2; worst prognosis; BRCA-associated\n• Typical doubling time: 100-200 days\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 1.55, w: 7.7, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 1.4, w: 4.3, h: 2.7, fill: { color: "1A0A30" }, line: { color: PURPLE, width: 0.5 } });
s.addText("SURVIVAL BY STAGE", { x: 8.85, y: 1.5, w: 4, h: 0.4, fontSize: 12, bold: true, color: GOLD, charSpacing: 2 });
s.addText("Stage I: 5yr survival ~99%\nStage II: ~86%\nStage III: ~57%\nStage IV (metastatic): ~28%\n\nLymph node status = key\nprognostic factor", {
x: 8.85, y: 2.0, w: 3.9, h: 2.8,
fontSize: 12.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 4.3, w: 4.3, h: 2.7, fill: { color: "1A0A30" }, line: { color: ACCENT2, width: 0.5 } });
s.addText("SPREAD PATTERN", { x: 8.85, y: 4.4, w: 4, h: 0.4, fontSize: 12, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("Lymphatic: axillary, internal\nmammary, supraclavicular\n\nHaematogenous:\nBone (most common), lung,\nliver, brain\n\nBone mets: often osteolytic", {
x: 8.85, y: 4.9, w: 3.9, h: 2.3,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
addSlideNumber(s, 5);
}
// ========================
// SLIDE 6 – BREAST CANCER Presentation
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, PURPLE, 0, 0, 13.3, 0.08);
s.addText("BREAST CANCER", { x: 0.4, y: 0.18, w: 10, h: 0.55, fontSize: 28, bold: true, color: PURPLE });
s.addText("Clinical Presentation, Complications & Cause of Death", { x: 0.4, y: 0.75, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
const items = [
{ label: "Painless breast lump", desc: "Hard, irregular, non-tender mass; most common presentation (60%)" },
{ label: "Nipple changes", desc: "Bloody/serous discharge; nipple retraction; Paget's disease of nipple" },
{ label: "Skin changes", desc: "Peau d'orange (lymphatic obstruction), skin dimpling, erythema (inflammatory BC)" },
{ label: "Axillary mass", desc: "Lymph node enlargement; hard, fixed nodes indicate nodal metastasis" },
{ label: "Bone metastases", desc: "Pain, hypercalcaemia, pathological fracture; most common site of distant spread" },
{ label: "Lung / Pleural mets", desc: "Dyspnoea, pleural effusion; second most common distant site" },
{ label: "Liver metastases", desc: "Hepatomegaly, jaundice, elevated ALP, ascites in advanced disease" },
{ label: "Brain metastases", desc: "Headache, seizures, focal neurological deficit; late-stage complication" },
{ label: "Cause of Death", desc: "Overwhelming metastatic disease (lung/liver failure), hypercalcaemia,\ncachexia, sepsis from immunosuppression or neutropenia" },
];
items.forEach((item, i) => {
const col = i < 5 ? 0 : 1;
const row = col === 0 ? i : i - 5;
const x = col === 0 ? 0.3 : 6.95;
const y = 1.35 + row * 1.17;
const accent = i === 8 ? ACCENT2 : PURPLE;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.3, h: 1.05, fill: { color: "0A1535" }, line: { color: accent, width: 0.8 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.18, h: 1.05, fill: { color: accent } });
s.addText(item.label, { x: x + 0.28, y: y + 0.05, w: 6, h: 0.37, fontSize: 13.5, bold: true, color: WHITE });
s.addText(item.desc, { x: x + 0.28, y: y + 0.44, w: 5.9, h: 0.55, fontSize: 11.5, color: LIGHT_GRAY });
});
addSlideNumber(s, 6);
}
// ========================
// SLIDE 7 – COLORECTAL CANCER Overview
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, TEAL, 0, 0, 13.3, 0.08);
s.addText("COLORECTAL CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: TEAL, charSpacing: 2 });
s.addText("Epidemiology, Natural History & Adenoma-Carcinoma Sequence", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
// Adenoma-carcinoma sequence diagram
const steps = ["Normal\nEpithelium", "Hyperplastic\nPolyp", "Adenoma\n(FAP/HNPCC)", "Dysplasia\n(High Grade)", "Carcinoma\nIn Situ", "Invasive\nCancer"];
const stepColors = [TEAL, "27AE60", GOLD, ORANGE, ACCENT2, ACCENT1];
steps.forEach((st, i) => {
const x = 0.3 + i * 2.1;
s.addShape(pres.ShapeType.rect, { x, y: 1.45, w: 1.85, h: 0.9, fill: { color: stepColors[i] } });
s.addText(st, { x, y: 1.45, w: 1.85, h: 0.9, fontSize: 10.5, bold: true, color: "000000", align: "center", valign: "middle" });
if (i < 5) {
s.addShape(pres.ShapeType.rect, { x: x + 1.85, y: 1.85, w: 0.25, h: 0.1, fill: { color: WHITE } });
}
});
s.addText("Adenoma–Carcinoma Sequence (Fearon & Vogelstein model) · Takes ~10–15 years", {
x: 0.3, y: 2.42, w: 12.5, h: 0.35, fontSize: 11, color: "7799AA", italic: true, align: "center"
});
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 2.9, w: 7.8, h: 4.1, fill: { color: "080E28" }, line: { color: TEAL, width: 0.8 } });
s.addText([
{ text: "Risk Factors\n", options: { bold: true, color: TEAL, fontSize: 15 } },
{ text: "• Age >50 years; male sex; Western diet (high fat, low fibre)\n• Inflammatory bowel disease (UC > Crohn's)\n• Hereditary: FAP (APC mutation), HNPCC/Lynch syndrome\n• Family history; prior colorectal polyps\n• Obesity, alcohol, smoking\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Distribution\n", options: { bold: true, color: TEAL, fontSize: 15 } },
{ text: "• Left colon / sigmoid / rectum: 60–70% (more symptomatic)\n• Right colon: 25–30% (occult bleeding, anaemia)\n• Transverse: 10–15%", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 3.05, w: 7.5, h: 3.8, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 2.9, w: 4.5, h: 4.1, fill: { color: "071828" }, line: { color: TEAL, width: 0.5 } });
s.addText("DUKES / TNM STAGING", { x: 8.6, y: 3.0, w: 4.1, h: 0.4, fontSize: 12, bold: true, color: GOLD, charSpacing: 2 });
s.addText([
{ text: "Dukes A (T1-2 N0) · 5yr: 90%\n", options: { color: TEAL } },
{ text: "Dukes B (T3-4 N0) · 5yr: 70%\n", options: { color: GOLD } },
{ text: "Dukes C (any N+) · 5yr: 40%\n", options: { color: ORANGE } },
{ text: "Dukes D (M1) · 5yr: 10%\n", options: { color: ACCENT2 } },
], { x: 8.6, y: 3.55, w: 4.1, h: 2.2, fontSize: 13, lineSpacingMultiple: 1.8 });
s.addText("Most common metastatic sites:\nLiver (portal drainage) → Lung\n→ Peritoneum → Bone/Brain", {
x: 8.6, y: 5.8, w: 4.1, h: 1.1,
fontSize: 12, color: LIGHT_GRAY
});
addSlideNumber(s, 7);
}
// ========================
// SLIDE 8 – COLORECTAL Presentation
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, TEAL, 0, 0, 13.3, 0.08);
s.addText("COLORECTAL CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.55, fontSize: 28, bold: true, color: TEAL });
s.addText("Clinical Presentation by Site, Complications & Cause of Death", { x: 0.4, y: 0.75, w: 12, h: 0.45, fontSize: 15, color: GOLD, italic: true });
// Left colon vs Right colon
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.35, w: 5.9, h: 5.6, fill: { color: "071828" }, line: { color: TEAL, width: 1 } });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.35, w: 5.9, h: 0.55, fill: { color: TEAL } });
s.addText("LEFT COLON / RECTUM", { x: 0.35, y: 1.37, w: 5.8, h: 0.5, fontSize: 14, bold: true, color: "000000" });
s.addText("• Change in bowel habit (constipation/diarrhoea)\n• Rectal bleeding (bright red blood)\n• Tenesmus, feeling of incomplete evacuation\n• Colicky lower abdominal pain\n• Intestinal obstruction (late sign)\n• Palpable left iliac fossa mass", {
x: 0.45, y: 1.98, w: 5.6, h: 3, fontSize: 13, color: LIGHT_GRAY, lineSpacingMultiple: 1.4
});
s.addShape(pres.ShapeType.rect, { x: 6.5, y: 1.35, w: 5.9, h: 5.6, fill: { color: "071828" }, line: { color: GOLD, width: 1 } });
s.addShape(pres.ShapeType.rect, { x: 6.5, y: 1.35, w: 5.9, h: 0.55, fill: { color: GOLD } });
s.addText("RIGHT COLON / COMPLICATIONS / CoD", { x: 6.55, y: 1.37, w: 5.8, h: 0.5, fontSize: 13, bold: true, color: "000000" });
s.addText([
{ text: "Right Colon:\n", options: { bold: true, color: GOLD, fontSize: 13 } },
{ text: "• Iron deficiency anaemia (insidious occult blood loss)\n• Vague right-sided abdominal pain\n• Palpable mass\n• Weight loss, fatigue\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Complications:\n", options: { bold: true, color: ORANGE, fontSize: 13 } },
{ text: "• Obstruction, perforation (peritonitis)\n• Fistula formation (colovesical, colovaginal)\n• Liver metastases (jaundice, ascites)\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Cause of Death:\n", options: { bold: true, color: ACCENT2, fontSize: 13 } },
{ text: "• Hepatic failure from liver metastases\n• Peritoneal carcinomatosis, bowel obstruction\n• Cachexia, sepsis", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 6.65, y: 1.98, w: 5.6, h: 4.9, valign: "top", margin: 2 });
addSlideNumber(s, 8);
}
// ========================
// SLIDE 9 – PROSTATE CANCER
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, GOLD, 0, 0, 13.3, 0.08);
s.addText("PROSTATE CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: GOLD, charSpacing: 2 });
s.addText("Epidemiology, Natural History & Gleason Grading", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: LIGHT_BLUE, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 8.1, h: 5.6, fill: { color: "080E28" }, line: { color: GOLD, width: 0.8 } });
s.addText([
{ text: "Natural History\n", options: { bold: true, color: GOLD, fontSize: 15 } },
{ text: "• Arises in peripheral zone (70%); adenocarcinoma in 95%\n• Most are slow-growing; some indolent, screen-detected\n• Gleason score predicts aggressiveness (range 6–10)\n• Locally: capsule → seminal vesicle → bladder\n• Lymphatics: obturator, iliac, para-aortic nodes\n• Haematogenous: bone (osteoblastic – axial skeleton first)\n• Lung, liver metastases occur in advanced disease\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Risk Factors\n", options: { bold: true, color: GOLD, fontSize: 15 } },
{ text: "• Age (rare <50, common >65); Black African > White > Asian\n• Family history (BRCA2); hormonal (DHT)\n• High fat diet; possibly vasectomy (weak evidence)", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 1.55, w: 7.7, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 1.4, w: 4.3, h: 2.9, fill: { color: "1A1000" }, line: { color: GOLD, width: 0.5 } });
s.addText("GLEASON GRADING", { x: 8.85, y: 1.5, w: 4, h: 0.4, fontSize: 12, bold: true, color: GOLD, charSpacing: 2 });
s.addText("Gleason 6 (3+3): Low grade\nGleason 7 (3+4 or 4+3): Intermediate\nGleason 8 (4+4): High grade\nGleason 9–10: Very high grade\n\nPSA velocity & density\nare additional markers", {
x: 8.85, y: 2.0, w: 4, h: 2.7,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 4.5, w: 4.3, h: 2.5, fill: { color: "100800" }, line: { color: ORANGE, width: 0.5 } });
s.addText("CLINICAL COURSE", { x: 8.85, y: 4.6, w: 4, h: 0.4, fontSize: 12, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("5-yr survival localised: ~100%\n5-yr survival metastatic: ~30%\n\nPSA screening detects\nasymptomatic disease\nBone scan: key staging tool", {
x: 8.85, y: 5.1, w: 4, h: 1.8,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
addSlideNumber(s, 9);
}
// ========================
// SLIDE 10 – PROSTATE Presentation
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, GOLD, 0, 0, 13.3, 0.08);
s.addText("PROSTATE CANCER", { x: 0.4, y: 0.18, w: 10, h: 0.55, fontSize: 28, bold: true, color: GOLD });
s.addText("Clinical Presentation, Complications & Cause of Death", { x: 0.4, y: 0.75, w: 12, h: 0.45, fontSize: 15, color: LIGHT_BLUE, italic: true });
const proItems = [
{ label: "Asymptomatic (early)", desc: "Detected by elevated PSA on screening; no symptoms in localised disease", color: TEAL },
{ label: "LUTS (local)", desc: "Hesitancy, poor stream, nocturia, frequency – due to urethral compression", color: GOLD },
{ label: "Haematuria / Haematospermia", desc: "Uncommon but may occur with local invasion of urethra or bladder", color: LIGHT_BLUE },
{ label: "Bone Metastases", desc: "Back pain, hip pain, pathological fractures; osteoblastic lesions on X-ray/bone scan", color: ORANGE },
{ label: "Spinal Cord Compression", desc: "Emergency: back pain + neurological deficit; needs urgent MRI and dexamethasone", color: ACCENT2 },
{ label: "Lymphoedema / Ureteric obstruction", desc: "Pelvic node metastases → lymphoedema; ureteric compression → hydronephrosis", color: PURPLE },
{ label: "DRE Findings", desc: "Hard, irregular, non-tender prostate; loss of median sulcus; rectal induration", color: TEAL },
{ label: "Cause of Death", desc: "Bone marrow failure, renal failure (ureteric obstruction), pulmonary emboli, cachexia\nSpinal cord compression with complications (aspiration, infections)", color: ACCENT1 },
];
proItems.forEach((item, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = col === 0 ? 0.3 : 6.8;
const y = 1.35 + row * 1.48;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 1.32, fill: { color: "0A1530" }, line: { color: item.color, width: 0.9 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.2, h: 1.32, fill: { color: item.color } });
s.addText(item.label, { x: x + 0.3, y: y + 0.05, w: 5.8, h: 0.45, fontSize: 13.5, bold: true, color: WHITE });
s.addText(item.desc, { x: x + 0.3, y: y + 0.52, w: 5.85, h: 0.7, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.2 });
});
addSlideNumber(s, 10);
}
// ========================
// SLIDE 11 – STOMACH CANCER
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, ORANGE, 0, 0, 13.3, 0.08);
s.addText("STOMACH CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("Gastric Carcinoma – Natural History & Presentation", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 8.1, h: 5.6, fill: { color: "0D0A00" }, line: { color: ORANGE, width: 0.8 } });
s.addText([
{ text: "Natural History & Types\n", options: { bold: true, color: ORANGE, fontSize: 15 } },
{ text: "• Intestinal type: gland-forming; associated with H. pylori; atrophic gastritis → metaplasia → dysplasia → carcinoma\n• Diffuse type: signet ring cells; linitis plastica; younger patients; poor prognosis\n• 95% are adenocarcinomas; occur mainly in antrum and lesser curve\n• Silent disease until advanced – most present at Stage III/IV in West\n• Early gastric cancer (EGC): confined to mucosa/submucosa; >90% 5yr survival (Japan screening)\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Risk Factors\n", options: { bold: true, color: ORANGE, fontSize: 15 } },
{ text: "• H. pylori infection (WHO Class I carcinogen)\n• Diet: smoked, salted, pickled foods; low fruit/vegetable intake\n• Smoking; pernicious anaemia; partial gastrectomy history\n• Blood group A (diffuse type); hereditary diffuse gastric cancer (CDH1)", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 1.55, w: 7.7, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 1.4, w: 4.3, h: 2.9, fill: { color: "1A0A00" }, line: { color: ORANGE, width: 0.5 } });
s.addText("PRESENTATION", { x: 8.85, y: 1.5, w: 4, h: 0.4, fontSize: 12, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("• Epigastric pain/discomfort\n• Weight loss, anorexia\n• Dysphagia (cardia tumours)\n• Vomiting (pyloric obstruction)\n• Haematemesis / melaena\n• Virchow's node (L supraclav.)\n• Sister Mary Joseph nodule", {
x: 8.85, y: 2.0, w: 4, h: 2.9,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.65, y: 4.5, w: 4.3, h: 2.5, fill: { color: "100500" }, line: { color: ACCENT2, width: 0.5 } });
s.addText("COMPLICATIONS / CoD", { x: 8.85, y: 4.6, w: 4, h: 0.4, fontSize: 12, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("• Haemorrhage, perforation\n• Malnutrition / obstruction\n• Peritoneal carcinomatosis\n• Liver metastases\n• Krukenberg tumour (ovaries)\n\nCause of Death:\nCachexia, hepatic failure,\nperitoneal carcinomatosis", {
x: 8.85, y: 5.1, w: 4, h: 1.8,
fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25
});
addSlideNumber(s, 11);
}
// ========================
// SLIDE 12 – HEPATOCELLULAR CARCINOMA
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, ACCENT2, 0, 0, 13.3, 0.08);
s.addText("HEPATOCELLULAR CARCINOMA", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 30, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("Natural History, Presentation & Complications", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 7.8, h: 5.6, fill: { color: "150202" }, line: { color: ACCENT2, width: 0.8 } });
s.addText([
{ text: "Natural History (Robbins Pathology)\n", options: { bold: true, color: ACCENT2, fontSize: 15 } },
{ text: "• Cirrhosis is the most important predisposing factor (HBV, HCV, alcohol, NAFLD)\n• Arises in the setting of chronic liver disease in 80-90% of cases\n• HBV: can cause HCC without cirrhosis (viral DNA integration)\n• Multifocal or single mass with satellite nodules\n• Portal vein invasion common → hepatic spread, portal hypertension\n• Spreads: liver → lung → adrenals → bone; rarely nodal\n• Alpha-fetoprotein (AFP) elevated in 70% of cases\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Risk Factors\n", options: { bold: true, color: ACCENT2, fontSize: 15 } },
{ text: "• Chronic HBV/HCV; alcoholic cirrhosis; NAFLD/NASH cirrhosis\n• Aflatoxin B1 (Aspergillus – stored grains, Africa/Asia)\n• Haemochromatosis, primary biliary cirrhosis, Wilson's disease\n• Diabetes, obesity (NASH)", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.5, y: 1.55, w: 7.5, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 1.4, w: 4.55, h: 2.7, fill: { color: "200505" }, line: { color: ACCENT2, width: 0.5 } });
s.addText("PRESENTATION", { x: 8.6, y: 1.5, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("• Right upper quadrant pain\n• Hepatomegaly with bruit\n• Weight loss, anorexia\n• Ascites / jaundice\n• Deterioration in known cirrhosis\n• Paraneoplastic: hypoglycaemia,\n erythrocytosis, hypercalcaemia", {
x: 8.6, y: 2.0, w: 4.2, h: 2.7,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 4.3, w: 4.55, h: 2.7, fill: { color: "180202" }, line: { color: ORANGE, width: 0.5 } });
s.addText("COMPLICATIONS / CoD", { x: 8.6, y: 4.4, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("• Tumour rupture → haemoperitoneum\n• Portal vein thrombosis\n• Hepatic failure (background cirrhosis)\n• Variceal haemorrhage\n• Pulmonary metastases\n\nCause of Death:\nHepatic failure, haemorrhage,\nmetastatic disease, cachexia", {
x: 8.6, y: 4.9, w: 4.2, h: 1.95,
fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25
});
addSlideNumber(s, 12);
}
// ========================
// SLIDE 13 – CERVICAL CANCER
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, PURPLE, 0, 0, 13.3, 0.08);
s.addText("CERVICAL CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: PURPLE, charSpacing: 2 });
s.addText("HPV-Driven Carcinogenesis, Natural History & Presentation", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 7.8, h: 5.6, fill: { color: "0D0A1A" }, line: { color: PURPLE, width: 0.8 } });
s.addText([
{ text: "Natural History\n", options: { bold: true, color: PURPLE, fontSize: 15 } },
{ text: "• Human papillomavirus (HPV) 16, 18 – cause >95% of cervical cancers\n• CIN (cervical intraepithelial neoplasia) I→II→III → invasive carcinoma\n• This progression takes 10–20 years (window for screening)\n• 80% squamous cell carcinoma; 20% adenocarcinoma\n• Spreads locally to parametria, vagina, bladder, rectum\n• Lymphatic: parametrial → iliac → para-aortic nodes\n• Haematogenous spread is late: lung, liver, bone\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Risk Factors\n", options: { bold: true, color: PURPLE, fontSize: 15 } },
{ text: "• HPV infection (multiple sexual partners, early sexual activity)\n• Smoking (reduces local immunity)\n• Immunosuppression (HIV infection)\n• Non-use of barrier contraception", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 1.55, w: 7.5, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 1.4, w: 4.55, h: 2.7, fill: { color: "100A22" }, line: { color: PURPLE, width: 0.5 } });
s.addText("PRESENTATION", { x: 8.6, y: 1.5, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: PURPLE, charSpacing: 2 });
s.addText("• Asymptomatic (CIN, early)\n• Post-coital bleeding (classic)\n• Irregular vaginal bleeding\n• Offensive vaginal discharge\n• Pelvic pain (advanced)\n• Ureteric obstruction\n• Bladder / rectal fistulae", {
x: 8.6, y: 2.0, w: 4.2, h: 2.7,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 4.3, w: 4.55, h: 2.7, fill: { color: "0A0515" }, line: { color: ACCENT2, width: 0.5 } });
s.addText("COMPLICATIONS / CoD", { x: 8.6, y: 4.4, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("• Ureteric obstruction → renal failure\n• Vesicovaginal fistula\n• Haemorrhage (major vessel erosion)\n• Pulmonary / bone metastases\n\nCause of Death:\nRenal failure (ureteric obstruction),\npelvic haemorrhage, cachexia,\nrespiratory failure (lung mets)", {
x: 8.6, y: 4.9, w: 4.2, h: 1.95,
fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25
});
addSlideNumber(s, 13);
}
// ========================
// SLIDE 14 – PANCREATIC CANCER
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, ORANGE, 0, 0, 13.3, 0.08);
s.addText("PANCREATIC CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("The 'Silent Killer' – Natural History & Devastating Course", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 7.8, h: 5.6, fill: { color: "0A0800" }, line: { color: ORANGE, width: 0.8 } });
s.addText([
{ text: "Natural History\n", options: { bold: true, color: ORANGE, fontSize: 15 } },
{ text: "• 85–90% ductal adenocarcinomas; arises from PanIN lesions\n• Head of pancreas (70%), body (15%), tail (15%)\n• PanIN I→II→III (KRAS, CDKN2A, SMAD4, TP53 mutations)\n• Aggressive: direct spread to duodenum, stomach, bile duct, superior mesenteric vessels\n• Perineural invasion is characteristic → back pain\n• Lymphatic: regional nodes → coeliac axis\n• Haematogenous: liver (portal vein) → lung, peritoneum\n• Median survival from diagnosis: 6–12 months without treatment\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Risk Factors\n", options: { bold: true, color: ORANGE, fontSize: 15 } },
{ text: "• Smoking (most important modifiable risk factor)\n• Chronic pancreatitis; diabetes mellitus; obesity\n• Hereditary pancreatitis; BRCA2, MLH1/2 mutations\n• Age >50; male > female (slight)", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.5, y: 1.55, w: 7.5, h: 5.3, valign: "top", margin: 4 });
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 1.4, w: 4.55, h: 2.7, fill: { color: "160B00" }, line: { color: ORANGE, width: 0.5 } });
s.addText("PRESENTATION", { x: 8.6, y: 1.5, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("• Painless obstructive jaundice\n (Courvoisier's gallbladder)\n• Back pain (perineural invasion)\n• Weight loss, anorexia\n• New-onset diabetes mellitus\n• Trousseau sign (migratory\n thrombophlebitis)\n• Steatorrhoea", {
x: 8.6, y: 2.0, w: 4.2, h: 2.7,
fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3
});
s.addShape(pres.ShapeType.rect, { x: 8.4, y: 4.3, w: 4.55, h: 2.7, fill: { color: "0F0800" }, line: { color: ACCENT2, width: 0.5 } });
s.addText("COMPLICATIONS / CoD", { x: 8.6, y: 4.4, w: 4.2, h: 0.4, fontSize: 12, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("• Duodenal / biliary obstruction\n• Portal vein thrombosis\n• DIC, VTE (Trousseau)\n• Diabetes (exocrine/endocrine failure)\n\nCause of Death:\nCachexia, hepatic failure, VTE,\nbiliary sepsis; overall 5yr\nsurvival only ~12%", {
x: 8.6, y: 4.9, w: 4.2, h: 1.95,
fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25
});
addSlideNumber(s, 14);
}
// ========================
// SLIDE 15 – LEUKAEMIA
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, TEAL, 0, 0, 13.3, 0.08);
s.addText("LEUKAEMIA", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 38, bold: true, color: TEAL, charSpacing: 3 });
s.addText("AML · ALL · CML · CLL – Natural History & Presentation", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
const leuk = [
{
name: "AML", full: "Acute Myeloid Leukaemia", color: ACCENT2,
nh: "Clonal expansion of myeloid blasts; rapidly fatal without Rx; >20% blasts on BM",
pres: "Anaemia, infection (neutropenia), bleeding (thrombocytopenia), gum hypertrophy (M4/M5)",
cod: "Sepsis, intracranial haemorrhage, DIC"
},
{
name: "ALL", full: "Acute Lymphoblastic Leukaemia", color: LIGHT_BLUE,
nh: "Most common childhood cancer; t(9;22) Philadelphia chromosome in adults = poor prognosis",
pres: "Bone pain, lymphadenopathy, hepatosplenomegaly, CNS involvement, mediastinal mass (T-cell)",
cod: "CNS disease, sepsis, haemorrhage"
},
{
name: "CML", full: "Chronic Myeloid Leukaemia", color: GOLD,
nh: "BCR-ABL1 (Philadelphia chromosome t(9;22)); chronic → accelerated → blast crisis; TKIs (imatinib) transform prognosis",
pres: "Massive splenomegaly, fatigue, weight loss, night sweats, leukocytosis on FBC",
cod: "Blast crisis transformation (like AML), infection"
},
{
name: "CLL", full: "Chronic Lymphocytic Leukaemia", color: PURPLE,
nh: "Most common adult leukaemia (Western world); indolent course; Rai/Binet staging; Richter transformation (→ DLBCL)",
pres: "Lymphadenopathy, splenomegaly, autoimmune haemolytic anaemia, recurrent infections, incidental lymphocytosis",
cod: "Richter transformation, infections (hypogammaglobulinaemia), BM failure"
},
];
leuk.forEach((l, i) => {
const x = 0.3 + (i % 2) * 6.5;
const y = 1.38 + Math.floor(i / 2) * 2.85;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.1, h: 2.65, fill: { color: "060E20" }, line: { color: l.color, width: 1 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 6.1, h: 0.48, fill: { color: l.color } });
s.addText(`${l.name} – ${l.full}`, { x: x + 0.1, y: y + 0.05, w: 5.9, h: 0.38, fontSize: 13, bold: true, color: "000000" });
s.addText([
{ text: "Natural History: ", options: { bold: true, color: l.color, fontSize: 11 } },
{ text: l.nh + "\n", options: { color: LIGHT_GRAY, fontSize: 11 } },
{ text: "Presentation: ", options: { bold: true, color: l.color, fontSize: 11 } },
{ text: l.pres + "\n", options: { color: LIGHT_GRAY, fontSize: 11 } },
{ text: "Cause of Death: ", options: { bold: true, color: ACCENT2, fontSize: 11 } },
{ text: l.cod, options: { color: LIGHT_GRAY, fontSize: 11 } },
], { x: x + 0.12, y: y + 0.55, w: 5.85, h: 2.0, valign: "top", margin: 2 });
});
addSlideNumber(s, 15);
}
// ========================
// SLIDE 16 – LYMPHOMA
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, PURPLE, 0, 0, 13.3, 0.08);
s.addText("LYMPHOMA", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 38, bold: true, color: PURPLE, charSpacing: 3 });
s.addText("Hodgkin's Lymphoma & Non-Hodgkin's Lymphoma", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: GOLD, italic: true });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 6.15, h: 5.6, fill: { color: "100A20" }, line: { color: PURPLE, width: 0.9 } });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.4, w: 6.15, h: 0.48, fill: { color: PURPLE } });
s.addText("HODGKIN'S LYMPHOMA (HL)", { x: 0.4, y: 1.43, w: 6, h: 0.4, fontSize: 14, bold: true, color: "000000" });
s.addText([
{ text: "Natural History:\n", options: { bold: true, color: PURPLE, fontSize: 13 } },
{ text: "Reed-Sternberg cells (binucleate owl-eye nuclei); EBV associated; bimodal age distribution (20s and >60s); contiguous nodal spread (predictable – unlike NHL)\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Presentation:\n", options: { bold: true, color: PURPLE, fontSize: 13 } },
{ text: "Painless cervical/axillary lymphadenopathy; alcohol-induced nodal pain (classic); B symptoms: fever, night sweats, >10% weight loss; splenomegaly; mediastinal mass (nodular sclerosis)\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Complications / Cause of Death:\n", options: { bold: true, color: ACCENT2, fontSize: 13 } },
{ text: "Infection (immunosuppression), secondary malignancy (treatment-related: AML, solid tumours); mediastinal compression; 5yr survival Stage I: 95%; Stage IV: ~65%", options: { color: LIGHT_GRAY, fontSize: 12 } },
], { x: 0.45, y: 1.96, w: 5.85, h: 4.9, valign: "top", margin: 3 });
s.addShape(pres.ShapeType.rect, { x: 6.75, y: 1.4, w: 6.2, h: 5.6, fill: { color: "090618" }, line: { color: TEAL, width: 0.9 } });
s.addShape(pres.ShapeType.rect, { x: 6.75, y: 1.4, w: 6.2, h: 0.48, fill: { color: TEAL } });
s.addText("NON-HODGKIN'S LYMPHOMA (NHL)", { x: 6.85, y: 1.43, w: 6.05, h: 0.4, fontSize: 14, bold: true, color: "000000" });
s.addText([
{ text: "Natural History:\n", options: { bold: true, color: TEAL, fontSize: 13 } },
{ text: "Heterogeneous group; most are B-cell (85%); non-contiguous spread; extranodal involvement common; indolent (follicular) vs aggressive (DLBCL, Burkitt's)\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Presentation:\n", options: { bold: true, color: TEAL, fontSize: 13 } },
{ text: "Painless lymphadenopathy; B symptoms; extranodal: GI (MALT), CNS, bone marrow; hypogammaglobulinaemia; Waldeyer's ring involvement\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Complications / Cause of Death:\n", options: { bold: true, color: ACCENT2, fontSize: 13 } },
{ text: "Tumour lysis syndrome (on treatment); CNS lymphoma; bone marrow failure; infections; Richter transformation in CLL-associated NHL; aggressive NHL 5yr: 60–75%", options: { color: LIGHT_GRAY, fontSize: 12 } },
], { x: 6.9, y: 1.96, w: 5.9, h: 4.9, valign: "top", margin: 3 });
addSlideNumber(s, 16);
}
// ========================
// SLIDE 17 – CANCER SPREAD & METASTASIS (Robbins)
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, GOLD, 0, 0, 13.3, 0.08);
s.addText("METASTASIS & SPREAD", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 34, bold: true, color: GOLD, charSpacing: 2 });
s.addText("Mechanisms of Cancer Spread – Robbins Pathology", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 16, color: LIGHT_BLUE, italic: true });
const routes = [
{ title: "DIRECT INVASION", color: ACCENT2, content: "Tumour cells breach basement membrane → invade adjacent tissues (E-cadherin loss, MMP activation). Example: cervical cancer invades parametrium; gastric cancer invades omentum." },
{ title: "LYMPHATIC SPREAD", color: TEAL, content: "Most common route for carcinomas. Tumour emboli travel to regional lymph nodes first (sentinel node). Virchow's node (left supraclavicular) = common endpoint for abdominal/thoracic tumours." },
{ title: "HAEMATOGENOUS SPREAD", color: LIGHT_BLUE, content: "Sarcomas + carcinomas. Portal vein → liver (colon, stomach, pancreas). Systemic veins → lungs first. Vertebral plexus (Batson's) → spine (prostate, breast). Bone, brain, adrenals: common distant sites." },
{ title: "TRANSCOELOMIC SPREAD", color: ORANGE, content: "Ovarian cancer seeding peritoneum (omental cake). Gastric cancer (Krukenberg tumour). Mesothelioma seeds pleural cavity. Pseudomyxoma peritonei (appendix mucinous tumour)." },
{ title: "PERINEURAL SPREAD", color: PURPLE, content: "Pancreatic, prostate, head & neck cancers. Travels along nerve sheaths. Causes severe intractable pain. Portends poor prognosis and difficult surgical clearance." },
{ title: "SEED & SOIL HYPOTHESIS", color: GOLD, content: "Paget (1889): metastasis not random. Tumour cells ('seeds') preferentially colonise specific organs ('soil') due to growth factors, adhesion molecules, chemokines. Explains organ-tropism." },
];
routes.forEach((r, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.3 + col * 4.3;
const y = 1.4 + row * 2.8;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.1, h: 2.55, fill: { color: "06101F" }, line: { color: r.color, width: 0.9 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.1, h: 0.42, fill: { color: r.color } });
s.addText(r.title, { x: x + 0.08, y: y + 0.05, w: 3.95, h: 0.35, fontSize: 12, bold: true, color: "000000" });
s.addText(r.content, { x: x + 0.1, y: y + 0.5, w: 3.9, h: 1.95, fontSize: 11, color: LIGHT_GRAY, lineSpacingMultiple: 1.25 });
});
addSlideNumber(s, 17);
}
// ========================
// SLIDE 18 – PARANEOPLASTIC SYNDROMES
// ========================
{
let s = addDarkSlide(pres, BG_DARK);
addAccentBar(s, ORANGE, 0, 0, 13.3, 0.08);
s.addText("PARANEOPLASTIC SYNDROMES", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 30, bold: true, color: ORANGE, charSpacing: 2 });
s.addText("Remote Effects of Cancer – May Precede Tumour Diagnosis", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 15, color: GOLD, italic: true });
const para = [
{ syndrome: "SIADH", cancer: "SCLC (lung)", effect: "Hyponatraemia → confusion, seizures", color: LIGHT_BLUE },
{ syndrome: "Ectopic ACTH", cancer: "SCLC, carcinoid", effect: "Cushing syndrome (rapid-onset, hypokalaemia)", color: ORANGE },
{ syndrome: "Hypercalcaemia (PTHrP)", cancer: "Squamous cell lung, RCC, breast", effect: "Confusion, polyuria, constipation, coma", color: GOLD },
{ syndrome: "Eaton-Lambert syndrome", cancer: "SCLC", effect: "Proximal muscle weakness (anti-VGCC Ab); unlike MG – improves with repeated use", color: TEAL },
{ syndrome: "Cerebellar degeneration", cancer: "Breast, ovary, lung", effect: "Ataxia, diplopia; anti-Yo, anti-Hu antibodies", color: PURPLE },
{ syndrome: "Trousseau's sign", cancer: "Pancreas, lung, GI", effect: "Migratory thrombophlebitis; hypercoagulability (tumour pro-coagulants)", color: ACCENT2 },
{ syndrome: "Acanthosis nigricans", cancer: "Gastric, other GI", effect: "Velvety hyperpigmentation of axillae/neck; EGF-like tumour products", color: ORANGE },
{ syndrome: "Nephrotic syndrome", cancer: "Hodgkin's lymphoma, breast", effect: "Membranous nephropathy; immune complex deposition", color: LIGHT_BLUE },
{ syndrome: "Erythrocytosis", cancer: "Renal cell carcinoma, hepatoma", effect: "Ectopic erythropoietin production → elevated Hb", color: TEAL },
];
para.forEach((p, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.3 + col * 4.3;
const y = 1.4 + row * 1.97;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.1, h: 1.8, fill: { color: "0A0F20" }, line: { color: p.color, width: 0.8 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.18, h: 1.8, fill: { color: p.color } });
s.addText(p.syndrome, { x: x + 0.28, y: y + 0.05, w: 3.75, h: 0.45, fontSize: 13, bold: true, color: WHITE });
s.addText(p.cancer, { x: x + 0.28, y: y + 0.52, w: 3.75, h: 0.38, fontSize: 11, color: p.color, italic: true });
s.addText(p.effect, { x: x + 0.28, y: y + 0.92, w: 3.75, h: 0.75, fontSize: 11, color: LIGHT_GRAY });
});
addSlideNumber(s, 18);
}
// ========================
// SLIDE 19 – CAUSES OF DEATH SUMMARY TABLE
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
addAccentBar(s, ACCENT2, 0, 0, 13.3, 0.08);
s.addText("CAUSES OF DEATH IN CANCER", { x: 0.4, y: 0.18, w: 12, h: 0.65, fontSize: 30, bold: true, color: ACCENT2, charSpacing: 2 });
s.addText("Summary across Common Cancers – Davidson's & Robbins", { x: 0.4, y: 0.85, w: 12, h: 0.45, fontSize: 15, color: GOLD, italic: true });
const tableData = [
["CANCER", "PRIMARY CAUSE OF DEATH", "KEY COMPLICATIONS"],
["Lung", "Respiratory failure; brain/bone mets", "SVCO, SIADH, haemoptysis, cachexia"],
["Breast", "Metastatic disease (liver/lung failure)", "Hypercalcaemia, spinal cord compression, neutropenia"],
["Colorectal", "Hepatic failure from liver mets", "Obstruction, perforation, peritoneal carcinomatosis"],
["Prostate", "Bone marrow failure; renal failure", "SCC, pathological fractures, ureteric obstruction"],
["Stomach", "Cachexia; peritoneal carcinomatosis", "Haemorrhage, obstruction, Krukenberg tumour"],
["Liver (HCC)", "Hepatic failure; haemorrhage", "Tumour rupture, portal vein thrombosis, variceal bleed"],
["Pancreas", "Cachexia; hepatic failure; VTE", "Biliary sepsis, DIC, duodenal obstruction"],
["Cervical", "Renal failure (ureteric obstruction)", "Fistulae, pelvic haemorrhage, pelvic sepsis"],
["Leukaemia", "Sepsis; intracranial haemorrhage; DIC", "BM failure, blast crisis, tumour lysis syndrome"],
["Lymphoma", "Infections; BM failure; transformation", "Mediastinal compression, CNS disease, secondary cancers"],
];
const colW = [2.7, 5.0, 5.0];
const colX = [0.3, 3.1, 8.2];
const rowH = 0.53;
const rowColors = ["1A2040", "0A1020"];
tableData.forEach((row, ri) => {
const y = 1.42 + ri * rowH;
row.forEach((cell, ci) => {
const isHeader = ri === 0;
s.addShape(pres.ShapeType.rect, {
x: colX[ci], y, w: colW[ci], h: rowH,
fill: { color: isHeader ? ACCENT1 : rowColors[ri % 2] },
line: { color: "1C2E5A", width: 0.4 }
});
s.addText(cell, {
x: colX[ci] + 0.08, y, w: colW[ci] - 0.1, h: rowH,
fontSize: isHeader ? 12.5 : 11,
bold: isHeader,
color: isHeader ? WHITE : (ci === 0 ? GOLD : LIGHT_GRAY),
valign: "middle"
});
});
});
addSlideNumber(s, 19);
}
// ========================
// SLIDE 20 – THANK YOU
// ========================
{
let s = addDarkSlide(pres, SLIDE_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: SLIDE_BG } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.5, w: 13.3, h: 2, fill: { color: "080C20" } });
// Decorative circles
s.addShape(pres.ShapeType.ellipse, { x: 9.5, y: -0.5, w: 5, h: 5, fill: { color: "0E1A3A" }, line: { color: ACCENT1, width: 0.5 } });
s.addShape(pres.ShapeType.ellipse, { x: -1, y: 4, w: 4, h: 4, fill: { color: "0A1530" }, line: { color: LIGHT_BLUE, width: 0.5 } });
s.addShape(pres.ShapeType.rect, { x: 1.5, y: 1.5, w: 0.12, h: 3.5, fill: { color: GOLD } });
s.addText("Thank You", {
x: 1.8, y: 1.5, w: 10, h: 1.5,
fontSize: 72, bold: true, color: WHITE, fontFace: "Calibri"
});
s.addText("This presentation covers the natural history, clinical presentation,\ncourse, complications, and cause of death for common cancers.", {
x: 1.8, y: 3.1, w: 9.5, h: 1.0,
fontSize: 16, color: LIGHT_BLUE, italic: true
});
s.addShape(pres.ShapeType.rect, { x: 1.8, y: 4.2, w: 8, h: 0.04, fill: { color: GOLD } });
s.addText([
{ text: "Sources: ", options: { bold: true, color: GOLD, fontSize: 13 } },
{ text: "Davidson's Principles & Practice of Medicine | Robbins & Kumar Basic Pathology | Harrison's Principles of Internal Medicine 22E\n", options: { color: "8899BB", fontSize: 13 } },
{ text: "Orris Medical Education · 2026", options: { color: "445577", fontSize: 11 } },
], { x: 1.8, y: 4.35, w: 10, h: 1.5, lineSpacingMultiple: 1.5 });
}
// ========================
// SAVE
// ========================
pres.writeFile({ fileName: "/home/daytona/workspace/cancer-ppt/Common_Cancers_Natural_History.pptx" })
.then(() => console.log("SUCCESS: Presentation saved!"))
.catch(e => console.error("ERROR:", e));
cd /home/daytona/workspace/cancer-ppt && node cancer_ppt.js 2>&1
ls -lh /home/daytona/workspace/cancer-ppt/
cd /home/daytona/workspace/cancer-ppt && python3 -m markitdown Common_Cancers_Na…
cd /home/daytona/workspace/cancer-ppt && python3 -c " import zipfile, re with zi…
Common Cancers Natural History
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title Slide – Deep navy premium design, gold accents |
| 2 | Overview – 6 common cancers with color-coded stat cards |
| 3 | Lung Cancer – Aetiology, natural history, staging, NSCLC vs SCLC |
| 4 | Lung Cancer Presentation – Local, regional, distant, paraneoplastic, cause of death |
| 5 | Breast Cancer – Risk factors, DCIS→IDC, molecular subtypes, survival by stage |
| 6 | Breast Cancer Presentation – 9 feature cards (lump → brain mets → cause of death) |
| 7 | Colorectal Cancer – Adenoma-carcinoma sequence diagram, Dukes staging, distribution |
| 8 | Colorectal Presentation – Left vs right colon symptoms, complications, CoD |
| 9 | Prostate Cancer – Gleason grading, natural history, peripheral zone origin |
| 10 | Prostate Presentation – 8 feature cards including SCC as emergency |
| 11 | Stomach Cancer – Intestinal vs diffuse type, H. pylori, Virchow's/Sister Mary Joseph nodes |
| 12 | Hepatocellular Carcinoma – Cirrhosis background, AFP, portal vein invasion, aflatoxin |
| 13 | Cervical Cancer – HPV→CIN→invasive, 10-20yr window, ureteric CoD |
| 14 | Pancreatic Cancer – "Silent killer", PanIN sequence, Courvoisier, Trousseau sign |
| 15 | Leukaemia – AML, ALL, CML, CLL natural history, presentation, CoD in 4-panel grid |
| 16 | Lymphoma – HL (Reed-Sternberg, alcohol pain) vs NHL (B-cell, extranodal) |
| 17 | Metastasis Mechanisms – 6 routes (direct invasion, lymphatic, haematogenous, transcoelomic, perineural, Seed & Soil) |
| 18 | Paraneoplastic Syndromes – 9 syndromes with associated cancers and effects |
| 19 | Causes of Death Table – Comparative summary table for all 10 cancers |
| 20 | Thank You Slide – Sources: Davidson's, Robbins, Harrison's 22E |
Make 15 slides
~/cancer-ppt/cancer_15slides.js
const pptxgen = require("pptxgenjs");
// ---- THEME COLORS ----
const BG_DARK = "0A0F2B";
const BG_MID = "0D1A3A";
const ACCENT1 = "C0392B";
const ACCENT2 = "E74C3C";
const GOLD = "F5A623";
const WHITE = "FFFFFF";
const LIGHT_GRAY = "E8EAF0";
const LIGHT_BLUE = "5DADE2";
const TEAL = "1ABC9C";
const ORANGE = "E67E22";
const PURPLE = "9B59B6";
const SLIDE_BG = "060D27";
const DARK_CARD = "070E25";
let pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"
pres.title = "Common Cancers – Natural History, Presentation & Complications";
pres.author = "Davidson's Principles & Robbins Pathology";
// ========================
// HELPERS
// ========================
function addDarkSlide(color) {
let s = pres.addSlide();
s.background = { color: color || BG_DARK };
return s;
}
function bar(s, color, x, y, w, h) {
s.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color } });
}
function slideNum(s, n) {
s.addText(`${n} / 15`, { x: 11.9, y: 7.1, w: 1.2, h: 0.28, fontSize: 9, color: "445577", align: "right" });
}
function sectionHeader(s, color, tag, title, subtitle) {
bar(s, color, 0, 0, 13.3, 0.09);
s.addText(tag, { x: 0.45, y: 0.17, w: 4, h: 0.38, fontSize: 10.5, color: GOLD, bold: true, charSpacing: 3 });
s.addText(title, { x: 0.45, y: 0.56, w: 12, h: 0.72, fontSize: 36, color: color, bold: true, fontFace: "Calibri" });
if (subtitle) s.addText(subtitle, { x: 0.45, y: 1.28, w: 12, h: 0.38, fontSize: 15, color: GOLD, italic: true });
}
// ──────────────────────────────────────────────
// SLIDE 1 – TITLE
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
bar(s, "0E163A", 0, 4.8, 13.3, 2.7);
bar(s, ACCENT1, 0.55, 1.6, 0.14, 3.6);
s.addShape(pres.ShapeType.ellipse, { x: 8.8, y: -1.2, w: 6, h: 6, fill: { color: "0C1535" }, line: { color: ACCENT1, width: 0.6 } });
s.addShape(pres.ShapeType.ellipse, { x: -1.5, y: 5.5, w: 4.5, h: 4.5, fill: { color: "08112A" }, line: { color: LIGHT_BLUE, width: 0.5 } });
s.addText("COMMON CANCERS", {
x: 0.85, y: 1.05, w: 11.5, h: 1.35,
fontSize: 58, bold: true, color: WHITE, fontFace: "Calibri", charSpacing: 3
});
s.addText("Natural History · Presentation · Course · Complications · Cause of Death", {
x: 0.85, y: 2.5, w: 11, h: 0.65,
fontSize: 17.5, color: LIGHT_BLUE, italic: true
});
bar(s, GOLD, 0.85, 3.3, 8.5, 0.05);
s.addText("Based on Davidson's Principles & Practice of Medicine\nand Robbins & Kumar Basic Pathology", {
x: 0.85, y: 3.45, w: 10, h: 0.85,
fontSize: 14, color: "7A90BB"
});
s.addText("Orris Medical Education · 2026", {
x: 0.85, y: 6.95, w: 8, h: 0.38, fontSize: 11, color: "334466"
});
}
// ──────────────────────────────────────────────
// SLIDE 2 – OVERVIEW: What is 'Natural History'?
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_MID);
sectionHeader(s, LIGHT_BLUE, "INTRODUCTION", "Cancer Natural History", "Understanding the untreated course of disease");
// Left: definition panel
s.addShape(pres.ShapeType.rect, { x: 0.35, y: 1.82, w: 6.0, h: 5.35, fill: { color: DARK_CARD }, line: { color: LIGHT_BLUE, width: 0.9 } });
s.addText([
{ text: "Natural History of Cancer\n", options: { bold: true, color: LIGHT_BLUE, fontSize: 16 } },
{ text: "The expected course of a cancer from its onset through its progression to death or cure — WITHOUT therapeutic intervention.\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "The 4 Key Stages\n", options: { bold: true, color: GOLD, fontSize: 15 } },
{ text: "1. Initiation – carcinogen/mutation triggers malignant transformation\n2. Promotion – clonal expansion of initiated cells\n3. Progression – invasion, angiogenesis, genomic instability\n4. Dissemination – regional & distant spread (metastasis)\n\n", options: { color: LIGHT_GRAY, fontSize: 13 } },
{ text: "Why it matters:\n", options: { bold: true, color: TEAL, fontSize: 13.5 } },
{ text: "• Defines window for screening & early detection\n• Guides staging and prognosis\n• Determines curability (localised vs metastatic)\n• Explains pattern of spread and cause of death", options: { color: LIGHT_GRAY, fontSize: 13 } },
], { x: 0.5, y: 2.0, w: 5.7, h: 5.0, valign: "top", margin: 4 });
// Right: 6 cancer cards
const cancers = [
{ name: "Lung", stat: "#1 cancer killer globally", color: LIGHT_BLUE },
{ name: "Breast", stat: "Most common in women", color: PURPLE },
{ name: "Colorectal", stat: "3rd most common; preventable", color: TEAL },
{ name: "Prostate", stat: "#1 diagnosed cancer in men", color: GOLD },
{ name: "Stomach/Liver",stat: "Leading killers in Asia", color: ORANGE },
{ name: "Leukaemia / Lymphoma", stat: "Haematological malignancies", color: ACCENT2 },
];
cancers.forEach((c, i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = 6.65 + col * 3.2, y = 1.82 + row * 1.8;
s.addShape(pres.ShapeType.rect, { x, y, w: 3.1, h: 1.65, fill: { color: "0B1838" }, line: { color: c.color, width: 1.1 } });
bar(s, c.color, x, y, 0.22, 1.65);
s.addText(c.name, { x: x+0.32, y: y+0.12, w: 2.7, h: 0.55, fontSize: 15, bold: true, color: WHITE });
s.addText(c.stat, { x: x+0.32, y: y+0.72, w: 2.7, h: 0.75, fontSize: 11.5, color: c.color, lineSpacingMultiple: 1.2 });
});
slideNum(s, 2);
}
// ──────────────────────────────────────────────
// SLIDE 3 – LUNG CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, LIGHT_BLUE, "CANCER 1 OF 8", "Lung Cancer", "Natural History · Presentation · Complications · Cause of Death");
const panels = [
{
title: "NATURAL HISTORY", color: LIGHT_BLUE,
body: "• Arises in bronchial epithelium: dysplasia → CIS → invasive\n• NSCLC (80%): adenocarcinoma, squamous cell, large cell\n• SCLC (20%): neuroendocrine; rapid doubling time\n• Most present at Stage III/IV (asymptomatic early)\n• Cigarette smoking >85% of cases; also asbestos, radon, EGFR/ALK mutations"
},
{
title: "PRESENTATION", color: TEAL,
body: "Local: Cough, haemoptysis, dyspnoea, wheeze, chest pain\nRegional: SVCO, Horner's syndrome (Pancoast), hoarseness (RLN palsy), dysphagia\nDistant: Brain (seizures/focal deficit), bone (pain/fracture), adrenals, liver"
},
{
title: "PARANEOPLASTIC", color: ORANGE,
body: "• SIADH → hyponatraemia (SCLC)\n• Ectopic ACTH → Cushing (SCLC)\n• Hypercalcaemia via PTHrP (squamous cell)\n• Eaton-Lambert syndrome (anti-VGCC, SCLC)\n• Clubbing / hypertrophic pulmonary osteoarthropathy"
},
{
title: "STAGING & CoD", color: ACCENT2,
body: "Stage I ~70% | Stage IV ~5% (5-yr survival)\n\nCause of Death:\n• Respiratory failure (pneumonia, collapse)\n• Brain metastases (herniation, seizures)\n• Bone marrow involvement / cachexia\n• Haemoptysis / massive haemorrhage"
},
];
panels.forEach((p, i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = 0.3 + col * 6.5, y = 1.82 + row * 2.72;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 2.58, fill: { color: DARK_CARD }, line: { color: p.color, width: 0.9 } });
bar(s, p.color, x, y, 6.2, 0.44);
s.addText(p.title, { x: x+0.1, y: y+0.05, w: 6.0, h: 0.36, fontSize: 13, bold: true, color: "000000" });
s.addText(p.body, { x: x+0.15, y: y+0.52, w: 5.9, h: 1.95, fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.35 });
});
slideNum(s, 3);
}
// ──────────────────────────────────────────────
// SLIDE 4 – BREAST CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, PURPLE, "CANCER 2 OF 8", "Breast Cancer", "Natural History · Presentation · Complications · Cause of Death");
// Left large panel
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.82, w: 7.4, h: 5.35, fill: { color: DARK_CARD }, line: { color: PURPLE, width: 0.9 } });
s.addText([
{ text: "Natural History (Robbins)\n", options: { bold: true, color: PURPLE, fontSize: 15 } },
{ text: "DCIS → invasive ductal carcinoma (most common). Lobular carcinoma: bilateral tendency.\nER/PR+ tumours: slower, better prognosis. HER2+: aggressive; responds to trastuzumab.\nTriple-negative (TNBC): worst prognosis; BRCA-associated. Doubling time ~100–200 days.\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Risk Factors\n", options: { bold: true, color: PURPLE, fontSize: 14 } },
{ text: "Age >50, nulliparity, BRCA1/2, HRT/OCP, early menarche, late menopause, obesity, dense breast tissue\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Presentation\n", options: { bold: true, color: PURPLE, fontSize: 14 } },
{ text: "• Painless irregular lump (60%) · Nipple retraction / bloody discharge · Peau d'orange\n• Axillary lymphadenopathy · Paget's disease of the nipple (eczema-like)\n• Inflammatory BC: erythema, warmth, rapid onset\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Spread Pattern\n", options: { bold: true, color: LIGHT_BLUE, fontSize: 14 } },
{ text: "Axillary nodes (most common) → Bone (osteolytic) → Lung/pleura → Liver → Brain", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.45, y: 2.0, w: 7.1, h: 5.0, valign: "top", margin: 4 });
// Right column: 3 stat boxes
const rBoxes = [
{ title: "5-YR SURVIVAL", color: PURPLE,
body: "Stage I: ~99%\nStage II: ~86%\nStage III: ~57%\nStage IV: ~28%" },
{ title: "COMPLICATIONS", color: ORANGE,
body: "Bone mets → hypercalcaemia,\nfractures\nPleuraleffusion\nSpinal cord compression\nBrain mets → seizures" },
{ title: "CAUSE OF DEATH", color: ACCENT2,
body: "Metastatic disease (liver/lung\nfailure), hypercalcaemia,\ncachexia, neutropenic\nsepsis (chemotherapy)" },
];
rBoxes.forEach((b, i) => {
const y = 1.82 + i * 1.8;
s.addShape(pres.ShapeType.rect, { x: 8.0, y, w: 5.0, h: 1.67, fill: { color: DARK_CARD }, line: { color: b.color, width: 0.9 } });
bar(s, b.color, 8.0, y, 5.0, 0.4);
s.addText(b.title, { x: 8.1, y: y+0.05, w: 4.8, h: 0.33, fontSize: 12, bold: true, color: "000000" });
s.addText(b.body, { x: 8.1, y: y+0.48, w: 4.8, h: 1.1, fontSize: 12, color: LIGHT_GRAY, lineSpacingMultiple: 1.3 });
});
slideNum(s, 4);
}
// ──────────────────────────────────────────────
// SLIDE 5 – COLORECTAL CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, TEAL, "CANCER 3 OF 8", "Colorectal Cancer", "Adenoma–Carcinoma Sequence · Presentation by Site · Cause of Death");
// Adenoma-carcinoma sequence
const steps = ["Normal\nEpithelium","Hyperplastic\nPolyp","Early\nAdenoma","High-Grade\nDysplasia","CIS","Invasive\nCancer"];
const sColors = [TEAL,"27AE60",GOLD,ORANGE,ACCENT2,ACCENT1];
steps.forEach((st, i) => {
const x = 0.3 + i * 2.15;
s.addShape(pres.ShapeType.rect, { x, y: 1.82, w: 1.9, h: 0.88, fill: { color: sColors[i] } });
s.addText(st, { x, y: 1.82, w: 1.9, h: 0.88, fontSize: 11, bold: true, color: "000000", align: "center", valign: "middle" });
if (i < 5) bar(s, WHITE, x+1.9, 2.21, 0.25, 0.09);
});
s.addText("Adenoma–Carcinoma Sequence (Fearon & Vogelstein) · Takes ~10–15 years · APC → KRAS → SMAD4 → TP53", {
x: 0.3, y: 2.77, w: 12.7, h: 0.32, fontSize: 10.5, color: "6688AA", italic: true, align: "center"
});
const panels = [
{ title: "LEFT COLON / RECTUM", color: TEAL,
body: "• Change in bowel habit (alternating constipation/diarrhoea)\n• Rectal bleeding (bright red)\n• Tenesmus; feeling of incomplete evacuation\n• Colicky lower abdominal pain; palpable mass\n• Intestinal obstruction (late, left > right)" },
{ title: "RIGHT COLON", color: GOLD,
body: "• Iron deficiency anaemia (occult bleeding)\n• Vague right iliac fossa pain / mass\n• Weight loss, fatigue\n• Usually NO visible rectal bleeding\n• Diagnosed late – larger tumours at presentation" },
{ title: "COMPLICATIONS", color: ORANGE,
body: "• Obstruction; perforation → peritonitis\n• Fistula: colovesical, colovaginal\n• Liver metastases → jaundice, ascites\n• Lung, peritoneal, bone metastases\n• Dukes A: 90% | D (M1): 10% (5-yr survival)" },
{ title: "CAUSE OF DEATH", color: ACCENT2,
body: "• Hepatic failure from liver metastases\n• Peritoneal carcinomatosis\n• Bowel obstruction / perforation\n• Cachexia and general debility\n• Pulmonary failure (lung metastases)" },
];
panels.forEach((p, i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = 0.3 + col * 6.5, y = 3.22 + row * 2.05;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 1.93, fill: { color: DARK_CARD }, line: { color: p.color, width: 0.9 } });
bar(s, p.color, x, y, 6.2, 0.39);
s.addText(p.title, { x: x+0.1, y: y+0.05, w: 6.0, h: 0.32, fontSize: 12.5, bold: true, color: "000000" });
s.addText(p.body, { x: x+0.15, y: y+0.47, w: 5.9, h: 1.38, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.28 });
});
slideNum(s, 5);
}
// ──────────────────────────────────────────────
// SLIDE 6 – PROSTATE CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, GOLD, "CANCER 4 OF 8", "Prostate Cancer", "Natural History · Gleason Grading · Presentation · Cause of Death");
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.82, w: 7.6, h: 5.35, fill: { color: DARK_CARD }, line: { color: GOLD, width: 0.9 } });
s.addText([
{ text: "Natural History\n", options: { bold: true, color: GOLD, fontSize: 15 } },
{ text: "Arises in peripheral zone (70%); 95% adenocarcinoma. Gleason score (6–10) governs aggressiveness. Slow-growing indolent forms vs aggressive high-grade disease. Local spread: capsule → seminal vesicle → bladder neck. Lymphatic: obturator → iliac → para-aortic. Haematogenous: osteoblastic bone mets (axial skeleton first via Batson's plexus).\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Presentation\n", options: { bold: true, color: GOLD, fontSize: 14 } },
{ text: "• Asymptomatic (PSA screen-detected – most common)\n• LUTS: hesitancy, poor stream, nocturia, frequency\n• Haematuria / haematospermia (local invasion)\n• Bone pain, pathological fracture (metastatic)\n• Hard irregular DRE: loss of median sulcus\n• Spinal cord compression (emergency)\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Risk Factors\n", options: { bold: true, color: ORANGE, fontSize: 13.5 } },
{ text: "Age >65 · Black African > White > Asian · BRCA2 · Family history · DHT-driven", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.45, y: 2.0, w: 7.3, h: 5.0, valign: "top", margin: 4 });
const rBoxes = [
{ title: "GLEASON GRADING", color: GOLD,
body: "6 (3+3): Low – watchful waiting\n7 (3+4 or 4+3): Intermediate\n8 (4+4): High grade\n9–10: Very high / aggressive\nPSA velocity & density key" },
{ title: "STAGING", color: ORANGE,
body: "Localised 5-yr: ~100%\nMetastatic 5-yr: ~30%\n\nBone scan: first staging tool\nfor suspected bone mets\nPSA >20 → bone scan indicated" },
{ title: "CAUSE OF DEATH", color: ACCENT2,
body: "• Bone marrow failure\n• Renal failure (ureteric obstruction)\n• Spinal cord compression\n complications (infection, PE)\n• Cachexia; pulmonary emboli" },
];
rBoxes.forEach((b, i) => {
const y = 1.82 + i * 1.8;
s.addShape(pres.ShapeType.rect, { x: 8.2, y, w: 4.8, h: 1.67, fill: { color: DARK_CARD }, line: { color: b.color, width: 0.9 } });
bar(s, b.color, 8.2, y, 4.8, 0.4);
s.addText(b.title, { x: 8.3, y: y+0.05, w: 4.6, h: 0.33, fontSize: 12, bold: true, color: "000000" });
s.addText(b.body, { x: 8.3, y: y+0.47, w: 4.6, h: 1.12, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25 });
});
slideNum(s, 6);
}
// ──────────────────────────────────────────────
// SLIDE 7 – STOMACH CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, ORANGE, "CANCER 5 OF 8", "Gastric (Stomach) Cancer", "Natural History · Presentation · Complications · Cause of Death");
const panels = [
{ title: "NATURAL HISTORY", color: ORANGE, x: 0.3, y: 1.82, w: 6.1, h: 5.35,
body: "Two main types (Lauren classification):\n\n• Intestinal type: gland-forming; H. pylori → atrophic gastritis → intestinal metaplasia → dysplasia → carcinoma. Older males. Declining incidence.\n\n• Diffuse type: signet ring cells; linitis plastica (leather bottle stomach); younger patients; poor prognosis; CDH1 mutation (hereditary diffuse GC).\n\n95% are adenocarcinomas. Arise mainly in antrum and lesser curve. Silent until advanced – most are Stage III/IV at diagnosis in the West. Early gastric cancer (Japan screening): >90% 5-yr survival if confined to mucosa/submucosa.\n\nRisk factors: H. pylori (WHO Class I carcinogen), smoked/salted diet, smoking, pernicious anaemia, previous partial gastrectomy, blood group A." },
{ title: "PRESENTATION", color: GOLD, x: 6.6, y: 1.82, w: 6.4, h: 2.48,
body: "• Epigastric discomfort / pain (often misdiagnosed as PUD)\n• Anorexia, early satiety, progressive weight loss\n• Dysphagia (tumours at gastro-oesophageal junction / cardia)\n• Vomiting (pyloric obstruction)\n• Haematemesis or melaena\n• Classic signs of spread: Virchow's node (left supraclavicular), Sister Mary Joseph nodule (umbilical), Krukenberg tumour (ovary), Blumer's shelf (rectal)" },
{ title: "COMPLICATIONS", color: ACCENT2, x: 6.6, y: 4.48, w: 6.4, h: 1.38,
body: "Haemorrhage · Pyloric obstruction · Gastric perforation · Peritoneal carcinomatosis\nDirect invasion of pancreas/transverse colon" },
{ title: "CAUSE OF DEATH", color: ACCENT1, x: 6.6, y: 6.03, w: 6.4, h: 1.14,
body: "Cachexia & malnutrition · Peritoneal carcinomatosis · Hepatic failure (liver mets) · Haemorrhage" },
];
panels.forEach(p => {
s.addShape(pres.ShapeType.rect, { x: p.x, y: p.y, w: p.w, h: p.h, fill: { color: DARK_CARD }, line: { color: p.color, width: 0.9 } });
bar(s, p.color, p.x, p.y, p.w, 0.4);
s.addText(p.title, { x: p.x+0.1, y: p.y+0.05, w: p.w-0.2, h: 0.33, fontSize: 12.5, bold: true, color: "000000" });
s.addText(p.body, { x: p.x+0.14, y: p.y+0.48, w: p.w-0.22, h: p.h-0.55, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.3, valign: "top" });
});
slideNum(s, 7);
}
// ──────────────────────────────────────────────
// SLIDE 8 – HEPATOCELLULAR CARCINOMA
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, ACCENT2, "CANCER 6 OF 8", "Hepatocellular Carcinoma (HCC)", "Natural History · Presentation · Complications · Cause of Death");
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.82, w: 7.5, h: 5.35, fill: { color: DARK_CARD }, line: { color: ACCENT2, width: 0.9 } });
s.addText([
{ text: "Natural History (Robbins Pathology)\n", options: { bold: true, color: ACCENT2, fontSize: 15 } },
{ text: "Arises in background of chronic liver disease / cirrhosis (80–90%). HBV: can cause HCC WITHOUT cirrhosis via viral DNA integration. Portal vein invasion is characteristic — leads to hepatic spread and worsening portal hypertension. AFP elevated in ~70%.\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Risk Factors\n", options: { bold: true, color: ORANGE, fontSize: 14 } },
{ text: "• Chronic HBV/HCV (single most important)\n• Alcoholic cirrhosis; NAFLD/NASH cirrhosis\n• Aflatoxin B1 (Aspergillus, stored grains – Africa/Asia)\n• Haemochromatosis, Wilson's disease, primary biliary cirrhosis\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Presentation\n", options: { bold: true, color: ACCENT2, fontSize: 14 } },
{ text: "• Right upper quadrant pain / hepatomegaly with arterial bruit\n• Rapid deterioration in known cirrhotic\n• Ascites, jaundice, weight loss, anorexia\n• Paraneoplastic: hypoglycaemia (IGF-2), erythrocytosis (EPO), hypercalcaemia\n• Fever of unknown origin", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.45, y: 2.0, w: 7.2, h: 5.0, valign: "top", margin: 4 });
const rBoxes = [
{ title: "BARCELONA STAGING (BCLC)", color: ACCENT2,
body: "Very early (0): <2cm → resection\nEarly (A): 1-3 nodules → curative\nIntermediate (B): TACE\nAdvanced (C): sorafenib\nEnd stage (D): best supportive care" },
{ title: "COMPLICATIONS", color: ORANGE,
body: "Tumour rupture → haemoperitoneum\nPortal vein thrombosis\nVariceal haemorrhage (PHT)\nHepatic failure (background cirrhosis)\nPulmonary / adrenal metastases" },
{ title: "CAUSE OF DEATH", color: ACCENT1,
body: "• Hepatic failure (most common)\n• Variceal haemorrhage\n• Tumour rupture / haemoperitoneum\n• Metastatic disease\n• Cachexia\nOverall 5-yr survival: ~18%" },
];
rBoxes.forEach((b, i) => {
const y = 1.82 + i * 1.8;
s.addShape(pres.ShapeType.rect, { x: 8.1, y, w: 4.9, h: 1.67, fill: { color: DARK_CARD }, line: { color: b.color, width: 0.9 } });
bar(s, b.color, 8.1, y, 4.9, 0.4);
s.addText(b.title, { x: 8.2, y: y+0.05, w: 4.7, h: 0.33, fontSize: 11.5, bold: true, color: "000000" });
s.addText(b.body, { x: 8.2, y: y+0.47, w: 4.7, h: 1.12, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.25 });
});
slideNum(s, 8);
}
// ──────────────────────────────────────────────
// SLIDE 9 – PANCREATIC & CERVICAL CANCER
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, ORANGE, "CANCERS 7 & 8", "Pancreatic Cancer & Cervical Cancer", "Two cancers defined by silent early course and late presentation");
// Pancreatic – left half
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.82, w: 6.1, h: 5.35, fill: { color: DARK_CARD }, line: { color: ORANGE, width: 0.9 } });
bar(s, ORANGE, 0.3, 1.82, 6.1, 0.44);
s.addText("PANCREATIC CANCER – The Silent Killer", { x: 0.4, y: 1.87, w: 5.9, h: 0.37, fontSize: 13.5, bold: true, color: "000000" });
s.addText([
{ text: "Natural History: ", options: { bold: true, color: ORANGE, fontSize: 12.5 } },
{ text: "85–90% ductal adenocarcinoma (PanIN → invasive). Head (70%). KRAS, TP53, SMAD4 mutations. Perineural invasion characteristic. Median survival 6–12 months.\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Presentation: ", options: { bold: true, color: GOLD, fontSize: 12.5 } },
{ text: "Painless obstructive jaundice (Courvoisier's sign); back pain (perineural); weight loss; new-onset DM; steatorrhoea; Trousseau's migratory thrombophlebitis.\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Complications / CoD: ", options: { bold: true, color: ACCENT2, fontSize: 12.5 } },
{ text: "Biliary obstruction/sepsis · DIC / VTE · Duodenal obstruction · Cachexia.\nCause of Death: cachexia, hepatic failure, VTE, biliary sepsis.\n5-yr survival ~12% (overall).", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 0.44, y: 2.36, w: 5.85, h: 4.7, valign: "top", margin: 3 });
// Cervical – right half
s.addShape(pres.ShapeType.rect, { x: 6.65, y: 1.82, w: 6.3, h: 5.35, fill: { color: DARK_CARD }, line: { color: PURPLE, width: 0.9 } });
bar(s, PURPLE, 6.65, 1.82, 6.3, 0.44);
s.addText("CERVICAL CANCER – HPV-Driven", { x: 6.75, y: 1.87, w: 6.1, h: 0.37, fontSize: 13.5, bold: true, color: "000000" });
s.addText([
{ text: "Natural History: ", options: { bold: true, color: PURPLE, fontSize: 12.5 } },
{ text: "HPV 16 & 18 cause >95%. CIN I→II→III → invasive carcinoma over 10–20 years (the screening window). 80% squamous cell; 20% adenocarcinoma. Spreads to parametria, bladder, rectum; lymphatics: iliac → para-aortic; haematogenous: lung, bone (late).\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Presentation: ", options: { bold: true, color: PURPLE, fontSize: 12.5 } },
{ text: "Asymptomatic (CIN); post-coital bleeding (classic); irregular bleeding; offensive discharge; pelvic pain (advanced); ureteric obstruction; fistulae (vesicovaginal, rectovaginal).\n\n", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
{ text: "Complications / CoD: ", options: { bold: true, color: ACCENT2, fontSize: 12.5 } },
{ text: "Renal failure (ureteric obstruction — most common CoD); pelvic haemorrhage; fistulae; sepsis; cachexia; respiratory failure (lung mets).", options: { color: LIGHT_GRAY, fontSize: 12.5 } },
], { x: 6.8, y: 2.36, w: 6.0, h: 4.7, valign: "top", margin: 3 });
slideNum(s, 9);
}
// ──────────────────────────────────────────────
// SLIDE 10 – LEUKAEMIA
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, TEAL, "HAEMATOLOGICAL 1", "Leukaemia", "AML · ALL · CML · CLL — Natural History, Presentation & Cause of Death");
const leuk = [
{ name: "AML", full: "Acute Myeloid Leukaemia", color: ACCENT2,
nh: "Clonal myeloid blasts (>20% BM). Rapidly fatal untreated. APML (M3): t(15;17) – DIC risk but highly curable with ATRA.",
pres: "Anaemia, neutropenic infections, bleeding (thrombocytopenia), gum hypertrophy (M4/M5 monocytic), chloromas.",
cod: "Sepsis, intracranial haemorrhage, DIC, multiorgan failure." },
{ name: "ALL", full: "Acute Lymphoblastic Leukaemia", color: LIGHT_BLUE,
nh: "Most common childhood cancer. Ph chromosome t(9;22) in adults = poor prognosis. CNS is sanctuary site. Highly curable in children (~90%).",
pres: "Bone pain (marrow infiltration), lymphadenopathy, hepatosplenomegaly, mediastinal mass (T-ALL), CNS signs.",
cod: "CNS disease, sepsis, haemorrhage; relapse." },
{ name: "CML", full: "Chronic Myeloid Leukaemia", color: GOLD,
nh: "BCR-ABL1 fusion (Philadelphia chromosome t(9;22)). Chronic → accelerated → blast crisis phases. TKIs (imatinib) transform prognosis dramatically.",
pres: "Massive splenomegaly, fatigue, weight loss, night sweats, elevated WBC on FBC (often incidental).",
cod: "Blast crisis (behaves like acute leukaemia), infection, TKI-refractory disease." },
{ name: "CLL", full: "Chronic Lymphocytic Leukaemia", color: PURPLE,
nh: "Most common adult leukaemia (Western world). Indolent; Rai/Binet staging. Richter transformation → DLBCL (poor prognosis).",
pres: "Lymphadenopathy, splenomegaly, autoimmune haemolytic anaemia, recurrent infections (hypogammaglobulinaemia), incidental lymphocytosis on FBC.",
cod: "Richter transformation, infections, BM failure, secondary cancers (skin, lung)." },
];
leuk.forEach((l, i) => {
const col = i % 2, row = Math.floor(i / 2);
const x = 0.3 + col * 6.5, y = 1.82 + row * 2.72;
s.addShape(pres.ShapeType.rect, { x, y, w: 6.2, h: 2.58, fill: { color: DARK_CARD }, line: { color: l.color, width: 1 } });
bar(s, l.color, x, y, 6.2, 0.46);
s.addText(`${l.name} — ${l.full}`, { x: x+0.1, y: y+0.06, w: 6.0, h: 0.36, fontSize: 13, bold: true, color: "000000" });
s.addText([
{ text: "Nat. History: ", options: { bold: true, color: l.color, fontSize: 11.5 } },
{ text: l.nh + "\n", options: { color: LIGHT_GRAY, fontSize: 11.5 } },
{ text: "Presentation: ", options: { bold: true, color: l.color, fontSize: 11.5 } },
{ text: l.pres + "\n", options: { color: LIGHT_GRAY, fontSize: 11.5 } },
{ text: "Cause of Death: ",options: { bold: true, color: ACCENT2, fontSize: 11.5 } },
{ text: l.cod, options: { color: LIGHT_GRAY, fontSize: 11.5 } },
], { x: x+0.12, y: y+0.55, w: 5.96, h: 1.93, valign: "top", margin: 2 });
});
slideNum(s, 10);
}
// ──────────────────────────────────────────────
// SLIDE 11 – LYMPHOMA
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, PURPLE, "HAEMATOLOGICAL 2", "Lymphoma", "Hodgkin's Lymphoma & Non-Hodgkin's Lymphoma");
[
{
title: "HODGKIN'S LYMPHOMA (HL)", color: PURPLE, x: 0.3,
nh: "Reed-Sternberg cells (owl-eye nuclei, CD15+/CD30+); EBV in ~50%; bimodal age (20s & >60s); CONTIGUOUS nodal spread (predictable, unlike NHL); excellent prognosis in most cases.",
pres: "Painless cervical/axillary lymphadenopathy; alcohol-induced nodal pain (pathognomonic); B symptoms: fever >38°C, drenching night sweats, >10% weight loss; mediastinal mass (nodular sclerosis); splenomegaly.",
staging: "Ann Arbor: I (single region) → IV (extranodal). Bulky disease >10cm = adverse factor.",
cod: "Infections (immunosuppression), secondary malignancy (AML, solid tumours from radiotherapy), disease transformation. Stage I 5-yr: >95%; Stage IV: ~65%."
},
{
title: "NON-HODGKIN'S LYMPHOMA (NHL)", color: TEAL, x: 6.75,
nh: "Heterogeneous. 85% B-cell. NON-contiguous spread; extranodal involvement common. Indolent (follicular; t(14;18) BCL2): watchful waiting vs Aggressive (DLBCL: R-CHOP; Burkitt's: c-MYC t(8;14)).",
pres: "Painless lymphadenopathy; B symptoms; extranodal: GI (MALT lymphoma), CNS, bone marrow, skin; Waldeyer's ring involvement; hypogammaglobulinaemia.",
staging: "Ann Arbor staging. IPI (International Prognostic Index) used for risk stratification.",
cod: "Tumour lysis syndrome (on treatment); CNS lymphoma; BM failure; infections; Richter's transformation; DLBCL 5-yr ~60–75%."
}
].forEach(p => {
s.addShape(pres.ShapeType.rect, { x: p.x, y: 1.82, w: 6.2, h: 5.35, fill: { color: DARK_CARD }, line: { color: p.color, width: 0.9 } });
bar(s, p.color, p.x, 1.82, 6.2, 0.44);
s.addText(p.title, { x: p.x+0.1, y: 1.87, w: 6.0, h: 0.36, fontSize: 13.5, bold: true, color: "000000" });
s.addText([
{ text: "Natural History:\n", options: { bold: true, color: p.color, fontSize: 12.5 } },
{ text: p.nh + "\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Presentation:\n", options: { bold: true, color: p.color, fontSize: 12.5 } },
{ text: p.pres + "\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Staging:\n", options: { bold: true, color: GOLD, fontSize: 12 } },
{ text: p.staging + "\n\n", options: { color: LIGHT_GRAY, fontSize: 12 } },
{ text: "Cause of Death:\n", options: { bold: true, color: ACCENT2, fontSize: 12.5 } },
{ text: p.cod, options: { color: LIGHT_GRAY, fontSize: 12 } },
], { x: p.x+0.14, y: 2.35, w: 5.9, h: 4.72, valign: "top", margin: 3 });
});
slideNum(s, 11);
}
// ──────────────────────────────────────────────
// SLIDE 12 – ROUTES OF METASTASIS (Robbins)
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, GOLD, "PATHOLOGY (ROBBINS)", "Routes of Cancer Spread & Metastasis", "Understanding how cancers disseminate — mechanisms and organ tropism");
const routes = [
{ title: "DIRECT INVASION", color: ACCENT2,
body: "Breach of basement membrane via MMP activation + E-cadherin loss. Tumour infiltrates adjacent organs. Cervical CA → parametrium; gastric CA → omentum; pancreatic CA → SMA/coeliac axis." },
{ title: "LYMPHATIC SPREAD", color: TEAL,
body: "Most common for carcinomas. Regional nodes first (sentinel node concept). Virchow's node (L supraclavicular): GI/thoracic primaries. Axillary nodes: breast. Obturator: prostate." },
{ title: "HAEMATOGENOUS SPREAD", color: LIGHT_BLUE,
body: "Portal vein → liver (colon, stomach, pancreas). Systemic veins → lungs first. Batson's vertebral venous plexus → spine (prostate, breast). Bone, brain, adrenals = common distant sites." },
{ title: "TRANSCOELOMIC", color: ORANGE,
body: "Shedding into body cavities. Ovarian CA → peritoneal seeding (omental cake). Gastric CA → Krukenberg tumour (ovary). Mesothelioma → pleura. Pseudomyxoma peritonei (appendix)." },
{ title: "PERINEURAL INVASION", color: PURPLE,
body: "Along nerve sheaths. Pancreatic, prostate, head & neck cancers. Causes severe intractable pain (back pain in pancreatic CA). Portends difficult surgical clearance and poor prognosis." },
{ title: "SEED & SOIL (Paget 1889)",color: GOLD,
body: "Metastasis not random. Tumour 'seeds' selectively colonise specific organ 'soils' via growth factors, chemokines, adhesion molecules. Explains why prostate → bone; colon → liver; breast → bone/brain." },
];
routes.forEach((r, i) => {
const col = i % 3, row = Math.floor(i / 3);
const x = 0.3 + col * 4.3, y = 1.82 + row * 2.72;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.1, h: 2.55, fill: { color: DARK_CARD }, line: { color: r.color, width: 0.9 } });
bar(s, r.color, x, y, 4.1, 0.42);
s.addText(r.title, { x: x+0.09, y: y+0.05, w: 3.95, h: 0.34, fontSize: 12.5, bold: true, color: "000000" });
s.addText(r.body, { x: x+0.1, y: y+0.5, w: 3.9, h: 1.95, fontSize: 11.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.28 });
});
slideNum(s, 12);
}
// ──────────────────────────────────────────────
// SLIDE 13 – PARANEOPLASTIC SYNDROMES
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
sectionHeader(s, ORANGE, "REMOTE EFFECTS", "Paraneoplastic Syndromes", "Effects at a distance from the primary tumour — may precede diagnosis");
const para = [
{ s: "SIADH", c: "SCLC (lung)", e: "Hyponatraemia → confusion, seizures", col: LIGHT_BLUE },
{ s: "Ectopic ACTH", c: "SCLC, carcinoid", e: "Cushing syndrome (rapid-onset, hypokalaemia, no skin pigment)", col: ORANGE },
{ s: "Hypercalcaemia (PTHrP)", c: "Squamous cell lung, RCC, breast", e: "Confusion, polyuria, constipation, coma (Bones, Groans, Stones, Moans)", col: GOLD },
{ s: "Eaton-Lambert", c: "SCLC", e: "Anti-VGCC Ab; proximal weakness; IMPROVES with repeated use (unlike MG)", col: TEAL },
{ s: "Cerebellar degeneration",c: "Breast, ovary, lung", e: "Anti-Yo, anti-Hu antibodies; ataxia, diplopia, dysarthria", col: PURPLE },
{ s: "Trousseau's sign", c: "Pancreas, lung, GI", e: "Migratory thrombophlebitis; hypercoagulability (tumour pro-coagulants, TF expression)", col: ACCENT2 },
{ s: "Acanthosis nigricans", c: "Gastric, GI tumours", e: "Velvety hyperpigmentation of axillae/neck; EGF-like tumour products", col: ORANGE },
{ s: "Nephrotic syndrome", c: "Hodgkin's, breast", e: "Membranous nephropathy (anti-PLA2R); immune complex deposition", col: LIGHT_BLUE },
{ s: "Erythrocytosis", c: "RCC, HCC, cerebellar haemangioblastoma", e: "Ectopic EPO → raised Hb; plethora; thrombosis risk", col: TEAL },
];
para.forEach((p, i) => {
const col = i % 3, row = Math.floor(i / 3);
const x = 0.3 + col * 4.3, y = 1.82 + row * 1.88;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.1, h: 1.75, fill: { color: DARK_CARD }, line: { color: p.col, width: 0.8 } });
bar(s, p.col, x, y, 0.2, 1.75);
s.addText(p.s, { x: x+0.28, y: y+0.07, w: 3.75, h: 0.43, fontSize: 13, bold: true, color: WHITE });
s.addText(p.c, { x: x+0.28, y: y+0.52, w: 3.75, h: 0.34, fontSize: 11, color: p.col, italic: true });
s.addText(p.e, { x: x+0.28, y: y+0.88, w: 3.75, h: 0.76, fontSize: 10.5, color: LIGHT_GRAY, lineSpacingMultiple: 1.2 });
});
slideNum(s, 13);
}
// ──────────────────────────────────────────────
// SLIDE 14 – CAUSES OF DEATH SUMMARY TABLE
// ──────────────────────────────────────────────
{
let s = addDarkSlide(BG_DARK);
sectionHeader(s, ACCENT2, "SUMMARY", "Causes of Death in Cancer", "Comparative overview across all major cancers — Davidson's & Robbins");
const rows = [
["CANCER", "PRIMARY CAUSE OF DEATH", "KEY COMPLICATIONS", "5-YR SURVIVAL"],
["Lung", "Respiratory failure · Brain/bone metastases", "SVCO, SIADH, haemoptysis, cachexia", "Stage I ~70%\nStage IV ~5%"],
["Breast", "Metastatic disease (liver / lung failure)", "Hypercalcaemia, SCC, pleural effusion", "Stage I ~99%\nStage IV ~28%"],
["Colorectal", "Hepatic failure from liver metastases", "Obstruction, perforation, peritoneal CA", "Dukes A ~90%\nDukes D ~10%"],
["Prostate", "Bone marrow failure · Renal failure", "Spinal cord compression, pathological fractures","Localised ~100%\nMetastatic ~30%"],
["Stomach", "Cachexia · Peritoneal carcinomatosis", "Haemorrhage, Krukenberg tumour, obstruction", "Overall ~30%\n(West, Stage III+)"],
["Liver (HCC)", "Hepatic failure · Haemorrhage", "Tumour rupture, portal vein thrombosis", "Overall ~18%"],
["Pancreas", "Cachexia · Hepatic failure · VTE", "Biliary sepsis, DIC, duodenal obstruction", "Overall ~12%"],
["Cervical", "Renal failure (ureteric obstruction)", "Fistulae, pelvic haemorrhage, sepsis", "Stage I ~90%\nStage IV ~15%"],
["Leukaemia", "Sepsis · Intracranial haemorrhage · DIC", "Blast crisis, TLS, neutropenic sepsis", "AML 5-yr ~30%\nALL (child) ~90%"],
["Lymphoma", "Infections · BM failure · Transformation", "Mediastinal compression, CNS disease", "HL Stage I ~95%\nNHL DLBCL ~65%"],
];
const cW = [2.15, 3.95, 3.75, 2.75];
const cX = [0.28, 2.48, 6.48, 10.28];
const rH = 0.53;
rows.forEach((row, ri) => {
const y = 1.82 + ri * rH;
row.forEach((cell, ci) => {
const isH = ri === 0;
s.addShape(pres.ShapeType.rect, {
x: cX[ci], y, w: cW[ci], h: rH,
fill: { color: isH ? ACCENT1 : (ri % 2 === 0 ? "0B1530" : "071025") },
line: { color: "1A2E5A", width: 0.4 }
});
s.addText(cell, {
x: cX[ci]+0.07, y, w: cW[ci]-0.1, h: rH,
fontSize: isH ? 12 : 10.5,
bold: isH,
color: isH ? WHITE : (ci === 0 ? GOLD : (ci === 3 ? TEAL : LIGHT_GRAY)),
valign: "middle", lineSpacingMultiple: 1.1
});
});
});
slideNum(s, 14);
}
// ──────────────────────────────────────────────
// SLIDE 15 – THANK YOU
// ──────────────────────────────────────────────
{
let s = addDarkSlide(SLIDE_BG);
s.addShape(pres.ShapeType.ellipse, { x: 8.5, y: -1.5, w: 7, h: 7, fill: { color: "0C1535" }, line: { color: ACCENT1, width: 0.7 } });
s.addShape(pres.ShapeType.ellipse, { x: -2, y: 4.5, w: 5, h: 5, fill: { color: "09122E" }, line: { color: LIGHT_BLUE, width: 0.5 } });
bar(s, ACCENT1, 0, 5.4, 13.3, 2.1);
bar(s, GOLD, 1.5, 1.55, 0.15, 3.9);
s.addText("Thank You", {
x: 1.85, y: 1.5, w: 10, h: 1.6,
fontSize: 76, bold: true, color: WHITE, fontFace: "Calibri"
});
s.addText("This presentation covers the natural history, clinical presentation, course,\ncomplications, and causes of death for 8 common cancers + haematological malignancies.", {
x: 1.85, y: 3.2, w: 10, h: 0.95,
fontSize: 15.5, color: LIGHT_BLUE, italic: true, lineSpacingMultiple: 1.4
});
bar(s, GOLD, 1.85, 4.28, 9, 0.05);
s.addText([
{ text: "Sources: ", options: { bold: true, color: GOLD, fontSize: 13 } },
{ text: "Davidson's Principles & Practice of Medicine · Robbins & Kumar Basic Pathology · Harrison's Principles of Internal Medicine 22E (2025)", options: { color: "8899BB", fontSize: 13 } },
], { x: 1.85, y: 5.55, w: 10, h: 0.65 });
s.addText("Orris Medical Education · 2026", { x: 1.85, y: 6.9, w: 6, h: 0.38, fontSize: 11, color: "4A3A2A" });
}
// ========================
// SAVE
// ========================
pres.writeFile({ fileName: "/home/daytona/workspace/cancer-ppt/Common_Cancers_15Slides.pptx" })
.then(() => console.log("SUCCESS: 15-slide presentation saved!"))
.catch(e => console.error("ERROR:", e));
cd /home/daytona/workspace/cancer-ppt && node cancer_15slides.js 2>&1
ls -lh /home/daytona/workspace/cancer-ppt/Common_Cancers_15Slides.pptx && python…
Common Cancers 15Slides
Presentation · PPTX
| # | Slide Title | What's covered |
|---|---|---|
| 1 | Title | Premium navy/red design, source attribution |
| 2 | Introduction | What is natural history? 4 stages, why it matters + cancer overview cards |
| 3 | Lung Cancer | Natural history, NSCLC/SCLC, presentation (local/regional/distant), paraneoplastic, staging & CoD |
| 4 | Breast Cancer | Robbins natural history, molecular subtypes, presentation, survival by stage, complications, CoD |
| 5 | Colorectal Cancer | Adenoma-carcinoma sequence diagram, left vs right colon presentation, complications, CoD |
| 6 | Prostate Cancer | Gleason grading, natural history, presentation, staging, CoD |
| 7 | Gastric Cancer | Intestinal vs diffuse (Lauren), H. pylori, Virchow's/Sister Mary Joseph nodes, CoD |
| 8 | HCC | Robbins pathology, BCLC staging, cirrhosis background, AFP, complications, CoD |
| 9 | Pancreatic + Cervical | Two cancers side-by-side — Courvoisier/Trousseau vs HPV/CIN progression |
| 10 | Leukaemia | AML, ALL, CML, CLL — natural history, presentation, cause of death |
| 11 | Lymphoma | HL (Reed-Sternberg, alcohol pain) vs NHL (B-cell, extranodal) in full detail |
| 12 | Routes of Metastasis | 6 mechanisms: direct, lymphatic, haematogenous, transcoelomic, perineural, Seed & Soil |
| 13 | Paraneoplastic Syndromes | 9 syndromes with associated cancer + clinical effect |
| 14 | Causes of Death Table | Full comparative table: all cancers, primary CoD, complications, 5-yr survival |
| 15 | Thank You | Sources: Davidson's, Robbins, Harrison's 22E |