History of epidemiology presentation

Asking for Preferences
Reading File
Searching the Web

history of epidemiology key milestones figures Hippocrates Snow Farr modern era

Reading File
Reading Web Page

https://microbiologyclass.net/brief-history-of-epidemiology

Running Command

mkdir -p /home/daytona/workspace/epi-history-ppt && ls /home/daytona/workspace/e…

Writing File

~/epi-history-ppt/build.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "History of Epidemiology";
pres.author = "Orris";

// ─── DESIGN TOKENS ──────────────────────────────────────────────────────────
const NAVY   = "0D2137";  // dominant dark background
const TEAL   = "1A7E8A";  // supporting header bars
const GOLD   = "E8A020";  // accent / callout color
const WHITE  = "FFFFFF";
const LTGRAY = "DDE4EA";  // body text area bg
const MGRAY  = "8FA2B2";  // secondary text
const DGRAY  = "1C3448";  // dark section bg

const bodyFont  = "Calibri";
const titleFont = "Georgia";

// ─── HELPER: add a consistent slide header bar ──────────────────────────────
function addHeaderBar(slide, title) {
  // Dark top bar
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.85, fill: { color: TEAL } });
  slide.addText(title, {
    x: 0.35, y: 0.08, w: 9.3, h: 0.68,
    fontSize: 22, bold: true, color: WHITE, fontFace: titleFont, valign: "middle", margin: 0
  });
  // Gold accent bar underneath header
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.85, w: "100%", h: 0.06, fill: { color: GOLD } });
}

// ─── HELPER: section divider slide ──────────────────────────────────────────
function addSectionSlide(title, subtitle, emoji) {
  const s = pres.addSlide();
  s.background = { color: DGRAY };
  // Gold vertical accent
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.2, h: "100%", fill: { color: GOLD } });
  s.addText(emoji || "◆", { x: 1, y: 1.2, w: 8, h: 1, fontSize: 52, color: GOLD, align: "center", fontFace: bodyFont, margin: 0 });
  s.addText(title, { x: 1, y: 2.2, w: 8, h: 0.9, fontSize: 34, bold: true, color: WHITE, align: "center", fontFace: titleFont, margin: 0 });
  if (subtitle) {
    s.addText(subtitle, { x: 1, y: 3.1, w: 8, h: 0.6, fontSize: 18, color: LTGRAY, align: "center", fontFace: bodyFont, margin: 0 });
  }
  return s;
}

// ─── HELPER: bullet content slide ───────────────────────────────────────────
function addContentSlide(title, bullets) {
  const s = pres.addSlide();
  s.background = { color: WHITE };
  addHeaderBar(s, title);
  const items = bullets.map((b, i) => ({
    text: b,
    options: { bullet: { type: "bullet", indent: 15 }, fontSize: 17, color: NAVY, fontFace: bodyFont, breakLine: i < bullets.length - 1, paraSpaceAfter: 6 }
  }));
  s.addText(items, { x: 0.45, y: 1.05, w: 9.1, h: 4.3, valign: "top" });
  return s;
}

// ─── HELPER: two-column slide ────────────────────────────────────────────────
function addTwoColSlide(title, leftHeading, leftBullets, rightHeading, rightBullets) {
  const s = pres.addSlide();
  s.background = { color: WHITE };
  addHeaderBar(s, title);

  // Left column bg
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.4, h: 4.3, fill: { color: LTGRAY }, line: { color: LTGRAY } });
  // Right column bg
  s.addShape(pres.ShapeType.rect, { x: 5.3, y: 1.05, w: 4.4, h: 4.3, fill: { color: "F4F7FA" }, line: { color: "F4F7FA" } });

  s.addText(leftHeading, { x: 0.3, y: 1.05, w: 4.4, h: 0.45, fontSize: 14, bold: true, color: TEAL, fontFace: bodyFont, align: "center", valign: "middle", margin: 0 });
  const lItems = leftBullets.map((b, i) => ({
    text: b, options: { bullet: true, fontSize: 15, color: NAVY, fontFace: bodyFont, breakLine: i < leftBullets.length - 1, paraSpaceAfter: 5 }
  }));
  s.addText(lItems, { x: 0.45, y: 1.55, w: 4.1, h: 3.7, valign: "top" });

  s.addText(rightHeading, { x: 5.3, y: 1.05, w: 4.4, h: 0.45, fontSize: 14, bold: true, color: TEAL, fontFace: bodyFont, align: "center", valign: "middle", margin: 0 });
  const rItems = rightBullets.map((b, i) => ({
    text: b, options: { bullet: true, fontSize: 15, color: NAVY, fontFace: bodyFont, breakLine: i < rightBullets.length - 1, paraSpaceAfter: 5 }
  }));
  s.addText(rItems, { x: 5.45, y: 1.55, w: 4.1, h: 3.7, valign: "top" });

  return s;
}

