Make me case study presentation on sepsis Define sepsis Describe the anatomy and physiology involved in the body's response to infection. Explain the pathophysiology of sepsis and septic shock. Identify the causes, risk factors, signs, and symptoms of sepsis. Discuss the diagnostic tests used to confirm sepsis. Explain the medical and nursing management of patients with sepsis. Recognize the complications of sepsis and methods of prevention. Understand the role of nurses in early detection and timely intorontion to improuo pationt outcomor
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
~/sepsis-slides/sepsis_presentation.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Sepsis: A Comprehensive Case Study";
pres.author = "Nursing Education";
// ─── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
navy: "0A1F44", // dominant dark background
crimson: "C0392B", // alert/danger accent
steel: "1A3A5C", // secondary background
ice: "D6E8F7", // light panels
white: "FFFFFF",
amber: "E67E22", // warning tone
teal: "148A7B", // positive/treatment tone
sky: "2980B9", // info tone
lightGray: "F0F4F8",
midGray: "7F8C8D",
gold: "F1C40F",
};
// ─── HELPER FUNCTIONS ────────────────────────────────────────────────────────
function addSectionDivider(pres, titleText, subtitleText, accent) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.5, w: 10, h: 1.125, fill: { color: accent } });
s.addText(titleText, {
x: 0.5, y: 1.5, w: 9, h: 1.5,
fontSize: 44, bold: true, color: C.white, align: "center", fontFace: "Calibri"
});
if (subtitleText) {
s.addText(subtitleText, {
x: 0.5, y: 3.2, w: 9, h: 0.8,
fontSize: 20, color: C.ice, align: "center", fontFace: "Calibri", italic: true
});
}
return s;
}
function addTitleSlide(pres) {
const s = pres.addSlide();
// Dark gradient-like layered background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 4.5, h: 5.625, fill: { color: C.steel } });
// Red accent bar
s.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 0.18, h: 5.625, fill: { color: C.crimson } });
// Red bottom strip
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.1, w: 10, h: 0.525, fill: { color: C.crimson } });
s.addText("SEPSIS", {
x: 4.8, y: 0.6, w: 5, h: 1.5,
fontSize: 72, bold: true, color: C.white, fontFace: "Calibri", charSpacing: 10
});
s.addText("A Comprehensive\nCase Study", {
x: 4.8, y: 2.1, w: 5, h: 1.2,
fontSize: 26, color: C.ice, fontFace: "Calibri", italic: true
});
s.addText("Pathophysiology · Diagnosis · Management · Nursing Care", {
x: 4.8, y: 3.4, w: 5, h: 0.6,
fontSize: 13, color: C.gold, fontFace: "Calibri"
});
s.addText("Critical Care Nursing Education | 2026", {
x: 4.8, y: 5.05, w: 5, h: 0.45,
fontSize: 12, color: C.white, fontFace: "Calibri"
});
// Left panel content
s.addText("LIFE-THREATENING\nMEDICAL EMERGENCY", {
x: 0.4, y: 1.0, w: 3.8, h: 1.2,
fontSize: 18, bold: true, color: C.gold, fontFace: "Calibri", align: "center"
});
s.addText([
{ text: "11 million", options: { bold: true, fontSize: 28, color: C.crimson } },
{ text: "\ndeaths per year globally", options: { fontSize: 14, color: C.white, breakLine: true } },
{ text: "\n1 in 5", options: { bold: true, fontSize: 28, color: C.amber } },
{ text: "\nall hospital deaths", options: { fontSize: 14, color: C.white } }
], {
x: 0.4, y: 2.4, w: 3.8, h: 2.2,
fontFace: "Calibri", align: "center"
});
}
function addAgendaSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightGray } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("LEARNING OBJECTIVES", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const objectives = [
["01", "Define sepsis and describe the Sepsis-3 criteria"],
["02", "Describe the anatomy & physiology of the body's response to infection"],
["03", "Explain the pathophysiology of sepsis and septic shock"],
["04", "Identify causes, risk factors, signs, and symptoms of sepsis"],
["05", "Discuss diagnostic tests used to confirm sepsis"],
["06", "Explain medical and nursing management of patients with sepsis"],
["07", "Recognize complications and methods of prevention"],
["08", "Understand the nurse's role in early detection and timely intervention"],
];
const xLeft = 0.3, xRight = 5.2;
objectives.forEach((obj, i) => {
const col = i < 4 ? xLeft : xRight;
const row = i < 4 ? i : i - 4;
const yPos = 1.05 + row * 1.05;
s.addShape(pres.ShapeType.rect, { x: col, y: yPos, w: 0.55, h: 0.55, fill: { color: C.crimson }, rectRadius: 0.06 });
s.addText(obj[0], {
x: col, y: yPos, w: 0.55, h: 0.55,
fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
s.addText(obj[1], {
x: col + 0.65, y: yPos + 0.04, w: 4.1, h: 0.5,
fontSize: 13, color: C.navy, fontFace: "Calibri", valign: "middle"
});
});
}
// ─── SLIDE 3: CASE STUDY INTRODUCTION ────────────────────────────────────────
function addCaseStudySlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.steel } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("CASE STUDY INTRODUCTION", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
// Patient card
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.0, w: 4.2, h: 4.1, fill: { color: C.ice }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.0, w: 4.2, h: 0.55, fill: { color: C.sky }, rectRadius: 0.1 });
s.addText("PATIENT PROFILE", {
x: 0.3, y: 1.0, w: 4.2, h: 0.55,
fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const profile = [
["Name", "Mr. R.K."],
["Age", "68 years"],
["Gender", "Male"],
["PMH", "T2DM, HTN, CKD Stage 2"],
["Admission", "Emergency Department"],
["CC", "Confusion, high fever, chills"],
["Onset", "12 hours ago"],
["Recent Hx", "Urinary symptoms x 3 days"],
];
profile.forEach((row, i) => {
s.addText([
{ text: row[0] + ": ", options: { bold: true, color: C.navy } },
{ text: row[1], options: { color: C.steel } }
], {
x: 0.45, y: 1.65 + i * 0.42, w: 3.9, h: 0.38,
fontSize: 12, fontFace: "Calibri"
});
});
// Vitals box
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.0, w: 4.7, h: 4.1, fill: { color: "FFF5F5" }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.0, w: 4.7, h: 0.55, fill: { color: C.crimson }, rectRadius: 0.1 });
s.addText("VITAL SIGNS (on arrival)", {
x: 5.0, y: 1.0, w: 4.7, h: 0.55,
fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const vitals = [
["Temp", "39.8°C", C.crimson],
["HR", "118 bpm", C.crimson],
["RR", "24 breaths/min", C.crimson],
["BP", "88/52 mmHg", C.crimson],
["SpO₂", "91% on room air", C.amber],
["GCS", "12/15 (confused)", C.amber],
["Urine Output", "< 0.5 mL/kg/hr", C.amber],
];
vitals.forEach((row, i) => {
s.addText([
{ text: row[0] + ": ", options: { bold: true, color: C.navy } },
{ text: row[1], options: { bold: true, color: row[2] } }
], {
x: 5.15, y: 1.65 + i * 0.5, w: 4.4, h: 0.45,
fontSize: 13, fontFace: "Calibri"
});
});
}
// ─── SLIDE 4: DEFINITION ─────────────────────────────────────────────────────
function addDefinitionSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("DEFINING SEPSIS", {
x: 0.4, y: 0.15, w: 9.2, h: 0.65,
fontSize: 26, bold: true, color: C.gold, fontFace: "Calibri"
});
// Main definition box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.95, w: 9.4, h: 1.35, fill: { color: C.steel }, rectRadius: 0.1 });
s.addText([
{ text: "SEPSIS-3 Definition (2016): ", options: { bold: true, color: C.gold } },
{ text: "Life-threatening organ dysfunction caused by a dysregulated host response to infection.", options: { color: C.white } }
], {
x: 0.5, y: 1.0, w: 9.0, h: 1.25,
fontSize: 16, fontFace: "Calibri", valign: "middle"
});
// Three boxes: Sepsis / Severe Sepsis / Septic Shock
const boxes = [
{ label: "SEPSIS", color: C.sky, text: "Infection + acute organ dysfunction\n(SOFA score increase ≥2 points from baseline)" },
{ label: "SEVERE SEPSIS*", color: C.amber, text: "Sepsis with acute organ dysfunction,\nhypoperfusion, or sepsis-induced hypotension\n(*subsumed into Sepsis-3 main definition)" },
{ label: "SEPTIC SHOCK", color: C.crimson, text: "Sepsis + persisting hypotension requiring vasopressors\nto maintain MAP ≥65 mmHg AND lactate >2 mmol/L\ndespite adequate fluid resuscitation" },
];
boxes.forEach((b, i) => {
s.addShape(pres.ShapeType.rect, { x: 0.2 + i * 3.25, y: 2.5, w: 3.1, h: 2.6, fill: { color: b.color }, rectRadius: 0.1 });
s.addText(b.label, {
x: 0.2 + i * 3.25, y: 2.52, w: 3.1, h: 0.55,
fontSize: 15, bold: true, color: C.white, align: "center", fontFace: "Calibri", margin: 0
});
s.addShape(pres.ShapeType.line, { x: 0.3 + i * 3.25, y: 3.08, w: 2.9, h: 0, line: { color: C.white, width: 1 } });
s.addText(b.text, {
x: 0.25 + i * 3.25, y: 3.15, w: 3.05, h: 1.85,
fontSize: 12, color: C.white, fontFace: "Calibri", valign: "top"
});
});
}
// ─── SLIDE 5: EPIDEMIOLOGY ────────────────────────────────────────────────────
function addEpidemiologySlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightGray } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("EPIDEMIOLOGY & BURDEN OF DISEASE", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const stats = [
{ n: "49 M", label: "Sepsis cases\nper year worldwide", color: C.crimson },
{ n: "11 M", label: "Annual deaths\nglobally", color: C.crimson },
{ n: "1 in 5", label: "Of all hospital\ndeaths from sepsis", color: C.amber },
{ n: "30-40%", label: "ICU mortality in\nseptic shock", color: C.amber },
];
stats.forEach((st, i) => {
const x = 0.3 + i * 2.35;
s.addShape(pres.ShapeType.rect, { x, y: 1.0, w: 2.2, h: 2.0, fill: { color: st.color }, rectRadius: 0.1 });
s.addText(st.n, {
x, y: 1.1, w: 2.2, h: 0.9,
fontSize: 36, bold: true, color: C.white, align: "center", fontFace: "Calibri"
});
s.addText(st.label, {
x, y: 1.95, w: 2.2, h: 0.9,
fontSize: 12, color: C.white, align: "center", fontFace: "Calibri"
});
});
s.addText("KEY RISK GROUPS", {
x: 0.3, y: 3.2, w: 9.4, h: 0.45,
fontSize: 16, bold: true, color: C.navy, fontFace: "Calibri"
});
const risks = [
"Age >65 years (mortality doubles each decade after 65)",
"Diabetes mellitus, cancer, immunosuppression",
"Recent hospitalization (3x increased risk within 90 days)",
"Indwelling catheters, IV lines, mechanical ventilation",
"Chronic kidney or liver disease, cardiovascular disease",
"Male sex has higher sepsis mortality than female at all age groups (CDC, 2021)",
];
risks.forEach((r, i) => {
const col = i < 3 ? 0.3 : 5.1;
const row = i < 3 ? i : i - 3;
s.addText([
{ text: "• ", options: { bold: true, color: C.crimson } },
{ text: r, options: { color: C.navy } }
], {
x: col, y: 3.7 + row * 0.48, w: 4.6, h: 0.42,
fontSize: 12, fontFace: "Calibri"
});
});
}
// ─── SLIDE 6: ANATOMY & PHYSIOLOGY ───────────────────────────────────────────
function addAnatomySlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.teal } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("ANATOMY & PHYSIOLOGY OF INFECTION RESPONSE", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const systems = [
{
title: "Immune System",
icon: "🛡️",
color: C.sky,
points: ["Neutrophils: first responders, release NETs & ROS", "Monocytes/Macrophages: phagocytosis, cytokine release", "Complement activation: opsonization & chemotaxis", "NK cells & lymphocytes: adaptive immune amplification"]
},
{
title: "Cardiovascular",
icon: "❤️",
color: C.crimson,
points: ["Vasodilation from cytokine release (NO, histamine)", "Capillary leak syndrome → tissue oedema", "Myocardial depression from TNF-α, IL-1β", "Microvascular thrombosis & hypoperfusion"]
},
{
title: "Coagulation",
icon: "🩸",
color: C.amber,
points: ["Endothelial activation triggers coagulation cascade", "Platelet activation & aggregation", "Fibrin deposition → microvascular occlusion", "Risk of DIC when consumption > production"]
},
{
title: "Inflammatory Mediators",
icon: "⚗️",
color: C.teal,
points: ["PAMPs (LPS, teichoic acid) trigger PRRs/TLRs", "DAMPs from injured host cells amplify the response", "Pro-inflammatory: TNF-α, IL-1β, IL-6, IL-8", "Anti-inflammatory: IL-10, TGF-β (compensatory)"]
},
];
systems.forEach((sys, i) => {
const col = i < 2 ? 0.2 : 5.1;
const row = i % 2;
const x = col;
const y = 1.0 + row * 2.25;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 2.1, fill: { color: C.lightGray }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.5, fill: { color: sys.color }, rectRadius: 0.08 });
s.addText(sys.title, {
x: x + 0.1, y: y + 0.0, w: 4.45, h: 0.5,
fontSize: 14, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 4
});
sys.points.forEach((pt, j) => {
s.addText([
{ text: "• ", options: { bold: true, color: sys.color } },
{ text: pt, options: { color: C.navy } }
], {
x: x + 0.1, y: y + 0.55 + j * 0.37, w: 4.45, h: 0.35,
fontSize: 11, fontFace: "Calibri"
});
});
});
}
// ─── SLIDE 7: PATHOPHYSIOLOGY ─────────────────────────────────────────────────
function addPathophysiologySlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("PATHOPHYSIOLOGY OF SEPSIS & SEPTIC SHOCK", {
x: 0.3, y: 0.1, w: 9.4, h: 0.65,
fontSize: 20, bold: true, color: C.gold, fontFace: "Calibri"
});
// Cascade flow
const steps = [
{ label: "Pathogen Entry", detail: "Bacteria, fungi, viruses, parasites\nPAMPs recognised by host PRRs/TLRs", color: C.sky },
{ label: "Immune Activation", detail: "Cytokine storm: TNF-α, IL-1β, IL-6, IL-8\nNeutrophil & macrophage activation", color: C.amber },
{ label: "Endothelial Damage", detail: "Increased vascular permeability\nCapillary leak + microthrombi formation", color: C.amber },
{ label: "Organ Hypoperfusion", detail: "Hypotension, microvascular failure\nIschemia of kidneys, lungs, brain, liver", color: C.crimson },
{ label: "Multi-Organ Failure", detail: "AKI, ARDS, DIC, hepatic failure\nCardiogenic component (myocardial depression)", color: C.crimson },
];
steps.forEach((st, i) => {
const x = 0.2 + i * 1.88;
s.addShape(pres.ShapeType.rect, { x, y: 0.95, w: 1.72, h: 1.6, fill: { color: st.color }, rectRadius: 0.08 });
s.addText(st.label, {
x, y: 0.97, w: 1.72, h: 0.48,
fontSize: 11, bold: true, color: C.white, align: "center", fontFace: "Calibri"
});
s.addShape(pres.ShapeType.line, { x: x + 0.08, y: 1.45, w: 1.56, h: 0, line: { color: C.white, width: 0.5 } });
s.addText(st.detail, {
x: x + 0.05, y: 1.5, w: 1.62, h: 0.95,
fontSize: 9.5, color: C.white, fontFace: "Calibri", valign: "top"
});
// Arrow
if (i < 4) {
s.addText("→", {
x: x + 1.73, y: 1.5, w: 0.15, h: 0.4,
fontSize: 14, bold: true, color: C.gold, align: "center"
});
}
});
// Septic shock criteria
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 2.85, w: 9.6, h: 0.52, fill: { color: C.crimson }, rectRadius: 0.06 });
s.addText("SEPTIC SHOCK = Sepsis + vasopressor requirement to maintain MAP ≥65 mmHg + serum lactate >2 mmol/L despite adequate fluid resuscitation", {
x: 0.3, y: 2.87, w: 9.4, h: 0.48,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
});
// Key mechanisms
s.addText("KEY MECHANISMS IN SEPTIC SHOCK", {
x: 0.3, y: 3.5, w: 9.4, h: 0.4,
fontSize: 14, bold: true, color: C.gold, fontFace: "Calibri"
});
const mechs = [
"Massive vasodilation → distributive shock (↓SVR)",
"Myocardial depression → ↓cardiac output (TNF-α, IL-1β direct effects)",
"Microvascular occlusion → inadequate oxygen delivery (DO₂) < consumption (VO₂)",
"Relative adrenal insufficiency → impaired cortisol response to stress",
"Endothelial glycocalyx disruption → massive capillary leak & interstitial oedema",
"DIC: simultaneous thrombosis (microclots) and haemorrhage (factor consumption)",
];
mechs.forEach((m, i) => {
const col = i < 3 ? 0.3 : 5.1;
const row = i % 3;
s.addText([
{ text: "• ", options: { bold: true, color: C.gold } },
{ text: m, options: { color: C.ice } }
], {
x: col, y: 3.95 + row * 0.42, w: 4.6, h: 0.38,
fontSize: 11, fontFace: "Calibri"
});
});
}
// ─── SLIDE 8: CAUSES & RISK FACTORS ──────────────────────────────────────────
function addCausesSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.steel } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("CAUSES & RISK FACTORS", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
// Common sources
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 0.95, w: 4.6, h: 4.25, fill: { color: C.ice }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 0.95, w: 4.6, h: 0.5, fill: { color: C.sky }, rectRadius: 0.08 });
s.addText("COMMON SOURCES OF INFECTION", {
x: 0.25, y: 0.95, w: 4.5, h: 0.5,
fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const sources = [
["Pneumonia (most common)", "30-40% of sepsis cases"],
["Urinary Tract Infection", "Our patient's source (UTI)"],
["Abdominal infection", "Peritonitis, cholangitis, appendicitis"],
["Skin / soft tissue", "Cellulitis, necrotising fasciitis"],
["Bloodstream", "IV line-related bacteraemia"],
["Meningitis / CNS", "Bacterial meningitis, encephalitis"],
["Organisms", "Gram-(-): E. coli, Klebsiella, Pseudomonas\nGram-(+): Staph aureus, Strep pneumoniae\nFungi: Candida (immunocompromised)"],
];
sources.forEach((row, i) => {
s.addText([
{ text: "• " + row[0] + ": ", options: { bold: true, color: C.sky } },
{ text: row[1], options: { color: C.navy } }
], {
x: 0.35, y: 1.55 + i * 0.5, w: 4.3, h: 0.45,
fontSize: 11, fontFace: "Calibri"
});
});
// Risk factors
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 0.95, w: 4.7, h: 4.25, fill: { color: "FFF5E6" }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 0.95, w: 4.7, h: 0.5, fill: { color: C.amber }, rectRadius: 0.08 });
s.addText("PATIENT RISK FACTORS", {
x: 5.15, y: 0.95, w: 4.6, h: 0.5,
fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const riskFactors = [
"Extremes of age (< 1 yr, > 65 yrs)",
"Diabetes mellitus (impaired phagocytosis)",
"Malignancy / chemotherapy",
"Chronic kidney or liver disease",
"Immunosuppressive therapy (steroids, biologics)",
"HIV/AIDS or other immunodeficiency",
"Indwelling devices (catheters, central lines, drains)",
"Major surgery or trauma",
"Burns covering large body surface area",
"Recent broad-spectrum antibiotic use (alters flora)",
"Malnutrition / poor functional status",
"Pregnancy (susceptibility to Group B Strep, E. coli)",
];
riskFactors.forEach((r, i) => {
s.addText([
{ text: "✓ ", options: { bold: true, color: C.amber } },
{ text: r, options: { color: C.navy } }
], {
x: 5.25, y: 1.55 + i * 0.32, w: 4.45, h: 0.3,
fontSize: 11, fontFace: "Calibri"
});
});
}
// ─── SLIDE 9: SIGNS & SYMPTOMS ────────────────────────────────────────────────
function addSignsSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightGray } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.crimson } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.navy } });
s.addText("SIGNS, SYMPTOMS & SCREENING TOOLS", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
// SIRS criteria box
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.0, w: 3.0, h: 2.3, fill: { color: C.white }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 1.0, w: 3.0, h: 0.5, fill: { color: C.sky }, rectRadius: 0.08 });
s.addText("SIRS CRITERIA (≥2)", {
x: 0.2, y: 1.0, w: 3.0, h: 0.5,
fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const sirs = [
"Temp >38°C or <36°C",
"HR >90 bpm",
"RR >20/min or PaCO₂ <32 mmHg",
"WBC >12,000 or <4,000/mm³\nor >10% bands"
];
sirs.forEach((item, i) => {
s.addText("• " + item, {
x: 0.3, y: 1.58 + i * 0.41, w: 2.85, h: 0.38,
fontSize: 11, color: C.navy, fontFace: "Calibri"
});
});
// qSOFA box
s.addShape(pres.ShapeType.rect, { x: 3.4, y: 1.0, w: 3.0, h: 2.3, fill: { color: C.white }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 3.4, y: 1.0, w: 3.0, h: 0.5, fill: { color: C.amber }, rectRadius: 0.08 });
s.addText("qSOFA SCORE (≥2)", {
x: 3.4, y: 1.0, w: 3.0, h: 0.5,
fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const qsofa = [
"Altered mental status (GCS <15)",
"Respiratory rate ≥22/min",
"Systolic BP ≤100 mmHg",
"(Bedside use — prompt further\nworkup for organ dysfunction)"
];
qsofa.forEach((item, i) => {
s.addText("• " + item, {
x: 3.5, y: 1.58 + i * 0.45, w: 2.85, h: 0.42,
fontSize: 11, color: C.navy, fontFace: "Calibri"
});
});
// SOFA
s.addShape(pres.ShapeType.rect, { x: 6.6, y: 1.0, w: 3.2, h: 2.3, fill: { color: C.white }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: 6.6, y: 1.0, w: 3.2, h: 0.5, fill: { color: C.crimson }, rectRadius: 0.08 });
s.addText("SOFA SCORE (+2)", {
x: 6.6, y: 1.0, w: 3.2, h: 0.5,
fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
const sofa = [
"Neurologic (GCS)",
"Cardiovascular (MAP / vasopressors)",
"Respiratory (PaO₂/FiO₂ ratio)",
"Hepatic (bilirubin)",
"Renal (creatinine + urine output)",
"Coagulation (platelets)"
];
sofa.forEach((item, i) => {
s.addText("• " + item, {
x: 6.7, y: 1.58 + i * 0.34, w: 3.05, h: 0.31,
fontSize: 11, color: C.navy, fontFace: "Calibri"
});
});
// Clinical manifestations
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.45, w: 9.6, h: 1.65, fill: { color: C.white }, rectRadius: 0.08 });
s.addText("CLINICAL MANIFESTATIONS", {
x: 0.3, y: 3.5, w: 9.4, h: 0.4,
fontSize: 14, bold: true, color: C.crimson, fontFace: "Calibri"
});
const manif = [
["Fever/Hypothermia", "Chills, rigors, diaphoresis"],
["Cardiovascular", "Tachycardia, hypotension, poor capillary refill"],
["Respiratory", "Tachypnoea, hypoxia, ARDS"],
["Neurological", "Confusion, agitation, obtundation (sepsis-associated encephalopathy)"],
["Renal", "Oliguria, rising creatinine"],
["Skin", "Mottling, petechiae (DIC), jaundice"],
];
manif.forEach((item, i) => {
const col = i < 3 ? 0.3 : 5.1;
const row = i % 3;
s.addText([
{ text: item[0] + ": ", options: { bold: true, color: C.navy } },
{ text: item[1], options: { color: C.steel } }
], {
x: col, y: 3.95 + row * 0.38, w: 4.6, h: 0.35,
fontSize: 11, fontFace: "Calibri"
});
});
}
// ─── SLIDE 10: DIAGNOSTIC TESTS ───────────────────────────────────────────────
function addDiagnosticsSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("DIAGNOSTIC INVESTIGATIONS", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const tests = [
{
cat: "HAEMATOLOGY",
color: C.crimson,
items: [
"FBC: Leukocytosis (WBC >12,000) or leukopenia (<4,000)",
"Neutrophilia with left shift / bandaemia (≥5-10% bands)",
"Thrombocytopenia → suggests DIC or severity marker",
"Haemoglobin: assess oxygen-carrying capacity"
]
},
{
cat: "BIOCHEMISTRY",
color: C.amber,
items: [
"Lactate: >2 mmol/L (organ hypoperfusion; >4 mmol/L = 28% mortality)",
"Serum creatinine / eGFR: AKI detection",
"LFTs / bilirubin: hepatic dysfunction",
"Blood glucose: hyperglycaemia common",
"ABG: metabolic acidosis, PaO₂/FiO₂ ratio (ARDS)",
"CRP & Procalcitonin: sepsis biomarkers; PCT useful for antibiotic stewardship"
]
},
{
cat: "MICROBIOLOGY",
color: C.teal,
items: [
"Blood cultures x2 (ideally BEFORE antibiotics — do not delay >45 min)",
"Urine culture / urinalysis (our patient)",
"Sputum / tracheal aspirate (if pneumonia)",
"Wound / CSF / drain fluid cultures as indicated",
"Sensitivity patterns guide de-escalation"
]
},
{
cat: "IMAGING",
color: C.sky,
items: [
"CXR: pneumonia, ARDS, pleural effusion",
"CT abdomen/pelvis: abscess, perforation, cholangitis",
"Ultrasound: cholecystitis, tubo-ovarian abscess",
"Echocardiography: endocarditis, myocardial depression",
"MRI: necrotising fasciitis, epidural abscess"
]
},
];
tests.forEach((t, i) => {
const col = i < 2 ? 0.2 : 5.1;
const row = i % 2;
const x = col;
const y = 1.0 + row * 2.2;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 2.05, fill: { color: C.lightGray }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.45, fill: { color: t.color }, rectRadius: 0.08 });
s.addText(t.cat, {
x: x + 0.1, y, w: 4.45, h: 0.45,
fontSize: 13, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 4
});
t.items.forEach((it, j) => {
s.addText([
{ text: "• ", options: { bold: true, color: t.color } },
{ text: it, options: { color: C.navy } }
], {
x: x + 0.1, y: y + 0.5 + j * 0.29, w: 4.45, h: 0.27,
fontSize: 10.5, fontFace: "Calibri"
});
});
});
}
// ─── SLIDE 11: MEDICAL MANAGEMENT ────────────────────────────────────────────
function addMedMgmtSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("MEDICAL MANAGEMENT — SURVIVING SEPSIS BUNDLE", {
x: 0.3, y: 0.1, w: 9.4, h: 0.65,
fontSize: 20, bold: true, color: C.gold, fontFace: "Calibri"
});
// Hour-1 bundle
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 0.85, w: 9.6, h: 0.48, fill: { color: C.crimson }, rectRadius: 0.06 });
s.addText("HOUR-1 BUNDLE — Initiate within 1 hour of sepsis recognition", {
x: 0.3, y: 0.87, w: 9.4, h: 0.42,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", valign: "middle"
});
const bundle = [
{ step: "1", action: "Measure serum lactate", detail: "Remeasure if initial lactate >2 mmol/L. Target: normalisation." },
{ step: "2", action: "Blood cultures × 2", detail: "Before antibiotic administration. At least one peripheral draw." },
{ step: "3", action: "Broad-spectrum antibiotics", detail: "Administer within 1 hour. Cover likely organisms based on source." },
{ step: "4", action: "IV crystalloid 30 mL/kg", detail: "For hypotension or lactate ≥4 mmol/L. Use balanced solutions (LR)." },
{ step: "5", action: "Vasopressors if needed", detail: "Norepinephrine FIRST-LINE to maintain MAP ≥65 mmHg." },
];
bundle.forEach((b, i) => {
s.addShape(pres.ShapeType.rect, {
x: 0.2, y: 1.45 + i * 0.7, w: 0.5, h: 0.55,
fill: { color: C.gold }, rectRadius: 0.06
});
s.addText(b.step, {
x: 0.2, y: 1.45 + i * 0.7, w: 0.5, h: 0.55,
fontSize: 18, bold: true, color: C.navy, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
s.addText([
{ text: b.action + " ", options: { bold: true, color: C.gold } },
{ text: b.detail, options: { color: C.ice } }
], {
x: 0.82, y: 1.5 + i * 0.7, w: 8.9, h: 0.5,
fontSize: 12.5, fontFace: "Calibri", valign: "middle"
});
});
// Antibiotics box
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 5.0, w: 9.6, h: 0.4, fill: { color: C.steel }, rectRadius: 0.06 });
s.addText("Common empiric regimens: Pip/Tazo (4.5g IV q6h) ± Vancomycin | Carbapenem (meropenem) for resistant organisms | Antifungals (fluconazole) if Candida suspected", {
x: 0.3, y: 5.02, w: 9.4, h: 0.35,
fontSize: 10.5, color: C.ice, fontFace: "Calibri", italic: true
});
}
// ─── SLIDE 12: NURSING MANAGEMENT ────────────────────────────────────────────
function addNursingMgmtSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightGray } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.teal } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("NURSING MANAGEMENT OF SEPSIS", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const nursingAreas = [
{
title: "A — Airway & Breathing",
color: C.sky,
items: [
"Administer high-flow O₂; titrate to SpO₂ ≥94%",
"Prepare for RSI/intubation if GCS drops or SpO₂ <90%",
"Low tidal volume ventilation (6 mL/kg, plateau ≤30 cmH₂O) in ARDS",
"Elevate head of bed 30-45° to prevent VAP"
]
},
{
title: "C — Circulation",
color: C.crimson,
items: [
"Insert large-bore IV × 2 or CVC; commence fluid resuscitation",
"Monitor MAP (target ≥65 mmHg), HR, capillary refill",
"Titrate vasopressors (norepinephrine) per MAP target",
"Accurate fluid balance (hourly urine output ≥0.5 mL/kg/hr)"
]
},
{
title: "D — Monitoring & Labs",
color: C.amber,
items: [
"Continuous ECG, SpO₂, and arterial line monitoring",
"Serial lactate measurements (clearance ≥10% = good response)",
"Collect cultures BEFORE first antibiotic dose",
"Monitor CBC, BMP, coagulation panel, ABG q4-6h"
]
},
{
title: "E — Medications",
color: C.teal,
items: [
"Administer antibiotics within 1 hour — document time given",
"IV corticosteroids (hydrocortisone 200 mg/day) for refractory shock",
"Insulin infusion to maintain glucose 140-180 mg/dL",
"DVT prophylaxis: heparin; stress ulcer prophylaxis: PPI"
]
},
{
title: "F — Nutrition & Comfort",
color: C.navy,
items: [
"Early enteral nutrition within 24-48 hours if possible",
"Analgesia-first sedation approach; minimise sedation",
"Prevent pressure injuries: position changes q2h",
"Family communication and psychosocial support"
]
},
{
title: "G — Goal-Directed Outcomes",
color: C.steel,
items: [
"Target lactate clearance ≥10% over 2 hours",
"Urine output ≥0.5 mL/kg/hr within 6 hours",
"De-escalate antibiotics once cultures & sensitivities available",
"Daily assessment for ICU/bundle bundle compliance"
]
},
];
nursingAreas.forEach((na, i) => {
const col = i < 3 ? 0.2 : 5.1;
const row = i % 3;
const x = col;
const y = 1.0 + row * 1.52;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 1.42, fill: { color: C.white }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.38, fill: { color: na.color }, rectRadius: 0.08 });
s.addText(na.title, {
x: x + 0.1, y, w: 4.45, h: 0.38,
fontSize: 12, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 4
});
na.items.forEach((it, j) => {
s.addText([
{ text: "• ", options: { bold: true, color: na.color } },
{ text: it, options: { color: C.navy } }
], {
x: x + 0.1, y: y + 0.43 + j * 0.25, w: 4.45, h: 0.23,
fontSize: 10, fontFace: "Calibri"
});
});
});
}
// ─── SLIDE 13: COMPLICATIONS ──────────────────────────────────────────────────
function addComplicationsSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.white } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.crimson } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.navy } });
s.addText("COMPLICATIONS & PREVENTION", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const comps = [
{ name: "ARDS", detail: "Bilateral pulmonary infiltrates, PaO₂/FiO₂ <300. LPV strategy, proning if P/F <150.", color: C.crimson },
{ name: "AKI", detail: "Oliguria, rising creatinine. Target MAP ≥65, avoid nephrotoxins, RRT if severe.", color: C.amber },
{ name: "DIC", detail: "Microthrombi + haemorrhage. Monitor PT/APTT/fibrinogen. FFP, platelets, cryoprecipitate.", color: C.crimson },
{ name: "MODS", detail: "Sequential organ failure — highest mortality. SOFA score tracking guides management.", color: C.steel },
{ name: "PICS", detail: "Post-ICU syndrome: physical, cognitive, psychiatric impairment after hospital discharge.", color: C.sky },
{ name: "Cardio", detail: "Sepsis-induced cardiomyopathy — transient. Dobutamine for low cardiac output state.", color: C.amber },
];
comps.forEach((c, i) => {
const col = i < 3 ? 0.2 : 5.1;
const row = i % 3;
s.addShape(pres.ShapeType.rect, { x: col, y: 1.0 + row * 1.35, w: 4.65, h: 1.22, fill: { color: C.lightGray }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x: col, y: 1.0 + row * 1.35, w: 1.3, h: 1.22, fill: { color: c.color }, rectRadius: 0.08 });
s.addText(c.name, {
x: col, y: 1.0 + row * 1.35, w: 1.3, h: 1.22,
fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
s.addText(c.detail, {
x: col + 1.4, y: 1.05 + row * 1.35, w: 3.1, h: 1.12,
fontSize: 11, color: C.navy, fontFace: "Calibri", valign: "middle"
});
});
// Prevention strategies
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 5.08, w: 9.6, h: 0.38, fill: { color: C.navy }, rectRadius: 0.06 });
s.addText("PREVENTION: Vaccination | Hand hygiene | Aseptic technique | Early sepsis bundles | Judicious antibiotic use | Central-line care bundles (CLABSI prevention)", {
x: 0.3, y: 5.1, w: 9.4, h: 0.35,
fontSize: 11, color: C.gold, fontFace: "Calibri", italic: true
});
}
// ─── SLIDE 14: NURSING ROLE IN EARLY DETECTION ────────────────────────────────
function addNurseRoleSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.gold } });
s.addText("NURSING ROLE: EARLY DETECTION & TIMELY INTERVENTION", {
x: 0.3, y: 0.1, w: 9.4, h: 0.65,
fontSize: 18, bold: true, color: C.gold, fontFace: "Calibri"
});
const roles = [
{
icon: "🔍",
title: "Recognition",
color: C.sky,
points: ["Know and apply SIRS, qSOFA, NEWS/MEWS criteria", "Recognise subtle early signs: tachycardia, confusion, mottling", "Act on clinical intuition — nurses are first to notice change"]
},
{
icon: "⚡",
title: "Rapid Response",
color: C.crimson,
points: ["Activate sepsis protocol / rapid response team immediately", "Initiate Hour-1 bundle without waiting for physician order (where protocol allows)", "Communicate SBAR handover: Situation · Background · Assessment · Recommendation"]
},
{
icon: "💉",
title: "Bundle Execution",
color: C.amber,
points: ["Collect blood cultures BEFORE antibiotics", "Administer antibiotics on time — document exact time given", "Establish IV access, commence fluid resuscitation per order"]
},
{
icon: "📈",
title: "Monitoring",
color: C.teal,
points: ["Continuous vital sign monitoring — trend over time matters", "Hourly urine output, serial lactates, mental status checks", "Reassess response to fluids: escalate if no improvement"]
},
{
icon: "🛡️",
title: "Prevention",
color: C.steel,
points: ["Strict hand hygiene before every patient contact", "Aseptic technique for all invasive procedures & dressing changes", "Catheter and central-line care bundles to prevent HAIs"]
},
{
icon: "🤝",
title: "Patient Outcomes",
color: C.navy,
points: ["Each hour's delay in antibiotics increases mortality by 7%", "Early recognition by nurses is the single most impactful intervention", "Patient education on sepsis signs for self-advocacy post-discharge"]
},
];
roles.forEach((r, i) => {
const col = i < 3 ? 0.2 : 5.1;
const row = i % 3;
const x = col;
const y = 0.9 + row * 1.55;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 1.42, fill: { color: C.steel }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.42, fill: { color: r.color }, rectRadius: 0.08 });
s.addText(r.title, {
x: x + 0.1, y, w: 4.45, h: 0.42,
fontSize: 13, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 4
});
r.points.forEach((pt, j) => {
s.addText([
{ text: "• ", options: { bold: true, color: r.color } },
{ text: pt, options: { color: C.ice } }
], {
x: x + 0.1, y: y + 0.47 + j * 0.31, w: 4.45, h: 0.29,
fontSize: 10.5, fontFace: "Calibri"
});
});
});
}
// ─── SLIDE 15: CASE RESOLUTION & OUTCOMES ─────────────────────────────────────
function addCaseOutcomeSlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightGray } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.teal } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.teal } });
s.addText("CASE RESOLUTION — PATIENT OUTCOME", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
// Timeline
const timeline = [
{ time: "0 hr", event: "Sepsis recognised by triage nurse", color: C.crimson, detail: "qSOFA = 3/3\nActivated sepsis protocol" },
{ time: "0.5 hr", event: "Hour-1 bundle initiated", color: C.amber, detail: "Cultures drawn, antibiotics\n(pip/tazo + gentamicin), 1L LR" },
{ time: "1 hr", event: "Norepinephrine started", color: C.amber, detail: "MAP < 65 despite 2L fluid\nMAP target ≥65 mmHg" },
{ time: "6 hr", event: "ICU transfer", color: C.sky, detail: "Lactate trending down\n3.2 → 1.8 mmol/L" },
{ time: "24 hr", event: "Culture result", color: C.teal, detail: "E. coli UTI confirmed\nAntibiotics de-escalated to ceftriaxone" },
{ time: "Day 5", event: "Vasopressors weaned", color: C.teal, detail: "Haemodynamically stable\nMoved to step-down unit" },
];
timeline.forEach((t, i) => {
const x = 0.3 + i * 1.57;
s.addShape(pres.ShapeType.ellipse, { x: x + 0.4, y: 1.3, w: 0.55, h: 0.55, fill: { color: t.color } });
s.addText(t.time, {
x: x + 0.1, y: 1.31, w: 1.15, h: 0.52,
fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri"
});
if (i < 5) {
s.addShape(pres.ShapeType.line, { x: x + 0.95, y: 1.56, w: 0.62, h: 0, line: { color: t.color, width: 2 } });
}
s.addShape(pres.ShapeType.rect, { x: x + 0.05, y: 2.05, w: 1.35, h: 1.4, fill: { color: C.white }, rectRadius: 0.08 });
s.addText(t.event, {
x: x + 0.1, y: 2.1, w: 1.25, h: 0.55,
fontSize: 10, bold: true, color: t.color, fontFace: "Calibri"
});
s.addText(t.detail, {
x: x + 0.1, y: 2.65, w: 1.25, h: 0.72,
fontSize: 9.5, color: C.navy, fontFace: "Calibri"
});
});
// Outcome box
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.65, w: 9.6, h: 1.45, fill: { color: C.white }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 3.65, w: 9.6, h: 0.45, fill: { color: C.teal }, rectRadius: 0.1 });
s.addText("KEY LEARNING POINTS FROM THIS CASE", {
x: 0.3, y: 3.67, w: 9.4, h: 0.4,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
const keys = [
"Triage nurse recognised sepsis early → activated protocol → likely saved life",
"UTI in elderly diabetic = classic sepsis presentation; must have high index of suspicion",
"Hour-1 bundle compliance was critical — antibiotics given at 30 minutes",
"Lactate clearance (>10% in 2h) confirmed adequate initial resuscitation",
];
keys.forEach((k, i) => {
s.addText([
{ text: "✓ ", options: { bold: true, color: C.teal } },
{ text: k, options: { color: C.navy } }
], {
x: 0.4, y: 4.17 + i * 0.24, w: 9.2, h: 0.22,
fontSize: 11, fontFace: "Calibri"
});
});
}
// ─── SLIDE 16: SUMMARY & REFERENCES ──────────────────────────────────────────
function addSummarySlide(pres) {
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.gold } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.25, w: 10, h: 0.375, fill: { color: C.crimson } });
s.addText("SUMMARY & KEY TAKEAWAYS", {
x: 0.3, y: 0.12, w: 9.4, h: 0.6,
fontSize: 22, bold: true, color: C.navy, fontFace: "Calibri", margin: 0
});
const takeaways = [
"Sepsis is a life-threatening organ dysfunction from a dysregulated host response to infection (Sepsis-3).",
"Pathophysiology involves cytokine storm, endothelial damage, microvascular failure, and multi-organ dysfunction.",
"Common sources: pneumonia, UTI, abdominal infection. Common organisms: E. coli, Klebsiella, Staph aureus.",
"Diagnosis uses lactate, cultures, CBC, BMP, ABG, imaging — all within the first hour.",
"The Hour-1 bundle (lactate, cultures, antibiotics, fluids, vasopressors) is the gold-standard response.",
"Norepinephrine is the first-line vasopressor; balanced crystalloids (LR) are preferred over normal saline.",
"Complications include ARDS, AKI, DIC, MODS, and Post-ICU Syndrome — all require vigilant monitoring.",
"NURSES are the first and most critical line of detection — early recognition + timely bundle execution saves lives.",
];
takeaways.forEach((t, i) => {
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 0.97 + i * 0.53, w: 0.38, h: 0.38, fill: { color: C.crimson }, rectRadius: 0.04 });
s.addText(String(i + 1), {
x: 0.25, y: 0.97 + i * 0.53, w: 0.38, h: 0.38,
fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0
});
s.addText(t, {
x: 0.73, y: 1.0 + i * 0.53, w: 9.0, h: 0.38,
fontSize: 12, color: C.ice, fontFace: "Calibri", valign: "middle"
});
});
// References footer
s.addText("References: ROSEN'S Emergency Medicine 10e · Sabiston Textbook of Surgery 21e · Harrison's Principles of Internal Medicine 22e (2025) · Surviving Sepsis Campaign Guidelines 2021 · CDC Sepsis Data 2021", {
x: 0.3, y: 5.27, w: 9.4, h: 0.3,
fontSize: 8.5, color: C.white, fontFace: "Calibri", italic: true
});
}
// ─── BUILD PRESENTATION ───────────────────────────────────────────────────────
addTitleSlide(pres);
addAgendaSlide(pres);
addCaseStudySlide(pres);
addSectionDivider(pres, "SECTION 1: DEFINITION", "What is Sepsis?", C.sky);
addDefinitionSlide(pres);
addEpidemiologySlide(pres);
addSectionDivider(pres, "SECTION 2: SCIENCE OF SEPSIS", "Anatomy, Physiology & Pathophysiology", C.teal);
addAnatomySlide(pres);
addPathophysiologySlide(pres);
addSectionDivider(pres, "SECTION 3: CLINICAL PICTURE", "Causes, Risk Factors & Signs", C.amber);
addCausesSlide(pres);
addSignsSlide(pres);
addSectionDivider(pres, "SECTION 4: DIAGNOSIS", "Investigations & Screening", C.sky);
addDiagnosticsSlide(pres);
addSectionDivider(pres, "SECTION 5: MANAGEMENT", "Medical & Nursing Care", C.crimson);
addMedMgmtSlide(pres);
addNursingMgmtSlide(pres);
addSectionDivider(pres, "SECTION 6: COMPLICATIONS & NURSING ROLE", "Prevention & Timely Intervention", C.navy);
addComplicationsSlide(pres);
addNurseRoleSlide(pres);
addCaseOutcomeSlide(pres);
addSummarySlide(pres);
pres.writeFile({ fileName: "/home/daytona/workspace/sepsis-slides/Sepsis_Case_Study_Presentation.pptx" })
.then(() => console.log("DONE: Sepsis_Case_Study_Presentation.pptx created"))
.catch(err => { console.error("ERROR:", err); process.exit(1); });
cd /home/daytona/workspace/sepsis-slides && node sepsis_presentation.js 2>&1
ls -lh /home/daytona/workspace/sepsis-slides/Sepsis_Case_Study_Presentation.pptx
Sepsis Case Study Presentation
Presentation · PPTX
| # | Slide | Content |
|---|---|---|
| 1 | Title | Bold cover with global burden statistics (11M deaths/year, 1 in 5 hospital deaths) |
| 2 | Learning Objectives | All 8 objectives mapped to numbered cards |
| 3 | Case Study | Patient Mr. R.K., 68 years, diabetic with UTI-source sepsis — full vitals on arrival |
| 4 | Section Divider | Definition section |
| 5 | Defining Sepsis | Sepsis-3 definition, three-tier boxes: Sepsis / Severe Sepsis / Septic Shock |
| 6 | Epidemiology | Stats cards (49M cases, 11M deaths, ICU mortality) + risk groups |
| 7 | Section Divider | Science of Sepsis |
| 8 | Anatomy & Physiology | Four systems: Immune, Cardiovascular, Coagulation, Inflammatory Mediators (PAMPs/DAMPs/TLRs) |
| 9 | Pathophysiology | 5-step cascade from pathogen entry to MODS + septic shock definition + key mechanisms |
| 10 | Section Divider | Clinical Picture |
| 11 | Causes & Risk Factors | Common infection sources by type + 12 patient risk factors |
| 12 | Signs & Symptoms | SIRS criteria, qSOFA, SOFA score + clinical manifestations by system |
| 13 | Section Divider | Diagnosis |
| 14 | Diagnostic Tests | Haematology, Biochemistry (lactate, procalcitonin), Microbiology (blood cultures), Imaging (CXR, CT, echo) |
| 15 | Section Divider | Management |
| 16 | Medical Management | Surviving Sepsis Hour-1 Bundle (5 steps), vasopressor table, empiric antibiotic regimens |
| 17 | Nursing Management | Six domains: Airway, Circulation, Monitoring, Medications, Nutrition, Goal-Directed Outcomes |
| 18 | Section Divider | Complications & Nursing Role |
| 19 | Complications | ARDS, AKI, DIC, MODS, PICS, Cardiomyopathy + prevention strategies |
| 20 | Nursing Role | Six pillars: Recognition, Rapid Response, Bundle Execution, Monitoring, Prevention, Patient Outcomes |
| 21 | Case Outcome | Timeline from triage to discharge (Day 5) + 4 key learning points |
| 22 | Summary | 8 numbered takeaways + references (ROSEN's, Sabiston, Harrison's 22e, SSC 2021) |