Can you make powerpoint presentation for me?
Dengue
mkdir -p /home/daytona/workspace/dengue-pptx && ls /home/daytona/workspace/dengu…
~/dengue-pptx/dengue.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Medical Presentation";
pres.title = "Dengue – A Clinical Overview";
// ─── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
navy: "0D2137", // dominant dark background
teal: "00A896", // primary accent
amber: "F4A261", // warning / highlight
red: "E63946", // danger / severe
white: "FFFFFF",
offWhite:"F0F4F8",
lightGray:"B0BEC5",
darkText:"1A2E42",
};
// ─── HELPERS ─────────────────────────────────────────────────────────────────
function darkSlide(slide) {
slide.background = { color: C.navy };
}
function lightSlide(slide) {
slide.background = { color: C.offWhite };
}
function accentBar(slide, color = C.teal) {
// left vertical accent bar
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: color }, line: { color: color },
});
}
function slideTitle(slide, text, color = C.white) {
slide.addText(text, {
x: 0.28, y: 0.2, w: 9.4, h: 0.7,
fontSize: 26, bold: true, color: color, fontFace: "Calibri",
align: "left", valign: "middle", margin: 0,
});
// underline rule
slide.addShape(pres.ShapeType.rect, {
x: 0.28, y: 0.95, w: 9.4, h: 0.04, fill: { color: C.teal }, line: { color: C.teal },
});
}
// ─── SLIDE 1 · TITLE ─────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
// Bold left accent strip
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.5, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });
// Red right strip
sl.addShape(pres.ShapeType.rect, { x: 9.5, y: 0, w: 0.5, h: 5.625, fill: { color: C.red }, line: { color: C.red } });
sl.addText("DENGUE", {
x: 0.8, y: 1.1, w: 8.4, h: 1.4,
fontSize: 60, bold: true, color: C.teal, fontFace: "Calibri",
align: "center", charSpacing: 8,
});
sl.addText("A Clinical Overview for Healthcare Professionals", {
x: 0.8, y: 2.6, w: 8.4, h: 0.6,
fontSize: 20, color: C.white, fontFace: "Calibri", align: "center", italic: true,
});
sl.addText("Flavivirus · Aedes-borne · Global Burden", {
x: 0.8, y: 3.3, w: 8.4, h: 0.45,
fontSize: 15, color: C.lightGray, fontFace: "Calibri", align: "center",
});
sl.addShape(pres.ShapeType.rect, { x: 2.5, y: 3.9, w: 5, h: 0.06, fill: { color: C.amber }, line: { color: C.amber } });
sl.addText("Sources: Harrison's 22E · Rosen's Emergency Medicine · Red Book 2021 · Robbins & Kumar Pathology", {
x: 0.8, y: 4.9, w: 8.4, h: 0.4,
fontSize: 9, color: C.lightGray, fontFace: "Calibri", align: "center",
});
}
// ─── SLIDE 2 · EPIDEMIOLOGY ──────────────────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
accentBar(sl);
slideTitle(sl, "Epidemiology & Global Burden");
const stats = [
{ num: "400 M", label: "Estimated infections per year" },
{ num: "100 M", label: "Symptomatic cases annually" },
{ num: "40,000", label: "Deaths from severe dengue/year" },
{ num: "3 B+", label: "People at risk worldwide" },
];
const boxW = 2.0, boxH = 1.5, gap = 0.18;
const startX = 0.4;
stats.forEach((s, i) => {
const x = startX + i * (boxW + gap);
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.2, w: boxW, h: boxH,
fill: { color: "112840" }, line: { color: C.teal, pt: 1.5 },
rectRadius: 0.08,
});
sl.addText(s.num, {
x, y: 1.3, w: boxW, h: 0.7,
fontSize: 28, bold: true, color: C.amber, fontFace: "Calibri", align: "center",
});
sl.addText(s.label, {
x: x + 0.05, y: 2.0, w: boxW - 0.1, h: 0.6,
fontSize: 11, color: C.white, fontFace: "Calibri", align: "center", wrap: true,
});
});
const bullets = [
"Endemic in >100 countries across tropical & subtropical regions",
"Most cases in Southeast Asia, Western Pacific, Central & South America",
"Leading cause of febrile illness in returned travellers from the Caribbean & South Asia",
"Higher rates in adolescents/young adults; severe disease in infants, pregnant women, & patients with chronic disease",
"Wolbachia-infected Aedes mosquito release reduces cases by 95-97% (novel control strategy)",
];
sl.addText(bullets.map((b, i) => ({ text: b, options: { bullet: { indent: 10 }, breakLine: i < bullets.length - 1, color: i === bullets.length - 1 ? C.amber : C.white } })), {
x: 0.28, y: 2.9, w: 9.5, h: 2.5, fontSize: 13, fontFace: "Calibri",
});
}
// ─── SLIDE 3 · VIROLOGY & PATHOGENESIS ──────────────────────────────────────
{
const sl = pres.addSlide();
lightSlide(sl);
accentBar(sl, C.navy);
slideTitle(sl, "Virology & Pathogenesis", C.darkText);
// Left column
sl.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 1.15, w: 4.5, h: 4.2,
fill: { color: C.navy }, line: { color: C.navy }, rectRadius: 0.1,
});
sl.addText("THE VIRUS", {
x: 0.38, y: 1.25, w: 4.3, h: 0.5,
fontSize: 14, bold: true, color: C.teal, fontFace: "Calibri", align: "center", charSpacing: 3,
});
const virusPoints = [
"Flavivirus family — single-stranded positive-sense RNA",
"4 serotypes: DENV-1, DENV-2, DENV-3, DENV-4",
"Infection with one serotype gives lifelong serotype-specific immunity",
"Cross-protective immunity against other serotypes lasts only 1-3 years",
"Aedes aegypti is the primary vector; A. albopictus is secondary",
"Humans are the main amplifying host",
];
sl.addText(virusPoints.map((t, i) => ({ text: t, options: { bullet: { indent: 8 }, breakLine: i < virusPoints.length - 1 } })), {
x: 0.38, y: 1.85, w: 4.2, h: 3.3,
fontSize: 12, color: C.white, fontFace: "Calibri",
});
// Right column
sl.addShape(pres.ShapeType.roundRect, {
x: 5.02, y: 1.15, w: 4.7, h: 4.2,
fill: { color: "FFF8F0" }, line: { color: C.amber, pt: 1.5 }, rectRadius: 0.1,
});
sl.addText("PATHOGENESIS", {
x: 5.12, y: 1.25, w: 4.5, h: 0.5,
fontSize: 14, bold: true, color: C.darkText, fontFace: "Calibri", align: "center", charSpacing: 3,
});
const pathPoints = [
"Antibody-Dependent Enhancement (ADE): Cross-reactive antibodies from prior infection enhance viral uptake into macrophages via Fc receptors",
"Second heterologous serotype infection → dramatically increased viral replication → cytokine storm",
"DENV-2 most likely to cause severe disease",
"Massive endothelial activation → plasma leakage → haemoconcentration, ascites, pleural effusion",
"Thrombocytopenia: platelet destruction + impaired production",
"Severe dengue also in infants with maternal anti-dengue antibodies (consistent with ADE)",
];
sl.addText(pathPoints.map((t, i) => ({ text: t, options: { bullet: { indent: 8 }, breakLine: i < pathPoints.length - 1 } })), {
x: 5.12, y: 1.85, w: 4.4, h: 3.3,
fontSize: 11.5, color: C.darkText, fontFace: "Calibri",
});
}
// ─── SLIDE 4 · TRANSMISSION & INCUBATION ────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
accentBar(sl, C.amber);
slideTitle(sl, "Transmission & Incubation Period");
const items = [
{ icon: "🦟", title: "Primary vector", body: "Aedes aegypti (peridomestic) — bites mainly during the day" },
{ icon: "🌊", title: "Secondary vector", body: "Aedes albopictus (tiger mosquito) and Aedes polynesiensis" },
{ icon: "👶", title: "Vertical transmission", body: "Rate ~20%; higher if maternal infection occurs near delivery" },
{ icon: "🩸", title: "Rare routes", body: "Blood / organ transfusion, needlestick, breastfeeding, sexual transmission" },
{ icon: "⏱️", title: "Extrinsic incubation", body: "8–12 days in mosquito (then infectious for life)" },
{ icon: "👤", title: "Intrinsic incubation", body: "3–14 days in humans before symptom onset" },
{ icon: "🔄", title: "Viremic window", body: "1-2 days pre-symptoms through ~7 days of illness (both symptomatic & asymptomatic)" },
{ icon: "💧", title: "Risk factor", body: "Peridomestic water storage, lack of screens/AC, crowding, poor sanitation" },
];
const cols = 2;
const boxW = 4.55, boxH = 1.0, gapX = 0.35, gapY = 0.18;
items.forEach((item, i) => {
const col = i % cols;
const row = Math.floor(i / cols);
const x = 0.28 + col * (boxW + gapX);
const y = 1.1 + row * (boxH + gapY);
sl.addShape(pres.ShapeType.roundRect, {
x, y, w: boxW, h: boxH,
fill: { color: "112840" }, line: { color: C.teal, pt: 1 }, rectRadius: 0.07,
});
sl.addText([
{ text: item.icon + " ", options: { fontSize: 16 } },
{ text: item.title + " ", options: { fontSize: 13, bold: true, color: C.amber } },
{ text: item.body, options: { fontSize: 12, color: C.white } },
], { x: x + 0.1, y: y + 0.12, w: boxW - 0.2, h: boxH - 0.2, valign: "middle", fontFace: "Calibri" });
});
}
// ─── SLIDE 5 · CLINICAL CLASSIFICATION (WHO 2009) ────────────────────────────
{
const sl = pres.addSlide();
lightSlide(sl);
accentBar(sl, C.navy);
slideTitle(sl, "WHO 2009 Clinical Classification", C.darkText);
const cols = [
{
title: "Dengue WITHOUT\nWarning Signs",
color: C.teal,
textColor: C.white,
bg: C.navy,
items: [
"Fever + ≥2 of the following:",
"• Nausea / vomiting",
"• Rash",
"• Aches & pains",
"• Leukopenia",
"• Positive tourniquet test",
"",
"Usually self-limited; managed as outpatient with close follow-up",
],
},
{
title: "Dengue WITH\nWarning Signs",
color: C.amber,
textColor: C.darkText,
bg: "FFF3DC",
items: [
"Dengue criteria + any of:",
"• Abdominal pain or tenderness",
"• Persistent vomiting",
"• Clinical fluid accumulation (ascites, effusion)",
"• Mucosal bleeding",
"• Lethargy / restlessness",
"• Liver enlargement >2 cm",
"Hospital admission recommended",
],
},
{
title: "SEVERE Dengue",
color: C.red,
textColor: C.white,
bg: "2D0A0F",
items: [
"At least ONE of:",
"• Severe plasma leakage → shock",
"• Fluid accumulation + respiratory distress",
"• Severe bleeding (clinician-assessed)",
"• Severe organ involvement:",
" – AST/ALT ≥1000 IU/L",
" – Impaired consciousness",
" – Heart / organ failure",
"ICU admission required",
],
},
];
const colW = 2.95, colH = 4.1, startX = 0.28, gapC = 0.29;
cols.forEach((col, i) => {
const x = startX + i * (colW + gapC);
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.15, w: colW, h: colH,
fill: { color: col.bg }, line: { color: col.color, pt: 2 }, rectRadius: 0.1,
});
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.15, w: colW, h: 0.65,
fill: { color: col.color }, line: { color: col.color }, rectRadius: 0.1,
});
sl.addText(col.title, {
x, y: 1.18, w: colW, h: 0.58,
fontSize: 12, bold: true, color: col.textColor === C.white ? C.white : C.darkText,
fontFace: "Calibri", align: "center", valign: "middle",
});
sl.addText(col.items.map((t, j) => ({ text: t, options: { breakLine: j < col.items.length - 1, color: col.textColor === C.darkText ? C.darkText : C.white, bold: j === 0 } })), {
x: x + 0.1, y: 1.88, w: colW - 0.2, h: 3.3,
fontSize: 11.5, fontFace: "Calibri",
});
});
}
// ─── SLIDE 6 · CLINICAL PHASES ───────────────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
accentBar(sl);
slideTitle(sl, "Disease Phases & Clinical Course");
const phases = [
{
name: "FEBRILE PHASE",
days: "Days 1-7",
color: C.amber,
points: [
"Abrupt onset fever 39-40°C",
"Retro-orbital pain, severe myalgias ('breakbone fever')",
"Facial erythema, injected oropharynx",
"Macular / maculopapular rash",
"Leukopenia, petechiae",
"Headache prominent",
],
},
{
name: "CRITICAL PHASE",
days: "Days 3-7 (defervescence)",
color: C.red,
points: [
"Plasma leakage peaks (24-48 hr window)",
"Hemoconcentration (rising haematocrit)",
"Rapid platelet count decline",
"Pleural effusion, ascites",
"Risk of hypovolaemic shock (DSS)",
"Warning signs must be actively sought",
],
},
{
name: "RECOVERY PHASE",
days: "Days 7-10",
color: C.teal,
points: [
"Gradual haemodynamic stabilisation",
"Fluid reabsorption from third spaces",
"Risk of fluid overload if IV fluids continued",
"Platelet count rises",
"Bradycardia may be present",
"Generalised pruritus common",
],
},
];
const bW = 2.85, bH = 3.8, startX = 0.35, gap = 0.3;
phases.forEach((p, i) => {
const x = startX + i * (bW + gap);
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.15, w: bW, h: bH,
fill: { color: "112840" }, line: { color: p.color, pt: 2 }, rectRadius: 0.1,
});
// header band
sl.addShape(pres.ShapeType.rect, {
x, y: 1.15, w: bW, h: 0.6,
fill: { color: p.color }, line: { color: p.color },
});
sl.addText(p.name, { x, y: 1.15, w: bW, h: 0.35, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
sl.addText(p.days, { x, y: 1.48, w: bW, h: 0.28, fontSize: 11, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", italic: true });
sl.addText(p.points.map((t, j) => ({ text: t, options: { bullet: { indent: 8 }, breakLine: j < p.points.length - 1 } })), {
x: x + 0.1, y: 1.82, w: bW - 0.2, h: 3.1,
fontSize: 12, color: C.white, fontFace: "Calibri",
});
});
}
// ─── SLIDE 7 · DIAGNOSIS ────────────────────────────────────────────────────
{
const sl = pres.addSlide();
lightSlide(sl);
accentBar(sl, C.navy);
slideTitle(sl, "Diagnostic Approach", C.darkText);
// Table header
const tX = 0.28, tY = 1.12;
const colWidths = [2.2, 2.5, 2.5, 2.5];
const headers = ["Test", "Best Timing", "Sensitivity", "Notes"];
headers.forEach((h, i) => {
const x = tX + colWidths.slice(0, i).reduce((a, b) => a + b, 0);
sl.addShape(pres.ShapeType.rect, {
x, y: tY, w: colWidths[i], h: 0.45,
fill: { color: C.navy }, line: { color: C.navy },
});
sl.addText(h, { x, y: tY, w: colWidths[i], h: 0.45, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
});
const rows = [
["RT-PCR", "Days 1-7 (febrile)", "High (gold standard)", "Detects RNA; most sensitive early"],
["NS1 Antigen EIA", "Days 1-10 (febrile)", "High early; declines after day 5", "Can combine with IgM for ≥90% detection"],
["Anti-dengue IgM", "From day 3-5", "99% by day 10", "Cross-reacts with Zika; peaks at 2 wks"],
["Anti-dengue IgG", "Convalescent / past", "Lifelong elevation", "4-fold rise confirms acute infection; may be false + with other flavivirus vaccines"],
["CBC", "Throughout illness", "Non-specific", "Leukopenia, thrombocytopenia, haemoconcentration (rising Hct)"],
["LFTs", "If severe suspected", "Non-specific", "AST/ALT ≥1000 IU/L = severe dengue criterion"],
];
rows.forEach((row, ri) => {
const bg = ri % 2 === 0 ? "EBF4F6" : C.white;
row.forEach((cell, ci) => {
const x = tX + colWidths.slice(0, ci).reduce((a, b) => a + b, 0);
sl.addShape(pres.ShapeType.rect, {
x, y: tY + 0.45 + ri * 0.55, w: colWidths[ci], h: 0.55,
fill: { color: bg }, line: { color: C.lightGray, pt: 0.5 },
});
sl.addText(cell, {
x: x + 0.05, y: tY + 0.45 + ri * 0.55, w: colWidths[ci] - 0.1, h: 0.55,
fontSize: 11, color: C.darkText, fontFace: "Calibri", valign: "middle", wrap: true,
});
});
});
sl.addText("Note: NS1 + IgM on a single specimen collected within first 10 days identifies ≥90% of both primary and secondary cases.", {
x: 0.28, y: 4.9, w: 9.4, h: 0.4,
fontSize: 11, italic: true, color: C.teal, fontFace: "Calibri",
});
}
// ─── SLIDE 8 · MANAGEMENT ───────────────────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
accentBar(sl);
slideTitle(sl, "Clinical Management");
const tiers = [
{
label: "GROUP A — Outpatient",
labelColor: C.teal,
bg: "0D2F4A",
border: C.teal,
items: [
"Dengue without warning signs, tolerating oral fluids",
"Rest, oral hydration (ORS / water / coconut water)",
"Paracetamol for fever — max 4 g/day",
"AVOID: Aspirin, NSAIDs, ibuprofen (bleeding risk)",
"Monitor for warning signs at defervescence",
],
},
{
label: "GROUP B — Inpatient Monitoring",
labelColor: C.amber,
bg: "2D1F00",
border: C.amber,
items: [
"Dengue WITH warning signs OR high-risk patient",
"IV crystalloid fluid replacement (NS / Ringer's lactate)",
"Titrate IV fluids by clinical response & haematocrit",
"Strict fluid balance; urine output monitoring",
"Serial CBC every 6-12 hrs; watch platelet trend",
"Blood products if active bleeding occurs",
],
},
{
label: "GROUP C — ICU",
labelColor: C.red,
bg: "2D0A0F",
border: C.red,
items: [
"Severe dengue (shock, organ failure, severe bleeding)",
"Rapid IV fluid resuscitation to reverse shock",
"Haemodynamic monitoring; vasopressors if refractory shock",
"Platelet transfusion for severe bleeding / <10,000",
"Mechanical ventilation for respiratory failure",
"Early recognition reduces CFR from 5-10% to <1%",
],
},
];
const bW = 2.9, bH = 3.9, startX = 0.28, gapB = 0.27;
tiers.forEach((t, i) => {
const x = startX + i * (bW + gapB);
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.15, w: bW, h: bH,
fill: { color: t.bg }, line: { color: t.border, pt: 2 }, rectRadius: 0.1,
});
sl.addText(t.label, {
x: x + 0.1, y: 1.18, w: bW - 0.2, h: 0.5,
fontSize: 12.5, bold: true, color: t.labelColor, fontFace: "Calibri", valign: "middle",
});
sl.addShape(pres.ShapeType.rect, {
x: x + 0.1, y: 1.7, w: bW - 0.2, h: 0.03,
fill: { color: t.border }, line: { color: t.border },
});
sl.addText(t.items.map((it, j) => ({ text: it, options: { bullet: { indent: 8 }, breakLine: j < t.items.length - 1 } })), {
x: x + 0.1, y: 1.78, w: bW - 0.2, h: 3.1,
fontSize: 11.5, color: C.white, fontFace: "Calibri",
});
});
}
// ─── SLIDE 9 · DIFFERENTIAL DIAGNOSIS ───────────────────────────────────────
{
const sl = pres.addSlide();
lightSlide(sl);
accentBar(sl, C.navy);
slideTitle(sl, "Differential Diagnosis", C.darkText);
const diffs = [
{ name: "Zika Virus", points: ["Same Aedes vector", "Conjunctivitis prominent", "Milder febrile illness", "Linked to microcephaly in pregnancy"] },
{ name: "Chikungunya", points: ["Aedes-borne arbovirus", "Debilitating arthralgia", "Rash common", "Less severe systemic illness"] },
{ name: "Malaria", points: ["Plasmodium spp.", "Cyclical fever pattern", "Splenomegaly", "Blood smear / RDT confirms"] },
{ name: "Rickettsial Infections", points: ["Tick-borne / flea-borne", "Eschar may be present", "Doxycycline responsive", "Petechial rash evolves"] },
{ name: "Leptospirosis", points: ["Water / soil exposure", "Conjunctival suffusion", "Renal involvement", "Serology / culture confirms"] },
{ name: "Measles", points: ["Co-endemic regions", "Koplik spots", "Cough, coryza, conjunctivitis", "Vaccination history key"] },
];
const cW = 2.85, cH = 1.92, sX = 0.28, gap = 0.22;
diffs.forEach((d, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = sX + col * (cW + gap);
const y = 1.12 + row * (cH + 0.18);
sl.addShape(pres.ShapeType.roundRect, {
x, y, w: cW, h: cH,
fill: { color: "EBF4F6" }, line: { color: C.navy, pt: 1.5 }, rectRadius: 0.08,
});
sl.addShape(pres.ShapeType.rect, {
x, y, w: cW, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy },
});
sl.addText(d.name, { x, y, w: cW, h: 0.38, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
sl.addText(d.points.map((p, j) => ({ text: p, options: { bullet: { indent: 6 }, breakLine: j < d.points.length - 1 } })), {
x: x + 0.1, y: y + 0.42, w: cW - 0.2, h: cH - 0.5,
fontSize: 11, color: C.darkText, fontFace: "Calibri",
});
});
}
// ─── SLIDE 10 · VACCINE & PREVENTION ─────────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
accentBar(sl, C.teal);
slideTitle(sl, "Prevention, Vector Control & Vaccines");
// Left: prevention
sl.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 1.15, w: 4.55, h: 4.15,
fill: { color: "112840" }, line: { color: C.teal, pt: 1.5 }, rectRadius: 0.1,
});
sl.addText("PREVENTION & VECTOR CONTROL", {
x: 0.38, y: 1.22, w: 4.35, h: 0.45,
fontSize: 13, bold: true, color: C.teal, fontFace: "Calibri", align: "center",
});
const prevPoints = [
"Eliminate standing water (flower pots, tyres, containers)",
"Use insecticide-treated bed nets / window screens",
"Personal protection: long sleeves, DEET repellents",
"Community-level mosquito surveillance & fogging",
"Wolbachia-infected Aedes release — reduces transmission by 95-97%",
"No direct human-to-human transmission; mosquito control is key",
];
sl.addText(prevPoints.map((t, i) => ({ text: t, options: { bullet: { indent: 8 }, breakLine: i < prevPoints.length - 1 } })), {
x: 0.38, y: 1.75, w: 4.25, h: 3.4,
fontSize: 12, color: C.white, fontFace: "Calibri",
});
// Right: vaccines
sl.addShape(pres.ShapeType.roundRect, {
x: 5.07, y: 1.15, w: 4.65, h: 4.15,
fill: { color: "112840" }, line: { color: C.amber, pt: 1.5 }, rectRadius: 0.1,
});
sl.addText("DENGUE VACCINES", {
x: 5.17, y: 1.22, w: 4.45, h: 0.45,
fontSize: 13, bold: true, color: C.amber, fontFace: "Calibri", align: "center",
});
const vaccPoints = [
"Dengvaxia (CYD-TDV): WHO-approved; tetravalent live recombinant",
"Recommended ONLY for seropositive individuals (≥9 years)",
"Risk of severe dengue in seronegative recipients (ADE mechanism)",
"Qdenga (TAK-003): live attenuated tetravalent; approved in EU/Indonesia",
"Can be given regardless of prior dengue serostatus",
"Fear remains that vaccines might potentiate more severe disease in some settings",
];
sl.addText(vaccPoints.map((t, i) => ({ text: t, options: { bullet: { indent: 8 }, breakLine: i < vaccPoints.length - 1 } })), {
x: 5.17, y: 1.75, w: 4.35, h: 3.4,
fontSize: 12, color: C.white, fontFace: "Calibri",
});
}
// ─── SLIDE 11 · SPECIAL POPULATIONS ─────────────────────────────────────────
{
const sl = pres.addSlide();
lightSlide(sl);
accentBar(sl, C.red);
slideTitle(sl, "Special Populations & High-Risk Groups", C.darkText);
const groups = [
{
title: "Pregnant Women",
color: C.red,
bg: "FDE8EA",
points: [
"Higher risk of severe dengue",
"Vertical transmission rate ~20% (higher near delivery)",
"Risk of preterm labour, low birth weight",
"Neonatal dengue: thrombocytopenia, hepatitis",
"Avoid NSAIDs; careful fluid management to prevent overload",
],
},
{
title: "Infants",
color: C.amber,
bg: "FFF3DC",
points: [
"Maternal anti-dengue IgG crosses placenta",
"ADE mechanism → severe dengue in primary infection",
"Fever without source — always consider dengue in endemic areas",
"May not localise pain; watch for irritability, poor feeding",
"Lower threshold for admission",
],
},
{
title: "Chronic Disease Patients",
color: C.teal,
bg: "E0F7F4",
points: [
"Higher severity: asthma, sickle cell anaemia, diabetes, heart disease",
"DM: hyperglycaemia complicates fluid management",
"Sickle cell: vaso-occlusive crisis can co-exist",
"Immunocompromised: prolonged viremia; atypical presentation",
"Review all co-medications for NSAID / anticoagulant use",
],
},
];
const bW = 2.9, bH = 3.9, sX = 0.28, gap = 0.27;
groups.forEach((g, i) => {
const x = sX + i * (bW + gap);
sl.addShape(pres.ShapeType.roundRect, {
x, y: 1.12, w: bW, h: bH,
fill: { color: g.bg }, line: { color: g.color, pt: 2 }, rectRadius: 0.1,
});
sl.addShape(pres.ShapeType.rect, {
x, y: 1.12, w: bW, h: 0.5,
fill: { color: g.color }, line: { color: g.color },
});
sl.addText(g.title, { x, y: 1.12, w: bW, h: 0.5, fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
sl.addText(g.points.map((p, j) => ({ text: p, options: { bullet: { indent: 8 }, breakLine: j < g.points.length - 1 } })), {
x: x + 0.1, y: 1.68, w: bW - 0.2, h: 3.2,
fontSize: 12, color: C.darkText, fontFace: "Calibri",
});
});
}
// ─── SLIDE 12 · SUMMARY & KEY TAKEAWAYS ─────────────────────────────────────
{
const sl = pres.addSlide();
darkSlide(sl);
// Gradient-like effect with multiple rects
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 4.8, w: 10, h: 0.825, fill: { color: C.teal }, line: { color: C.teal } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.12, fill: { color: C.teal }, line: { color: C.teal } });
sl.addText("KEY TAKEAWAYS", {
x: 0.5, y: 0.2, w: 9, h: 0.6,
fontSize: 28, bold: true, color: C.amber, fontFace: "Calibri", align: "center", charSpacing: 4,
});
const takeaways = [
{ num: "01", text: "Dengue = 4 flavivirus serotypes (DENV 1-4); Aedes aegypti is the primary vector; affects 400 million/year" },
{ num: "02", text: "Second heterologous infection (ADE) drives severe dengue; DENV-2 most implicated" },
{ num: "03", text: "WHO 2009 classification: Dengue ± warning signs / Severe dengue — guides triage & admission decisions" },
{ num: "04", text: "Critical phase (defervescence, days 3-7): plasma leakage window — act on warning signs immediately" },
{ num: "05", text: "Diagnosis: RT-PCR or NS1 antigen (days 1-7) + IgM (days 3-5 onwards); combine for ≥90% sensitivity" },
{ num: "06", text: "Treatment is supportive; AVOID aspirin/NSAIDs; IV fluids titrated carefully to prevent overload" },
{ num: "07", text: "Vaccines: Dengvaxia for seropositive ≥9 yrs; Qdenga regardless of serostatus — screen before vaccinating" },
];
takeaways.forEach((tk, i) => {
const y = 0.95 + i * 0.52;
sl.addShape(pres.ShapeType.roundRect, {
x: 0.25, y, w: 0.55, h: 0.42,
fill: { color: C.teal }, line: { color: C.teal }, rectRadius: 0.05,
});
sl.addText(tk.num, { x: 0.25, y, w: 0.55, h: 0.42, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri", align: "center", valign: "middle" });
sl.addText(tk.text, {
x: 0.9, y: y + 0.02, w: 8.9, h: 0.42,
fontSize: 12, color: C.white, fontFace: "Calibri", valign: "middle",
});
});
sl.addText("Sources: Harrison's Principles of Internal Medicine 22E | Rosen's Emergency Medicine | Red Book 2021 | Robbins & Kumar Pathology | Andrews' Dermatology", {
x: 0.3, y: 4.85, w: 9.4, h: 0.4,
fontSize: 9, color: C.navy, fontFace: "Calibri", align: "center", bold: true,
});
}
// ─── WRITE FILE ──────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/dengue-pptx/Dengue_Clinical_Overview.pptx" })
.then(() => console.log("SUCCESS: Dengue_Clinical_Overview.pptx written"))
.catch(err => { console.error("ERROR:", err); process.exit(1); });
cd /home/daytona/workspace/dengue-pptx && node dengue.js 2>&1
ls -lh /home/daytona/workspace/dengue-pptx/Dengue_Clinical_Overview.pptx
Dengue Clinical Overview
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide - bold dark navy/teal design |
| 2 | Epidemiology & Global Burden (400M infections/year, stat cards) |
| 3 | Virology & Pathogenesis (4 serotypes, ADE mechanism) |
| 4 | Transmission & Incubation (vector biology, rare routes, incubation windows) |
| 5 | WHO 2009 Clinical Classification (3-column: No warning / Warning signs / Severe) |
| 6 | Disease Phases & Clinical Course (Febrile / Critical / Recovery) |
| 7 | Diagnostic Approach (table: RT-PCR, NS1, IgM, IgG, CBC, LFTs) |
| 8 | Clinical Management (Group A outpatient / Group B inpatient / Group C ICU) |
| 9 | Differential Diagnosis (Zika, Chikungunya, Malaria, Rickettsia, Leptospirosis, Measles) |
| 10 | Prevention, Vector Control & Vaccines (Dengvaxia vs Qdenga) |
| 11 | Special Populations (Pregnant women, Infants, Chronic disease) |
| 12 | Key Takeaways (7 numbered points) |