// ─── HELPER: person/figure card slide ───────────────────────────────────────
function addFigureSlide(title, name, dates, contribution, quote, leftColor) {
  const s = pres.addSlide();
  s.background = { color: WHITE };
  addHeaderBar(s, title);

  const lc = leftColor || TEAL;
  // Left colored panel
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0.91, w: 3.5, h: 4.72, fill: { color: lc } });
  s.addText(name, { x: 0.1, y: 1.2, w: 3.3, h: 0.8, fontSize: 20, bold: true, color: WHITE, fontFace: titleFont, align: "center", valign: "middle", margin: 0 });
  s.addText(dates, { x: 0.1, y: 2.0, w: 3.3, h: 0.45, fontSize: 15, color: GOLD, fontFace: bodyFont, align: "center", valign: "middle", margin: 0 });

  // Contribution bullets on right
  const cItems = contribution.map((b, i) => ({
    text: b, options: { bullet: true, fontSize: 15, color: NAVY, fontFace: bodyFont, breakLine: i < contribution.length - 1, paraSpaceAfter: 6 }
  }));
  s.addText(cItems, { x: 3.7, y: 1.05, w: 6.0, h: 3.5, valign: "top" });

  // Quote box
  if (quote) {
    s.addShape(pres.ShapeType.rect, { x: 3.7, y: 4.55, w: 6.0, h: 1.0, fill: { color: "FFF8EA" }, line: { color: GOLD, pt: 1 } });
    s.addText(`"${quote}"`, { x: 3.85, y: 4.6, w: 5.7, h: 0.9, fontSize: 12, italic: true, color: DGRAY, fontFace: bodyFont, valign: "middle", margin: 0 });
  }
  return s;
}

