Make a medical presentation for HPV vaccinations in India and information about Human Papilloma Virus and Cancer Cervix and its Treatment for MD PSM resident
Make a Medical presentation for HPV vaccinations in India and information about Human papilloma virus and Cancer cervix and its treatment for MD PSM RESIDENT
HPV vaccination India 2025 national program CERVAVAC guidelines schedule
"HPV vaccine" AND "cervical cancer" AND India
India cervical cancer burden statistics 2025 incidence mortality HPV epidemiology
cervical cancer treatment FIGO staging surgery radiotherapy chemotherapy guidelines 2025
mkdir -p /home/daytona/workspace/hpv-presentation && ls /home/daytona/workspace/…
~/hpv-presentation/create_hpv_presentation.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "MD PSM Resident";
pres.title = "HPV Vaccination in India - Cancer Cervix";
// ─────────────────────────────────────────────────────────────────
// DESIGN TOKENS
// ─────────────────────────────────────────────────────────────────
const C = {
navy: "1A237E", // dominant dark
teal: "00695C", // section accent
red: "C62828", // alert / cancer color
amber: "E65100", // warning
green: "2E7D32", // vaccine / positive
white: "FFFFFF",
offwhite: "F5F5F5",
lightBlue: "E3F2FD",
lightTeal: "E0F2F1",
lightGreen:"E8F5E9",
lightRed: "FFEBEE",
text: "212121",
subtext: "424242",
muted: "757575",
};
// ─────────────────────────────────────────────────────────────────
// HELPERS
// ─────────────────────────────────────────────────────────────────
function sectionBg(slide, color) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color } });
}
function addHeader(slide, title, subtitle, bgColor, titleColor) {
bgColor = bgColor || C.navy;
titleColor = titleColor || C.white;
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.3, fill: { color: bgColor } });
slide.addText(title, {
x: 0.4, y: 0.08, w: 9.2, h: 0.7,
fontSize: 22, bold: true, color: titleColor, fontFace: "Calibri", margin: 0
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.4, y: 0.72, w: 9.2, h: 0.5,
fontSize: 13, color: bgColor === C.navy ? "90CAF9" : C.white, fontFace: "Calibri", italic: true, margin: 0
});
}
}
function addDivider(slide, y, color) {
slide.addShape(pres.ShapeType.line, {
x: 0.4, y: y, w: 9.2, h: 0,
line: { color: color || C.teal, width: 1.5 }
});
}
function bulletBox(slide, items, x, y, w, h, opts) {
opts = opts || {};
const textArr = items.map((item, i) => ({
text: item,
options: {
bullet: { type: "bullet", code: "2022" },
fontSize: opts.fontSize || 13,
color: opts.color || C.text,
breakLine: i < items.length - 1,
paraSpaceAfter: 4,
indentLevel: opts.indent || 0,
}
}));
slide.addText(textArr, { x, y, w, h, fontFace: "Calibri", valign: "top" });
}
function statBox(slide, value, label, color, x, y, w, h) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color },
line: { color: C.white, width: 0 },
rectRadius: 0.08
});
slide.addText(value, {
x: x + 0.1, y: y + 0.08, w: w - 0.2, h: h * 0.52,
fontSize: 26, bold: true, color: C.white, align: "center",
fontFace: "Calibri", margin: 0
});
slide.addText(label, {
x: x + 0.05, y: y + h * 0.52, w: w - 0.1, h: h * 0.44,
fontSize: 10, color: C.white, align: "center", fontFace: "Calibri",
wrap: true, margin: 0
});
}
function sectionDivider(slide, title, subtitle, bgColor) {
bgColor = bgColor || C.teal;
sectionBg(slide, bgColor);
slide.addText(title, {
x: 1, y: 1.6, w: 8, h: 1.2,
fontSize: 36, bold: true, color: C.white, align: "center",
fontFace: "Calibri", margin: 0
});
if (subtitle) {
slide.addText(subtitle, {
x: 1, y: 2.9, w: 8, h: 0.7,
fontSize: 17, color: "B2DFDB", align: "center", fontFace: "Calibri",
italic: true, margin: 0
});
}
slide.addShape(pres.ShapeType.line, {
x: 3, y: 2.85, w: 4, h: 0,
line: { color: C.white, width: 2 }
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 1 — TITLE
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionBg(s, C.navy);
// Top decorative bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.22, fill: { color: C.red } });
// Bottom decorative bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.4, w: 10, h: 0.225, fill: { color: C.green } });
// India color strip (tricolor)
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.15, w: 10, h: 0.09, fill: { color: "FF9933" } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.24, w: 10, h: 0.09, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.33, w: 10, h: 0.09, fill: { color: "138808" } });
s.addText("HPV VACCINATION IN INDIA", {
x: 0.5, y: 0.5, w: 9, h: 0.8,
fontSize: 30, bold: true, color: C.white, align: "center",
fontFace: "Calibri", charSpacing: 3
});
s.addShape(pres.ShapeType.line, { x: 2, y: 1.35, w: 6, h: 0, line: { color: "90CAF9", width: 2 } });
s.addText("Human Papillomavirus, Cancer Cervix & Treatment", {
x: 0.5, y: 1.45, w: 9, h: 0.7,
fontSize: 19, color: "90CAF9", align: "center", fontFace: "Calibri", italic: true
});
// Key highlights boxes
const boxes = [
{ val: "Virology", col: "283593" },
{ val: "Epidemiology", col: "00695C" },
{ val: "Vaccination", col: "C62828" },
{ val: "Treatment", col: "E65100" },
];
boxes.forEach((b, i) => {
s.addShape(pres.ShapeType.roundRect, {
x: 0.4 + i * 2.3, y: 2.3, w: 2.0, h: 0.55,
fill: { color: b.col }, rectRadius: 0.06
});
s.addText(b.val, {
x: 0.4 + i * 2.3, y: 2.3, w: 2.0, h: 0.55,
fontSize: 12, bold: true, color: C.white, align: "center",
fontFace: "Calibri", valign: "middle"
});
});
s.addText([
{ text: "Presented by: MD PSM Resident", options: { bold: true, breakLine: true } },
{ text: "Department of Preventive & Social Medicine", options: { breakLine: true } },
{ text: "July 2026", options: { italic: true } }
], {
x: 1, y: 3.2, w: 8, h: 1.6,
fontSize: 14, color: "B3E5FC", align: "center", fontFace: "Calibri"
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 2 — CONTENTS
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.15, fill: { color: C.navy } });
s.addText("TABLE OF CONTENTS", {
x: 0.4, y: 0.2, w: 9.2, h: 0.75,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", align: "center"
});
const sections = [
["01", "Burden of Disease — Global & India", C.red],
["02", "Human Papillomavirus — Virology & Pathogenesis", C.navy],
["03", "Cancer Cervix — Epidemiology, Risk Factors & Screening", C.teal],
["04", "FIGO Staging & Clinical Features", C.amber],
["05", "Treatment of Cancer Cervix", "6A1B9A"],
["06", "HPV Vaccines — Types, Schedule & Efficacy", C.green],
["07", "HPV Vaccination in India — CERVAVAC & UIP", C.red],
["08", "Challenges, Strategies & Way Forward", C.teal],
];
sections.forEach((sec, i) => {
const col = i % 2 === 0 ? C.white : "EEF2FF";
const row = Math.floor(i / 2);
const col2 = i % 2;
s.addShape(pres.ShapeType.roundRect, {
x: 0.3 + col2 * 4.9, y: 1.3 + row * 1.05, w: 4.6, h: 0.9,
fill: { color: col }, line: { color: sec[2], width: 1.5 }, rectRadius: 0.06
});
s.addShape(pres.ShapeType.roundRect, {
x: 0.35 + col2 * 4.9, y: 1.35 + row * 1.05, w: 0.55, h: 0.8,
fill: { color: sec[2] }, rectRadius: 0.04
});
s.addText(sec[0], {
x: 0.35 + col2 * 4.9, y: 1.35 + row * 1.05, w: 0.55, h: 0.8,
fontSize: 15, bold: true, color: C.white, align: "center", valign: "middle",
fontFace: "Calibri", margin: 0
});
s.addText(sec[1], {
x: 1.0 + col2 * 4.9, y: 1.35 + row * 1.05, w: 3.8, h: 0.8,
fontSize: 12, bold: false, color: C.text, fontFace: "Calibri", valign: "middle",
wrap: true, margin: 4
});
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — BURDEN
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 1", "Burden of Disease — Global & India", C.red);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 3 — GLOBAL BURDEN
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Global Burden of Cervical Cancer", "WHO GLOBOCAN 2022 & ICO/IARC Data", C.red, C.white);
const stats = [
["660,000", "New Cases\nAnnually (2022)"],
["350,000", "Deaths Annually\n(2022)"],
["4th", "Most Common Cancer\nin Women Globally"],
["~90%", "Deaths in LMICs\n(incl. India)"],
];
const cols = ["B71C1C", "C62828", "D32F2F", "E53935"];
stats.forEach((st, i) => {
statBox(s, st[0], st[1], cols[i], 0.3 + i * 2.4, 1.4, 2.2, 1.4);
});
s.addText("HPV is causally linked to 99.7% of cervical cancers worldwide", {
x: 0.4, y: 2.95, w: 9.2, h: 0.45,
fontSize: 14, bold: true, color: C.red, align: "center", fontFace: "Calibri",
fill: { color: "FFEBEE" }, margin: 6
});
addDivider(s, 3.55, C.red);
s.addText("India-Specific Data (HPV Centre Fact Sheet 2023):", {
x: 0.4, y: 3.65, w: 9.2, h: 0.4,
fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri"
});
const indiaStats = [
["123,907", "New cases/year\n(2nd most common\ncancer in women)", "1A237E"],
["77,348", "Deaths per year\n(2nd rank in\nfemale cancer deaths)", "00695C"],
["25%", "Of world's cervical\ncancer deaths\nin India", "C62828"],
["18.7", "Age-standardised\nrate per 100,000\npopulation", "E65100"],
];
indiaStats.forEach((st, i) => {
statBox(s, st[0], st[1], st[2], 0.3 + i * 2.4, 4.1, 2.2, 1.35);
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — VIROLOGY
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 2", "Human Papillomavirus — Virology & Pathogenesis", C.navy);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 4 — HPV VIROLOGY
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Human Papillomavirus — Structure & Classification", "Papillomaviridae Family — Non-enveloped dsDNA Virus", C.navy, C.white);
// Left column
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.35, w: 4.4, h: 4.0, fill: { color: C.white }, line: { color: "BBDEFB", width: 1 }, rectRadius: 0.08 });
s.addText("VIROLOGY", {
x: 0.35, y: 1.4, w: 4.3, h: 0.4,
fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", margin: 6
});
bulletBox(s, [
"Non-enveloped double-stranded circular DNA virus",
"Diameter: ~55 nm; Icosahedral capsid",
"Family: Papillomaviridae",
"Genome: ~8 kb — early (E) & late (L) genes",
"E6 & E7 oncoproteins → inactivate p53 and pRb",
">200 HPV genotypes identified",
"~40 types infect anogenital tract",
], 0.35, 1.85, 4.3, 3.3, { fontSize: 11.5 });
// Right column — classification
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.35, w: 4.7, h: 4.0, fill: { color: C.white }, line: { color: "BBDEFB", width: 1 }, rectRadius: 0.08 });
s.addText("CLASSIFICATION BY RISK", {
x: 5.05, y: 1.4, w: 4.6, h: 0.4,
fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", margin: 6
});
// High-risk box
s.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 1.85, w: 4.5, h: 1.5, fill: { color: "FFEBEE" }, line: { color: C.red, width: 1 }, rectRadius: 0.06 });
s.addText("HIGH-RISK (oncogenic):", {
x: 5.2, y: 1.9, w: 4.3, h: 0.35,
fontSize: 11, bold: true, color: C.red, fontFace: "Calibri", margin: 0
});
s.addText("Types: 16, 18, 31, 33, 35, 39, 45, 51, 52, 56, 58, 59, 68\nHPV 16 & 18 → responsible for ~70% of cervical cancers in India (83.2% of cancers have HPV 16/18)\nMost common: HPV 16 (56.1% of cervical cancers)", {
x: 5.2, y: 2.3, w: 4.3, h: 1.0,
fontSize: 10.5, color: C.text, fontFace: "Calibri", wrap: true
});
// Low-risk box
s.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 3.5, w: 4.5, h: 1.1, fill: { color: "E8F5E9" }, line: { color: C.green, width: 1 }, rectRadius: 0.06 });
s.addText("LOW-RISK (non-oncogenic):", {
x: 5.2, y: 3.55, w: 4.3, h: 0.35,
fontSize: 11, bold: true, color: C.green, fontFace: "Calibri", margin: 0
});
s.addText("Types: 6, 11, 42, 43, 44\nHPV 6 & 11 → cause ~90% of anogenital warts (condylomata acuminata)", {
x: 5.2, y: 3.92, w: 4.3, h: 0.65,
fontSize: 10.5, color: C.text, fontFace: "Calibri", wrap: true
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 5 — PATHOGENESIS
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Pathogenesis of HPV-Related Cervical Cancer", "From Infection to Invasive Carcinoma — a Multi-Step Process", C.navy, C.white);
const steps = [
{ n: "1", title: "HPV Infection", body: "Entry at squamocolumnar junction (transformation zone)\nMicro-abrasions allow access to basal epithelium\n80% of sexually active women infected in lifetime", col: "1A237E" },
{ n: "2", title: "Viral Persistence", body: "Usually cleared in 9–15 months by immune system\nPersistence of high-risk HPV = key risk factor\nE6 binds/degrades p53 → inhibits apoptosis", col: "00695C" },
{ n: "3", title: "Integration", body: "Viral DNA integrates into host genome\nE7 binds/inactivates pRb → uncontrolled cell cycle\nActivation of telomerase → immortalisation", col: "C62828" },
{ n: "4", title: "CIN → Invasion", body: "CIN 1 (LSIL) → CIN 2 → CIN 3 (HSIL) → Carcinoma in situ\nHPV 16/18/31/33 account for ~90% of high-grade CIN\nProgression over 10–20 years (opportunity for screening)", col: "E65100" },
];
steps.forEach((st, i) => {
const x = 0.3 + i * 2.4;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.4, w: 2.15, h: 3.85, fill: { color: C.white }, line: { color: st.col, width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.ellipse, { x: x + 0.7, y: 1.3, w: 0.75, h: 0.75, fill: { color: st.col } });
s.addText(st.n, { x: x + 0.7, y: 1.3, w: 0.75, h: 0.75, fontSize: 18, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(st.title, { x: x + 0.05, y: 2.15, w: 2.05, h: 0.5, fontSize: 12, bold: true, color: st.col, align: "center", fontFace: "Calibri", wrap: true });
s.addText(st.body, { x: x + 0.1, y: 2.7, w: 1.95, h: 2.4, fontSize: 9.5, color: C.text, fontFace: "Calibri", wrap: true, valign: "top" });
if (i < 3) {
s.addText("→", { x: x + 2.15, y: 2.95, w: 0.25, h: 0.5, fontSize: 20, bold: true, color: C.muted, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
}
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — CANCER CERVIX
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 3", "Cancer Cervix — Epidemiology, Risk Factors & Screening", C.teal);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 6 — RISK FACTORS
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Cancer Cervix — Risk Factors & Histology", "Squamous Cell Carcinoma (75–80%) | Adenocarcinoma (15–20%)", C.teal, C.white);
s.addText("RISK FACTORS", { x: 0.3, y: 1.4, w: 5.2, h: 0.4, fontSize: 13, bold: true, color: C.teal, fontFace: "Calibri" });
const rfs = [
["HPV Infection (necessary cause)", "Early age at first intercourse (< 16 yrs)"],
["Multiple sexual partners", "High parity / early marriage"],
["Immunosuppression (HIV, transplant)", "Long-term OCP use (> 5 years)"],
["Smoking / tobacco", "Low socioeconomic status"],
["Absence of screening / non-use of condoms", "Co-infection: Chlamydia trachomatis, HSV-2"],
];
rfs.forEach((pair, i) => {
const y = 1.85 + i * 0.6;
pair.forEach((txt, j) => {
s.addShape(pres.ShapeType.roundRect, { x: 0.3 + j * 2.7, y, w: 2.55, h: 0.52, fill: { color: "E0F2F1" }, line: { color: C.teal, width: 0.5 }, rectRadius: 0.05 });
s.addText("• " + txt, { x: 0.35 + j * 2.7, y, w: 2.45, h: 0.52, fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle", wrap: true, margin: 4 });
});
});
// Right side histology
s.addShape(pres.ShapeType.roundRect, { x: 5.7, y: 1.35, w: 4.0, h: 4.0, fill: { color: C.white }, line: { color: C.teal, width: 1.5 }, rectRadius: 0.08 });
s.addText("HISTOLOGICAL TYPES", { x: 5.8, y: 1.42, w: 3.8, h: 0.4, fontSize: 12, bold: true, color: C.teal, fontFace: "Calibri" });
const histo = [
["Squamous Cell Carcinoma", "75–80%", C.teal],
["Adenocarcinoma", "15–20%", C.navy],
["Adenosquamous Carcinoma", "3–5%", C.amber],
["Small Cell / NEC", "<3%", C.red],
["Clear Cell / Serous", "Rare", C.muted],
];
histo.forEach((h, i) => {
const barW = parseFloat(h[1]) / 80 * 2.5 || 0.3;
s.addText(h[0], { x: 5.85, y: 1.9 + i * 0.62, w: 2.2, h: 0.5, fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle" });
s.addShape(pres.ShapeType.roundRect, { x: 8.1, y: 1.97 + i * 0.62, w: barW > 2.5 ? 2.5 : barW, h: 0.3, fill: { color: h[2] }, rectRadius: 0.04 });
s.addText(h[1], { x: 8.12, y: 1.97 + i * 0.62, w: 1.2, h: 0.3, fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0 });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 7 — SCREENING
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Cervical Cancer Screening — Methods & WHO Recommendations", "Screening Coverage in India: Only ~2% (NFHS-5) — A Critical Gap", C.teal, C.white);
const methods = [
{ name: "PAP SMEAR (Cytology)", age: "21–65 years", freq: "Every 3 years", notes: "First-line in high-resource settings\nASC-US → reflex HPV testing", col: C.teal },
{ name: "HPV DNA Testing", age: "25–65 years", freq: "Every 5 years", notes: "Primary screening (primary HPV test)\nCo-test with cytology: 5-yearly", col: C.navy },
{ name: "VIA / VILI", age: "25–60 years", freq: "Every 3–5 years", notes: "Preferred in India/LMICs\nNo lab needed; nurse-administered\nScreen & treat approach (WHO)", col: C.amber },
{ name: "Colposcopy", age: "Triage / follow-up", freq: "As indicated", notes: "Directed biopsy for diagnosis\nUsed after abnormal Pap/HPV", col: "6A1B9A" },
];
methods.forEach((m, i) => {
const x = 0.3 + i * 2.4;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.38, w: 2.2, h: 3.95, fill: { color: C.white }, line: { color: m.col, width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.38, w: 2.2, h: 0.55, fill: { color: m.col }, rectRadius: 0 });
s.addText(m.name, { x: x + 0.05, y: 1.4, w: 2.1, h: 0.5, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", wrap: true, margin: 0 });
s.addText("Age group:", { x: x + 0.1, y: 2.02, w: 2.0, h: 0.25, fontSize: 9, bold: true, color: m.col, fontFace: "Calibri", margin: 0 });
s.addText(m.age, { x: x + 0.1, y: 2.27, w: 2.0, h: 0.3, fontSize: 10.5, color: C.text, fontFace: "Calibri", margin: 0 });
s.addText("Frequency:", { x: x + 0.1, y: 2.6, w: 2.0, h: 0.25, fontSize: 9, bold: true, color: m.col, fontFace: "Calibri", margin: 0 });
s.addText(m.freq, { x: x + 0.1, y: 2.85, w: 2.0, h: 0.3, fontSize: 10.5, color: C.text, fontFace: "Calibri", margin: 0 });
addDivider(s, 3.22, m.col);
s.addText(m.notes, { x: x + 0.1, y: 3.28, w: 2.0, h: 2.0, fontSize: 10, color: C.subtext, fontFace: "Calibri", wrap: true, valign: "top" });
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — STAGING
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 4", "FIGO Staging & Clinical Features", C.amber);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 8 — FIGO STAGING
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "FIGO 2018 Staging of Cervical Cancer", "Clinical + Imaging + Pathological Criteria (revised 2018)", C.amber, C.white);
const stages = [
{ stage: "Stage I", desc: "Confined to cervix", substages: ["IA1: Depth <3mm", "IA2: Depth 3–5mm", "IB1: >5mm, ≤2cm", "IB2: >2cm, ≤4cm", "IB3: >4cm"], col: "1B5E20" },
{ stage: "Stage II", desc: "Beyond cervix, not to pelvic wall/lower vagina", substages: ["IIA1: Upper 2/3 vagina, ≤4cm", "IIA2: Upper 2/3 vagina, >4cm", "IIB: Parametrial involvement"], col: "E65100" },
{ stage: "Stage III", desc: "Pelvic wall, lower vagina, nodes, hydronephrosis", substages: ["IIIA: Lower 1/3 vagina", "IIIB: Pelvic wall / hydronephrosis", "IIIC1: Pelvic node metastasis", "IIIC2: Para-aortic nodes"], col: "B71C1C" },
{ stage: "Stage IV", desc: "Beyond true pelvis / distant metastasis", substages: ["IVA: Adjacent organs (bladder/rectum)", "IVB: Distant metastasis"], col: "37474F" },
];
stages.forEach((st, i) => {
const x = 0.2 + i * 2.45;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.35, w: 2.3, h: 4.0, fill: { color: C.white }, line: { color: st.col, width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.35, w: 2.3, h: 0.72, fill: { color: st.col } });
s.addText(st.stage, { x, y: 1.38, w: 2.3, h: 0.38, fontSize: 16, bold: true, color: C.white, align: "center", fontFace: "Calibri", margin: 0 });
s.addText(st.desc, { x: x + 0.05, y: 1.78, w: 2.2, h: 0.62, fontSize: 9, color: "ECEFF1", align: "center", fontFace: "Calibri", wrap: true, fill: { color: st.col }, margin: 2 });
st.substages.forEach((sub, j) => {
s.addShape(pres.ShapeType.roundRect, { x: x + 0.1, y: 2.16 + j * 0.58, w: 2.1, h: 0.5, fill: { color: i % 2 === 0 ? "F1F8E9" : "FFF3E0" }, line: { color: st.col, width: 0.5 }, rectRadius: 0.04 });
s.addText(sub, { x: x + 0.15, y: 2.16 + j * 0.58, w: 2.0, h: 0.5, fontSize: 10, color: C.text, fontFace: "Calibri", valign: "middle", wrap: true, margin: 2 });
});
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — TREATMENT
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 5", "Treatment of Cancer Cervix", "6A1B9A");
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 9 — TREATMENT OVERVIEW
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Treatment of Cancer Cervix", "Based on FIGO Stage, Resources & Fertility Wishes — NCCN 2026", "6A1B9A", C.white);
const treatments = [
{
stage: "Stage IA1", title: "Cone Biopsy / Simple Hysterectomy",
detail: "Fertility desired: Cone biopsy (if margins –ve)\nNo fertility wish: Simple hysterectomy\nLVSI +ve: Radical trachelectomy + LND",
col: "1B5E20", bg: "F1F8E9"
},
{
stage: "Stage IA2–IB1", title: "Radical Hysterectomy (Type C)",
detail: "Modified radical or radical hysterectomy\n+ Bilateral pelvic LND (±SLNB)\nRT alternative for non-surgical candidates",
col: "2E7D32", bg: "E8F5E9"
},
{
stage: "Stage IB2–IIA", title: "Surgery OR Chemoradiation",
detail: "Radical hysterectomy for IB2–IB3\nConcurrent chemoradiation (cisplatin)\npreferred for IIA2 disease\nRT: EBRT + brachytherapy",
col: "E65100", bg: "FFF3E0"
},
{
stage: "Stage IIB–IVA", title: "Concurrent Chemoradiation (CRT)",
detail: "EBRT (45 Gy / 25 fractions) to pelvis\n+ Concurrent cisplatin (40mg/m² weekly)\n+ Brachytherapy boost\nPembrolizumab (Stage III–IVA): Category 1 (NCCN 2026)",
col: "B71C1C", bg: "FFEBEE"
},
{
stage: "Stage IVB / Recurrent", title: "Systemic Therapy / Palliative",
detail: "Platinum-based combination (cisplatin + paclitaxel)\nBevacizumab + chemo (Tewari 2014)\nPembrolizumab (PD-L1+)\nPaliative RT for symptoms",
col: "37474F", bg: "ECEFF1"
},
];
treatments.forEach((t, i) => {
const row = Math.floor(i / 3);
const col2 = i % 3;
const w = i < 3 ? 3.1 : 4.65;
const x = i < 3 ? 0.3 + col2 * 3.15 : 0.3 + (i - 3) * 4.85;
const y = row === 0 ? 1.38 : 3.55;
const h = 2.0;
s.addShape(pres.ShapeType.roundRect, { x, y, w, h, fill: { color: t.bg }, line: { color: t.col, width: 2 }, rectRadius: 0.07 });
s.addShape(pres.ShapeType.rect, { x, y, w, h: 0.52, fill: { color: t.col } });
s.addText(t.stage, { x, y, w, h: 0.28, fontSize: 10, bold: true, color: C.white, align: "center", fontFace: "Calibri", margin: 2 });
s.addText(t.title, { x: x + 0.05, y: y + 0.28, w: w - 0.1, h: 0.28, fontSize: 10, color: C.white, align: "center", fontFace: "Calibri", wrap: true, margin: 0 });
s.addText(t.detail, { x: x + 0.1, y: y + 0.6, w: w - 0.2, h: h - 0.7, fontSize: 9.5, color: C.text, fontFace: "Calibri", wrap: true, valign: "top" });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 10 — PEMBROLIZUMAB & IMMUNOTHERAPY UPDATE
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Immunotherapy Update — Pembrolizumab (KEYNOTE-A18)", "FDA Approval June 2025 — Locally Advanced Cervical Cancer", "6A1B9A", C.white);
// Key data box
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.38, w: 4.4, h: 3.95, fill: { color: "EDE7F6" }, line: { color: "6A1B9A", width: 2 }, rectRadius: 0.08 });
s.addText("KEYNOTE-A18 TRIAL", { x: 0.4, y: 1.45, w: 4.2, h: 0.45, fontSize: 14, bold: true, color: "6A1B9A", fontFace: "Calibri" });
bulletBox(s, [
"N = 1,060 patients (FIGO stage III–IVA)",
"36-month Overall Survival:",
" Pembrolizumab + CRT: 82.6%",
" Placebo + CRT: 74.8%",
"Statistically significant benefit (p<0.001)",
"PFS improvement: HR 0.70 (95% CI 0.58–0.84)",
"FDA updated indication: June 2025",
], 0.4, 1.95, 4.2, 3.2, { fontSize: 11.5 });
// Right side mechanism + indications
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.38, w: 4.7, h: 1.8, fill: { color: C.white }, line: { color: "6A1B9A", width: 1 }, rectRadius: 0.07 });
s.addText("Mechanism of Action", { x: 5.1, y: 1.45, w: 4.5, h: 0.38, fontSize: 12, bold: true, color: "6A1B9A", fontFace: "Calibri" });
s.addText("PD-1 inhibitor → blocks PD-1/PD-L1 interaction → restores T-cell anti-tumour activity.\nHPV E6/E7-specific T cells reactivated.\nPD-L1 CPS ≥1 preferred, but benefit seen regardless.", {
x: 5.1, y: 1.88, w: 4.5, h: 1.2, fontSize: 11, color: C.text, fontFace: "Calibri", wrap: true
});
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 3.3, w: 4.7, h: 2.03, fill: { color: C.white }, line: { color: C.green, width: 1 }, rectRadius: 0.07 });
s.addText("Other Systemic Agents", { x: 5.1, y: 3.37, w: 4.5, h: 0.38, fontSize: 12, bold: true, color: C.green, fontFace: "Calibri" });
bulletBox(s, [
"Bevacizumab + Chemo: +3.7 months OS (GOG-0240)",
"Tisotumab vedotin: ADC for relapsed disease",
"Cemiplimab (EMPOWER-Cervical 1)",
"Atezolizumab — ongoing trials",
], 5.1, 3.78, 4.5, 1.45, { fontSize: 11 });
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — HPV VACCINES
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 6", "HPV Vaccines — Types, Schedule & Efficacy", C.green);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 11 — AVAILABLE HPV VACCINES
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "HPV Vaccines — Available Formulations", "All are VLP (Virus-Like Particle) Recombinant Vaccines — No Live Virus", C.green, C.white);
const vaccines = [
{
name: "CERVARIX", brand: "GSK", type: "BIVALENT",
types: "HPV 16, 18", adjuvant: "AS04 (Al hydroxide + MPL)",
schedule: "0, 1, 6 months", notes: "Cross-protection against 31, 33, 45\nEfficacy: 93–100% against CIN 2/3 due to HPV 16/18",
col: "1A237E"
},
{
name: "GARDASIL-4", brand: "MSD", type: "QUADRIVALENT",
types: "HPV 6, 11, 16, 18", adjuvant: "AAHS (amorphous Al hydroxyphosphate)",
schedule: "0, 2, 6 months", notes: "Protects vs genital warts (types 6/11)\nEfficacy: 98–100% against CIN 2/3",
col: "00695C"
},
{
name: "CERVAVAC", brand: "Serum Institute of India", type: "QUADRIVALENT (India)",
types: "HPV 6, 11, 16, 18", adjuvant: "Aluminium hydroxide",
schedule: "9–14 yrs: 2 doses (0, 6m)\n15–26 yrs: 3 doses (0, 2, 6m)",
notes: "Made in India — ₹200–400/dose (NIP)\nNon-inferior to Gardasil-4\nFirst domestically made HPV vaccine\nRoute: IM (deltoid or anterolateral thigh)",
col: "C62828"
},
{
name: "GARDASIL-9", brand: "MSD", type: "NONAVALENT",
types: "HPV 6,11,16,18,31,33,45,52,58", adjuvant: "AAHS",
schedule: "9–14: 2 doses (0, 6m)\n≥15: 3 doses (0, 2, 6m)",
notes: "Covers 90% of cervical cancers\nWHO recommended\nNot yet in India NIP",
col: "E65100"
},
];
vaccines.forEach((v, i) => {
const x = 0.2 + i * 2.45;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.35, w: 2.3, h: 4.05, fill: { color: C.white }, line: { color: v.col, width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.35, w: 2.3, h: 0.72, fill: { color: v.col } });
s.addText(v.name, { x, y: 1.38, w: 2.3, h: 0.36, fontSize: 14, bold: true, color: C.white, align: "center", fontFace: "Calibri", margin: 0 });
s.addText(v.type, { x, y: 1.74, w: 2.3, h: 0.32, fontSize: 9, color: "B2DFDB", align: "center", fontFace: "Calibri", margin: 0 });
const fields = [
["Brand", v.brand], ["Types covered", v.types], ["Adjuvant", v.adjuvant], ["Schedule", v.schedule]
];
fields.forEach((f, j) => {
s.addText(f[0] + ":", { x: x + 0.1, y: 2.12 + j * 0.62, w: 2.1, h: 0.22, fontSize: 8.5, bold: true, color: v.col, fontFace: "Calibri", margin: 0 });
s.addText(f[1], { x: x + 0.1, y: 2.34 + j * 0.62, w: 2.1, h: 0.35, fontSize: 9.5, color: C.text, fontFace: "Calibri", wrap: true, margin: 0 });
});
addDivider(s, 4.6, v.col);
s.addText(v.notes, { x: x + 0.1, y: 4.65, w: 2.1, h: 0.65, fontSize: 8.5, color: C.subtext, fontFace: "Calibri", wrap: true, italic: true });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 12 — VACCINE EFFICACY
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Vaccine Efficacy, Immunogenicity & Safety", "Pre-licensure Trial & Real-World Evidence", C.green, C.white);
// Efficacy table
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.38, w: 9.4, h: 0.42, fill: { color: C.green } });
["Outcome", "Bivalent", "Quadrivalent", "Nonavalent"].forEach((h, i) => {
s.addText(h, { x: 0.35 + i * 2.3, y: 1.42, w: 2.2, h: 0.35, fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 2 });
});
const rows = [
["CIN 2/3 due to HPV 16/18", "93–100%", "98–100%", "96–100%"],
["Cervical cancer prevention (long-term)", "~90%", "~90%", ">90%"],
["Genital warts", "—", "98–100%", "98–100%"],
["Seropositivity after 3 doses", ">99.9%", ">99.9%", ">99%"],
["Duration of protection", "10+ years", "10+ years", "10+ years"],
];
rows.forEach((row, i) => {
const bg = i % 2 === 0 ? C.lightGreen : C.white;
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.82 + i * 0.5, w: 9.4, h: 0.48, fill: { color: bg } });
row.forEach((cell, j) => {
s.addText(cell, { x: 0.35 + j * 2.3, y: 1.85 + i * 0.5, w: 2.2, h: 0.42, fontSize: 11, color: C.text, fontFace: "Calibri", valign: "middle", margin: 2 });
});
});
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 4.38, w: 9.4, h: 1.0, fill: { color: C.lightGreen }, line: { color: C.green, width: 1 }, rectRadius: 0.07 });
s.addText("SAFETY PROFILE", { x: 0.4, y: 4.42, w: 9.2, h: 0.3, fontSize: 11, bold: true, color: C.green, fontFace: "Calibri" });
s.addText("Common AEs: Injection site reactions (pain, redness, swelling) in ~80%; Syncope (brief — observe for 15 min post-injection)\nSerious AEs: Rare; No causal link to autoimmune disorders proven; Safe in immunocompromised\nContraindications: Hypersensitivity to yeast/Al compounds; Defer in pregnancy (but not harmful if given inadvertently)", {
x: 0.4, y: 4.74, w: 9.2, h: 0.6, fontSize: 10.5, color: C.text, fontFace: "Calibri", wrap: true
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — HPV IN INDIA
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 7", "HPV Vaccination in India — CERVAVAC & Universal Immunization Programme", C.red);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 13 — HPV VACCINATION INDIA
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "HPV Vaccination in India — National Programme", "India accounts for 25% of global cervical cancer deaths — Now Responding", C.red, C.white);
s.addText("TIMELINE OF HPV VACCINATION IN INDIA", {
x: 0.3, y: 1.38, w: 9.4, h: 0.38,
fontSize: 13, bold: true, color: C.red, fontFace: "Calibri", align: "center"
});
const timeline = [
{ year: "2008", event: "Gardasil & Cervarix approved in India (private sector)", col: C.muted },
{ year: "2013", event: "ICMR/PATH HPV vaccine demonstration programme (AP & Gujarat) halted due to controversy", col: C.amber },
{ year: "2022", event: "CERVAVAC approved by CDSCO — Serum Institute; first indigenous HPV vaccine", col: C.teal },
{ year: "2023", event: "MoHFW contacts 7 states for phase-wise UIP rollout (girls 9–14 yrs); Budget allocated ₹200–400/dose", col: C.navy },
{ year: "2025–26", event: "Nationwide HPV vaccination launched under UIP; Target: 68 million girls; 11.2 million girls/year thereafter", col: C.green },
];
timeline.forEach((t, i) => {
s.addShape(pres.ShapeType.ellipse, { x: 0.3, y: 1.88 + i * 0.65, w: 0.65, h: 0.52, fill: { color: t.col } });
s.addText(t.year, { x: 0.3, y: 1.88 + i * 0.65, w: 0.65, h: 0.52, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
if (i < 4) s.addShape(pres.ShapeType.line, { x: 0.625, y: 2.4 + i * 0.65, w: 0, h: 0.25, line: { color: t.col, width: 2 } });
s.addShape(pres.ShapeType.roundRect, { x: 1.1, y: 1.88 + i * 0.65, w: 8.6, h: 0.52, fill: { color: C.white }, line: { color: t.col, width: 1 }, rectRadius: 0.05 });
s.addText(t.event, { x: 1.2, y: 1.88 + i * 0.65, w: 8.4, h: 0.52, fontSize: 11.5, color: C.text, fontFace: "Calibri", valign: "middle", wrap: true });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 14 — CERVAVAC & UIP DETAILS
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "CERVAVAC Under UIP — Schedule, Target & Cold Chain", "India's Indigenous Quadrivalent HPV Vaccine", C.red, C.white);
// Left
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.38, w: 4.4, h: 4.0, fill: { color: C.white }, line: { color: C.red, width: 1.5 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.38, w: 4.4, h: 0.5, fill: { color: C.red } });
s.addText("VACCINATION SCHEDULE (CERVAVAC)", { x: 0.35, y: 1.4, w: 4.3, h: 0.45, fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 2 });
const schedule = [
["Age Group", "Doses", "Schedule"],
["9–14 years (UIP primary)", "2 doses", "Month 0 & Month 6"],
["15–26 years", "3 doses", "Month 0, 2 & 6"],
["< 9 years", "Not recommended", "Safety not established"],
["Pregnancy", "Defer", "Not contraindicated if inadvertent"],
];
schedule.forEach((row, i) => {
const bg = i === 0 ? "FFCDD2" : (i % 2 === 1 ? "FFEBEE" : C.white);
s.addShape(pres.ShapeType.rect, { x: 0.32, y: 1.9 + i * 0.56, w: 4.36, h: 0.54, fill: { color: bg } });
[row[0], row[1], row[2]].forEach((cell, j) => {
const w = [1.8, 1.1, 1.35];
const x = [0.35, 2.18, 3.3];
s.addText(cell, { x: x[j], y: 1.93 + i * 0.56, w: w[j], h: 0.48, fontSize: i === 0 ? 10 : 10.5, bold: i === 0, color: C.text, fontFace: "Calibri", valign: "middle", wrap: true, margin: 2 });
});
});
s.addText("Route: IM | Site: Deltoid or anterolateral thigh | 0.5 mL/dose", {
x: 0.35, y: 4.72, w: 4.3, h: 0.5,
fontSize: 10.5, color: C.teal, fontFace: "Calibri", italic: true, valign: "middle"
});
// Right
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.38, w: 4.7, h: 4.0, fill: { color: C.white }, line: { color: C.navy, width: 1.5 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.38, w: 4.7, h: 0.5, fill: { color: C.navy } });
s.addText("KEY IMPLEMENTATION DETAILS", { x: 5.05, y: 1.4, w: 4.6, h: 0.45, fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 2 });
bulletBox(s, [
"Target population: Girls aged 9–14 years",
"Delivery platform: School-based programme (Class 5/6)",
"Estimated target: 68 million girls (phase-wise)",
"Annual cohort: ~11.2 million girls per year",
"Cold chain: 2–8°C (standard refrigerator chain)",
"Catch-up vaccination: 15–26 years (private sector)",
"States (2023 rollout): HP, TN, Sikkim, Punjab, Goa, Dadra & Daman, Puducherry",
"Screening coverage VIA: Only 2% in India (NFHS-5) — major gap",
"WHO prequalification of CERVAVAC: Under process",
"Cost: ₹200–400 per dose under UIP (vs ₹3,000+ private)",
], 5.1, 1.95, 4.5, 3.35, { fontSize: 10.5 });
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 15 — WHO RECOMMENDATIONS (SINGLE DOSE)
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "WHO Recommendations on HPV Vaccination (2022 Update)", "Single-Dose Strategy & Global Evidence", C.green, C.white);
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.38, w: 9.4, h: 1.2, fill: { color: "E8F5E9" }, line: { color: C.green, width: 1.5 }, rectRadius: 0.08 });
s.addText("WHO 2022 Updated Recommendations", { x: 0.4, y: 1.42, w: 9.2, h: 0.38, fontSize: 13, bold: true, color: C.green, fontFace: "Calibri" });
s.addText("Single-dose schedule recommended for girls 9–20 years; 2-dose schedule (6 months apart) for women >21 years; HPV vaccination in boys optional (country decision)", {
x: 0.4, y: 1.82, w: 9.2, h: 0.62,
fontSize: 11.5, color: C.text, fontFace: "Calibri", wrap: true
});
const whoDets = [
{ title: "Primary Target", body: "Girls aged 9–14 years\n(Before sexual debut\n= highest efficacy)", col: C.green },
{ title: "Secondary Target", body: "Young women 15–26 yrs\n(Catch-up vaccination\n— 3 doses)", col: C.navy },
{ title: "Male Vaccination", body: "Optional — MSM at risk\nAnal cancer prevention\nNot in India NIP yet", col: C.amber },
{ title: "Immunocompromised", body: "HIV+ women eligible\n3-dose schedule\nCD4 count independent", col: C.red },
];
whoDets.forEach((w, i) => {
statBox(s, w.title, w.body, w.col, 0.3 + i * 2.4, 2.72, 2.2, 1.8);
});
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 4.6, w: 9.4, h: 0.75, fill: { color: "FFF8E1" }, line: { color: C.amber, width: 1 }, rectRadius: 0.06 });
s.addText("90-70-90 WHO Strategy by 2030: 90% girls vaccinated by 15 yrs | 70% screened at 35 & 45 yrs | 90% diagnosed women treated", {
x: 0.4, y: 4.65, w: 9.2, h: 0.65,
fontSize: 11.5, bold: true, color: "E65100", fontFace: "Calibri", wrap: true, align: "center"
});
}
// ─────────────────────────────────────────────────────────────────
// SECTION DIVIDER — CHALLENGES
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "SECTION 8", "Challenges, Strategies & Way Forward", C.teal);
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 16 — CHALLENGES & STRATEGIES
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Challenges & Strategies for HPV Vaccination in India", "PSM Perspective — Implementation Science", C.teal, C.white);
const challenges = [
"Vaccine hesitancy — myths about sexuality",
"Low awareness among parents & girls",
"School dropout / out-of-school girls",
"Cold chain maintenance in rural areas",
"Inadequate health worker training",
"Socio-cultural barriers & stigma",
"Cost even after subsidy in private sector",
];
const strategies = [
"Community sensitization — AWW, ASHA, ANM",
"IEC campaigns: mass media & social media",
"School-based delivery — class 5 & 6 enrollment",
"District cold chain strengthening (ILR/DF)",
"Capacity building of health workers",
"Male champion models / community mobilization",
"Fixed + outreach sessions + mobile vaccination units",
];
s.addText("CHALLENGES", { x: 0.3, y: 1.38, w: 4.5, h: 0.4, fontSize: 13, bold: true, color: C.red, fontFace: "Calibri", align: "center" });
s.addText("STRATEGIES", { x: 5.2, y: 1.38, w: 4.5, h: 0.4, fontSize: 13, bold: true, color: C.green, fontFace: "Calibri", align: "center" });
challenges.forEach((c, i) => {
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.82 + i * 0.52, w: 4.5, h: 0.45, fill: { color: "FFEBEE" }, line: { color: C.red, width: 0.8 }, rectRadius: 0.05 });
s.addText("✗ " + c, { x: 0.4, y: 1.82 + i * 0.52, w: 4.3, h: 0.45, fontSize: 11, color: C.red, fontFace: "Calibri", valign: "middle", wrap: true });
});
strategies.forEach((st, i) => {
s.addShape(pres.ShapeType.roundRect, { x: 5.2, y: 1.82 + i * 0.52, w: 4.5, h: 0.45, fill: { color: "E8F5E9" }, line: { color: C.green, width: 0.8 }, rectRadius: 0.05 });
s.addText("✓ " + st, { x: 5.3, y: 1.82 + i * 0.52, w: 4.3, h: 0.45, fontSize: 11, color: C.green, fontFace: "Calibri", valign: "middle", wrap: true });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 17 — WAY FORWARD: INTEGRATED APPROACH
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "Integrated Prevention & Control of Cervical Cancer in India", "Towards Elimination — WHO 90-70-90 Strategy", C.teal, C.white);
const pillars = [
{ title: "PRIMARY PREVENTION", items: ["HPV vaccination 9–14 yrs under UIP", "Health education in schools", "Delay sexual debut; reduce partner numbers", "Barrier contraception counselling", "Quit tobacco — smoking cessation"], col: C.green, bg: "E8F5E9" },
{ title: "SECONDARY PREVENTION", items: ["Scale up VIA/VILI screening", "HPV DNA testing (screen-and-treat)", "Pap smear in urban health centres", "LEEP/cryo for CIN 2/3", "Colposcopy & directed biopsy"], col: C.navy, bg: C.lightBlue },
{ title: "TERTIARY PREVENTION", items: ["Early stage surgery (radical hysterectomy)", "Concurrent chemoradiation (cisplatin)", "Brachytherapy at regional cancer centres", "Palliative care programmes", "Immunotherapy (pembrolizumab)"], col: "6A1B9A", bg: "EDE7F6" },
];
pillars.forEach((p, i) => {
s.addShape(pres.ShapeType.roundRect, { x: 0.3 + i * 3.3, y: 1.4, w: 3.1, h: 4.0, fill: { color: p.bg }, line: { color: p.col, width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 0.3 + i * 3.3, y: 1.4, w: 3.1, h: 0.62, fill: { color: p.col } });
s.addText(p.title, { x: 0.35 + i * 3.3, y: 1.42, w: 3.0, h: 0.58, fontSize: 11, bold: true, color: C.white, align: "center", fontFace: "Calibri", valign: "middle", wrap: true, margin: 0 });
bulletBox(s, p.items, 0.4 + i * 3.3, 2.1, 2.9, 3.15, { fontSize: 11 });
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 18 — KEY MESSAGES & CONCLUSION
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
sectionBg(s, C.navy);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.2, fill: { color: C.red } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.4, w: 10, h: 0.225, fill: { color: C.green } });
s.addText("KEY MESSAGES & CONCLUSION", {
x: 0.5, y: 0.28, w: 9, h: 0.6,
fontSize: 22, bold: true, color: C.white, align: "center", fontFace: "Calibri", charSpacing: 2
});
s.addShape(pres.ShapeType.line, { x: 2, y: 0.92, w: 6, h: 0, line: { color: "90CAF9", width: 2 } });
const msgs = [
["Vaccine Preventable Cancer", "Cervical cancer is one of the few cancers preventable by vaccine — HPV vaccination must be made universal", C.green],
["India's Milestone", "CERVAVAC (Made in India) + UIP inclusion 2025–26 is a landmark achievement in public health", "90CAF9"],
["Triple Strategy", "Vaccination alone is not sufficient — integrate with screening (VIA/HPV DNA) and early treatment", C.amber],
["Window of Opportunity", "Vaccinating girls 9–14 years (before sexual debut) provides maximum immunological benefit", C.red],
["PSM Role", "MD PSM residents are key advocates — promote IEC, community mobilization, cold chain monitoring & research", "CE93FD"],
];
msgs.forEach((m, i) => {
const row = Math.floor(i / 3);
const col = i % 3;
const w = i < 3 ? 3.0 : 4.55;
const x = i < 3 ? 0.3 + col * 3.15 : 0.35 + (i - 3) * 4.85;
const y = row === 0 ? 1.08 : 3.05;
s.addShape(pres.ShapeType.roundRect, { x, y, w, h: 1.82, fill: { color: "0D47A1" }, line: { color: m[2], width: 2 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w, h: 0.42, fill: { color: m[2] } });
s.addText(m[0], { x, y, w, h: 0.42, fontSize: 10, bold: true, color: C.navy, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(m[1], { x: x + 0.1, y: y + 0.48, w: w - 0.2, h: 1.25, fontSize: 10.5, color: C.white, fontFace: "Calibri", wrap: true, valign: "top" });
});
s.addText("\"Cervical cancer can be eliminated within a generation — vaccination is the cornerstone\"", {
x: 1, y: 4.98, w: 8, h: 0.4,
fontSize: 11, italic: true, color: "90CAF9", align: "center", fontFace: "Calibri"
});
}
// ─────────────────────────────────────────────────────────────────
// SLIDE 19 — REFERENCES
// ─────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(s, "References & Further Reading", "", C.navy, C.white);
const refs = [
"1. WHO. Human Papillomavirus (HPV) vaccines: WHO position paper (2022). Weekly Epidemiological Record 97(50):645–672",
"2. ICO/IARC Information Centre on HPV and Cancer. India Human Papillomavirus and Related Cancers, Fact Sheet 2023",
"3. Serum Institute of India. CERVAVAC® Summary of Product Characteristics, CDSCO 2022",
"4. National Cancer Registry Programme, ICMR. Cancer Incidence Estimates for 2022 & Projection for 2025. Indian J Med Res 2022;156:598–607",
"5. NCCN Clinical Practice Guidelines in Oncology — Cervical Cancer, Version 2.2026",
"6. Colombo et al. ESMO-ESGO Consensus Conference Recommendations on Cervical Cancer. Ann Oncol 2024",
"7. Monk BJ et al. KEYNOTE-A18: Pembrolizumab + Concurrent Chemoradiotherapy in Cervical Cancer. NEJM 2023",
"8. Berek & Novak's Gynecology, 16th Edition. Cervical Intraepithelial Neoplasia (Chapter 29)",
"9. Bhattacharya S et al. HPV immunisation in India — framework for routine rollout. J Fam Med Primary Care 2025;PMC11844949",
"10. Pal D, Sahoo BK, Taywade M. Knowledge, Attitude & Practice regarding HPV vaccination in India: Systematic Review & Meta-analysis. Asian Pac J Cancer Prev 2024 (PMID: 38546062)",
"11. MoHFW India. Universal Immunization Programme — HPV Vaccine Introduction Guidelines 2025",
"12. Cervical cancer burden in India: ICMR-MOHFW descriptive epidemiological study. PMC12702179 (2025)",
];
refs.forEach((r, i) => {
s.addText(r, {
x: 0.4, y: 1.38 + i * 0.35, w: 9.2, h: 0.33,
fontSize: 9.5, color: C.subtext, fontFace: "Calibri", wrap: true, valign: "top"
});
});
}
// ─────────────────────────────────────────────────────────────────
// WRITE FILE
// ─────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hpv-presentation/HPV_Vaccination_India_Cancer_Cervix.pptx" })
.then(() => console.log("✅ Presentation saved successfully!"))
.catch(e => { console.error("ERROR:", e); process.exit(1); });
cd /home/daytona/workspace/hpv-presentation && node create_hpv_presentation.js 2…
ls -lh /home/daytona/workspace/hpv-presentation/
HPV Vaccination India Cancer Cervix
Presentation · PPTX
| # | Section | Slides | Key Content |
|---|---|---|---|
| — | Title + Contents | 1–2 | Topic overview, table of contents |
| 1 | Burden of Disease | 3 | Global: 660,000 cases/year; India: 123,907 cases, 77,348 deaths, 25% of world's deaths |
| 2 | HPV Virology & Pathogenesis | 4–5 | Structure, classification (high/low risk types), E6/E7 oncoproteins, 4-step carcinogenesis pathway |
| 3 | Cancer Cervix — Risk Factors & Screening | 6–7 | 10 risk factors, histological types, PAP/HPV/VIA/Colposcopy comparison |
| 4 | FIGO 2018 Staging | 8 | All 4 stages with full substages in visual columns |
| 5 | Treatment | 9–10 | Stage-based treatment table (Stage IA1 → IVB), KEYNOTE-A18 pembrolizumab data (June 2025 FDA approval), bevacizumab, ADCs |
| 6 | HPV Vaccines | 11–12 | Cervarix, Gardasil-4, CERVAVAC, Gardasil-9 comparison; efficacy table; safety profile |
| 7 | HPV Vaccination in India | 13–15 | Timeline 2008–2026, CERVAVAC UIP schedule (2-dose for 9–14 yrs), 68 million girls target, WHO 90-70-90 strategy |
| 8 | Challenges & Way Forward | 16–17 | 7 challenges + 7 strategies, integrated prevention pillars (primary/secondary/tertiary) |
| — | Key Messages + References | 18–19 | 5 take-home messages, 12 cited references (WHO, ICMR, NCCN, KEYNOTE-A18, PubMed) |