Can you make powerpoint presentation for me?

Asking for Preferences

Dengue

Asking for Preferences
Reading File
Reading File
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Finding Sources
Reading File
Running Command

mkdir -p /home/daytona/workspace/dengue-pptx && ls /home/daytona/workspace/dengu…

Writing File

~/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); });
Running Command

cd /home/daytona/workspace/dengue-pptx && node dengue.js 2>&1

Running Command

ls -lh /home/daytona/workspace/dengue-pptx/Dengue_Clinical_Overview.pptx

Your presentation is ready! Download it here:

Dengue Clinical Overview

Presentation · PPTX


Here's what's inside the 12-slide clinical deck:
SlideContent
1Title slide - bold dark navy/teal design
2Epidemiology & Global Burden (400M infections/year, stat cards)
3Virology & Pathogenesis (4 serotypes, ADE mechanism)
4Transmission & Incubation (vector biology, rare routes, incubation windows)
5WHO 2009 Clinical Classification (3-column: No warning / Warning signs / Severe)
6Disease Phases & Clinical Course (Febrile / Critical / Recovery)
7Diagnostic Approach (table: RT-PCR, NS1, IgM, IgG, CBC, LFTs)
8Clinical Management (Group A outpatient / Group B inpatient / Group C ICU)
9Differential Diagnosis (Zika, Chikungunya, Malaria, Rickettsia, Leptospirosis, Measles)
10Prevention, Vector Control & Vaccines (Dengvaxia vs Qdenga)
11Special Populations (Pregnant women, Infants, Chronic disease)
12Key Takeaways (7 numbered points)
Sources used: Harrison's 22E, Rosen's Emergency Medicine, Red Book 2021, Robbins & Kumar Pathology.
This is a shared conversation. Sign in to Orris to start your own chat.