// ─── HELPER: timeline slide ─────────────────────────────────────────────────
function addTimelineSlide(title, events) {
  // events = [{year, label, desc}]
  const s = pres.addSlide();
  s.background = { color: NAVY };
  addHeaderBar(s, title);

  // Horizontal timeline line
  s.addShape(pres.ShapeType.line, { x: 0.5, y: 3.0, w: 9.0, h: 0, line: { color: GOLD, pt: 3 } });

  const n = events.length;
  const step = 9.0 / (n - 1);

  events.forEach((ev, i) => {
    const x = 0.5 + i * step;
    const above = i % 2 === 0;
    // Dot on timeline
    s.addShape(pres.ShapeType.ellipse, { x: x - 0.12, y: 2.88, w: 0.25, h: 0.25, fill: { color: GOLD }, line: { color: GOLD } });
    // Year label on line
    s.addText(ev.year, { x: x - 0.6, y: 2.95, w: 1.2, h: 0.35, fontSize: 12, bold: true, color: GOLD, align: "center", fontFace: bodyFont, margin: 0 });
    if (above) {
      s.addText(ev.label, { x: x - 0.75, y: 1.5, w: 1.5, h: 0.5, fontSize: 11, bold: true, color: WHITE, align: "center", fontFace: bodyFont, margin: 0 });
      s.addText(ev.desc, { x: x - 0.75, y: 1.95, w: 1.5, h: 0.85, fontSize: 10, color: LTGRAY, align: "center", fontFace: bodyFont, margin: 0, wrap: true });
      s.addShape(pres.ShapeType.line, { x: x, y: 2.15, w: 0, h: 0.75, line: { color: MGRAY, pt: 1 } });
    } else {
      s.addText(ev.label, { x: x - 0.75, y: 3.4, w: 1.5, h: 0.5, fontSize: 11, bold: true, color: WHITE, align: "center", fontFace: bodyFont, margin: 0 });
      s.addText(ev.desc, { x: x - 0.75, y: 3.9, w: 1.5, h: 0.85, fontSize: 10, color: LTGRAY, align: "center", fontFace: bodyFont, margin: 0, wrap: true });
      s.addShape(pres.ShapeType.line, { x: x, y: 3.1, w: 0, h: 0.3, line: { color: MGRAY, pt: 1 } });
    }
  });
  return s;
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };

  // Bold left accent bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.25, h: "100%", fill: { color: GOLD } });

  // Top decorative band
  s.addShape(pres.ShapeType.rect, { x: 0.25, y: 0, w: "100%", h: 0.12, fill: { color: TEAL } });

  s.addText("History of Epidemiology", {
    x: 0.7, y: 0.9, w: 8.6, h: 1.6,
    fontSize: 46, bold: true, color: WHITE, fontFace: titleFont, valign: "middle", margin: 0
  });
  s.addText("From Ancient Greece to the Modern Era", {
    x: 0.7, y: 2.5, w: 8.6, h: 0.65,
    fontSize: 22, color: GOLD, fontFace: bodyFont, valign: "middle", margin: 0
  });
  s.addShape(pres.ShapeType.rect, { x: 0.7, y: 3.2, w: 4.5, h: 0.05, fill: { color: TEAL } });
  s.addText("A survey of landmark discoveries, key figures, and methods\nthat shaped the science of population health", {
    x: 0.7, y: 3.3, w: 8.6, h: 0.9,
    fontSize: 16, color: LTGRAY, fontFace: bodyFont, valign: "top", margin: 0
  });
  s.addText("For Medical & Public Health Students", {
    x: 0.7, y: 4.9, w: 8.6, h: 0.45,
    fontSize: 13, color: MGRAY, fontFace: bodyFont, margin: 0
  });
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — WHAT IS EPIDEMIOLOGY?
// ════════════════════════════════════════════════════════════════════════════
addContentSlide("What Is Epidemiology?", [
  "From Greek: epi (upon) + demos (people) + logos (study) — \"the study of what falls upon the people\"",
  "Official definition (CDC/WHO): the study of the distribution and determinants of health-related states in specified populations, and the application of this knowledge to control health problems",
  "Three core questions: Who is affected? Where? When?",
  "Core outputs: incidence, prevalence, risk ratios, attributable risk, disease burden",
  "Bridges basic science and public health policy",
  "Spans infectious diseases, chronic disease, injuries, environmental and social health"
]);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — OVERVIEW TIMELINE (visual)
// ════════════════════════════════════════════════════════════════════════════
addTimelineSlide("A 2,500-Year Timeline", [
  { year: "~400 BC", label: "Hippocrates", desc: "Environmental\nobservations" },
  { year: "1662",    label: "John Graunt", desc: "Bills of\nMortality" },
  { year: "1747",    label: "James Lind",  desc: "Scurvy\nRCT" },
  { year: "1839",    label: "William Farr",desc: "Vital\nstatistics" },
  { year: "1854",    label: "John Snow",   desc: "Cholera\npump handle" },
  { year: "1900+",   label: "Germ theory", desc: "Koch &\nPasteur" }
]);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — SECTION: ANCIENT ORIGINS
// ════════════════════════════════════════════════════════════════════════════
addSectionSlide("Part 1: Ancient Origins", "Hippocrates & Pre-Modern Thinking", "🏛️");

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — HIPPOCRATES
// ════════════════════════════════════════════════════════════════════════════
addFigureSlide(
  "Hippocrates — Father of Medicine (c. 460–370 BC)",
  "Hippocrates", "460–370 BC",
  [
    "Wrote On Airs, Waters, and Places — the first systematic environmental health text",
    "Proposed disease arises from natural causes, not divine punishment",
    "Coined terms 'epidemic' (disease visiting a community) and 'endemic' (disease resident in an area)",
    "Catalogued seasonal patterns of disease: summer fevers, winter pneumonias",
    "Observed that marshy areas correlate with illness — a precursor to the miasma and later germ theory concepts",
    "His work underpinned Western medicine for nearly 2,000 years"
  ],
  "The physician must be able to tell the antecedents, know the present, and foretell the future — and mediate these things.",
  "2A5D72"
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — SECTION: BIRTH OF QUANTITATIVE EPIDEMIOLOGY
// ════════════════════════════════════════════════════════════════════════════
addSectionSlide("Part 2: Quantification", "17th–18th Century Foundations", "📊");

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — JOHN GRAUNT & WILLIAM FARR
// ════════════════════════════════════════════════════════════════════════════
addTwoColSlide(
  "John Graunt (1620–1674) & William Farr (1807–1883)",
  "John Graunt",
  [
    "Analysed London's weekly Bills of Mortality (1662)",
    "First to describe systematic patterns of births and deaths",
    "Calculated crude mortality rates and life tables",
    "Noted higher urban vs. rural mortality",
    "Founder of demography and descriptive epidemiology",
    "Used quantitative methods to challenge folklore about plague"
  ],
  "William Farr",
  [
    "Compiler of Abstracts at the General Register Office, UK",
    "Created the first national vital statistics system",
    "Described dose-response: mortality from cholera ↑ with altitude ↓ (actually elevation from Thames)",
    "Developed the concept of 'epidemic curve'",
    "Championed notification of infectious diseases",
    "Worked alongside — and debated — John Snow on cholera causation"
  ]
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — JAMES LIND — FIRST CLINICAL TRIAL
// ════════════════════════════════════════════════════════════════════════════
addFigureSlide(
  "James Lind — The First Controlled Trial (1747)",
  "James Lind", "1716–1794",
  [
    "Royal Navy surgeon aboard HMS Salisbury",
    "Conducted a controlled experiment on 12 scurvy-afflicted sailors",
    "Divided into 6 pairs; tested 6 interventions (citrus fruits, cider, vinegar, seawater, etc.)",
    "Citrus group recovered; all others did not — first prospective controlled trial in medical history",
    "Results published in A Treatise on the Scurvy (1753)",
    "Led to mandatory lime juice rations in the Royal Navy by 1795",
    "Demonstrated that population-level interventions can be tested experimentally"
  ],
  "The most powerful method of improving our knowledge is comparison.",
  TEAL
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — SECTION: 19TH CENTURY BREAKTHROUGHS
// ════════════════════════════════════════════════════════════════════════════
addSectionSlide("Part 3: 19th-Century Breakthroughs", "Snow, Nightingale, Semmelweis & Germ Theory", "🔬");

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — JOHN SNOW
// ════════════════════════════════════════════════════════════════════════════
addFigureSlide(
  "John Snow — Father of Modern Epidemiology (1813–1858)",
  "John Snow", "1813–1858",
  [
    "London anaesthesiologist who investigated two cholera epidemics (1848–49, 1853–54)",
    "Mapped cholera cases in the Soho district of London — the iconic 'dot map'",
    "Identified the Broad Street pump as the point source of the 1854 outbreak",
    "Removed the pump handle → epidemic ended (landmark evidence-based intervention)",
    "Compared cholera rates between water suppliers (Southwark & Vauxhall vs. Lambeth Co.) — a natural experiment",
    "Challenged miasma theory; proposed waterborne fecal-oral route before Vibrio cholerae was identified",
    "His work epitomises analytic epidemiology: case finding, mapping, hypothesis testing, intervention"
  ],
  "I found that nearly all the deaths had taken place within a short distance of the pump.",
  "1A5E72"
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — NIGHTINGALE & SEMMELWEIS
// ════════════════════════════════════════════════════════════════════════════
addTwoColSlide(
  "Florence Nightingale & Ignaz Semmelweis",
  "Florence Nightingale (1820–1910)",
  [
    "Pioneered statistical graphics — the 'rose diagram' (polar area chart) to show preventable military deaths",
    "Demonstrated 87% of Crimean War soldiers died from preventable infection, not wounds",
    "Introduced hospital hygiene reforms based on data",
    "Became the first female Fellow of the Royal Statistical Society",
    "Proved that nursing/environmental standards are epidemiologically measurable outcomes"
  ],
  "Ignaz Semmelweis (1818–1865)",
  [
    "Observed puerperal (childbed) fever was far higher in physician-attended wards than midwife wards",
    "Hypothesised 'cadaverous particles' transmitted on unwashed hands from autopsy to delivery",
    "Introduced mandatory handwashing with chlorinated lime solution → mortality fell from ~10% to <2%",
    "Faced ridicule from the medical establishment — tragically died in an asylum",
    "Later vindicated by Pasteur's germ theory; now a hero of infection control"
  ]
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — GERM THEORY: PASTEUR & KOCH
// ════════════════════════════════════════════════════════════════════════════
addTwoColSlide(
  "Germ Theory: Pasteur & Koch",
  "Louis Pasteur (1822–1895)",
  [
    "Disproved spontaneous generation (swan-neck flask experiments)",
    "Developed pasteurisation to prevent microbial contamination",
    "Created vaccines for chicken cholera, anthrax, and rabies",
    "Established the principle: specific microorganisms cause specific diseases",
    "Laid the microbiological foundation on which epidemiology's causal thinking rests"
  ],
  "Robert Koch (1843–1910)",
  [
    "Identified Bacillus anthracis (anthrax), Mycobacterium tuberculosis, and Vibrio cholerae",
    "Formulated Koch's Postulates (1884) — criteria to establish causation between a microbe and a disease",
    "Won Nobel Prize in Physiology or Medicine (1905) for TB research",
    "Postulates: isolate organism → grow in pure culture → inoculate healthy host → re-isolate same organism",
    "Still influential: modern variants include molecular Koch's postulates"
  ]
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 13 — SECTION: 20TH CENTURY
// ════════════════════════════════════════════════════════════════════════════
addSectionSlide("Part 4: The 20th Century", "Chronic Disease, RCTs & the Rise of Modern Methods", "📈");

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 14 — DOLL & HILL + FRAMINGHAM
// ════════════════════════════════════════════════════════════════════════════
addTwoColSlide(
  "20th-Century Landmark Studies",
  "Doll & Hill — Smoking & Lung Cancer (1950–1956)",
  [
    "Richard Doll and Austin Bradford Hill",
    "1950: Hospital case-control study linking smoking to lung cancer (BMJ)",
    "1951: British Doctors' Study — first large prospective cohort study",
    "Followed 40,000 physicians over decades; confirmed causal link",
    "Deaths from lung cancer: smokers had 20× risk vs. non-smokers",
    "Led directly to the 1962 UK Royal College report on smoking and health",
    "Hill's 9 criteria of causation (1965) remain the gold standard in epidemiology"
  ],
  "Framingham Heart Study (1948–present)",
  [
    "Launched by US Public Health Service in Framingham, Massachusetts",
    "Enrolled 5,209 adults and their descendants across 3 generations",
    "Identified major CVD risk factors: hypertension, high cholesterol, smoking, obesity, diabetes",
    "Coined the term 'risk factor' (Kannel et al., 1961)",
    "Continuous data collection for 75+ years — longest running prospective cohort",
    "Transformed cardiology from a reactive to a preventive discipline"
  ]
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 15 — BRADFORD HILL CRITERIA
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: WHITE };
  addHeaderBar(s, "Bradford Hill's Criteria of Causation (1965)");

  const criteria = [
    ["1. Strength", "Large association → more likely causal"],
    ["2. Consistency", "Replicated across studies/populations"],
    ["3. Specificity", "Specific exposure → specific outcome"],
    ["4. Temporality", "Cause must precede effect (only mandatory criterion)"],
    ["5. Biological gradient", "Dose-response relationship"],
    ["6. Plausibility", "Biologically credible mechanism"],
    ["7. Coherence", "Consistent with natural history of disease"],
    ["8. Experiment", "Experimental evidence supports (e.g., removal of exposure reduces disease)"],
    ["9. Analogy", "Similar exposure-disease relationships exist"]
  ];

  const colW = 4.55;
  criteria.forEach((c, i) => {
    const col = i < 5 ? 0 : 1;
    const row = i < 5 ? i : i - 5;
    const x = 0.25 + col * colW;
    const y = 1.1 + row * 0.84;
    s.addShape(pres.ShapeType.rect, { x, y, w: colW - 0.1, h: 0.75, fill: { color: i % 2 === 0 ? LTGRAY : "EBF2F8" }, line: { color: LTGRAY } });
    s.addText([
      { text: c[0] + "  ", options: { bold: true, color: TEAL, fontSize: 13, fontFace: bodyFont } },
      { text: c[1], options: { bold: false, color: NAVY, fontSize: 13, fontFace: bodyFont } }
    ], { x: x + 0.1, y: y + 0.08, w: colW - 0.3, h: 0.6, valign: "middle", margin: 0 });
  });
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 16 — SECTION: LATE 20TH CENTURY & BEYOND
// ════════════════════════════════════════════════════════════════════════════
addSectionSlide("Part 5: Late 20th Century & Beyond", "HIV/AIDS, Evidence-Based Medicine & Global Health", "🌍");

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 17 — HIV/AIDS & EVIDENCE-BASED MEDICINE
// ════════════════════════════════════════════════════════════════════════════
addTwoColSlide(
  "HIV/AIDS Epidemic & Evidence-Based Medicine",
  "HIV/AIDS (1981–present)",
  [
    "1981: CDC reports unusual pneumonia and Kaposi sarcoma in young gay men (MMWR)",
    "Epidemiologists identified risk behaviours before the virus was characterised (1983)",
    "Case-control studies pinpointed sexual transmission and IV drug use",
    "Accelerated use of surveillance systems and cohort studies globally",
    "Led to major advances in outbreak investigation methodology",
    "By 2024: ~40 million deaths; ARV therapy turned AIDS from a death sentence into a chronic manageable condition"
  ],
  "Evidence-Based Medicine (1990s)",
  [
    "Archie Cochrane (1972) — argued for systematic use of RCT evidence in clinical practice",
    "Cochrane Collaboration founded 1993 — systematic reviews and meta-analyses",
    "David Sackett popularised EBM at McMaster University",
    "EBM formalises the epidemiological hierarchy: RCTs > cohort > case-control > expert opinion",
    "GRADE framework (2004): standardised quality of evidence and strength of recommendations",
    "Transformed how epidemiological findings translate into clinical guidelines"
  ]
);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 18 — MODERN EPIDEMIOLOGY
// ════════════════════════════════════════════════════════════════════════════
addContentSlide("Modern Epidemiology: Methods & Milestones", [
  "Molecular & genetic epidemiology: Genome-Wide Association Studies (GWAS) link genetic variants to disease at population scale",
  "Pharmaco-epidemiology: post-market drug safety surveillance using real-world data (e.g., vaccine adverse event monitoring)",
  "COVID-19 pandemic (2019–2023): real-time genomic surveillance, platform trials (RECOVERY, SOLIDARITY), and reproduction number (R₀) modelling informed global policy within weeks",
  "Big data & digital epidemiology: electronic health records (EHRs), social media surveillance (Google Flu Trends, Twitter syndromic surveillance), wearables",
  "Life course epidemiology (David Barker): in utero exposures → adult chronic disease (Barker Hypothesis, 1989)",
  "Social determinants of health: Marmot Review (2010) — social gradient in health is not inevitable; health inequity is a priority outcome"
]);

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 19 — STUDY DESIGN EVOLUTION
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: WHITE };
  addHeaderBar(s, "Evolution of Epidemiological Study Designs");

  const designs = [
    { type: "Case Report / Case Series", era: "Pre-1800s", desc: "Earliest form; purely descriptive; no comparison group", color: "C8DCE8" },
    { type: "Ecological Study", era: "1800s", desc: "Population-level correlations (Farr, Snow); risk of ecological fallacy", color: "A8C8DC" },
    { type: "Cross-Sectional", era: "Early 1900s", desc: "Snapshot of population; prevalence studies; cannot establish temporality", color: "88B4D0" },
    { type: "Case-Control", era: "1950s", desc: "Compares past exposures between cases and controls; efficient for rare disease", color: "5896BE" },
    { type: "Cohort Study", era: "1950s–60s", desc: "Follows exposed vs. unexposed over time; establishes incidence and risk", color: "3878A8" },
    { type: "Randomised Controlled Trial", era: "1947+", desc: "Gold standard for intervention; random allocation minimises confounding", color: "1A5E8C" },
    { type: "Systematic Review / Meta-Analysis", era: "1990s+", desc: "Pools evidence across studies; highest evidence tier; basis for guidelines", color: "0D3D5E" }
  ];

  designs.forEach((d, i) => {
    const y = 0.95 + i * 0.66;
    s.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 2.5, h: 0.58, fill: { color: d.color }, line: { color: d.color } });
    s.addText(d.type, { x: 0.2, y, w: 2.5, h: 0.58, fontSize: 11, bold: true, color: NAVY, align: "center", valign: "middle", fontFace: bodyFont, margin: 0 });
    s.addShape(pres.ShapeType.rect, { x: 2.7, y, w: 1.1, h: 0.58, fill: { color: "FFF0CC" }, line: { color: GOLD } });
    s.addText(d.era, { x: 2.7, y, w: 1.1, h: 0.58, fontSize: 11, color: DGRAY, align: "center", valign: "middle", fontFace: bodyFont, margin: 0, bold: true });
    s.addShape(pres.ShapeType.rect, { x: 3.8, y, w: 6.0, h: 0.58, fill: { color: "F8FAFB" }, line: { color: LTGRAY } });
    s.addText(d.desc, { x: 3.9, y: y + 0.02, w: 5.85, h: 0.55, fontSize: 12, color: NAVY, valign: "middle", fontFace: bodyFont, margin: 0 });
  });
}

// ════════════════════════════════════════════════════════════════════════════
// SLIDE 20 — CONCLUSION / KEY TAKEAWAYS
// ════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DGRAY };
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.25, h: "100%", fill: { color: GOLD } });
  s.addText("Key Takeaways", {
    x: 0.6, y: 0.15, w: 9.2, h: 0.65,
    fontSize: 28, bold: true, color: WHITE, fontFace: titleFont, valign: "middle", margin: 0
  });
  s.addShape(pres.ShapeType.rect, { x: 0.6, y: 0.85, w: 9.0, h: 0.04, fill: { color: GOLD } });

  const takeaways = [
    ["Epidemiology is ancient", "Hippocrates observed disease patterns rationally 2,400 years ago"],
    ["Quantification was revolutionary", "Graunt and Farr showed that counting deaths could guide public health — before germ theory existed"],
    ["Observation + logic = intervention", "John Snow stopped a cholera outbreak without knowing the causative organism"],
    ["Causation requires rigour", "Hill's criteria and controlled study designs prevent us from mistaking correlation for cause"],
    ["The field never stops evolving", "From vital statistics to genomics to digital surveillance — each era adds new tools, but the core questions remain"],
  ];

  takeaways.forEach(([title, body], i) => {
    const y = 1.0 + i * 0.9;
    s.addShape(pres.ShapeType.rect, { x: 0.5, y, w: 0.45, h: 0.7, fill: { color: GOLD } });
    s.addText(`${i + 1}`, { x: 0.5, y, w: 0.45, h: 0.7, fontSize: 20, bold: true, color: NAVY, align: "center", valign: "middle", fontFace: bodyFont, margin: 0 });
    s.addText([
      { text: title + " — ", options: { bold: true, color: GOLD, fontSize: 15, fontFace: bodyFont } },
      { text: body, options: { bold: false, color: LTGRAY, fontSize: 15, fontFace: bodyFont } }
    ], { x: 1.1, y: y + 0.05, w: 8.5, h: 0.6, valign: "middle", margin: 0 });
  });
}

