Can u make ppt of wound classification and wound healing using Bailey and love

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/wound-ppt && ls /home/daytona/workspace/wound-p…

Writing File

~/wound-ppt/create_ppt.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = 'LAYOUT_WIDE';
pres.author = 'Bailey & Love';
pres.title = 'Wound Classification and Wound Healing';

// ─── COLOUR PALETTE ───────────────────────────────────────────
const C = {
  navyDark:  "0D1B2A",
  navy:      "1B2A4A",
  teal:      "1A7A6E",
  tealLight: "25A99A",
  gold:      "E8A020",
  white:     "FFFFFF",
  offWhite:  "F0F4F8",
  grey:      "7A8A9A",
  lightGrey: "D0D8E4",
  red:       "C0392B",
  green:     "1E8449",
};

// ─── HELPER: SECTION DIVIDER SLIDE ───────────────────────────
function addDividerSlide(title, subtitle) {
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.navyDark } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 3.1, w: 13.3, h: 0.08, fill: { color: C.tealLight } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 3.22, w: 13.3, h: 0.04, fill: { color: C.gold } });
  s.addText(title, {
    x: 1, y: 1.8, w: 11.3, h: 1.1, fontSize: 44, bold: true,
    color: C.white, fontFace: "Calibri", align: "center", valign: "middle",
  });
  if (subtitle) {
    s.addText(subtitle, {
      x: 1, y: 3.5, w: 11.3, h: 0.7, fontSize: 22,
      color: C.tealLight, fontFace: "Calibri", align: "center",
    });
  }
  // Bailey & Love watermark bottom-right
  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.0, w: 6, h: 0.4, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
  return s;
}

// ─── HELPER: CONTENT SLIDE ────────────────────────────────────
function addContentSlide(title, bullets, opts = {}) {
  let s = pres.addSlide();
  // Background
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  // Left accent bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  // Title bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  // Title text
  s.addText(title, {
    x: 0.3, y: 0.0, w: 12.7, h: 1.0,
    fontSize: 26, bold: true, color: C.white, fontFace: "Calibri",
    valign: "middle", margin: 0,
  });
  // Bullets
  const textArr = bullets.map((b, i) => {
    const isLast = i === bullets.length - 1;
    if (typeof b === "string") {
      return { text: b, options: { bullet: true, breakLine: !isLast, fontSize: 18, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 4 } };
    }
    // Sub-bullet: { text, sub: true }
    return { text: b.text, options: { bullet: { indent: 40 }, breakLine: !isLast, fontSize: 16, color: C.navy, fontFace: "Calibri", italic: b.italic || false, paraSpaceBefore: 2 } };
  });
  s.addText(textArr, {
    x: 0.4, y: 1.15, w: opts.w || 12.5, h: opts.h || 6.0,
    valign: "top",
  });
  // Footer
  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
  return s;
}

