hospital acquired infections with recent guidelines
"healthcare associated infections" AND "guidelines"
hospital acquired infections guidelines 2024 2025 CDC IDSA recommendations
"healthcare associated infection" AND prevention AND "bundle"
"CLABSI" OR "CAUTI" OR "VAP" AND prevention guidelines
PMID: 39551087
PMID: 39505252
"Clostridioides difficile" OR "MRSA" AND hospital infection prevention
https://www.cdc.gov/healthcare-associated-infections/php/dat…

| Site | Common Pathogens |
|---|---|
| Urinary tract (most common) | E. coli, Enterococcus, Candida |
| Lower respiratory tract | Pseudomonas, Klebsiella, S. aureus |
| Surgical site | S. aureus, MRSA, coagulase-negative Staph |
| Skin and soft tissue | S. aureus, Streptococcus |
| Bloodstream / Bacteremia | CoNS, S. aureus, Gram-negatives |
| Catheter site | CoNS, S. aureus |
| ENT / Eye | Various |
| Measure | Detail |
|---|---|
| Hand hygiene | Most important single intervention - WHO 5 Moments (before patient contact, before aseptic procedure, after body fluid exposure, after patient contact, after contact with patient surroundings) |
| PPE | Gloves for blood/body fluid contact; mask/gown/eye protection for splash risk |
| No-touch technique | Where possible for procedures |
| Sharps safety | Proper handling and disposal |
| Environmental decontamination | Prompt spill management, terminal cleaning |
| Linen management | Machine wash or boiling for contaminated linen |
| HAI Type | Key Diagnostic Criterion | Core Prevention Bundle |
|---|---|---|
| CAUTI | ≥10⁵ CFU/mL urine + catheter in situ | Avoid/remove catheter early, closed drainage |
| CLABSI | Bacteremia with no other source, CVC in situ | Sterile insertion, CHG antisepsis, daily necessity review |
| VAP | New infiltrate + ≥2 clinical signs after 48h MV | HOB 30-45°, oral CHG, subglottic drainage |
| SSI | Purulent discharge/abscess within 30 days | Prophylactic antibiotics, glycemic control, normothermia |
| CDI | Positive C. diff toxin + ≥3 loose stools/day | Contact precautions, sporicidal cleaning, stewardship |
| MRSA BSI | MRSA in blood culture | Decolonization, CHG bathing, barrier precautions |
Prepare ppt , flash cards
mkdir -p /home/daytona/workspace/hai-presentation && ls /home/daytona/workspace/hai-presentation/
~/hai-presentation/hai_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Hospital-Acquired Infections (HAIs)";
pres.author = "Orris Medical";
// Color palette - deep teal/navy medical theme
const C = {
navy: "0B2447",
teal: "19376D",
accent: "0EA5E9", // bright sky blue accent
light: "E0F2FE",
white: "FFFFFF",
yellow: "FBBF24",
red: "EF4444",
green: "22C55E",
gray: "94A3B8",
dark: "0F172A",
};
// ─────────────────────────────────────────────
// SLIDE 1 — TITLE
// ─────────────────────────────────────────────
let s1 = pres.addSlide();
s1.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s1.addShape(pres.ShapeType.rect, { x: 0, y: 4.1, w: 10, h: 1.525, fill: { color: C.teal } });
s1.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s1.addText("HOSPITAL-ACQUIRED", {
x: 0.35, y: 0.7, w: 9.3, h: 0.8,
fontSize: 36, bold: true, color: C.white, fontFace: "Calibri",
charSpacing: 4, align: "center"
});
s1.addText("INFECTIONS (HAIs)", {
x: 0.35, y: 1.45, w: 9.3, h: 0.8,
fontSize: 36, bold: true, color: C.accent, fontFace: "Calibri",
charSpacing: 4, align: "center"
});
s1.addText("Nosocomial Infections — Epidemiology · Types · Prevention · 2024–25 Guidelines", {
x: 0.5, y: 2.5, w: 9, h: 0.55,
fontSize: 15, color: C.gray, fontFace: "Calibri", align: "center", italic: true
});
s1.addText("Sources: Park's Preventive Medicine · CDC NHSN 2024 · ISID 2024 · ESCMID 2024", {
x: 0.5, y: 4.35, w: 9, h: 0.4,
fontSize: 11, color: C.gray, fontFace: "Calibri", align: "center"
});
// ─────────────────────────────────────────────
// SLIDE 2 — DEFINITION & EPIDEMIOLOGY
// ─────────────────────────────────────────────
let s2 = pres.addSlide();
s2.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s2.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s2.addText("DEFINITION & EPIDEMIOLOGY", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
// Left box — Definition
s2.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.9, w: 4.6, h: 2.2, fill: { color: C.light }, line: { color: C.accent, width: 1.5 }, rectRadius: 0.08 });
s2.addText("DEFINITION", { x: 0.3, y: 0.95, w: 4.4, h: 0.35, fontSize: 12, bold: true, color: C.teal, fontFace: "Calibri" });
s2.addText([
{ text: "Infection acquired during hospital care, ", options: {} },
{ text: "NOT present or incubating at admission.", options: { bold: true } },
{ text: "\n\nOnset: ", options: {} },
{ text: ">48 hours after admission", options: { bold: true, color: C.teal } },
{ text: "\n\nAlso includes infections in any healthcare setting (WHO/CDC).", options: {} },
], { x: 0.3, y: 1.35, w: 4.4, h: 1.65, fontSize: 12, color: C.dark, fontFace: "Calibri", valign: "top" });
// Right box — Key Stats
s2.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 0.9, w: 4.6, h: 2.2, fill: { color: "FFF7ED" }, line: { color: C.yellow, width: 1.5 }, rectRadius: 0.08 });
s2.addText("CDC 2024 KEY STATISTICS", { x: 5.2, y: 0.95, w: 4.4, h: 0.35, fontSize: 12, bold: true, color: "B45309", fontFace: "Calibri" });
s2.addText([
{ text: "1 in 31", options: { bold: true, fontSize: 18, color: C.red } },
{ text: " US hospital patients gets an HAI daily\n", options: { fontSize: 12 } },
{ text: "3rd consecutive year", options: { bold: true, color: "166534" } },
{ text: " of declining HAI rates (2024)\n", options: { fontSize: 12 } },
{ text: ">38,000", options: { bold: true, color: C.teal } },
{ text: " US facilities report to NHSN", options: { fontSize: 12 } },
], { x: 5.2, y: 1.35, w: 4.35, h: 1.65, fontSize: 12, color: C.dark, fontFace: "Calibri", valign: "top" });
// Types row
s2.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.25, w: 9.5, h: 0.35, fill: { color: C.teal } });
s2.addText("TYPES: Endemic (common) vs. Epidemic (outbreak — unusual rise above baseline)", {
x: 0.25, y: 3.27, w: 9.4, h: 0.3, fontSize: 12, color: C.white, bold: true, fontFace: "Calibri"
});
// Bottom stat boxes
const stats2 = [
{ val: "UTI", sub: "Most common\nnosocomial site", col: C.accent },
{ val: "VAP", sub: "Highest mortality\nin ICU", col: C.red },
{ val: "CLABSI", sub: "Most costly\nHAI type", col: "7C3AED" },
{ val: "SSI", sub: "30-day post-op\ncriterion", col: C.green },
];
stats2.forEach((st, i) => {
const x = 0.2 + i * 2.4;
s2.addShape(pres.ShapeType.roundRect, { x, y: 3.7, w: 2.2, h: 1.7, fill: { color: st.col }, rectRadius: 0.08 });
s2.addText(st.val, { x, y: 3.82, w: 2.2, h: 0.55, fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s2.addText(st.sub, { x, y: 4.35, w: 2.2, h: 0.9, fontSize: 11, color: C.white, fontFace: "Calibri", align: "center" });
});
// ─────────────────────────────────────────────
// SLIDE 3 — COMMON SITES (with distribution)
// ─────────────────────────────────────────────
let s3 = pres.addSlide();
s3.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s3.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s3.addText("COMMON SITES OF NOSOCOMIAL INFECTION", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
const sites = [
{ site: "Urinary Tract", pct: "30–40%", bug: "E. coli, Enterococcus, Candida", col: C.accent, x: 0.2, y: 0.95 },
{ site: "Lower Respiratory Tract", pct: "15–20%", bug: "Pseudomonas, Klebsiella, S. aureus", col: "7C3AED", x: 0.2, y: 1.8 },
{ site: "Surgical Site", pct: "14–16%", bug: "S. aureus, MRSA, CoNS", col: C.green, x: 0.2, y: 2.65 },
{ site: "Bloodstream / Bacteremia", pct: "10–14%", bug: "CoNS, S. aureus, Gram-negatives", col: C.red, x: 0.2, y: 3.5 },
{ site: "Skin & Soft Tissue / Catheter site", pct: "8–10%", bug: "S. aureus, Streptococcus", col: C.yellow, x: 0.2, y: 4.35 },
];
sites.forEach(s => {
// colored left bar
s3.addShape(pres.ShapeType.rect, { x: s.x, y: s.y, w: 0.15, h: 0.7, fill: { color: s.col } });
// site name + %
s3.addText(s.site, { x: 0.45, y: s.y + 0.02, w: 4.5, h: 0.35, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri" });
s3.addText(s.pct, { x: 0.45, y: s.y + 0.35, w: 1.5, h: 0.28, fontSize: 11, color: s.col, bold: true, fontFace: "Calibri" });
s3.addText("Pathogens: " + s.bug, { x: 0.45, y: s.y + 0.35, w: 4.8, h: 0.28, fontSize: 10.5, color: C.gray, fontFace: "Calibri", align: "right" });
// horizontal line
s3.addShape(pres.ShapeType.line, { x: 0.2, y: s.y + 0.72, w: 9.5, h: 0, line: { color: "E2E8F0", width: 0.5 } });
});
// Right info panel
s3.addShape(pres.ShapeType.roundRect, { x: 5.5, y: 0.95, w: 4.25, h: 3.2, fill: { color: C.light }, line: { color: C.accent, width: 1 }, rectRadius: 0.08 });
s3.addText("HIGH-RISK SETTINGS", { x: 5.6, y: 1.0, w: 4.0, h: 0.35, fontSize: 12, bold: true, color: C.teal, fontFace: "Calibri" });
s3.addText([
{ text: "• Intensive Care Units (ICU)\n", options: { bullet: false } },
{ text: "• Urological wards\n", options: {} },
{ text: "• Neonatal ICU / Special baby care\n", options: {} },
{ text: "• Geriatric wards\n", options: {} },
{ text: "• Burns units\n", options: {} },
{ text: "• Oncology / Haematology wards", options: {} },
], { x: 5.6, y: 1.4, w: 4.0, h: 2.5, fontSize: 12, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.3 });
// ─────────────────────────────────────────────
// SLIDE 4 — SOURCES & ROUTES OF TRANSMISSION
// ─────────────────────────────────────────────
let s4 = pres.addSlide();
s4.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s4.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s4.addText("SOURCES & ROUTES OF TRANSMISSION", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
// 3 source boxes
const sources = [
{ title: "PATIENTS", icon: "👤", items: ["Infectious diseases (measles, influenza, TB)", "Discharging wounds / infected lesions", "Urinary tract infections", "Viral hepatitis"], col: C.accent },
{ title: "STAFF", icon: "🏥", items: ["S. aureus — nasal/skin carriage", "Haemolytic streptococci — throat", "Salmonella — gut carriage", "Infected skin lesions, diarrhea"], col: "7C3AED" },
{ title: "ENVIRONMENT", icon: "🏨", items: ["Hospital dust & air particles", "Linen, bedclothes, furniture", "Sinks, basins, door handles", "IV lines, catheters, dressings"], col: C.green },
];
sources.forEach((src, i) => {
const x = 0.2 + i * 3.25;
s4.addShape(pres.ShapeType.roundRect, { x, y: 0.9, w: 3.0, h: 2.4, fill: { color: src.col }, rectRadius: 0.1 });
s4.addText(src.icon + " " + src.title, { x, y: 0.95, w: 3.0, h: 0.45, fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s4.addText(src.items.map(i => "• " + i).join("\n"), {
x: x + 0.1, y: 1.42, w: 2.8, h: 1.85,
fontSize: 10.5, color: C.white, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.3
});
});
// Routes section
s4.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.45, w: 9.5, h: 0.35, fill: { color: C.teal } });
s4.addText("ROUTES OF SPREAD", { x: 0.25, y: 3.47, w: 9.4, h: 0.3, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri" });
const routes = [
{ r: "Direct Contact", d: "HCW hands → patient (most common)" },
{ r: "Droplet", d: "Coughing/sneezing (>5 µm particles)" },
{ r: "Airborne", d: "Droplet nuclei <5 µm (TB, measles, varicella)" },
{ r: "Invasive Procedures", d: "Catheters, IV lines, endoscopy, surgery" },
{ r: "Hospital Dust / Fomites", d: "Environmental surfaces, linen, equipment" },
];
routes.forEach((r, i) => {
const x = 0.2 + (i % 3) * 3.3;
const y = 3.9 + Math.floor(i / 3) * 0.55;
s4.addShape(pres.ShapeType.roundRect, { x, y, w: 3.1, h: 0.48, fill: { color: C.light }, line: { color: C.accent, width: 1 }, rectRadius: 0.06 });
s4.addText([
{ text: r.r + ": ", options: { bold: true, color: C.teal } },
{ text: r.d, options: { color: C.dark } }
], { x: x + 0.1, y, w: 2.95, h: 0.48, fontSize: 10, fontFace: "Calibri", valign: "middle" });
});
// ─────────────────────────────────────────────
// SLIDE 5 — THE BIG 5 HAIs
// ─────────────────────────────────────────────
let s5 = pres.addSlide();
s5.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s5.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s5.addText("THE 'BIG 5' HAI CATEGORIES (CDC/NHSN)", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
const big5 = [
{ abbr: "CAUTI", full: "Catheter-Associated UTI", col: C.accent, crit: "≥10⁵ CFU/mL + catheter in situ", prev: "Avoid/remove catheter early; closed drainage" },
{ abbr: "CLABSI", full: "Central Line Bloodstream Infxn", col: "7C3AED", crit: "Bacteremia, no other source, CVC present", prev: "Sterile insertion; CHG antisepsis; daily review" },
{ abbr: "VAP", full: "Ventilator-Associated Pneumonia", col: C.red, crit: "New infiltrate + ≥2 signs after 48h ventilation", prev: "HOB 30-45°; oral CHG; subglottic drainage" },
{ abbr: "SSI", full: "Surgical Site Infection", col: C.green, crit: "Purulent discharge/abscess within 30 days", prev: "Pre-op antibiotics; normothermia; glycemic control" },
{ abbr: "CDI", full: "C. difficile Infection", col: C.yellow, crit: "+ve toxin + ≥3 loose stools/day", prev: "Contact precautions; bleach cleaning; stewardship" },
];
big5.forEach((item, i) => {
const y = 0.88 + i * 0.93;
// left colored block
s5.addShape(pres.ShapeType.roundRect, { x: 0.2, y, w: 1.3, h: 0.78, fill: { color: item.col }, rectRadius: 0.08 });
s5.addText(item.abbr, { x: 0.2, y: y + 0.05, w: 1.3, h: 0.4, fontSize: 15, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s5.addText(item.full, { x: 0.2, y: y + 0.42, w: 1.3, h: 0.3, fontSize: 8, color: C.white, fontFace: "Calibri", align: "center" });
// middle — criterion
s5.addShape(pres.ShapeType.roundRect, { x: 1.65, y, w: 3.75, h: 0.78, fill: { color: "F8FAFC" }, line: { color: "CBD5E1", width: 0.5 }, rectRadius: 0.06 });
s5.addText("Criterion:", { x: 1.75, y: y + 0.04, w: 3.55, h: 0.25, fontSize: 9, bold: true, color: C.gray, fontFace: "Calibri" });
s5.addText(item.crit, { x: 1.75, y: y + 0.26, w: 3.55, h: 0.46, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top" });
// right — prevention
s5.addShape(pres.ShapeType.roundRect, { x: 5.55, y, w: 4.2, h: 0.78, fill: { color: "F0FDF4" }, line: { color: C.green, width: 0.5 }, rectRadius: 0.06 });
s5.addText("Prevention:", { x: 5.65, y: y + 0.04, w: 4.0, h: 0.25, fontSize: 9, bold: true, color: "166534", fontFace: "Calibri" });
s5.addText(item.prev, { x: 5.65, y: y + 0.26, w: 4.0, h: 0.46, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top" });
});
// ─────────────────────────────────────────────
// SLIDE 6 — PREVENTION BUNDLES
// ─────────────────────────────────────────────
let s6 = pres.addSlide();
s6.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s6.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s6.addText("PREVENTION BUNDLES (ISID 2024 / SHEA / CDC)", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
// CLABSI bundle
s6.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.85, w: 4.6, h: 2.2, fill: { color: "EDE9FE" }, line: { color: "7C3AED", width: 1.5 }, rectRadius: 0.08 });
s6.addText("CLABSI BUNDLE", { x: 0.3, y: 0.9, w: 4.4, h: 0.35, fontSize: 13, bold: true, color: "5B21B6", fontFace: "Calibri" });
s6.addText([
{ text: "• Maximal sterile barrier (cap, mask, gown, drape)\n", options: {} },
{ text: "• Chlorhexidine (CHG) skin antisepsis\n", options: {} },
{ text: "• Subclavian vein preferred site\n", options: {} },
{ text: "• Daily necessity review → remove ASAP\n", options: {} },
{ text: "• CHG-impregnated dressings", options: {} },
], { x: 0.3, y: 1.28, w: 4.4, h: 1.7, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.25 });
// VAP bundle
s6.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 0.85, w: 4.6, h: 2.2, fill: { color: "FEF2F2" }, line: { color: C.red, width: 1.5 }, rectRadius: 0.08 });
s6.addText("VAP BUNDLE", { x: 5.2, y: 0.9, w: 4.4, h: 0.35, fontSize: 13, bold: true, color: "B91C1C", fontFace: "Calibri" });
s6.addText([
{ text: "• Head-of-bed elevation 30–45°\n", options: {} },
{ text: "• Oral decontamination with CHG\n", options: {} },
{ text: "• Subglottic secretion drainage\n", options: {} },
{ text: "• Daily sedation interruption + weaning\n", options: {} },
{ text: "• Early mobilization where feasible", options: {} },
], { x: 5.2, y: 1.28, w: 4.4, h: 1.7, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.25 });
// CAUTI bundle
s6.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 3.2, w: 4.6, h: 2.2, fill: { color: "E0F2FE" }, line: { color: C.accent, width: 1.5 }, rectRadius: 0.08 });
s6.addText("CAUTI BUNDLE", { x: 0.3, y: 3.25, w: 4.4, h: 0.35, fontSize: 13, bold: true, color: "0369A1", fontFace: "Calibri" });
s6.addText([
{ text: "• Avoid catheterization unless indicated\n", options: {} },
{ text: "• Smallest effective catheter size\n", options: {} },
{ text: "• Maintain closed drainage system\n", options: {} },
{ text: "• Unobstructed urine flow\n", options: {} },
{ text: "• Remove catheter at earliest opportunity", options: {} },
], { x: 0.3, y: 3.63, w: 4.4, h: 1.7, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.25 });
// SSI bundle
s6.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 3.2, w: 4.6, h: 2.2, fill: { color: "F0FDF4" }, line: { color: C.green, width: 1.5 }, rectRadius: 0.08 });
s6.addText("SSI BUNDLE", { x: 5.2, y: 3.25, w: 4.4, h: 0.35, fontSize: 13, bold: true, color: "166534", fontFace: "Calibri" });
s6.addText([
{ text: "• Prophylactic antibiotics within 60 min\n", options: {} },
{ text: "• Clippers not razors for hair removal\n", options: {} },
{ text: "• Maintain normothermia (avoid hypothermia)\n", options: {} },
{ text: "• Strict glycemic control\n", options: {} },
{ text: "• CHG pre-op bathing", options: {} },
], { x: 5.2, y: 3.63, w: 4.4, h: 1.7, fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.25 });
// ─────────────────────────────────────────────
// SLIDE 7 — STANDARD PRECAUTIONS & ISOLATION
// ─────────────────────────────────────────────
let s7 = pres.addSlide();
s7.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s7.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s7.addText("STANDARD PRECAUTIONS & ISOLATION", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
// Hand hygiene box (hero)
s7.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.85, w: 9.5, h: 0.85, fill: { color: C.teal }, rectRadius: 0.08 });
s7.addText("HAND HYGIENE — The SINGLE Most Important HAI Prevention Measure", {
x: 0.3, y: 0.88, w: 9.2, h: 0.35, fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center"
});
s7.addText("WHO 5 Moments: Before pt contact | Before aseptic procedure | After body fluid exposure | After pt contact | After pt surroundings", {
x: 0.3, y: 1.22, w: 9.2, h: 0.4, fontSize: 11, color: C.light, fontFace: "Calibri", align: "center"
});
// Standard precautions table
const prec = [
["Precaution", "When to Use", "Equipment"],
["Gloves", "Contact with blood/body fluids/mucous membranes", "Non-sterile gloves"],
["Mask + Eye protection", "Splash/aerosol risk", "Surgical mask, goggles/visor"],
["Gown/Apron", "Soiling of clothes likely", "Disposable gown"],
["Sharps safety", "All procedures", "Safety devices, sharps bins"],
["Waste management", "All clinical waste", "Colour-coded bags/bins"],
];
prec.forEach((row, ri) => {
const y = 1.85 + ri * 0.38;
const isHead = ri === 0;
const bg = isHead ? C.teal : (ri % 2 === 0 ? "F8FAFC" : C.white);
s7.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 9.5, h: 0.36, fill: { color: bg } });
[row[0], row[1], row[2]].forEach((cell, ci) => {
const cx = ci === 0 ? 0.3 : ci === 1 ? 2.2 : 7.0;
const cw = ci === 0 ? 1.85 : ci === 1 ? 4.7 : 2.6;
s7.addText(cell, { x: cx, y: y + 0.03, w: cw, h: 0.3, fontSize: isHead ? 11 : 10.5, bold: isHead, color: isHead ? C.white : C.dark, fontFace: "Calibri" });
});
});
// Isolation types row
s7.addShape(pres.ShapeType.rect, { x: 0.2, y: 4.2, w: 9.5, h: 1.25, fill: { color: C.light } });
const isoTypes = [
{ t: "CONTACT", d: "MRSA, VRE, CDI,\nMDR organisms", col: C.red },
{ t: "DROPLET", d: "Influenza,\nMeningococcal", col: C.yellow },
{ t: "AIRBORNE", d: "TB, Measles,\nVaricella (–ve pressure)", col: "7C3AED" },
{ t: "PROTECTIVE", d: "Immunocompromised\npatients (reverse isolation)", col: C.green },
];
isoTypes.forEach((it, i) => {
const x = 0.3 + i * 2.35;
s7.addShape(pres.ShapeType.roundRect, { x, y: 4.28, w: 2.15, h: 1.1, fill: { color: it.col }, rectRadius: 0.07 });
s7.addText(it.t, { x, y: 4.3, w: 2.15, h: 0.38, fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s7.addText(it.d, { x, y: 4.66, w: 2.15, h: 0.65, fontSize: 10, color: C.white, fontFace: "Calibri", align: "center" });
});
// ─────────────────────────────────────────────
// SLIDE 8 — ANTIMICROBIAL STEWARDSHIP & STAFF HEALTH
// ─────────────────────────────────────────────
let s8 = pres.addSlide();
s8.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s8.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s8.addText("ANTIMICROBIAL STEWARDSHIP & STAFF HEALTH", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
// AMS
s8.addShape(pres.ShapeType.roundRect, { x: 0.2, y: 0.85, w: 4.6, h: 4.55, fill: { color: "FFFBEB" }, line: { color: C.yellow, width: 1.5 }, rectRadius: 0.08 });
s8.addText("ANTIMICROBIAL STEWARDSHIP\n(ESCMID 2024 / CDC Core Elements)", {
x: 0.3, y: 0.9, w: 4.4, h: 0.6, fontSize: 12, bold: true, color: "92400E", fontFace: "Calibri"
});
const amsPoints = [
"Use shortest effective antibiotic duration",
"De-escalate based on culture/sensitivity results",
"Antibiogram-guided empiric therapy",
"IV-to-oral switch at earliest opportunity",
"Restrict broad-spectrum agents (carbapenems, colistin)",
"Pharmacist/ID physician review of antimicrobials",
"Audit and feedback to prescribers",
"Education on antibiotic resistance",
];
s8.addText(amsPoints.map(p => "• " + p).join("\n"), {
x: 0.3, y: 1.55, w: 4.4, h: 3.7,
fontSize: 11, color: C.dark, fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.3
});
// Staff health
s8.addShape(pres.ShapeType.roundRect, { x: 5.1, y: 0.85, w: 4.6, h: 4.55, fill: { color: "F0FDF4" }, line: { color: C.green, width: 1.5 }, rectRadius: 0.08 });
s8.addText("STAFF HEALTH PROGRAMME", {
x: 5.2, y: 0.9, w: 4.4, h: 0.4, fontSize: 12, bold: true, color: "166534", fontFace: "Calibri"
});
const staffPoints = [
["Pre-employment review", "Immunization history, Mantoux test"],
["HCW Vaccines", "Hep A+B, Influenza (annual), MMR, Td, Varicella"],
["Work restrictions", "Exclude staff with skin infections, diarrhea, sore throat"],
["Personal hygiene", "Regular apron changes, hand hygiene compliance"],
["Post-exposure protocols", "HIV, HBV, HCV, TB, VZV, Meningococcus, Pertussis, Rabies"],
];
let sy = 1.38;
staffPoints.forEach(sp => {
s8.addText(sp[0], { x: 5.2, y: sy, w: 4.4, h: 0.28, fontSize: 11.5, bold: true, color: C.teal, fontFace: "Calibri" });
s8.addText(sp[1], { x: 5.3, y: sy + 0.27, w: 4.2, h: 0.3, fontSize: 10.5, color: C.dark, fontFace: "Calibri" });
sy += 0.72;
});
// ─────────────────────────────────────────────
// SLIDE 9 — RECENT GUIDELINES SUMMARY
// ─────────────────────────────────────────────
let s9 = pres.addSlide();
s9.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.75, fill: { color: C.navy } });
s9.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s9.addText("RECENT GUIDELINES (2023–2025)", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri"
});
const guidelines = [
{ year: "2025", org: "ISID", topic: "VAP Prevention — 2024 Position Paper", detail: "Evidence-based VAP bundle; HOB elevation; oral CHG; differences in high vs. LMICs highlighted. PMID 39551087", col: C.red },
{ year: "2025", org: "ISID", topic: "CLABSI Prevention — 2024 Position Paper", detail: "Maximal sterile barriers; CHG antisepsis; subclavian preference; daily necessity review. PMID 39505252", col: "7C3AED" },
{ year: "2025", org: "Cochrane", topic: "Probiotics for CDI Prevention", detail: "Supports probiotic use for primary CDI prevention in antibiotic-exposed adults and children. PMID 40931979", col: C.green },
{ year: "2024", org: "ESCMID", topic: "Decolonization Before Surgery (MDR organisms)", detail: "Pre-operative decolonization in patients colonized with MRSA/MDR Gram-positives. PMID 39154859", col: C.yellow },
{ year: "2024", org: "ESCMID", topic: "Antimicrobial Stewardship in Emergency Depts", detail: "Shortest effective duration; antibiogram-guided empirics; IV→oral switch. PMID 39029872", col: C.accent },
{ year: "2024", org: "CDC NHSN", topic: "HAI Progress Report 2024", detail: "3rd consecutive year of HAI declines. 1 in 31 patients affected daily. Data from 38,000+ facilities.", col: "0F766E" },
];
guidelines.forEach((g, i) => {
const y = 0.9 + i * 0.78;
s9.addShape(pres.ShapeType.roundRect, { x: 0.2, y, w: 1.0, h: 0.65, fill: { color: g.col }, rectRadius: 0.07 });
s9.addText(g.year, { x: 0.2, y: y + 0.02, w: 1.0, h: 0.3, fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
s9.addText(g.org, { x: 0.2, y: y + 0.33, w: 1.0, h: 0.28, fontSize: 10, color: C.white, fontFace: "Calibri", align: "center" });
s9.addShape(pres.ShapeType.roundRect, { x: 1.35, y, w: 8.4, h: 0.65, fill: { color: "F8FAFC" }, line: { color: "E2E8F0", width: 0.5 }, rectRadius: 0.07 });
s9.addText(g.topic, { x: 1.45, y: y + 0.02, w: 8.2, h: 0.28, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri" });
s9.addText(g.detail, { x: 1.45, y: y + 0.3, w: 8.2, h: 0.3, fontSize: 10, color: C.gray, fontFace: "Calibri" });
});
// ─────────────────────────────────────────────
// SLIDE 10 — SURVEILLANCE & KEY TAKEAWAYS
// ─────────────────────────────────────────────
let s10 = pres.addSlide();
s10.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.dark } });
s10.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
s10.addShape(pres.ShapeType.rect, { x: 0, y: 4.7, w: 10, h: 0.925, fill: { color: C.navy } });
s10.addText("KEY TAKEAWAYS", {
x: 0.3, y: 0.2, w: 9.4, h: 0.6,
fontSize: 26, bold: true, color: C.accent, fontFace: "Calibri", charSpacing: 3
});
const takeaways = [
{ num: "01", text: "HAI = infection >48h after admission; NOT present on admission. Affects 1 in 31 hospital patients daily." },
{ num: "02", text: "UTI is the most common site; VAP carries the highest mortality. ICU patients are at greatest risk." },
{ num: "03", text: "The Big 5 — CAUTI, CLABSI, VAP, SSI, CDI — are all measurable, reportable, and largely preventable." },
{ num: "04", text: "Hand hygiene remains the single most effective intervention. WHO 5 Moments should guide practice." },
{ num: "05", text: "Use disease-specific bundles: CLABSI (sterile insertion + CHG), VAP (HOB 30-45° + subglottic drainage), CAUTI (early removal)." },
{ num: "06", text: "Antimicrobial stewardship is integral — shortest duration, de-escalation, IV→oral switch (ESCMID 2024)." },
];
takeaways.forEach((tk, i) => {
const y = 0.95 + i * 0.6;
s10.addShape(pres.ShapeType.roundRect, { x: 0.3, y, w: 0.55, h: 0.45, fill: { color: C.accent }, rectRadius: 0.05 });
s10.addText(tk.num, { x: 0.3, y: y + 0.02, w: 0.55, h: 0.4, fontSize: 13, bold: true, color: C.dark, fontFace: "Calibri", align: "center" });
s10.addText(tk.text, { x: 1.0, y, w: 8.7, h: 0.5, fontSize: 11.5, color: C.light, fontFace: "Calibri", valign: "middle" });
});
s10.addText("Sources: Park's Preventive Medicine | CDC NHSN 2024 HAI Progress Report | ISID 2024 (PMID 39551087, 39505252) | ESCMID 2024 (PMID 39154859, 39029872) | Cochrane 2025 (PMID 40931979)", {
x: 0.3, y: 4.75, w: 9.4, h: 0.45, fontSize: 8.5, color: C.gray, fontFace: "Calibri", align: "center"
});
// ─────────────────────────────────────────────
// WRITE FILE
// ─────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hai-presentation/HAI_Hospital_Acquired_Infections.pptx" })
.then(() => console.log("✅ PPTX created successfully"))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/hai-presentation && node hai_ppt.js
~/hai-presentation/hai_flashcards.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
from reportlab.lib.colors import HexColor
import math
OUTPUT = "/home/daytona/workspace/hai-presentation/HAI_Flashcards.pdf"
# Card size: half-A4 landscape (148.5 x 105 mm), 2 per A4 page
PAGE_W, PAGE_H = A4 # 210 x 297 mm in points
CARD_W = PAGE_W - 20*mm
CARD_H = 105*mm
# Colors
NAVY = HexColor("#0B2447")
TEAL = HexColor("#19376D")
ACCENT = HexColor("#0EA5E9")
LIGHT = HexColor("#E0F2FE")
WHITE = colors.white
DARK = HexColor("#0F172A")
GRAY = HexColor("#64748B")
RED = HexColor("#EF4444")
GREEN = HexColor("#22C55E")
PURPLE = HexColor("#7C3AED")
YELLOW = HexColor("#FBBF24")
LTGRAY = HexColor("#F1F5F9")
flashcards = [
{
"q": "What is the definition of a\nHospital-Acquired Infection (HAI)?",
"a": [
("Definition:", "Infection acquired during hospital care, NOT present or incubating at admission."),
("Time criterion:", ">48 hours after admission"),
("Also called:", "Nosocomial infection"),
("WHO scope:", "Any healthcare setting, including outpatient, LTCF"),
],
"tag": "DEFINITION",
"col": TEAL,
},
{
"q": "What are the 3 sources of\nHospital-Acquired Infections?",
"a": [
("1. Patients:", "Infected wounds, TB, influenza, UTI, viral hepatitis"),
("2. Staff:", "S. aureus (nose/skin), Streptococci (throat), Salmonella (gut)"),
("3. Environment:", "Dust, linen, beds, sinks, door handles, air, IV equipment"),
("Key insight:", "Staff hands are the most common transmission vector"),
],
"tag": "SOURCES",
"col": ACCENT,
},
{
"q": "What are the 5 routes of\ntransmission of HAIs?",
"a": [
("1. Direct contact:", "HCW hands → patient (MOST COMMON)"),
("2. Droplet:", "Coughing/sneezing, particles >5 µm"),
("3. Airborne:", "Droplet nuclei <5 µm (TB, Measles, Varicella)"),
("4. Invasive procedures:", "Catheters, IV lines, surgery, endoscopy"),
("5. Fomites/dust:", "Contaminated surfaces & hospital environment"),
],
"tag": "TRANSMISSION",
"col": PURPLE,
},
{
"q": "Name the 5 CDC/NHSN HAI types\nand their diagnostic criteria",
"a": [
("CAUTI:", "≥10⁵ CFU/mL urine + urinary catheter in situ"),
("CLABSI:", "Bacteremia with no other source + central line in situ"),
("VAP:", "New infiltrate + ≥2 clinical signs after 48h ventilation"),
("SSI:", "Purulent discharge/abscess within 30 days of surgery"),
("CDI:", "Positive C. diff toxin + ≥3 loose stools/day"),
],
"tag": "BIG 5 HAIs",
"col": RED,
},
{
"q": "What is the CLABSI prevention bundle?\n(ISID 2024, PMID 39505252)",
"a": [
("1.", "Maximal sterile barrier (cap, mask, gown, full drape)"),
("2.", "Chlorhexidine (CHG) skin antisepsis at insertion site"),
("3.", "Subclavian vein — preferred insertion site"),
("4.", "Daily necessity review → remove catheter ASAP"),
("5.", "CHG-impregnated dressings; antimicrobial catheter if high-risk"),
],
"tag": "CLABSI BUNDLE",
"col": PURPLE,
},
{
"q": "What is the VAP prevention bundle?\n(ISID 2024, PMID 39551087)",
"a": [
("1.", "Head-of-bed elevation 30–45° (optimal ~30–35°)"),
("2.", "Oral decontamination with Chlorhexidine (CHG)"),
("3.", "Subglottic secretion drainage (continuous/intermittent)"),
("4.", "Daily sedation interruption + weaning protocol assessment"),
("5.", "Early mobilization; avoid unnecessary ETT changes"),
],
"tag": "VAP BUNDLE",
"col": RED,
},
{
"q": "What is the CAUTI prevention bundle?\n(Li et al. 2025, PMID 41059852)",
"a": [
("1.", "Avoid catheterization unless strictly indicated"),
("2.", "Use smallest effective catheter size"),
("3.", "Maintain closed, sterile drainage system"),
("4.", "Keep unobstructed urine flow; bag below bladder level"),
("5.", "Remove catheter at earliest opportunity (daily review)"),
],
"tag": "CAUTI BUNDLE",
"col": ACCENT,
},
{
"q": "What is the SSI prevention bundle?\n(WHO / SHEA guidelines)",
"a": [
("1.", "Prophylactic antibiotics within 60 min of incision"),
("2.", "Hair removal with clippers ONLY (not razors)"),
("3.", "Maintain normothermia (prevent intraoperative hypothermia)"),
("4.", "Strict perioperative glycemic control (<180 mg/dL)"),
("5.", "CHG pre-operative bathing the night before surgery"),
],
"tag": "SSI BUNDLE",
"col": GREEN,
},
{
"q": "What are the WHO 5 Moments\nfor Hand Hygiene?",
"a": [
("Moment 1:", "BEFORE touching a patient"),
("Moment 2:", "BEFORE performing an aseptic/clean procedure"),
("Moment 3:", "AFTER body fluid / blood exposure risk"),
("Moment 4:", "AFTER touching a patient"),
("Moment 5:", "AFTER touching patient surroundings"),
],
"tag": "HAND HYGIENE",
"col": TEAL,
},
{
"q": "What type of isolation precautions\nare used for each pathogen?",
"a": [
("CONTACT:", "MRSA, VRE, C. difficile, MDR organisms — gloves + gown"),
("DROPLET:", "Influenza, Meningococcal, Mumps — mask within 1 m"),
("AIRBORNE:", "TB, Measles, Varicella — N95 + negative pressure room"),
("PROTECTIVE:", "Immunocompromised patients — reverse isolation"),
("STANDARD:", "ALL patients, ALL the time (baseline precautions)"),
],
"tag": "ISOLATION",
"col": PURPLE,
},
{
"q": "Which patients are at highest risk\nfor HAIs?",
"a": [
("Settings:", "ICU, Neonatal ICU, Urological wards, Geriatric wards"),
("Host factors:", "Immunocompromised (cancer, HIV, steroids, transplant)"),
("Procedures:", "Invasive devices (catheter, CVC, ventilator, drains)"),
("Age extremes:", "Neonates and elderly are highest risk"),
("Other:", "Prolonged hospitalisation, prior antibiotic exposure"),
],
"tag": "RISK FACTORS",
"col": YELLOW,
},
{
"q": "What vaccinations are recommended\nfor healthcare workers?",
"a": [
("Mandatory:", "Hepatitis B (3-dose series)"),
("Annual:", "Influenza (seasonal; updated each year)"),
("MMR:", "Measles, Mumps, Rubella — 2 doses if non-immune"),
("Td/Tdap:", "Tetanus-diphtheria ± pertussis booster"),
("Others:", "Varicella (if seronegative); Hepatitis A; Mantoux baseline"),
],
"tag": "HCW VACCINES",
"col": GREEN,
},
{
"q": "What are the key principles of\nAntimicrobial Stewardship (AMS)?",
"a": [
("1.", "Use SHORTEST effective antibiotic duration"),
("2.", "DE-ESCALATE therapy based on culture/sensitivity results"),
("3.", "Use local antibiogram for empiric antibiotic selection"),
("4.", "IV-to-ORAL switch at earliest clinical opportunity"),
("5.", "Restrict broad-spectrum agents (carbapenems, colistin)"),
],
"tag": "AMS",
"col": YELLOW,
},
{
"q": "What does the CDC 2024 HAI\nProgress Report show?",
"a": [
("Coverage:", ">38,000 US healthcare facilities reporting to NHSN"),
("Burden:", "1 in 31 hospital patients acquires an HAI daily"),
("Trend:", "3rd consecutive year of declining HAI rates (2022–2024)"),
("LTACH:", "23% ↓ VAEs, 15% ↓ CDI infections in LTACHs"),
("IRF:", "18% ↓ CDI, 8% ↓ CAUTI in inpatient rehab facilities"),
],
"tag": "CDC 2024 DATA",
"col": TEAL,
},
{
"q": "What is the C. difficile (CDI)\nprevention strategy?",
"a": [
("Precautions:", "Contact precautions (gloves + gown) for ALL CDI cases"),
("Cleaning:", "Sporicidal disinfectants (sodium hypochlorite/bleach-based)"),
("Hand hygiene:", "Soap and water preferred — alcohol gel NOT effective vs spores"),
("Stewardship:", "Restrict unnecessary antibiotics (especially fluoroquinolones)"),
("Probiotics:", "Cochrane 2025 supports probiotics for primary CDI prevention (PMID 40931979)"),
],
"tag": "CDI PREVENTION",
"col": RED,
},
{
"q": "What simplified criteria are used\nfor nosocomial infection surveillance?",
"a": [
("UTI:", "≥10⁵ bacteria/mL on urine culture (1–2 species)"),
("Respiratory:", "≥2 signs: cough, purulent sputum, new CXR infiltrate"),
("Surgical site:", "Purulent discharge, abscess, or cellulitis at wound site"),
("Catheter site:", "Inflammation, lymphangitis, or pus at catheter insertion site"),
("Septicaemia:", "Fever/rigors + ≥1 positive blood culture"),
],
"tag": "SURVEILLANCE CRITERIA",
"col": ACCENT,
},
]
def draw_card(c, card, x, y):
cw = CARD_W
ch = CARD_H
pad = 6*mm
# Card background
c.setFillColor(WHITE)
c.roundRect(x, y, cw, ch, 6*mm, fill=1, stroke=0)
col = card["col"]
# Left colored stripe
c.setFillColor(col)
c.roundRect(x, y, 8*mm, ch, 6*mm, fill=1, stroke=0)
c.setFillColor(col)
c.rect(x + 4*mm, y, 4*mm, ch, fill=1, stroke=0)
# Tag pill
c.setFillColor(col)
c.roundRect(x + 12*mm, y + ch - 10*mm, 35*mm, 7*mm, 2*mm, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 7)
c.drawCentredString(x + 29.5*mm, y + ch - 5.5*mm, card["tag"])
# Question (front style — shown on top half)
c.setFillColor(DARK)
c.setFont("Helvetica-Bold", 11)
q_lines = card["q"].split("\n")
q_y = y + ch - 20*mm
for ql in q_lines:
c.drawString(x + 12*mm + pad, q_y, ql)
q_y -= 6*mm
# Divider
c.setStrokeColor(HexColor("#E2E8F0"))
c.setLineWidth(0.5)
c.line(x + 12*mm, y + ch - 28*mm, x + cw - 3*mm, y + ch - 28*mm)
# Answer rows
a_y = y + ch - 36*mm
for label, detail in card["a"]:
if a_y < y + 6*mm:
break
c.setFillColor(col)
c.setFont("Helvetica-Bold", 9)
c.drawString(x + 12*mm + pad, a_y, label)
c.setFillColor(DARK)
c.setFont("Helvetica", 9)
# wrap long detail
max_chars = 72
if len(detail) > max_chars:
mid = detail[:max_chars].rfind(" ")
if mid == -1:
mid = max_chars
c.drawString(x + 12*mm + pad + 28*mm, a_y, detail[:mid])
a_y -= 5*mm
c.drawString(x + 12*mm + pad + 28*mm, a_y, detail[mid+1:])
else:
c.drawString(x + 12*mm + pad + 28*mm, a_y, detail)
a_y -= 6.5*mm
# Card border
c.setStrokeColor(HexColor("#E2E8F0"))
c.setLineWidth(0.8)
c.roundRect(x, y, cw, ch, 6*mm, fill=0, stroke=1)
c = canvas.Canvas(OUTPUT, pagesize=A4)
c.setTitle("HAI Flashcards")
c.setAuthor("Orris Medical")
MARGIN_X = 10*mm
MARGIN_Y = 10*mm
GAP = 8*mm
cards_per_col = 2
card_h_with_gap = CARD_H + GAP
num_pages = math.ceil(len(flashcards) / cards_per_col)
for page_i in range(num_pages):
start = page_i * cards_per_col
page_cards = flashcards[start:start + cards_per_col]
for ci, card in enumerate(page_cards):
card_y = PAGE_H - MARGIN_Y - CARD_H - ci * (CARD_H + GAP)
draw_card(c, card, MARGIN_X, card_y)
c.showPage()
c.save()
print("✅ Flashcards PDF created successfully")
cd /home/daytona/workspace/hai-presentation && python hai_flashcards.py
ls -lh /home/daytona/workspace/hai-presentation/
| File | Download |
|---|---|
| PowerPoint Presentation (10 slides) | HAI Hospital Acquired Infections Presentation · PPTX |
| Flashcards PDF (16 cards) | HAI Flashcards PDF Document · PDF |
| Slide | Topic |
|---|---|
| 1 | Title slide |
| 2 | Definition & Epidemiology (CDC 2024 stats) |
| 3 | Common Sites of Infection (with pathogen distribution) |
| 4 | Sources & Routes of Transmission |
| 5 | The "Big 5" HAIs - criteria & prevention at a glance |
| 6 | Prevention Bundles (CLABSI, VAP, CAUTI, SSI) |
| 7 | Standard Precautions & Isolation Types |
| 8 | Antimicrobial Stewardship + Staff Health Programme |
| 9 | Recent Guidelines 2023-2025 (ISID, ESCMID, Cochrane, CDC) |
| 10 | Key Takeaways (dark closing slide) |