// ════════════════════════════════════════════════════════════════════════════
// WRITE FILE
// ════════════════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/epi-history-ppt/History_of_Epidemiology.pptx" })
  .then(() => console.log("DONE: History_of_Epidemiology.pptx created"))
  .catch(err => { console.error("ERROR:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/epi-history-ppt && node build.js

Running Command

libreoffice --headless --convert-to pdf /home/daytona/workspace/epi-history-ppt/…

Running Command

mkdir -p /home/daytona/workspace/epi-history-ppt/output && libreoffice --headles…

Running Command

ls -la /home/daytona/workspace/epi-history-ppt/ && chmod 777 /home/daytona/works…

Running Command

cp /home/daytona/workspace/epi-history-ppt/History_of_Epidemiology.pptx /tmp/epi…

Your presentation is ready. Here are both download formats:

History of Epidemiology

PDF Document · PDF

History of Epidemiology

Presentation · PPTX


20 slides covering the full sweep of epidemiology's history, designed for medical/public health students. Here's what's inside:
SlideContent
1Title slide — dark navy/teal/gold theme
2What Is Epidemiology? (definition, core questions)
3Visual timeline: 400 BC → 1900s (alternating above/below labels)
4Section break — Ancient Origins
5Hippocrates — figure card with quote
6Section break — Quantification era
7John Graunt vs. William Farr (two-column comparison)
8James Lind — first controlled clinical trial (1747)
9Section break — 19th-century breakthroughs
10John Snow — cholera & the Broad Street pump
11Florence Nightingale vs. Ignaz Semmelweis
12Germ theory — Pasteur vs. Koch
13Section break — 20th century
14Doll & Hill smoking study + Framingham Heart Study
15Bradford Hill's 9 Criteria of Causation (grid layout)
16Section break — Late 20th century & beyond
17HIV/AIDS epidemic + Evidence-Based Medicine
18Modern epidemiology (GWAS, COVID-19, digital epi, Marmot)
19Evolution of study designs (table: case report → meta-analysis)
20Key Takeaways (dark closing slide with numbered callouts)

Thank you this was great

Glad it hit the mark! Good luck with the presentation. Feel free to come back if you need any slides updated, extra content added, or a different topic covered.
This is a shared conversation. Sign in to Orris to start your own chat.