// ─── HELPER: TWO-COLUMN SLIDE ────────────────────────────────
function addTwoColSlide(title, leftBullets, rightBullets, leftTitle, rightTitle) {
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText(title, {
    x: 0.3, y: 0.0, w: 12.7, h: 1.0,
    fontSize: 26, bold: true, color: C.white, fontFace: "Calibri",
    valign: "middle", margin: 0,
  });
  // Left column
  s.addShape(pres.ShapeType.rect, { x: 0.4, y: 1.2, w: 6.0, h: 0.45, fill: { color: C.teal }, line: { color: C.teal } });
  s.addText(leftTitle, { x: 0.4, y: 1.2, w: 6.0, h: 0.45, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
  const lArr = leftBullets.map((b, i) => ({ text: b, options: { bullet: true, breakLine: i < leftBullets.length - 1, fontSize: 16, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 4 } }));
  s.addText(lArr, { x: 0.4, y: 1.75, w: 6.0, h: 5.4, valign: "top" });
  // Divider
  s.addShape(pres.ShapeType.line, { x: 6.65, y: 1.2, w: 0, h: 6.0, line: { color: C.lightGrey, width: 1.5, dashType: "dash" } });
  // Right column
  s.addShape(pres.ShapeType.rect, { x: 6.9, y: 1.2, w: 6.0, h: 0.45, fill: { color: C.gold }, line: { color: C.gold } });
  s.addText(rightTitle, { x: 6.9, y: 1.2, w: 6.0, h: 0.45, fontSize: 16, bold: true, color: C.navyDark, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
  const rArr = rightBullets.map((b, i) => ({ text: b, options: { bullet: true, breakLine: i < rightBullets.length - 1, fontSize: 16, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 4 } }));
  s.addText(rArr, { x: 6.9, y: 1.75, w: 6.0, h: 5.4, valign: "top" });
  // Footer
  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
  return s;
}

// ─── HELPER: PHASE CARD SLIDE ────────────────────────────────
function addPhaseSlide(phaseNum, phaseName, color, timeframe, cells) {
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: color } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navyDark } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: color } });
  s.addText(`Phase ${phaseNum}: ${phaseName}`, {
    x: 0.3, y: 0, w: 9, h: 1.0, fontSize: 28, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });
  s.addText(timeframe, {
    x: 9.3, y: 0.1, w: 3.8, h: 0.8,
    fontSize: 18, bold: true, color: color, fontFace: "Calibri",
    align: "right", valign: "middle",
  });
  // Card-style boxes for each point
  const colW = 5.9;
  const startX = [0.3, 6.65, 0.3, 6.65];
  const startY = [1.2, 1.2, 4.0, 4.0];
  cells.forEach((cell, i) => {
    if (!cell) return;
    s.addShape(pres.ShapeType.rect, {
      x: startX[i], y: startY[i], w: colW, h: 2.5,
      fill: { color: C.white },
      line: { color: color, width: 1.5 },
      shadow: { type: "outer", blur: 4, offset: 2, angle: 45, color: "AAAAAA", opacity: 0.25 },
    });
    s.addText(cell.heading, {
      x: startX[i] + 0.1, y: startY[i], w: colW - 0.2, h: 0.55,
      fontSize: 15, bold: true, color: C.white, fontFace: "Calibri",
      align: "center", valign: "middle", margin: 0,
      fill: { color: color },
    });
    const bArr = cell.points.map((p, j) => ({
      text: p, options: { bullet: true, breakLine: j < cell.points.length - 1, fontSize: 14, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 3 },
    }));
    s.addText(bArr, { x: startX[i] + 0.1, y: startY[i] + 0.6, w: colW - 0.2, h: 1.85, valign: "top" });
  });
  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
  return s;
}

// ─── HELPER: TABLE SLIDE ─────────────────────────────────────
function addTableSlide(title, rows) {
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText(title, {
    x: 0.3, y: 0, w: 12.7, h: 1.0, fontSize: 26, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });
  s.addTable(rows, {
    x: 0.4, y: 1.15, w: 12.5, h: 6.1,
    fontFace: "Calibri",
    border: { type: "solid", pt: 0.5, color: C.lightGrey },
    colW: [1.8, 10.7],
  });
  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
  return s;
}

// ══════════════════════════════════════════════════════════════
//  SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.navyDark } });
  // Bottom decorative strip
  s.addShape(pres.ShapeType.rect, { x: 0, y: 6.8, w: 13.3, h: 0.7, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 6.7, w: 13.3, h: 0.12, fill: { color: C.gold } });
  // Top accent
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 0.12, fill: { color: C.tealLight } });
  // Geometric accent rectangles
  s.addShape(pres.ShapeType.rect, { x: 10.5, y: 0.12, w: 2.8, h: 6.5, fill: { color: C.navy }, line: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 11.0, y: 0.12, w: 0.08, h: 6.5, fill: { color: C.tealLight } });

  s.addText("WOUND CLASSIFICATION", {
    x: 0.7, y: 1.2, w: 9.6, h: 1.0, fontSize: 38, bold: true,
    color: C.tealLight, fontFace: "Calibri", charSpacing: 3,
  });
  s.addText("& WOUND HEALING", {
    x: 0.7, y: 2.15, w: 9.6, h: 0.9, fontSize: 38, bold: true,
    color: C.white, fontFace: "Calibri", charSpacing: 3,
  });
  s.addShape(pres.ShapeType.rect, { x: 0.7, y: 3.2, w: 4.0, h: 0.07, fill: { color: C.gold } });
  s.addText("Based on Bailey & Love's Short Practice of Surgery", {
    x: 0.7, y: 3.4, w: 9.6, h: 0.55, fontSize: 20, italic: true,
    color: C.lightGrey, fontFace: "Calibri",
  });
  s.addText("Chapter 3 — Wounds, Wound Healing and Scarring", {
    x: 0.7, y: 3.95, w: 9.6, h: 0.5, fontSize: 18,
    color: C.grey, fontFace: "Calibri",
  });
  s.addText("27th Edition", {
    x: 0.7, y: 6.85, w: 4, h: 0.5, fontSize: 14, bold: true,
    color: C.white, fontFace: "Calibri",
  });
}

