~/emerging-infections-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Emerging Infections - NEET PG";
pres.author = "Community Medicine";
// βββ COLOR PALETTE βββββββββββββββββββββββββββββββββββββββββββββββ
const DARK_BG = "0D1B2A"; // deep navy (title / conclusion)
const MID_BG = "1A2F4A"; // mid navy (MCQ slides)
const LIGHT_BG = "F0F4F8"; // off-white (content slides)
const ACCENT_RED = "E63946"; // vivid red (urgent / high-yield)
const ACCENT_YEL = "F4A261"; // amber (moderate priority)
const ACCENT_GRN = "2A9D8F"; // teal-green (low priority / answer)
const WHITE = "FFFFFF";
const DARK_TEXT = "1A1A2E";
const LIGHT_GRAY = "D1D9E6";
// helper β full-bleed background rect
function bg(slide, fill) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: fill }, line: { color: fill } });
}
// helper β top accent bar
function topBar(slide, color) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.08, fill: { color: color }, line: { color: color } });
}
// helper β section label chip
function chip(slide, label, x, y, color) {
slide.addShape(pres.ShapeType.roundRect, { x, y, w: 2.1, h: 0.32, fill: { color: color }, line: { color: color }, rectRadius: 0.06 });
slide.addText(label, { x, y, w: 2.1, h: 0.32, fontSize: 9, bold: true, color: WHITE, align: "center", valign: "middle", margin: 0 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 1 β TITLE
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, DARK_BG);
// decorative diagonal band
s.addShape(pres.ShapeType.rect, { x: 6.8, y: 0, w: 3.2, h: 5.625, fill: { color: MID_BG }, line: { color: MID_BG } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.7, w: "100%", h: 0.925, fill: { color: "122540" }, line: { color: "122540" } });
s.addText("EMERGING", { x: 0.5, y: 0.6, w: 6, h: 1, fontSize: 54, bold: true, color: WHITE, fontFace: "Calibri" });
s.addText("INFECTIONS", { x: 0.5, y: 1.45, w: 6, h: 1, fontSize: 54, bold: true, color: ACCENT_RED, fontFace: "Calibri" });
s.addText("High-Yield NEET PG Preparation", { x: 0.5, y: 2.55, w: 6, h: 0.45, fontSize: 17, color: LIGHT_GRAY, fontFace: "Calibri", italic: true });
// side decorative icons (emoji text)
s.addText("π¦ ", { x: 7.1, y: 0.4, w: 2.5, h: 2.5, fontSize: 90, align: "center" });
s.addText("Community Medicine | DBMCI 2025", { x: 0, y: 4.75, w: "100%", h: 0.5, fontSize: 11, color: LIGHT_GRAY, align: "center", valign: "middle", margin: 0 });
s.addText("Nipah Β· Ebola Β· CCHF Β· Zika Β· Mpox Β· Hanta Β· Leptospirosis", { x: 0, y: 5.2, w: "100%", h: 0.35, fontSize: 10, color: "8899AA", align: "center", margin: 0 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 2 β OVERVIEW TABLE (Priority map)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
topBar(s, ACCENT_RED);
s.addText("OVERVIEW β Priority Map", { x: 0.4, y: 0.15, w: 9.2, h: 0.55, fontSize: 22, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
const rows = [
[{ text: "Disease", options: { bold: true, color: WHITE } },
{ text: "Reservoir", options: { bold: true, color: WHITE } },
{ text: "Vector / Route", options: { bold: true, color: WHITE } },
{ text: "Hallmark", options: { bold: true, color: WHITE } },
{ text: "Priority", options: { bold: true, color: WHITE } }],
["Nipah", "Fruit Bat", "Date palm sap / Pig / Droplets", "Acute Encephalitis", "π΄π΄π΄ Highest"],
["Zika", "Aedes mosquito", "Mosquito bite / Sexual", "Microcephaly + GBS", "π΄π΄π΄ Highest"],
["Ebola", "Fruit Bat", "Secretions / Body fluids", "Acute Hemorrhagic Fever", "π π High"],
["CCHF", "Cattle, Camel", "Hard Tick", "Acute Hemorrhagic Fever", "π π High"],
["Mpox", "Primates, Rodents", "Droplet + Contact", "Face/Palms/Soles rash", "π‘ Moderate"],
["Hanta", "Rodents", "Inhaled rat feces", "ARDS + multi-organ failure", "π‘ Moderate"],
["Leptospirosis", "Rats", "Rat urine / Sewage", "Weil's Disease", "π’ Lower"],
];
s.addTable(rows, {
x: 0.3, y: 0.82, w: 9.4, h: 4.55,
fontSize: 10.5,
fontFace: "Calibri",
color: DARK_TEXT,
rowH: 0.52,
border: { type: "solid", color: LIGHT_GRAY, pt: 0.5 },
fill: { color: LIGHT_BG },
valign: "middle",
align: "center",
colW: [1.5, 1.4, 2.3, 2.2, 2.0],
thead: { fill: { color: DARK_BG }, color: WHITE, bold: true },
});
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 3 β NIPAH VIRUS (Content)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
// left accent strip
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.15, h: "100%", fill: { color: ACCENT_RED }, line: { color: ACCENT_RED } });
chip(s, "π΄ HIGHEST PRIORITY", 0.3, 0.15, ACCENT_RED);
s.addText("1. NIPAH VIRUS", { x: 0.3, y: 0.52, w: 9.3, h: 0.55, fontSize: 26, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
// Key facts box
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 4.4, h: 2.6, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText("KEY FACTS", { x: 0.3, y: 1.18, w: 4.4, h: 0.38, fontSize: 11, bold: true, color: ACCENT_YEL, align: "center", margin: 0 });
s.addText([
{ text: "1st Case: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Malaysia\n", options: { color: WHITE } },
{ text: "Reservoir: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Fruit Bats\n", options: { color: WHITE } },
{ text: "India Outbreaks: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "West Bengal & Kerala\n", options: { color: WHITE } },
{ text: "Mortality: ", options: { bold: true, color: ACCENT_RED } },
{ text: "40β75% (very high!)\n", options: { color: WHITE, bold: true } },
{ text: "C/O: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Acute Encephalitis\n", options: { color: WHITE } },
{ text: "D/D: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Japanese Encephalitis (JE)", options: { color: WHITE } },
], { x: 0.4, y: 1.6, w: 4.2, h: 2.0, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
// Transmission box
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.15, w: 4.7, h: 2.6, fill: { color: "E8F4F8" }, line: { color: ACCENT_GRN, pt: 1.5 }, rectRadius: 0.08 });
s.addText("TRANSMISSION CHAINS", { x: 5.0, y: 1.18, w: 4.7, h: 0.38, fontSize: 11, bold: true, color: ACCENT_GRN, align: "center", margin: 0 });
s.addText([
{ text: "π¦ BAT β π· PIG β π€ MAN\n", options: { bold: true, color: DARK_TEXT } },
{ text: "(Pig = Amplifying host / Risk factor)\n\n", options: { color: "556677", fontSize: 10, italic: true } },
{ text: "π¦ BAT β Date Palm Sap β π€ MAN\n", options: { bold: true, color: DARK_TEXT } },
{ text: "(via blood, saliva, urine of bat)\n\n", options: { color: "556677", fontSize: 10, italic: true } },
{ text: "π€ MAN β Body Fluids/Droplets β π€ MAN\n", options: { bold: true, color: DARK_TEXT } },
{ text: "(Human-to-human spread)", options: { color: "556677", fontSize: 10, italic: true } },
], { x: 5.1, y: 1.6, w: 4.5, h: 2.1, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// MCQ trigger banner
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.9, w: 9.4, h: 1.45, fill: { color: "FFF3CD" }, line: { color: ACCENT_YEL, pt: 1 } });
s.addText("β‘ MCQ TRIGGERS", { x: 0.4, y: 3.93, w: 9.2, h: 0.3, fontSize: 11, bold: true, color: "7B4F00", margin: 0 });
s.addText([
{ text: "β’ Barking pig sound = characteristic of Nipah in pigs ", options: {} },
{ text: "β’ Mortality 40β75% = highest among viral encephalitides ", options: {} },
{ text: "β’ D/D = JE (both cause acute encephalitis)\n", options: {} },
{ text: "β’ India cases = West Bengal + Kerala ", options: {} },
{ text: "β’ 1st case = Malaysia", options: {} },
], { x: 0.4, y: 4.26, w: 9.2, h: 1.0, fontSize: 10.5, color: DARK_TEXT, fontFace: "Calibri", lineSpacingMultiple: 1.25 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 4 β NIPAH MCQ
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, MID_BG);
topBar(s, ACCENT_RED);
s.addText("MCQ β NIPAH VIRUS", { x: 0.4, y: 0.18, w: 9.2, h: 0.5, fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri" });
// Q1
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 0.78, w: 9.4, h: 1.6, fill: { color: "16304E" }, line: { color: LIGHT_GRAY, pt: 0.5 }, rectRadius: 0.08 });
s.addText("Q1. A 35-year-old farmer from Kerala presents with fever and acute encephalitis. History of contact with pigs and consuming fresh date palm sap. Which virus is the MOST likely causative agent?", { x: 0.5, y: 0.85, w: 9.0, h: 0.9, fontSize: 12, color: WHITE, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
s.addText([
{ text: " A. Japanese Encephalitis B. Nipah Virus C. Rabies D. Herpes Simplex Encephalitis", options: { color: LIGHT_GRAY } }
], { x: 0.5, y: 1.68, w: 9.0, h: 0.35, fontSize: 11, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 2.45, w: 9.4, h: 0.52, fill: { color: ACCENT_GRN }, line: { color: ACCENT_GRN }, rectRadius: 0.06 });
s.addText("β
Answer: B. Nipah Virus β Kerala + pig contact + date palm sap = classic Nipah scenario", { x: 0.4, y: 2.47, w: 9.2, h: 0.46, fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
// Q2
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 3.1, w: 9.4, h: 1.15, fill: { color: "16304E" }, line: { color: LIGHT_GRAY, pt: 0.5 }, rectRadius: 0.08 });
s.addText("Q2. What is the mortality rate of Nipah virus infection in humans?", { x: 0.5, y: 3.15, w: 9.0, h: 0.45, fontSize: 12, color: WHITE, fontFace: "Calibri" });
s.addText(" A. 5β10% B. 15β25% C. 40β75% D. >90%", { x: 0.5, y: 3.6, w: 9.0, h: 0.35, fontSize: 11, color: LIGHT_GRAY, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 4.3, w: 9.4, h: 0.52, fill: { color: ACCENT_GRN }, line: { color: ACCENT_GRN }, rectRadius: 0.06 });
s.addText("β
Answer: C. 40β75% β One of the highest mortality rates among viral encephalitides", { x: 0.4, y: 4.32, w: 9.2, h: 0.46, fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText("Q3. Reservoir of Nipah virus: (A) Dog (B) Pig (C) Fruit Bat (D) Rodent β β
C. Fruit Bat", { x: 0.3, y: 4.97, w: 9.4, h: 0.38, fontSize: 10.5, color: LIGHT_GRAY, italic: true, fontFace: "Calibri" });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 5 β EBOLA (Content)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.15, h: "100%", fill: { color: "C1121F" }, line: { color: "C1121F" } });
chip(s, "π HIGH PRIORITY", 0.3, 0.15, "C1121F");
s.addText("2. EBOLA HEMORRHAGIC FEVER", { x: 0.3, y: 0.52, w: 9.3, h: 0.55, fontSize: 24, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
// Left box
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 4.4, h: 2.4, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText("KEY FACTS", { x: 0.3, y: 1.18, w: 4.4, h: 0.35, fontSize: 11, bold: true, color: ACCENT_YEL, align: "center", margin: 0 });
s.addText([
{ text: "Reservoir: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Fruit Bats\n", options: { color: WHITE } },
{ text: "C/O: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Acute Hemorrhagic Fever\n", options: { color: WHITE } },
{ text: "D/D: ", options: { bold: true, color: ACCENT_RED } },
{ text: "Yellow Fever β\n", options: { color: WHITE, bold: true } },
{ text: "Prevention: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Universal Precautions\n", options: { color: WHITE } },
{ text: "Note: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Same reservoir as Nipah (Fruit Bat)", options: { color: LIGHT_GRAY, italic: true } },
], { x: 0.4, y: 1.57, w: 4.2, h: 1.9, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.35 });
// Right box
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.15, w: 4.7, h: 2.4, fill: { color: "E8F4F8" }, line: { color: "C1121F", pt: 1.5 }, rectRadius: 0.08 });
s.addText("TRANSMISSION", { x: 5.0, y: 1.18, w: 4.7, h: 0.35, fontSize: 11, bold: true, color: "C1121F", align: "center", margin: 0 });
s.addText([
{ text: "Step 1:\n", options: { bold: true, color: DARK_TEXT } },
{ text: "π¦ BAT --secretions--> π€ MAN\n\n", options: { color: DARK_TEXT } },
{ text: "Step 2:\n", options: { bold: true, color: DARK_TEXT } },
{ text: "π€ MAN --body fluids--> π€ MAN\n\n", options: { color: DARK_TEXT } },
{ text: "β Healthcare workers at HIGH risk\n", options: { color: "C1121F", bold: true } },
{ text: "(Universal precautions mandatory)", options: { color: "556677", italic: true } },
], { x: 5.1, y: 1.6, w: 4.5, h: 1.9, fontSize: 11.5, fontFace: "Calibri", lineSpacingMultiple: 1.25 });
// MCQ banner
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.68, w: 9.4, h: 1.65, fill: { color: "FFF3CD" }, line: { color: ACCENT_YEL, pt: 1 } });
s.addText("β‘ MCQ TRIGGERS + QUICK MCQ", { x: 0.4, y: 3.71, w: 9.2, h: 0.3, fontSize: 11, bold: true, color: "7B4F00", margin: 0 });
s.addText([
{ text: "β’ Ebola D/D = Yellow Fever (both: hemorrhagic fever) β’ Prevention = Universal Precautions\n", options: {} },
{ text: "β’ Reservoir = Fruit Bat (same as Nipah β common confuser!)\n", options: {} },
{ text: "Q: Prevention of Ebola: (A) Vaccine (B) Universal precautions (C) Quarantine (D) Antiviral β β
B. Universal Precautions", options: { bold: true, color: "7B4F00" } },
], { x: 0.4, y: 4.04, w: 9.2, h: 1.22, fontSize: 10.5, color: DARK_TEXT, fontFace: "Calibri", lineSpacingMultiple: 1.28 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 6 β CCHF (Content)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.15, h: "100%", fill: { color: "E07B00" }, line: { color: "E07B00" } });
chip(s, "π HIGH PRIORITY", 0.3, 0.15, "E07B00");
s.addText("3. CRIMEAN-CONGO HEMORRHAGIC FEVER (CCHF)", { x: 0.3, y: 0.52, w: 9.3, h: 0.55, fontSize: 21, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
// Left
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 4.4, h: 2.7, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText("KEY FACTS", { x: 0.3, y: 1.18, w: 4.4, h: 0.35, fontSize: 11, bold: true, color: ACCENT_YEL, align: "center", margin: 0 });
s.addText([
{ text: "Indian States: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Gujarat, UP, Rajasthan\n", options: { color: WHITE } },
{ text: "Reservoir: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Cattle, Camel, Goats, Sheep\n", options: { color: WHITE } },
{ text: "Vector: ", options: { bold: true, color: ACCENT_RED } },
{ text: "Hard Tick (Hyalomma) β\n", options: { color: WHITE, bold: true } },
{ text: "Tick transmission: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Transovarial\n", options: { color: WHITE } },
{ text: "C/O: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Acute Hemorrhagic Fever\n", options: { color: WHITE } },
{ text: "High-risk: ", options: { bold: true, color: ACCENT_RED } },
{ text: "Vet Doctors + Farmers β", options: { color: WHITE, bold: true } },
], { x: 0.4, y: 1.57, w: 4.2, h: 2.2, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
// Right
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.15, w: 4.7, h: 2.7, fill: { color: "FFF8EE" }, line: { color: "E07B00", pt: 1.5 }, rectRadius: 0.08 });
s.addText("TRANSMISSION CYCLE", { x: 5.0, y: 1.18, w: 4.7, h: 0.35, fontSize: 11, bold: true, color: "E07B00", align: "center", margin: 0 });
s.addText([
{ text: "Cattle / Camel\n", options: { bold: true, color: DARK_TEXT, fontSize: 13 } },
{ text: " β\n", options: { color: DARK_TEXT, fontSize: 14 } },
{ text: "Hard Tick (vector)\n", options: { bold: true, color: "C1121F", fontSize: 13 } },
{ text: " β\n", options: { color: DARK_TEXT, fontSize: 14 } },
{ text: "MAN\n", options: { bold: true, color: DARK_TEXT, fontSize: 13 } },
{ text: "\nβ Vet doctors & farmers\n", options: { bold: true, color: "C1121F" } },
{ text: "have highest occupational risk", options: { italic: true, color: "556677" } },
], { x: 5.1, y: 1.6, w: 4.5, h: 2.15, fontSize: 11.5, fontFace: "Calibri", lineSpacingMultiple: 1.15 });
// Banner
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.98, w: 9.4, h: 1.35, fill: { color: "FFF3CD" }, line: { color: ACCENT_YEL, pt: 1 } });
s.addText("β‘ MCQ TRIGGERS + QUICK MCQ", { x: 0.4, y: 4.01, w: 9.2, h: 0.28, fontSize: 11, bold: true, color: "7B4F00", margin: 0 });
s.addText([
{ text: "β’ Vector = Hard Tick (NOT soft tick) β’ At-risk = Vet doctors & Farmers β’ Indian states = Gujarat, UP, Rajasthan\n", options: {} },
{ text: "Q: CCHF vector: (A) Soft tick (B) Hard tick (C) Mosquito (D) Sand fly β β
B. Hard Tick (Hyalomma species)", options: { bold: true, color: "7B4F00" } },
], { x: 0.4, y: 4.31, w: 9.2, h: 0.95, fontSize: 10.5, color: DARK_TEXT, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 7 β ZIKA (Content)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.15, h: "100%", fill: { color: ACCENT_RED }, line: { color: ACCENT_RED } });
chip(s, "π΄ HIGHEST PRIORITY", 0.3, 0.15, ACCENT_RED);
s.addText("4. ZIKA VIRUS", { x: 0.3, y: 0.52, w: 9.3, h: 0.55, fontSize: 26, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
// Left
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.15, w: 4.4, h: 2.85, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText("KEY FACTS", { x: 0.3, y: 1.18, w: 4.4, h: 0.35, fontSize: 11, bold: true, color: ACCENT_YEL, align: "center", margin: 0 });
s.addText([
{ text: "Vector: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Aedes mosquito (DAY-biting!) β\n", options: { color: WHITE } },
{ text: "Newborn complication: ", options: { bold: true, color: ACCENT_RED } },
{ text: "MICROCEPHALY β\n", options: { color: WHITE, bold: true } },
{ text: "Adult complication: ", options: { bold: true, color: ACCENT_RED } },
{ text: "GBS (Guillain-Barre Syndrome) β\n", options: { color: WHITE, bold: true } },
{ text: "Vertical transmission: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Mother β Child (via placenta)\n", options: { color: WHITE } },
{ text: " β Syncytiotrophoblast, Hofbauer cells, Cytotrophoblast\n", options: { color: LIGHT_GRAY, fontSize: 9.5 } },
{ text: "Sexual transmission: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Yes β via semen fluids β", options: { color: WHITE, bold: true } },
], { x: 0.4, y: 1.57, w: 4.2, h: 2.35, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.28 });
// Right
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.15, w: 4.7, h: 2.85, fill: { color: "E8F4F8" }, line: { color: ACCENT_RED, pt: 1.5 }, rectRadius: 0.08 });
s.addText("PREVENTION", { x: 5.0, y: 1.18, w: 4.7, h: 0.35, fontSize: 11, bold: true, color: ACCENT_RED, align: "center", margin: 0 });
s.addText([
{ text: "1. Vector Control\n", options: { bold: true, color: DARK_TEXT, fontSize: 13 } },
{ text: " β Aedes control\n", options: { color: DARK_TEXT } },
{ text: " β Day-time protection (Aedes bites by day)\n\n", options: { color: "556677", italic: true } },
{ text: "2. Barrier Contraception\n", options: { bold: true, color: DARK_TEXT, fontSize: 13 } },
{ text: " β Prevents sexual transmission\n\n", options: { color: "556677", italic: true } },
{ text: "β No vaccine available\n", options: { bold: true, color: ACCENT_RED } },
{ text: "β Avoid pregnancy if Zika-positive", options: { bold: true, color: ACCENT_RED } },
], { x: 5.1, y: 1.6, w: 4.5, h: 2.35, fontSize: 11.5, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// Banner
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 4.12, w: 9.4, h: 1.22, fill: { color: "FFF3CD" }, line: { color: ACCENT_YEL, pt: 1 } });
s.addText("β‘ MCQ TRIGGERS", { x: 0.4, y: 4.15, w: 9.2, h: 0.28, fontSize: 11, bold: true, color: "7B4F00", margin: 0 });
s.addText([
{ text: "β’ Only arboviral disease with SEXUAL transmission β’ Zika + Microcephaly (newborn) = #1 association β’ Zika + GBS (adult) = #2\n", options: {} },
{ text: "β’ Aedes = DAY-biting (β Anopheles night) β’ Vertical transmission via Hofbauer cells of placenta", options: {} },
], { x: 0.4, y: 4.45, w: 9.2, h: 0.82, fontSize: 10.5, color: DARK_TEXT, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 8 β ZIKA MCQ
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, MID_BG);
topBar(s, ACCENT_RED);
s.addText("MCQ β ZIKA VIRUS", { x: 0.4, y: 0.18, w: 9.2, h: 0.5, fontSize: 20, bold: true, color: WHITE, fontFace: "Calibri" });
const mcqs = [
{
q: "Q1. A pregnant woman in her first trimester develops fever and rash after Aedes mosquito bite. Her newborn at delivery shows a very small head circumference. What is the diagnosis?",
opts: " A. Rubella B. Cytomegalovirus C. Zika Virus D. Toxoplasmosis",
ans: "β
Answer: C. Zika Virus β Aedes + Microcephaly in newborn = pathognomonic Zika scenario",
y: 0.78, ay: 2.1,
},
{
q: "Q2. A patient returning from a Zika-endemic area develops progressive ascending weakness and areflexia 2 weeks later. What is the most likely complication of Zika?",
opts: " A. ADEM B. Transverse myelitis C. Guillain-BarrΓ© Syndrome D. Meningitis",
ans: "β
Answer: C. Guillain-BarrΓ© Syndrome (GBS) β Zika = #1 cause of GBS in adults (post-infectious)",
y: 2.72, ay: 4.05,
},
];
mcqs.forEach(m => {
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: m.y, w: 9.4, h: 1.2, fill: { color: "16304E" }, line: { color: LIGHT_GRAY, pt: 0.5 }, rectRadius: 0.08 });
s.addText(m.q, { x: 0.5, y: m.y + 0.07, w: 9.0, h: 0.8, fontSize: 11.5, color: WHITE, fontFace: "Calibri", lineSpacingMultiple: 1.25 });
s.addText(m.opts, { x: 0.5, y: m.y + 0.85, w: 9.0, h: 0.3, fontSize: 11, color: LIGHT_GRAY, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: m.ay, w: 9.4, h: 0.5, fill: { color: ACCENT_GRN }, line: { color: ACCENT_GRN }, rectRadius: 0.06 });
s.addText(m.ans, { x: 0.4, y: m.ay + 0.02, w: 9.2, h: 0.46, fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
});
s.addText("Q3. Unique feature of Zika vs other arboviruses: (A) High mortality (B) Sexual transmission (C) No vector (D) Airborne β β
B. Sexual transmission", { x: 0.3, y: 4.67, w: 9.4, h: 0.65, fontSize: 10.5, color: LIGHT_GRAY, italic: true, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 9 β MPOX + HANTA (Content)
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
// Mpox section
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 5.0, h: 5.625, fill: { color: "F7F9FC" }, line: { color: "F7F9FC" } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: "100%", fill: { color: ACCENT_YEL }, line: { color: ACCENT_YEL } });
chip(s, "π‘ MODERATE", 0.25, 0.12, ACCENT_YEL);
s.addText("5. MONKEY POX (M-POX)", { x: 0.25, y: 0.48, w: 4.5, h: 0.45, fontSize: 16, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 1.0, w: 4.5, h: 3.5, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText([
{ text: "Reservoir: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Primates, Rodents\n", options: { color: WHITE } },
{ text: "Transmission:\n", options: { bold: true, color: ACCENT_YEL } },
{ text: " Animals β secretions β Man\n", options: { color: WHITE } },
{ text: " Man β Droplet + Contact β Man\n\n", options: { color: WHITE } },
{ text: "Rash distribution β:\n", options: { bold: true, color: ACCENT_RED } },
{ text: " Face, Palms, Soles (centrifugal)\n", options: { color: WHITE, bold: true } },
{ text: " Mimics Smallpox!\n\n", options: { color: LIGHT_GRAY, italic: true } },
{ text: "Unique sign β:\n", options: { bold: true, color: ACCENT_RED } },
{ text: " Posterior Cervical Lymphadenopathy\n", options: { color: WHITE, bold: true } },
{ text: " (distinguishes from Smallpox)\n\n", options: { color: LIGHT_GRAY, italic: true, fontSize: 9.5 } },
{ text: "Other: Fever, Rash, CALD\n\n", options: { color: WHITE } },
{ text: "MCQ: Mpox vs Smallpox = post. cervical LAP!", options: { color: ACCENT_YEL, italic: true, fontSize: 9.5 } },
], { x: 0.35, y: 1.15, w: 4.3, h: 3.25, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// Hanta section
s.addShape(pres.ShapeType.rect, { x: 5.05, y: 0, w: 0.12, h: "100%", fill: { color: "5C7AEA" }, line: { color: "5C7AEA" } });
chip(s, "π‘ MODERATE", 5.25, 0.12, "5C7AEA");
s.addText("6. HANTA VIRUS", { x: 5.25, y: 0.48, w: 4.5, h: 0.45, fontSize: 16, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 5.25, y: 1.0, w: 4.5, h: 3.5, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText([
{ text: "Source: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Rat feces (aerosolized)\n", options: { color: WHITE } },
{ text: "Route: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Inhalation β\n", options: { color: WHITE, bold: true } },
{ text: "High-risk: ", options: { bold: true, color: ACCENT_RED } },
{ text: "Sweepers / Janitors β\n\n", options: { color: WHITE, bold: true } },
{ text: "Symptoms:\n", options: { bold: true, color: ACCENT_YEL } },
{ text: " Muscle aches, Fever, Headache, Cough\n", options: { color: WHITE } },
{ text: " β ARD (Acute Respiratory Distress)\n\n", options: { color: WHITE } },
{ text: "Organ failure:\n", options: { bold: true, color: ACCENT_RED } },
{ text: " Lung + Liver + Kidney β\n\n", options: { color: WHITE, bold: true } },
{ text: "MCQ: Sweeper + respiratory distress\nβ Think Hanta virus!", options: { color: ACCENT_YEL, italic: true, fontSize: 9.5 } },
], { x: 5.35, y: 1.15, w: 4.3, h: 3.25, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// divider
s.addShape(pres.ShapeType.line, { x: 5.0, y: 0.1, w: 0, h: 5.42, line: { color: LIGHT_GRAY, pt: 1 } });
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 10 β LEPTOSPIROSIS + MCQ Mix
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, LIGHT_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.15, h: "100%", fill: { color: ACCENT_GRN }, line: { color: ACCENT_GRN } });
chip(s, "π’ LOWER PRIORITY", 0.3, 0.12, ACCENT_GRN);
s.addText("7. LEPTOSPIROSIS", { x: 0.3, y: 0.5, w: 4.5, h: 0.48, fontSize: 22, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
s.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.05, w: 4.5, h: 2.45, fill: { color: "1A2F4A" }, line: { color: "1A2F4A" }, rectRadius: 0.08 });
s.addText([
{ text: "Source: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Rat urine in sewage / water\n", options: { color: WHITE } },
{ text: "Target organ: ", options: { bold: true, color: ACCENT_YEL } },
{ text: "Liver (jaundice)\n", options: { color: WHITE } },
{ text: "Severe form: ", options: { bold: true, color: ACCENT_RED } },
{ text: "Weil's Disease β\n", options: { color: WHITE, bold: true } },
{ text: " (icteric leptospirosis + renal failure)\n\n", options: { color: LIGHT_GRAY, italic: true, fontSize: 9.5 } },
{ text: "MCQ tip: Rat urine exposure\n+ jaundice = Weil's disease", options: { color: ACCENT_YEL, italic: true, fontSize: 10 } },
], { x: 0.4, y: 1.2, w: 4.3, h: 2.2, fontSize: 11, fontFace: "Calibri", lineSpacingMultiple: 1.3 });
// Right side β mixed MCQs
s.addText("β‘ MIXED NEET PG MCQs", { x: 5.0, y: 0.15, w: 4.7, h: 0.4, fontSize: 15, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
const quickMcqs = [
{ q: "Q: Nipah 1st case country?", a: "Malaysia" },
{ q: "Q: CCHF Indian states?", a: "Gujarat, UP, Rajasthan" },
{ q: "Q: Zika + newborn complication?", a: "Microcephaly" },
{ q: "Q: Ebola D/D?", a: "Yellow Fever" },
{ q: "Q: Hanta virus at-risk occupation?", a: "Sweepers (rat feces inhalation)" },
{ q: "Q: Leptospirosis severe form?", a: "Weil's Disease" },
{ q: "Q: Mpox distinguishing sign vs Smallpox?", a: "Posterior cervical lymphadenopathy" },
];
quickMcqs.forEach((m, i) => {
const y = 0.62 + i * 0.68;
s.addShape(pres.ShapeType.roundRect, { x: 5.0, y, w: 4.7, h: 0.62, fill: { color: "E8F4F8" }, line: { color: LIGHT_GRAY }, rectRadius: 0.05 });
s.addText(m.q, { x: 5.1, y: y + 0.03, w: 4.5, h: 0.28, fontSize: 10.5, bold: true, color: DARK_TEXT, fontFace: "Calibri" });
s.addText("β
" + m.a, { x: 5.1, y: y + 0.31, w: 4.5, h: 0.26, fontSize: 10, color: ACCENT_GRN, bold: true, fontFace: "Calibri" });
});
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 11 β MASTER COMPARISON TABLE
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, DARK_BG);
topBar(s, ACCENT_YEL);
s.addText("MASTER COMPARISON TABLE", { x: 0.3, y: 0.12, w: 9.4, h: 0.5, fontSize: 22, bold: true, color: WHITE, fontFace: "Calibri" });
s.addText("Most-tested distinctions in NEET PG", { x: 0.3, y: 0.62, w: 9.4, h: 0.28, fontSize: 11, color: LIGHT_GRAY, italic: true, fontFace: "Calibri" });
const rows = [
[
{ text: "Disease", options: { bold: true, color: WHITE } },
{ text: "Reservoir", options: { bold: true, color: WHITE } },
{ text: "Vector / Route", options: { bold: true, color: WHITE } },
{ text: "Key Complication", options: { bold: true, color: WHITE } },
{ text: "D/D", options: { bold: true, color: WHITE } },
{ text: "At-Risk", options: { bold: true, color: WHITE } },
],
["Nipah", "Fruit Bat", "Date palm sap / Pig", "Acute Encephalitis (40-75% mort.)", "JE", "General public"],
["Ebola", "Fruit Bat", "Body fluids", "Acute Hemorrhagic Fever", "Yellow Fever", "Healthcare workers"],
["CCHF", "Cattle/Camel", "Hard Tick", "Acute Hemorrhagic Fever", "-", "Vet doctors, Farmers"],
["Zika", "NA", "Aedes (day) + Sexual", "Microcephaly / GBS", "-", "Pregnant women"],
["Mpox", "Primates/Rodents", "Droplet + Contact", "Face/Palms/Soles rash", "Smallpox", "Close contacts"],
["Hanta", "Rodents", "Inhaled rat feces", "ARDS + multi-organ failure", "-", "Sweepers"],
["Lepto", "Rats", "Rat urine/Sewage", "Weil's Disease (liver)", "-", "Sewer workers"],
];
s.addTable(rows, {
x: 0.2, y: 0.95, w: 9.6, h: 4.4,
fontSize: 10,
fontFace: "Calibri",
color: WHITE,
rowH: 0.5,
border: { type: "solid", color: "2A4060", pt: 0.5 },
fill: { color: "16304E" },
valign: "middle",
align: "center",
colW: [1.3, 1.3, 1.8, 2.2, 1.3, 1.7],
thead: { fill: { color: ACCENT_RED }, color: WHITE, bold: true },
});
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 12 β RAPID FIRE MCQ Round
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, MID_BG);
topBar(s, ACCENT_GRN);
s.addText("β‘ RAPID FIRE β 10 HIGH-YIELD MCQs", { x: 0.3, y: 0.12, w: 9.4, h: 0.5, fontSize: 21, bold: true, color: WHITE, fontFace: "Calibri" });
const rfs = [
{ n: "1", q: "Nipah first case β country?", a: "Malaysia" },
{ n: "2", q: "Nipah reservoir?", a: "Fruit Bat" },
{ n: "3", q: "Nipah mortality rate?", a: "40β75%" },
{ n: "4", q: "Nipah clinical presentation?", a: "Acute Encephalitis (D/D = JE)" },
{ n: "5", q: "Zika newborn complication?", a: "Microcephaly" },
{ n: "6", q: "Zika adult complication?", a: "GBS (Guillain-Barre Syndrome)" },
{ n: "7", q: "CCHF vector?", a: "Hard Tick (Hyalomma)" },
{ n: "8", q: "CCHF at-risk occupation?", a: "Vet doctors + Farmers" },
{ n: "9", q: "Hanta at-risk group?", a: "Sweepers (inhale rat feces)" },
{ n: "10", q: "Mpox distinguishing sign from smallpox?", a: "Posterior cervical lymphadenopathy" },
];
// Two columns
rfs.forEach((r, i) => {
const col = i < 5 ? 0 : 1;
const row = i % 5;
const x = col === 0 ? 0.2 : 5.1;
const y = 0.72 + row * 0.92;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.7, h: 0.85, fill: { color: "16304E" }, line: { color: ACCENT_GRN, pt: 0.8 }, rectRadius: 0.06 });
s.addText(`Q${r.n}. ${r.q}`, { x: x + 0.12, y: y + 0.04, w: 4.48, h: 0.36, fontSize: 11, color: WHITE, bold: false, fontFace: "Calibri" });
s.addText(`β
${r.a}`, { x: x + 0.12, y: y + 0.42, w: 4.48, h: 0.36, fontSize: 10.5, color: ACCENT_GRN, bold: true, fontFace: "Calibri" });
});
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 13 β ONE-LINERS CHEAT SHEET
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, DARK_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.7, fill: { color: ACCENT_RED }, line: { color: ACCENT_RED } });
s.addText("π ONE-LINERS CHEAT SHEET", { x: 0, y: 0, w: "100%", h: 0.7, fontSize: 22, bold: true, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
const lines = [
{ emoji: "π¦ ", text: "Nipah = Malaysia (1st) | W.Bengal + Kerala (India) | Fruit Bat reservoir | 40-75% mortality | D/D = JE", color: ACCENT_RED },
{ emoji: "π©Έ", text: "Ebola = Fruit Bat β Man β Body fluids β Man | D/D = Yellow Fever | Prev = Universal Precautions", color: "E07B00" },
{ emoji: "π", text: "CCHF = Hard Tick | Cattle/Camel | Gujarat/UP/Rajasthan | Vet doctors + Farmers at risk", color: ACCENT_YEL },
{ emoji: "π¦", text: "Zika = Aedes (day) | Microcephaly (newborn) | GBS (adult) | Only arbovirus with sexual transmission", color: ACCENT_GRN },
{ emoji: "π", text: "Mpox = Primates/Rodents | Face+Palms+Soles rash | Posterior cervical LAP | Mimics Smallpox", color: "5C7AEA" },
{ emoji: "π", text: "Hanta = Rat feces inhaled | Sweepers at risk | ARDS + Lung/Liver/Kidney failure", color: "9B59B6" },
{ emoji: "π§", text: "Leptospirosis = Rat urine/Sewage | Liver β Weil's Disease (icteric + renal failure)", color: "00B4D8" },
];
lines.forEach((l, i) => {
const y = 0.82 + i * 0.67;
s.addShape(pres.ShapeType.roundRect, { x: 0.25, y, w: 9.5, h: 0.6, fill: { color: "122540" }, line: { color: l.color, pt: 1.2 }, rectRadius: 0.05 });
s.addText([
{ text: l.emoji + " ", options: { fontSize: 14 } },
{ text: l.text, options: { color: WHITE, fontSize: 11 } },
], { x: 0.4, y: y + 0.04, w: 9.2, h: 0.52, fontFace: "Calibri", valign: "middle" });
});
}
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
// SLIDE 14 β FINAL / THANK YOU
// ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
let s = pres.addSlide();
bg(s, DARK_BG);
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.8, w: "100%", h: 0.825, fill: { color: ACCENT_RED }, line: { color: ACCENT_RED } });
s.addText("ALL THE BEST", { x: 0.5, y: 1.0, w: 9, h: 1.2, fontSize: 62, bold: true, color: WHITE, align: "center", fontFace: "Calibri", charSpacing: 6 });
s.addText("for NEET PG!", { x: 0.5, y: 2.0, w: 9, h: 0.8, fontSize: 28, color: ACCENT_YEL, align: "center", fontFace: "Calibri", italic: true });
s.addText([
{ text: "Nipah Β· Ebola Β· CCHF Β· Zika Β· Mpox Β· Hanta Β· Leptospirosis", options: { color: LIGHT_GRAY } }
], { x: 0.5, y: 3.1, w: 9, h: 0.45, fontSize: 13, align: "center", fontFace: "Calibri" });
s.addText("You've got this. Master the one-liners. Read the clues. Score full marks.", {
x: 0.5, y: 3.62, w: 9, h: 0.45, fontSize: 12, color: "8899AA", align: "center", italic: true, fontFace: "Calibri"
});
s.addText("Community Medicine Workbook | DBMCI 2025 | Emerging Infections", { x: 0, y: 4.83, w: "100%", h: 0.5, fontSize: 11, color: WHITE, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
}
// βββ WRITE FILE βββββββββββββββββββββββββββββββββββββββββββββββ
pres.writeFile({ fileName: "/home/daytona/workspace/emerging-infections-ppt/Emerging_Infections_NEET_PG.pptx" })
.then(() => console.log("DONE: file saved."))
.catch(e => { console.error("ERROR:", e); process.exit(1); });