// ══════════════════════════════════════════════════════════════
//  SLIDE 2 — OVERVIEW / TABLE OF CONTENTS
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 0.1, fill: { color: C.tealLight } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 7.4, w: 13.3, h: 0.1, fill: { color: C.gold } });
  s.addText("OVERVIEW", {
    x: 0.5, y: 0.25, w: 12, h: 0.8, fontSize: 32, bold: true,
    color: C.white, fontFace: "Calibri", charSpacing: 4,
  });
  s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.05, w: 3.0, h: 0.06, fill: { color: C.gold } });

  const sections = [
    { num: "01", label: "Normal Wound Healing in Skin", sub: "Phases: Haemostasis · Inflammation · Proliferation · Remodelling" },
    { num: "02", label: "Abnormal Wound Healing", sub: "Hypertrophic scars · Keloid scars · Factors affecting healing" },
    { num: "03", label: "Types of Wound Healing", sub: "Primary · Secondary · Tertiary (Delayed Primary)" },
    { num: "04", label: "Classification of Wounds", sub: "CDC Surgical Wound Classification · Aetiology · Depth · Complexity" },
    { num: "05", label: "Wound Management", sub: "Assessment · Treatment principles" },
  ];

  sections.forEach((sec, i) => {
    const y = 1.2 + i * 1.15;
    s.addShape(pres.ShapeType.rect, { x: 0.5, y, w: 1.0, h: 0.9, fill: { color: C.teal } });
    s.addText(sec.num, { x: 0.5, y, w: 1.0, h: 0.9, fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
    s.addShape(pres.ShapeType.rect, { x: 1.6, y, w: 11.1, h: 0.9, fill: { color: "1E3A5F" } });
    s.addText(sec.label, { x: 1.75, y: y + 0.05, w: 10.8, h: 0.45, fontSize: 18, bold: true, color: C.white, fontFace: "Calibri", valign: "bottom" });
    s.addText(sec.sub, { x: 1.75, y: y + 0.48, w: 10.8, h: 0.38, fontSize: 13, color: C.tealLight, fontFace: "Calibri", italic: true });
  });
}

// ══════════════════════════════════════════════════════════════
//  SECTION DIVIDER — WOUND HEALING
// ══════════════════════════════════════════════════════════════
addDividerSlide("WOUND HEALING", "Normal Physiology of Wound Repair");

// ══════════════════════════════════════════════════════════════
//  SLIDE 3 — PHASES OVERVIEW (Timeline graphic)
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText("PHASES OF NORMAL WOUND HEALING", {
    x: 0.3, y: 0, w: 12.7, h: 1.0, fontSize: 26, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });

  // Intro text
  s.addText("Wound healing proceeds through 3 overlapping, distinct phases. An additional phase — Haemostasis — occurs immediately before Inflammation.", {
    x: 0.4, y: 1.15, w: 12.5, h: 0.7, fontSize: 17, color: C.navy, fontFace: "Calibri", italic: true,
  });

  // Phase boxes
  const phases = [
    { label: "Haemostasis", time: "Minutes–Hours", color: C.red, x: 0.4, w: 2.7 },
    { label: "Inflammation", time: "Days 1–3", color: "E86A10", x: 3.3, w: 2.7 },
    { label: "Proliferation", time: "Day 3 – 4 Weeks", color: C.teal, x: 6.2, w: 3.5 },
    { label: "Remodelling", time: "Months–2 Years", color: C.navy, x: 9.9, w: 3.0 },
  ];
  phases.forEach(p => {
    s.addShape(pres.ShapeType.rect, { x: p.x, y: 2.0, w: p.w, h: 1.3, fill: { color: p.color } });
    s.addText(p.label, { x: p.x, y: 2.0, w: p.w, h: 0.75, fontSize: 18, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "bottom" });
    s.addText(p.time, { x: p.x, y: 2.75, w: p.w, h: 0.55, fontSize: 13, color: C.white, fontFace: "Calibri", align: "center", valign: "middle", italic: true });
    // Down arrow
    s.addShape(pres.ShapeType.rect, { x: p.x + p.w / 2 - 0.05, y: 3.3, w: 0.1, h: 0.35, fill: { color: p.color } });
  });

  // Key points for each phase
  const keyPoints = [
    { x: 0.4, color: C.red, pts: ["Vasoconstriction", "Platelet plug forms", "Coagulation cascade → Fibrin clot"] },
    { x: 3.3, color: "E86A10", pts: ["Neutrophils (days 1–2)", "Macrophages (days 2–3)", "Rubor, tumor, calor, dolor"] },
    { x: 6.2, color: C.teal, pts: ["Fibroblast activity (day 3+)", "Collagen synthesis", "Angiogenesis + epithelialisation", "Granulation tissue formation"] },
    { x: 9.9, color: C.navy, pts: ["Collagen remodelling (type III→I)", "Tensile strength increases", "Myofibroblast contraction", "Scar matures: pale, flat"] },
  ];
  const colWs = [2.7, 2.7, 3.5, 3.0];
  keyPoints.forEach((kp, i) => {
    const arr = kp.pts.map((p, j) => ({ text: p, options: { bullet: true, breakLine: j < kp.pts.length - 1, fontSize: 14, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 4 } }));
    s.addShape(pres.ShapeType.rect, { x: kp.x, y: 3.65, w: colWs[i], h: 3.45, fill: { color: C.white }, line: { color: kp.color, width: 1.5 } });
    s.addText(arr, { x: kp.x + 0.1, y: 3.7, w: colWs[i] - 0.2, h: 3.35, valign: "top" });
  });

  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true, color: C.grey, fontFace: "Calibri", align: "right",
  });
}

// ══════════════════════════════════════════════════════════════
//  SLIDE 4 — HAEMOSTASIS (detailed)
// ══════════════════════════════════════════════════════════════
addPhaseSlide(1, "Haemostasis", C.red, "Minutes – Hours", [
  {
    heading: "Vascular Response",
    points: ["Disruption of vascular endothelium → vasoconstriction", "Exposure of subendothelial extracellular matrix", "Limits initial blood loss"],
  },
  {
    heading: "Platelet Activation & Aggregation",
    points: ["Platelets adhere, activate, aggregate → platelet plug", "Alpha granules release growth factors: TGF-β, PDGF, FGF, EGF, VEGF", "Growth factors drive ECM deposition, chemotaxis, angiogenesis"],
  },
  {
    heading: "Coagulation Cascade",
    points: ["Tissue factor → initiates cascade", "Thrombin formed → converts fibrinogen → fibrin", "Fibrin stabilises platelet plug, forms scaffold for cells"],
  },
  {
    heading: "Key Outcome",
    points: ["Stable fibrin clot formed", "Scaffold ready for inflammatory cell infiltration", "Transition to inflammatory phase begins"],
  },
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 5 — INFLAMMATION (detailed)
// ══════════════════════════════════════════════════════════════
addPhaseSlide(2, "Inflammation", "E86A10", "Days 1–3", [
  {
    heading: "Early Phase (Days 1–2)",
    points: ["Platelet activation → influx of PMNs, especially neutrophils", "Neutrophils: minimise bacterial contamination", "Vasoactive amines (histamine, serotonin) increase vascular permeability"],
  },
  {
    heading: "Late Phase (Days 2–3)",
    points: ["Monocytes appear → differentiate into macrophages", "Macrophages: phagocytosis + proteolytic debridement", "Primary producers of cytokines & growth factors"],
  },
  {
    heading: "Cardinal Signs of Inflammation",
    points: ["Rubor (redness)", "Tumor (swelling)", "Calor (heat)", "Dolor (pain)"],
  },
  {
    heading: "Transition to Proliferation",
    points: ["Macrophages release PDGF, TGF-β promoting fibroblast proliferation", "Angiogenesis stimulated", "Phase overlaps with proliferation from ~day 3"],
  },
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 6 — PROLIFERATION (detailed)
// ══════════════════════════════════════════════════════════════
addPhaseSlide(3, "Proliferation", C.teal, "Day 3 – 2–4 Weeks", [
  {
    heading: "Fibroblast Activity",
    points: ["Start ~day 3; lasts 2–4 weeks", "Produce ground substance: glycosaminoglycans + proteoglycans", "Collagen synthesis — initially type III, later type I"],
  },
  {
    heading: "Granulation Tissue",
    points: ["Pink, granular appearance (early)", "Consists of new capillaries, fibroblasts, and ECM", "Fills wound defect from base upwards"],
  },
  {
    heading: "Re-epithelialisation",
    points: ["Epithelial cells migrate from wound edges & skin appendages", "Keratinocyte proliferation covers wound surface", "Dependent on moist wound environment"],
  },
  {
    heading: "Angiogenesis",
    points: ["VEGF & FGF drive new vessel formation", "Essential for oxygen/nutrient delivery", "New vessels visible as red, granular tissue"],
  },
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 7 — REMODELLING (detailed)
// ══════════════════════════════════════════════════════════════
addPhaseSlide(4, "Remodelling", C.navy, "Months – Up to 2 Years", [
  {
    heading: "Collagen Remodelling",
    points: ["Type III collagen replaced by type I (stronger)", "Net collagen content decreases but organisation improves", "Collagen crosslinking increases tensile strength"],
  },
  {
    heading: "Tensile Strength",
    points: ["50% of original strength at 6 weeks", "80% by 3 months", "Never exceeds ~80% of original skin strength"],
  },
  {
    heading: "Wound Contraction",
    points: ["Myofibroblasts responsible for wound contraction", "Actin-containing cells contract wound edges", "Important mechanism in healing by secondary intention"],
  },
  {
    heading: "Scar Maturation",
    points: ["Initially red and raised", "Progressively becomes pale, flat, soft", "Vascularity decreases over months"],
  },
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 8 — ABNORMAL WOUND HEALING
// ══════════════════════════════════════════════════════════════
addTwoColSlide(
  "ABNORMAL WOUND HEALING",
  [
    "Confined within original wound boundary",
    "Eventually spontaneously regress",
    "Areas of increased tension",
    "Wounds crossing tension lines",
    "Deep dermal burns",
    "Wounds healing by secondary intention (> 3 weeks)",
    "Treatment: silicone, intralesional steroids, compression",
  ],
  [
    "Extend BEYOND original wound borders",
    "Do NOT spontaneously regress",
    "Can be locally destructive / debilitating",
    "More common in darker skin types",
    "Collagen arranged in disorganised pattern",
    "Common sites: face, earlobes, deltoid, presternal",
    "Treatment: excision + adjuvant radiotherapy; more resistant",
  ],
  "HYPERTROPHIC SCARS",
  "KELOID SCARS"
);

// ══════════════════════════════════════════════════════════════
//  SLIDE 9 — FACTORS AFFECTING WOUND HEALING
// ══════════════════════════════════════════════════════════════
addTwoColSlide(
  "FACTORS AFFECTING WOUND HEALING  (Bailey & Love Summary Box 3.1)",
  [
    "Skin tension",
    "Hypoxia and ischaemia",
    "Vascular insufficiency",
    "Lymphoedema",
    "Contamination",
    "Infection",
    "Presence of foreign bodies",
    "Radiotherapy",
  ],
  [
    "Advancing age",
    "Obesity",
    "Malnutrition",
    "Smoking",
    "Diabetes mellitus",
    "Connective tissue diseases",
    "Immunocompromised states (e.g. AIDS)",
    "Medications: steroids, immunosuppressants, chemotherapy",
  ],
  "LOCAL FACTORS",
  "SYSTEMIC FACTORS"
);

// ══════════════════════════════════════════════════════════════
//  SECTION DIVIDER — TYPES OF WOUND HEALING
// ══════════════════════════════════════════════════════════════
addDividerSlide("TYPES OF WOUND HEALING", "Intentions of Healing — Summary Box 3.2");

// ══════════════════════════════════════════════════════════════
//  SLIDE 10 — TYPES OF HEALING
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText("TYPES OF WOUND HEALING", {
    x: 0.3, y: 0, w: 12.7, h: 1.0, fontSize: 26, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });

  const types = [
    {
      title: "1st INTENTION (Primary)",
      color: C.green,
      x: 0.35,
      pts: ["Wound edges directly approximated", "Aim of surgical treatment", "No adverse influences → best scar", "Methods: sutures, staples, glue, tape"],
    },
    {
      title: "2nd INTENTION (Secondary)",
      color: "E86A10",
      x: 4.65,
      pts: ["Wound left OPEN", "Heals by granulation, contraction, re-epithelialisation", "Increased inflammation and proliferation", "Results in a poorer scar"],
    },
    {
      title: "3rd INTENTION (Tertiary / Delayed Primary)",
      color: C.navy,
      x: 8.95,
      pts: ["Wound initially left open (contaminated or untidy wounds)", "Edges apposed surgically after debridement", "Wound must be clean first", "Better outcome than secondary intention"],
    },
  ];

  types.forEach(t => {
    s.addShape(pres.ShapeType.rect, {
      x: t.x, y: 1.15, w: 4.1, h: 5.7,
      fill: { color: C.white },
      line: { color: t.color, width: 2 },
      shadow: { type: "outer", blur: 5, offset: 2, angle: 45, color: "AAAAAA", opacity: 0.3 },
    });
    s.addShape(pres.ShapeType.rect, { x: t.x, y: 1.15, w: 4.1, h: 0.7, fill: { color: t.color } });
    s.addText(t.title, {
      x: t.x + 0.05, y: 1.15, w: 4.0, h: 0.7,
      fontSize: 15, bold: true, color: C.white, fontFace: "Calibri",
      align: "center", valign: "middle",
    });
    const arr = t.pts.map((p, j) => ({ text: p, options: { bullet: true, breakLine: j < t.pts.length - 1, fontSize: 16, color: C.navyDark, fontFace: "Calibri", paraSpaceBefore: 6 } }));
    s.addText(arr, { x: t.x + 0.15, y: 1.95, w: 3.8, h: 4.7, valign: "top" });
  });

  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
}

// ══════════════════════════════════════════════════════════════
//  SECTION DIVIDER — WOUND CLASSIFICATION
// ══════════════════════════════════════════════════════════════
addDividerSlide("WOUND CLASSIFICATION", "Synopsis of Classification Systems — Summary Box 3.3");

// ══════════════════════════════════════════════════════════════
//  SLIDE 11 — CDC SURGICAL WOUND CLASSIFICATION (Table)
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.1, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.1, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText("CDC SURGICAL WOUND CLASSIFICATION  (Table 3.1)", {
    x: 0.3, y: 0, w: 12.7, h: 1.1, fontSize: 24, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });
  s.addText("US Centers for Disease Prevention and Control — originally introduced by US National Research Council (1964)", {
    x: 0.4, y: 1.2, w: 12.5, h: 0.45, fontSize: 14, italic: true, color: C.navy, fontFace: "Calibri",
  });

  const classColors = [C.green, "1A7A2E", "E86A10", C.red];
  const classes = [
    { cls: "Class I\nCLEAN", color: classColors[0], desc: "Uninfected operative wounds\n• No inflammation encountered\n• Respiratory, alimentary, genital, or urinary tracts NOT entered\n• Primarily closed ± closed drainage" },
    { cls: "Class II\nCLEAN-CONTAMINATED", color: classColors[1], desc: "Respiratory, alimentary, genital or urinary tracts entered under controlled conditions\n• No unusual contamination\n• No evidence of infection or major break in technique" },
    { cls: "Class III\nCONTAMINATED", color: classColors[2], desc: "Open, fresh, accidental wounds\n• Major breaks in sterile technique (e.g. open cardiac massage)\n• Gross spillage from GI tract\n• Incisions with acute, non-purulent inflammation" },
    { cls: "Class IV\nDIRTY", color: classColors[3], desc: "Old traumatic wounds with retained devitalised tissue\n• Existing clinical infection\n• Perforated viscera\n• Organisms present in surgical field BEFORE operation" },
  ];

  classes.forEach((c, i) => {
    const y = 1.75 + i * 1.38;
    s.addShape(pres.ShapeType.rect, { x: 0.4, y, w: 2.8, h: 1.25, fill: { color: c.color } });
    s.addText(c.cls, { x: 0.4, y, w: 2.8, h: 1.25, fontSize: 15, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
    s.addShape(pres.ShapeType.rect, { x: 3.3, y, w: 9.6, h: 1.25, fill: { color: C.white }, line: { color: c.color, width: 1 } });
    s.addText(c.desc, { x: 3.4, y: y + 0.05, w: 9.4, h: 1.15, fontSize: 14, color: C.navyDark, fontFace: "Calibri", valign: "top" });
  });

  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
}

// ══════════════════════════════════════════════════════════════
//  SLIDE 12 — WOUND CLASSIFICATION: SYNOPSIS
// ══════════════════════════════════════════════════════════════
addContentSlide("WOUND CLASSIFICATION — SYNOPSIS  (Summary Box 3.3)", [
  "AETIOLOGY:",
  { text: "Clean surgical, shearing/degloving, crush, blast, burn (thermal/electrical/chemical/radiation), cold injury, avulsion/traction, low/high energy, bite", sub: true },
  "DEPTH:",
  { text: "Epidermal, Dermal (superficial or deep), Full thickness", sub: true },
  "CONTAMINATION:",
  { text: "Clean, Clean–contaminated, Contaminated, Dirty | With or without implant", sub: true },
  "COMPLEXITY:",
  { text: "Simple, Complex, Significant soft-tissue loss, Open fracture/joint, Visceral involvement", sub: true },
  "COMPLICATED:",
  { text: "Infection, Necrosis, Haematoma, Gas gangrene, Compartment syndrome", sub: true },
  "CHRONIC:",
  { text: "Vascular ulcers (venous or arterial), Pressure ulcers, Diabetic ulcers", sub: true },
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 13 — NNIS RISK SCORE
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.offWhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: 7.5, fill: { color: C.teal } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 13.3, h: 0.06, fill: { color: C.gold } });
  s.addText("NNIS RISK INDEX SCORE — Surgical Site Infection Risk", {
    x: 0.3, y: 0, w: 12.7, h: 1.0, fontSize: 24, bold: true,
    color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
  });
  s.addText("National Nosocomial Infections Surveillance (NNIS) Score stratifies SSI risk. Score ranges from 0 (lowest) to 3 (highest).", {
    x: 0.4, y: 1.15, w: 12.5, h: 0.6, fontSize: 16, italic: true, color: C.navy, fontFace: "Calibri",
  });
  s.addText("1 point is allocated for the presence of EACH of the following risk factors:", {
    x: 0.4, y: 1.7, w: 12.5, h: 0.45, fontSize: 16, bold: true, color: C.navyDark, fontFace: "Calibri",
  });

  const factors = [
    { num: "+1", label: "Contaminated or Dirty Wound", detail: "Class III or IV wound on CDC classification", color: C.red },
    { num: "+1", label: "ASA Score ≥ 3", detail: "American Society of Anesthesiologists physical status score 3 or higher", color: "E86A10" },
    { num: "+1", label: "Prolonged Operative Time", detail: "Operative time longer than expected for similar procedures (> 75th percentile)", color: C.teal },
  ];
  factors.forEach((f, i) => {
    const x = 0.4 + i * 4.25;
    s.addShape(pres.ShapeType.rect, { x, y: 2.3, w: 4.0, h: 4.8, fill: { color: C.white }, line: { color: f.color, width: 2 } });
    s.addShape(pres.ShapeType.rect, { x, y: 2.3, w: 4.0, h: 1.1, fill: { color: f.color } });
    s.addText(f.num, { x, y: 2.3, w: 1.1, h: 1.1, fontSize: 40, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
    s.addText(f.label, { x: x + 1.1, y: 2.3, w: 2.85, h: 1.1, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", valign: "middle" });
    s.addText(f.detail, { x: x + 0.15, y: 3.5, w: 3.7, h: 3.5, fontSize: 16, color: C.navyDark, fontFace: "Calibri", valign: "top" });
  });

  s.addText("Bailey & Love's Short Practice of Surgery", {
    x: 7, y: 7.1, w: 6, h: 0.35, fontSize: 11, italic: true,
    color: C.grey, fontFace: "Calibri", align: "right",
  });
}

// ══════════════════════════════════════════════════════════════
//  SECTION DIVIDER — WOUND MANAGEMENT
// ══════════════════════════════════════════════════════════════
addDividerSlide("WOUND MANAGEMENT", "Assessment & Treatment Principles");

// ══════════════════════════════════════════════════════════════
//  SLIDE 14 — WOUND MANAGEMENT
// ══════════════════════════════════════════════════════════════
addContentSlide("WOUND MANAGEMENT — KEY PRINCIPLES", [
  "Use ATLS principles: identify life-threatening → limb-threatening conditions first",
  "Assess: site, size, geometry, nature of wound; signs of contamination, infection, swelling, pulsatile bleeding",
  "Look for: skin loss, degloving, exposed structures, underlying fractures / dislocations",
  "Correlate clinical examination with mechanism of injury (e.g. high-pressure injection injuries can track proximally)",
  "Ensure adequate analgesia before palpation; test motor and sensory function before local anaesthesia",
  "Imaging: to exclude foreign bodies, fractures, dislocations as appropriate",
  "Thorough wound irrigation for better visualisation and decontamination",
  "Multidisciplinary approach for complex wounds (e.g. open lower limb fractures: orthopaedic + plastic surgery)",
  "Wound management guided by timing, mechanism of injury, and patient-specific factors affecting healing",
]);

// ══════════════════════════════════════════════════════════════
//  SLIDE 15 — SUMMARY / TAKE-HOME POINTS
// ══════════════════════════════════════════════════════════════
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.navyDark } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 0.1, fill: { color: C.tealLight } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 7.4, w: 13.3, h: 0.1, fill: { color: C.gold } });
  s.addText("KEY TAKE-HOME POINTS", {
    x: 0.5, y: 0.2, w: 12, h: 0.85, fontSize: 32, bold: true,
    color: C.white, fontFace: "Calibri", charSpacing: 3,
  });
  s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.05, w: 4.0, h: 0.06, fill: { color: C.gold } });

  const points = [
    { emoji: "🔬", text: "Wound healing has 4 phases: Haemostasis → Inflammation → Proliferation → Remodelling" },
    { emoji: "⏱", text: "Remodelling is the longest phase (months to 2 years); tensile strength never exceeds ~80% of original" },
    { emoji: "📋", text: "CDC classification: Class I (Clean) → Class IV (Dirty) — standard for SSI risk assessment" },
    { emoji: "🩺", text: "NNIS score (0–3): contaminated wound + ASA ≥3 + prolonged operative time each add 1 point" },
    { emoji: "🔄", text: "3 types of healing: Primary (1st), Secondary (2nd — open wound), Tertiary/Delayed Primary (3rd)" },
    { emoji: "⚠️", text: "Hypertrophic scars stay within wound boundary; keloid scars extend beyond and do not regress" },
    { emoji: "🧬", text: "Macrophages are the master regulators of wound healing — phagocytosis, cytokine release, fibroblast stimulation" },
  ];

  points.forEach((p, i) => {
    const y = 1.2 + i * 0.82;
    s.addShape(pres.ShapeType.rect, { x: 0.5, y, w: 12.2, h: 0.72, fill: { color: "1E3A5F" }, line: { color: C.teal, width: 0.5 } });
    s.addText(p.emoji, { x: 0.55, y, w: 0.7, h: 0.72, fontSize: 22, align: "center", valign: "middle" });
    s.addText(p.text, { x: 1.3, y, w: 11.2, h: 0.72, fontSize: 16, color: C.white, fontFace: "Calibri", valign: "middle" });
  });
}

// ══════════════════════════════════════════════════════════════
//  WRITE FILE
// ══════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/wound-ppt/Wound_Classification_Healing_BaileyLove.pptx" })
  .then(() => console.log("✅ PPT created successfully!"))
  .catch(e => { console.error("ERROR:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/wound-ppt && node create_ppt.js 2>&1

Running Command

ls -lh /home/daytona/workspace/wound-ppt/

Your presentation is ready! Download it here:

Wound Classification Healing BaileyLove

Presentation · PPTX


Here's what's included across 15 slides (16:9 wide format), sourced directly from Bailey & Love's Short Practice of Surgery (27th Edition), Chapter 3:
SlideContent
1Title slide
2Overview / Table of Contents
3Divider — Wound Healing
4Phases Overview (timeline graphic with all 4 phases)
5Phase 1: Haemostasis (vasoconstriction, platelet plug, coagulation cascade, growth factors)
6Phase 2: Inflammation (early neutrophils, late macrophages, cardinal signs)
7Phase 3: Proliferation (fibroblasts, granulation tissue, re-epithelialisation, angiogenesis)
8Phase 4: Remodelling (collagen remodelling, tensile strength, myofibroblasts, scar maturation)
9Abnormal Healing — Hypertrophic vs Keloid scars (2-column comparison)
10Factors Affecting Healing — Local vs Systemic (Summary Box 3.1)
11Divider — Types of Wound Healing
121st / 2nd / 3rd Intention healing (3-card layout)
13Divider — Wound Classification
14CDC Surgical Wound Classification Table (Classes I–IV)
15NNIS Risk Index Score
16Wound Classification Synopsis (aetiology, depth, contamination, complexity, chronic)
17Wound Management principles
18Key Take-Home Points
Design: Navy/teal/gold colour palette, phase cards with colour-coded timelines, two-column comparison slides for local vs systemic factors and hypertrophic vs keloid scars.
This is a shared conversation. Sign in to Orris to start your own chat.