Just like above pdf which has child health nursing medical clinical presentation i need exactly for surgical clinical presentation on the topic of Tracheo esophageal fistula and change the content inside related to this particu Condition

I'll start by reading the PDF skill and analyzing the uploaded PDF to understand its structure, then create a surgical clinical presentation on Tracheo-Esophageal Fistula in the same format.
Reading File
Now let me analyze the uploaded PDF and search for TEF medical content in parallel:
analyse_media
Finding Sources
Let me extract the PDF text and get the TEF content from the surgical textbook simultaneously:
Running Command

cd /home/daytona/workspace/attachments/ef5ab9b4-b0a4-4581-a868-34fed10ed267 && python3 -c " import pdfplumber with pdfplumber.open('Chn cp med compressed.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): print(f'--- PAGE {i+1} ---') print(page.extract_text()) print() " 2>&1 | head -500

Reading File
The PDF text extraction returned empty (it's likely an image-based PDF). Let me try OCR and also read more TEF content from the textbook:
Running Command

python3 -c " import subprocess result = subprocess.run(['pdfimages', '-list', '/home/daytona/workspace/attachments/ef5ab9b4-b0a4-4581-a868-34fed10ed267/Chn cp med compressed.pdf'], capture_output=True, text=True) print(result.stdout[:3000]) print(result.stderr[:500]) "

Reading File
The PDF is image-based. Let me extract images with OCR and read more textbook content simultaneously:
Running Command

mkdir -p /home/daytona/workspace/tef_cp/page_images && cd /home/daytona/workspace/tef_cp/page_images && pdftoppm -jpeg -r 150 "/home/daytona/workspace/attachments/ef5ab9b4-b0a4-4581-a868-34fed10ed267/Chn cp med compressed.pdf" page && ls -la | head -30

Reading File
Good, images extracted. Now let me OCR all 20 pages using tesseract to get the full content:
Running Command

cd /home/daytona/workspace/tef_cp/page_images && for i in $(seq -w 1 20); do echo "=== PAGE $i ===" && tesseract page-$(printf '%02d' $i).jpg stdout 2>/dev/null; done 2>&1

I can see the structure. Let me read the pages more carefully using higher resolution OCR to better understand the layout, and also get the PPTX skill:
Reading File
Running Command

cd /home/daytona/workspace/tef_cp/page_images && tesseract page-01.jpg stdout --psm 6 2>/dev/null; echo "===="; tesseract page-02.jpg stdout --psm 6 2>/dev/null; echo "===="; tesseract page-03.jpg stdout --psm 6 2>/dev/null

Now I have a clear understanding of the document structure. Let me read the pptxgenjs.md for creation details and fetch more pages of the original to understand all sections:
Reading File
Running Command

cd /home/daytona/workspace/tef_cp/page_images && for p in 04 05 06 07 08 09 10; do echo "=== PAGE $p ==="; tesseract page-$p.jpg stdout --psm 6 2>/dev/null; echo; done

Now I have a clear picture of the document structure. Let me read the remaining pages and pptxgenjs details, then build the TEF clinical presentation:
Running Command

cd /home/daytona/workspace/tef_cp/page_images && for p in 11 12 13 14 15 16 17 18 19 20; do echo "=== PAGE $p ==="; tesseract page-$p.jpg stdout --psm 6 2>/dev/null; echo; done

Reading File
Now I have a thorough understanding of the original document. Let me build the complete PPTX script for the TEF Surgical Clinical Presentation:
Writing File

~/tef_cp/generate_tef_cp.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_4x3"; // portrait-ish, A4 style
pres.title = "Tracheo-Esophageal Fistula - Surgical Clinical Presentation";

// ─── COLOUR PALETTE ───────────────────────────────────────────────────────────
const TEAL      = "006D6D";   // dark teal header bars
const TEAL_MID  = "009898";   // mid teal accents
const TEAL_LITE = "E0F5F5";   // very light teal bg tint
const CREAM     = "FFF8F2";   // warm page bg
const WHITE     = "FFFFFF";
const DARK      = "1A1A2E";   // near-black text
const GOLD      = "C89B3C";   // accent / dividers
const ORANGE    = "D95D39";   // highlight / alert
const GREY      = "F0F0F0";   // table alternating row
const MID_GREY  = "888888";

// ─── HELPERS ──────────────────────────────────────────────────────────────────
function pageHeader(slide, title, subtitle) {
  // Full-width teal header band
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 0, w: 10, h: 0.75,
    fill: { color: TEAL }, line: { color: TEAL }
  });
  // Institution top-right
  slide.addText("CHILD HEALTH NURSING — SURGICAL CLINICAL PRESENTATION", {
    x: 0, y: 0, w: 10, h: 0.75,
    fontSize: 7.5, color: WHITE, align: "right", valign: "middle",
    bold: false, margin: [0, 12, 0, 0]
  });
  // Page title left
  slide.addText(title, {
    x: 0.25, y: 0, w: 7, h: 0.75,
    fontSize: 13, color: WHITE, bold: true, valign: "middle", margin: 0
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x: 0.25, y: 0.78, w: 9.5, h: 0.32,
      fontSize: 9, color: TEAL, bold: true, italic: true, margin: 0
    });
  }
}

function goldDivider(slide, y) {
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0.25, y, w: 9.5, h: 0.03,
    fill: { color: GOLD }, line: { color: GOLD }
  });
}

function sectionLabel(slide, text, x, y, w, h) {
  slide.addShape(pres.shapes.RECTANGLE, {
    x, y, w, h: h || 0.30,
    fill: { color: TEAL_MID }, line: { color: TEAL_MID }
  });
  slide.addText(text, {
    x, y, w, h: h || 0.30,
    fontSize: 9, color: WHITE, bold: true, align: "center", valign: "middle", margin: 0
  });
}

function rowBox(slide, label, value, x, y, lw, vw, h, shaded) {
  h = h || 0.27;
  if (shaded) {
    slide.addShape(pres.shapes.RECTANGLE, { x, y, w: lw + vw, h, fill: { color: GREY }, line: { color: GREY } });
  }
  slide.addText(label, {
    x, y, w: lw, h, fontSize: 8.5, bold: true, color: DARK, valign: "middle", margin: [0, 4, 0, 0]
  });
  slide.addText(value, {
    x: x + lw, y, w: vw, h, fontSize: 8.5, color: DARK, valign: "middle", margin: [0, 4, 0, 0]
  });
}

function bulletList(slide, items, x, y, w, h, fontSize, indent) {
  fontSize = fontSize || 8.5;
  const arr = items.map((t, i) => ({
    text: t,
    options: { bullet: { type: "bullet", indent: indent || 10 }, breakLine: i < items.length - 1, fontSize }
  }));
  slide.addText(arr, { x, y, w, h, color: DARK, valign: "top", margin: [2, 4, 0, 0] });
}

function pageFooter(slide, pageNo) {
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 7.35, w: 10, h: 0.22,
    fill: { color: TEAL }, line: { color: TEAL }
  });
  slide.addText(`Page ${pageNo} of 20`, {
    x: 0, y: 7.35, w: 10, h: 0.22,
    fontSize: 7, color: WHITE, align: "right", valign: "middle", margin: [0, 8, 0, 0]
  });
  slide.addText("Tracheo-Esophageal Fistula (TEF) — Surgical Clinical Presentation", {
    x: 0.25, y: 7.35, w: 8, h: 0.22,
    fontSize: 7, color: WHITE, valign: "middle", margin: 0
  });
}

// ==============================================================================
// PAGE 1 — COVER
// ==============================================================================
{
  const s = pres.addSlide();
  // Full bg teal gradient simulation
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.5, fill: { color: TEAL }, line: { color: TEAL } });
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 4.8, w: 10, h: 2.7, fill: { color: DARK }, line: { color: DARK } });
  // Decorative circles
  s.addShape(pres.shapes.OVAL, { x: -1.0, y: -1.0, w: 3.5, h: 3.5, fill: { color: "008080", transparency: 60 }, line: { color: "008080", transparency: 60 } });
  s.addShape(pres.shapes.OVAL, { x: 7.5, y: 5.5, w: 3, h: 3, fill: { color: "FFFFFF", transparency: 85 }, line: { color: "FFFFFF", transparency: 85 } });
  // Gold accent bar
  s.addShape(pres.shapes.RECTANGLE, { x: 1.5, y: 2.45, w: 7, h: 0.06, fill: { color: GOLD }, line: { color: GOLD } });

  s.addText("SURGICAL CLINICAL PRESENTATION", {
    x: 0.5, y: 0.5, w: 9, h: 0.5,
    fontSize: 13, color: GOLD, bold: true, align: "center", charSpacing: 4
  });
  s.addText("Tracheo-Esophageal\nFistula (TEF)", {
    x: 0.5, y: 1.1, w: 9, h: 1.35,
    fontSize: 30, color: WHITE, bold: true, align: "center", valign: "middle"
  });
  s.addText("Child Health Nursing", {
    x: 0.5, y: 2.55, w: 9, h: 0.45,
    fontSize: 14, color: TEAL_LITE, align: "center", italic: true
  });
  // Info boxes
  const infoItems = [
    ["Department", "Paediatric Surgery"],
    ["Date of Admission", "DD / MM / YYYY"],
    ["Ward", "Paediatric Surgical Ward"],
    ["Presenting to", "Clinical Instructor"],
  ];
  infoItems.forEach(([k, v], i) => {
    const col = i % 2 === 0 ? 1.0 : 5.5;
    const row = 5.05 + Math.floor(i / 2) * 0.65;
    s.addShape(pres.shapes.RECTANGLE, { x: col, y: row, w: 4.0, h: 0.55, fill: { color: "163030" }, line: { color: GOLD, pt: 0.8 } });
    s.addText(k, { x: col + 0.12, y: row + 0.02, w: 1.5, h: 0.25, fontSize: 7, color: GOLD, bold: true, margin: 0 });
    s.addText(v, { x: col + 0.12, y: row + 0.28, w: 3.7, h: 0.22, fontSize: 8.5, color: WHITE, margin: 0 });
  });

  // TOC strip
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 7.0, w: 10, h: 0.5, fill: { color: GOLD }, line: { color: GOLD } });
  s.addText("Contents: Profile • Reason for Admission • History • Assessment • Growth & Dev • Investigations • Nursing Diagnoses", {
    x: 0.25, y: 7.0, w: 9.5, h: 0.5,
    fontSize: 7.5, color: DARK, bold: true, align: "center", valign: "middle"
  });
}

// ==============================================================================
// PAGE 2 — INTRODUCTION TO TOPIC
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Introduction to TEF", "Tracheo-Esophageal Fistula");
  goldDivider(s, 1.12);

  s.addText("Definition", {
    x: 0.25, y: 1.2, w: 9.5, h: 0.32,
    fontSize: 10, color: TEAL, bold: true
  });
  s.addText(
    "Tracheo-Esophageal Fistula (TEF) is a congenital anomaly characterised by an abnormal communication " +
    "between the trachea and the oesophagus, usually accompanied by oesophageal atresia (EA). " +
    "It arises from failure of separation of the primitive foregut into the respiratory tract (ventral) " +
    "and the alimentary tract (dorsal) during the 4th–5th week of embryogenesis.",
    { x: 0.25, y: 1.55, w: 9.5, h: 0.8, fontSize: 8.5, color: DARK }
  );

  // Types box
  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 2.42, w: 9.5, h: 0.30, fill: { color: TEAL_MID }, line: { color: TEAL_MID } });
  s.addText("GROSS / VOGT Classification of EA-TEF", {
    x: 0.25, y: 2.42, w: 9.5, h: 0.30, fontSize: 9, color: WHITE, bold: true, align: "center", valign: "middle", margin: 0
  });

  const types = [
    ["Type A\n(7–8%)", "Isolated EA\n(no fistula)"],
    ["Type B\n(<1%)", "EA + proximal TEF"],
    ["Type C\n(85–87%)", "EA + distal TEF\n(most common)"],
    ["Type D\n(<1%)", "EA + proximal\n& distal TEF"],
    ["Type E/H\n(4–5%)", "TEF without EA\n(H-type fistula)"],
  ];
  types.forEach(([t, d], i) => {
    const x = 0.25 + i * 1.9;
    s.addShape(pres.shapes.RECTANGLE, {
      x, y: 2.72, w: 1.82, h: 0.75,
      fill: { color: i === 2 ? ORANGE : TEAL }, line: { color: TEAL_MID }
    });
    s.addText(t, { x, y: 2.72, w: 1.82, h: 0.38, fontSize: 8, color: WHITE, bold: true, align: "center", valign: "bottom", margin: 0 });
    s.addText(d, { x, y: 3.10, w: 1.82, h: 0.37, fontSize: 7, color: WHITE, align: "center", valign: "top", margin: 0 });
  });

  s.addText("Incidence", { x: 0.25, y: 3.58, w: 9.5, h: 0.28, fontSize: 10, color: TEAL, bold: true });
  bulletList(s, [
    "1 in 3,000–4,500 live births; slight male predominance",
    "~50% have associated anomalies — VACTERL (Vertebral, Anorectal, Cardiac, TE fistula, Renal, Limb defects)",
    "Cardiac defects: 38% | Skeletal: 19% | Neurological: 15% | Renal: 15% | Anorectal: 8%",
  ], 0.25, 3.88, 9.5, 0.85);

  s.addText("Embryology", { x: 0.25, y: 4.78, w: 9.5, h: 0.28, fontSize: 10, color: TEAL, bold: true });
  bulletList(s, [
    "Failure of longitudinal ridges to fuse and divide the foregut → persistent tracheoesophageal communication",
    "Type C: proximal oesophagus ends as a blind pouch; distal oesophagus connects directly to the trachea",
    "Results in aspiration of secretions and reflux of gastric acid into the respiratory tract",
  ], 0.25, 5.08, 9.5, 0.85);

  goldDivider(s, 6.00);
  s.addText("Prognosis: Survival >90% with early diagnosis & surgical repair in term infants without major cardiac defects.", {
    x: 0.25, y: 6.06, w: 9.5, h: 0.35, fontSize: 8, color: ORANGE, bold: true, italic: true
  });
  pageFooter(s, 2);
}

// ==============================================================================
// PAGE 3 — PATIENT PROFILE
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Patient Profile", "Tracheo-Esophageal Fistula (TEF)");
  goldDivider(s, 1.12);

  sectionLabel(s, "DEMOGRAPHIC DETAILS", 0.25, 1.2, 9.5);

  const fields = [
    ["Patient Name", "Baby P. Kumar", "IP No.", "SN/2024/____"],
    ["Chronological Age", "3 Days (Neonate)", "DOB", "DD/MM/YYYY"],
    ["Gender", "Male", "Weight at Birth", "2.8 kg"],
    ["Address", "Paediatric Surgical Ward, Bed No. 4", "Religion", "Hindu"],
    ["Date of Admission", "DD/MM/YYYY", "Diagnosis", "Type C TEF with Oesophageal Atresia"],
    ["Informant", "Mother (reliable)", "Language", "Hindi / Regional"],
  ];

  fields.forEach(([l1, v1, l2, v2], i) => {
    const y = 1.55 + i * 0.34;
    const shaded = i % 2 === 0;
    rowBox(s, l1, v1, 0.25, y, 2.0, 2.8, 0.30, shaded);
    rowBox(s, l2, v2, 5.1, y, 1.6, 3.0, 0.30, shaded);
  });

  sectionLabel(s, "FAMILY / SOCIOECONOMIC DETAILS", 0.25, 3.64, 9.5);

  const fam = [
    ["Father's Name", "Mr. P. Kumar", "Occupation", "Daily Wage Worker"],
    ["Mother's Name", "Mrs. K. Devi", "Occupation", "Homemaker"],
    ["Family Type", "Nuclear Family", "Socioeconomic Status", "Lower Middle Class"],
    ["Income (Monthly)", "~₹8,000–10,000", "Religion", "Hindu"],
  ];
  fam.forEach(([l1, v1, l2, v2], i) => {
    const y = 4.00 + i * 0.34;
    rowBox(s, l1, v1, 0.25, y, 2.0, 2.8, 0.30, i % 2 === 0);
    rowBox(s, l2, v2, 5.1, y, 1.6, 3.0, 0.30, i % 2 === 0);
  });

  sectionLabel(s, "INFORMANT DETAILS", 0.25, 5.40, 9.5);
  s.addText(
    "History provided by mother (primary caregiver). Informant is reliable, cooperative, and oriented to name, place, and time. Degree of reliability: Good.",
    { x: 0.25, y: 5.74, w: 9.5, h: 0.45, fontSize: 8.5, color: DARK }
  );

  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 6.26, w: 9.5, h: 0.55,
    fill: { color: TEAL_LITE }, line: { color: TEAL_MID, pt: 0.8 } });
  s.addText("Reason for Admission: Neonate admitted to Paediatric Surgical Ward with excessive drooling, choking on feeds, cyanotic episodes, and abdominal distension from birth, diagnosed as Type C Tracheo-Esophageal Fistula requiring surgical management.", {
    x: 0.35, y: 6.29, w: 9.2, h: 0.49, fontSize: 8, color: DARK, bold: false
  });

  pageFooter(s, 3);
}

// ==============================================================================
// PAGE 4 — CHIEF COMPLAINTS & HISTORY OF PRESENT ILLNESS
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Chief Complaints & History of Present Illness");
  goldDivider(s, 1.12);

  // Chief complaints
  sectionLabel(s, "CHIEF COMPLAINTS", 0.25, 1.20, 9.5);
  const cc = [
    "Excessive drooling and frothing from mouth since birth",
    "Choking and coughing immediately after attempted feeds",
    "Cyanotic episodes during feeding since birth",
    "Inability to swallow feeds / regurgitation of feeds",
    "Abdominal distension noted since Day 1 of life",
    "Respiratory distress — tachypnoea, grunting, subcostal retractions",
  ];
  bulletList(s, cc, 0.25, 1.52, 9.5, 1.85, 8.5);

  sectionLabel(s, "HISTORY OF PRESENT ILLNESS", 0.25, 3.42, 9.5);
  s.addText(
    "Baby P. Kumar, a 3-day-old male neonate, was born at term (38 weeks) by normal vaginal delivery at a district hospital. " +
    "Birth weight was 2.8 kg and the Apgar score was 7 at 1 minute and 8 at 5 minutes. At the time of the first attempted feed, " +
    "the neonate developed excessive drooling, choking, and cyanosis. An orogastric tube could not be passed into the stomach. " +
    "A plain chest X-ray demonstrated the OG tube coiled in the upper oesophageal pouch and air in the gastrointestinal tract " +
    "confirming the presence of a TEF (Type C). Maternal history revealed polyhydramnios. Baby referred to this centre for surgical management. " +
    "IV antibiotics started. Baby maintained NPO with continuous upper pouch suctioning.",
    { x: 0.25, y: 3.76, w: 9.5, h: 1.55, fontSize: 8.5, color: DARK }
  );

  sectionLabel(s, "PRENATAL / ANTENATAL HISTORY", 0.25, 5.36, 4.7);
  sectionLabel(s, "BIRTH HISTORY", 5.05, 5.36, 4.7);

  bulletList(s, [
    "G2P1L1 — registered antenatal case",
    "Polyhydramnios detected on USG at 32 weeks",
    "No diabetes mellitus, hypertension, or infections",
    "No medications / teratogen exposure reported",
  ], 0.25, 5.68, 4.6, 1.0, 8);
  bulletList(s, [
    "Term delivery (38 weeks), NVD",
    "Birth weight: 2.8 kg",
    "Apgar: 7/8 (1 & 5 min)",
    "No cord around neck; meconium passed within 6 hrs",
  ], 5.05, 5.68, 4.6, 1.0, 8);

  pageFooter(s, 4);
}

// ==============================================================================
// PAGE 5 — PAST HISTORY & FAMILY HISTORY
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Past History & Family History");
  goldDivider(s, 1.12);

  sectionLabel(s, "PAST HISTORY", 0.25, 1.20, 9.5);
  const ph = [
    ["Previous Hospitalisation", "None (first admission)"],
    ["Previous Surgical Procedures", "None"],
    ["Previous Medical Illness", "None; first episode"],
    ["Allergy History", "Not known; no known drug/food allergies"],
    ["Immunisation Status", "BCG given at birth (per Govt. schedule); others pending (age <1 month)"],
    ["Blood Transfusion", "None"],
  ];
  ph.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 1.52 + i * 0.32, 2.8, 6.7, 0.28, i % 2 === 0);
  });

  sectionLabel(s, "NEONATAL HISTORY", 0.25, 3.46, 9.5);
  const nn = [
    "Baby cried immediately at birth; no resuscitation required",
    "Breastfeeding could not be established due to inability to swallow",
    "Meconium passed within 6 hours of birth",
    "No neonatal jaundice, no birth sepsis, no neonatal convulsions",
    "No anorectal malformation noted; patent anus confirmed clinically",
  ];
  bulletList(s, nn, 0.25, 3.78, 9.5, 1.35, 8.5);

  sectionLabel(s, "FAMILY HISTORY", 0.25, 5.18, 9.5);
  const fh = [
    ["Hereditary disorders", "No family history of congenital anomalies"],
    ["Cardiac disease", "No known cardiac disease in family"],
    ["TEF / EA in siblings", "Nil; first child unaffected"],
    ["Consanguinity", "Non-consanguineous marriage"],
    ["Maternal illness", "Mother healthy; no gestational diabetes"],
  ];
  fh.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 5.50 + i * 0.30, 2.8, 6.7, 0.27, i % 2 === 0);
  });

  pageFooter(s, 5);
}

// ==============================================================================
// PAGE 6 — IMMUNISATION & NUTRITION HISTORY
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Immunisation & Nutrition History");
  goldDivider(s, 1.12);

  sectionLabel(s, "IMMUNISATION HISTORY (UIP Schedule — India)", 0.25, 1.20, 9.5);

  // Table header
  ["Vaccine", "Age Due", "Given", "Date", "Remarks"].forEach((h, i) => {
    const xs = [0.25, 2.45, 4.25, 5.75, 7.25];
    const ws = [2.10, 1.70, 1.40, 1.40, 2.45];
    s.addShape(pres.shapes.RECTANGLE, { x: xs[i], y: 1.52, w: ws[i], h: 0.28, fill: { color: TEAL }, line: { color: TEAL } });
    s.addText(h, { x: xs[i], y: 1.52, w: ws[i], h: 0.28, fontSize: 8, color: WHITE, bold: true, align: "center", valign: "middle", margin: 0 });
  });

  const vaccines = [
    ["OPV-0 + HepB-1", "At Birth", "Yes", "DOB", "Given at birth"],
    ["BCG", "At Birth", "Yes", "DOB", "Left upper arm"],
    ["OPV-1 + DPT-1 + HepB-2", "6 Weeks", "Pending", "—", "Age <1 month"],
    ["OPV-2 + DPT-2", "10 Weeks", "Pending", "—", "Age <1 month"],
    ["OPV-3 + DPT-3 + HepB-3", "14 Weeks", "Pending", "—", "Age <1 month"],
    ["IPV", "6 Weeks", "Pending", "—", "Age <1 month"],
    ["PCV", "6 Weeks", "Pending", "—", "Age <1 month"],
    ["Rotavirus", "6 Weeks", "Pending", "—", "Age <1 month"],
  ];
  const xs = [0.25, 2.45, 4.25, 5.75, 7.25];
  const ws = [2.10, 1.70, 1.40, 1.40, 2.45];
  vaccines.forEach(([vac, age, giv, date, rem], i) => {
    const y = 1.82 + i * 0.27;
    const bg = i % 2 === 0 ? GREY : WHITE;
    [vac, age, giv, date, rem].forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: xs[j], y, w: ws[j], h: 0.26, fill: { color: bg }, line: { color: "CCCCCC", pt: 0.5 } });
      s.addText(cell, { x: xs[j], y, w: ws[j], h: 0.26, fontSize: 7.5, color: DARK, align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "NUTRITIONAL HISTORY", 0.25, 4.12, 9.5);
  bulletList(s, [
    "NPO (Nil Per Oral) since admission — unable to feed due to oesophageal atresia",
    "No oral feeds established; parenteral nutrition via IV/TPN initiated",
    "Continuous upper-pouch suctioning to prevent aspiration of secretions",
    "Post-operative: gradual introduction of feeds via nasogastric / gastrostomy tube",
    "Breastfeeding planned post-surgical repair once oesophageal continuity restored",
  ], 0.25, 4.45, 9.5, 1.4, 8.5);

  sectionLabel(s, "ELIMINATION HISTORY", 0.25, 5.92, 9.5);
  bulletList(s, [
    "Urine output: Adequate (>1 mL/kg/hr); urine pale yellow",
    "Bowel: Meconium passed within 6 hours of birth; no stool since NPO",
    "Patent anus confirmed clinically; no anorectal anomaly",
  ], 0.25, 6.24, 9.5, 0.75, 8.5);

  pageFooter(s, 6);
}

// ==============================================================================
// PAGE 7 — DEVELOPMENTAL HISTORY
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Developmental History", "Neonate: 3 Days Old");
  goldDivider(s, 1.12);

  s.addText("Note: Baby is only 3 days old. Formal developmental milestones are not yet applicable. Assessment is based on neonatal neurodevelopmental reflexes.",
    { x: 0.25, y: 1.18, w: 9.5, h: 0.38, fontSize: 8, color: ORANGE, bold: true, italic: true });

  sectionLabel(s, "NEONATAL NEURODEVELOPMENTAL REFLEX ASSESSMENT", 0.25, 1.60, 9.5);

  const reflexes = [
    ["Reflex", "Expected", "Status", "Remarks"],
    ["Moro (Startle) Reflex", "Present at birth", "Present", "Symmetrical response"],
    ["Rooting Reflex", "Present at birth", "Present", "Intact but feeding impaired by EA"],
    ["Sucking Reflex", "Present at birth", "Present", "Present; but swallowing not possible"],
    ["Palmar Grasp", "Present at birth", "Present", "Firm bilateral grasp"],
    ["Plantar (Babinski) Reflex", "Present at birth", "Present", "Normal fanning of toes"],
    ["Tonic Neck Reflex", "Present at birth", "Present", "Asymmetrical tonic neck reflex present"],
    ["Stepping Reflex", "Present at birth", "Present", "Elicited bilaterally"],
    ["Cry", "Present at birth", "Present", "Normal strong cry noted"],
  ];

  const cw = [3.2, 2.5, 1.5, 2.3];
  const cx = [0.25, 3.45, 5.95, 7.45];
  reflexes.forEach((row, i) => {
    const y = 1.92 + i * 0.32;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: cx[j], y, w: cw[j], h: 0.30,
        fill: { color: bg }, line: { color: "CCCCCC", pt: 0.5 } });
      s.addText(cell, { x: cx[j], y, w: cw[j], h: 0.30,
        fontSize: i === 0 ? 8 : 7.5, color: i === 0 ? WHITE : DARK,
        bold: i === 0, align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "BEHAVIOUR & ACTIVITY", 0.25, 4.82, 9.5);
  bulletList(s, [
    "Baby is alert and active when not in respiratory distress",
    "Responds to tactile stimulation and light; normal visual fixation not yet assessed (age 3 days)",
    "Cry is normal in tone and pitch",
    "Sleep-wake cycles present; disturbed due to respiratory distress",
    "No abnormal movements or convulsions noted",
  ], 0.25, 5.15, 9.5, 1.35, 8.5);

  pageFooter(s, 7);
}

// ==============================================================================
// PAGE 8 — DEVELOPMENTAL MILESTONES (Motor & Adaptive)
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Developmental Milestones (Motor & Adaptive)", "Neonate — Not Yet Due");
  goldDivider(s, 1.12);

  sectionLabel(s, "GROSS MOTOR MILESTONES", 0.25, 1.20, 4.7);
  sectionLabel(s, "FINE MOTOR / ADAPTIVE", 5.05, 1.20, 4.7);

  const gross = [
    ["Lifts head prone", "1 month", "Not yet due"],
    ["Head steady sitting", "4 months", "Not yet due"],
    ["Rolls over", "4–5 months", "Not yet due"],
    ["Sits with support", "6 months", "Not yet due"],
    ["Stands with support", "9 months", "Not yet due"],
    ["Walks independently", "12–15 months", "Not yet due"],
  ];
  const fine = [
    ["Follows to midline", "1 month", "Not yet due"],
    ["Smiles socially", "2 months", "Not yet due"],
    ["Reaches for objects", "4 months", "Not yet due"],
    ["Pincer grasp", "9 months", "Not yet due"],
    ["Neat pincer", "10 months", "Not yet due"],
    ["Builds 2-cube tower", "15 months", "Not yet due"],
  ];
  const mcw = [1.8, 1.5, 1.3];
  const mlx = [0.25, 2.05, 3.55];
  const flx = [5.05, 6.85, 8.35];
  [[gross, mlx], [fine, flx]].forEach(([rows, lx]) => {
    rows.forEach((row, i) => {
      const y = 1.54 + i * 0.30;
      row.forEach((cell, j) => {
        const bg = i % 2 === 0 ? GREY : WHITE;
        s.addShape(pres.shapes.RECTANGLE, { x: lx[j], y, w: mcw[j], h: 0.28, fill: { color: bg }, line: { color: "CCCCCC" } });
        s.addText(cell, { x: lx[j], y, w: mcw[j], h: 0.28, fontSize: 7.5, color: DARK, align: "center", valign: "middle", margin: 0 });
      });
    });
  });

  sectionLabel(s, "LANGUAGE / SOCIAL MILESTONES", 0.25, 3.40, 4.7);
  sectionLabel(s, "COGNITIVE / PLAY MILESTONES", 5.05, 3.40, 4.7);
  const lang = [
    ["Coos / Vocalises", "2 months", "Not yet due"],
    ["Babbles", "6 months", "Not yet due"],
    ["Mama/Dada (non-specific)", "9 months", "Not yet due"],
    ["2–3 words", "12 months", "Not yet due"],
    ["Sentences (2-word)", "18 months", "Not yet due"],
  ];
  const cog = [
    ["Visual tracking", "1 month", "Not yet due"],
    ["Stranger anxiety", "6 months", "Not yet due"],
    ["Object permanence", "8 months", "Not yet due"],
    ["Symbolic play", "12 months", "Not yet due"],
    ["Parallel play", "2 years", "Not yet due"],
  ];
  [[lang, mlx], [cog, flx]].forEach(([rows, lx]) => {
    rows.forEach((row, i) => {
      const y = 3.74 + i * 0.30;
      row.forEach((cell, j) => {
        s.addShape(pres.shapes.RECTANGLE, { x: lx[j], y, w: mcw[j], h: 0.28, fill: { color: i % 2 === 0 ? GREY : WHITE }, line: { color: "CCCCCC" } });
        s.addText(cell, { x: lx[j], y, w: mcw[j], h: 0.28, fontSize: 7.5, color: DARK, align: "center", valign: "middle", margin: 0 });
      });
    });
  });

  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 5.24, w: 9.5, h: 0.48, fill: { color: TEAL_LITE }, line: { color: TEAL_MID } });
  s.addText("Assessment Summary: All milestones are 'Not Yet Due' as baby is only 3 days old. Developmental progress to be monitored at each follow-up visit. Developmental delay may occur if prolonged hospitalisation, repeated surgeries, or respiratory complications arise.", {
    x: 0.35, y: 5.26, w: 9.2, h: 0.44, fontSize: 7.5, color: DARK
  });

  sectionLabel(s, "PSYCHOSOCIAL DEVELOPMENT (Erikson's Stage)", 0.25, 5.80, 9.5);
  bulletList(s, [
    "Stage: Trust vs. Mistrust (Birth – 18 months)",
    "Current status: Baby depends entirely on caregivers for comfort, warmth, nutrition, and pain relief",
    "Nursing goal: Promote trust by consistent, gentle care, pain management, and parental involvement",
  ], 0.25, 6.12, 9.5, 0.85, 8.5);

  pageFooter(s, 8);
}

// ==============================================================================
// PAGE 9 — DRUG HISTORY / MEDICATION CHART
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Drug History & Medication Chart");
  goldDivider(s, 1.12);

  sectionLabel(s, "PRE-OPERATIVE MEDICATIONS", 0.25, 1.20, 9.5);

  const meds = [
    ["Drug Name", "Dose", "Route", "Frequency", "Indication", "Remarks"],
    ["Ampicillin", "50 mg/kg/dose", "IV", "Q12h", "Prophylactic antibiotic\n(aspiration pneumonia)", "Monitor for allergy"],
    ["Gentamicin", "4 mg/kg", "IV", "Q24h (neonatal)", "Gram-negative coverage", "Monitor renal function"],
    ["Vitamin K\n(Phytomenadione)", "1 mg", "IM", "Single dose", "Haemorrhagic disease\nof newborn prevention", "Given at birth"],
    ["IV Fluids\n(D10W / RL)", "Maintenance\n(80–100 mL/kg/day)", "IV", "Continuous infusion", "NPO; prevent hypoglycaemia\n& maintain hydration", "Monitor glucose"],
    ["Ranitidine", "1.5 mg/kg/dose", "IV", "Q8h", "Reduce gastric acid\n— prevent acid aspiration", "Omeprazole alternative"],
    ["Atropine\n(Pre-op)", "0.02 mg/kg", "IV", "Single dose (pre-op)", "Reduce secretions\nbefore anaesthesia", "Min dose 0.1 mg"],
  ];

  const cws = [1.6, 1.3, 0.7, 1.2, 1.95, 2.75];
  const cxs = [0.25, 1.85, 3.15, 3.85, 5.05, 7.00];
  meds.forEach((row, i) => {
    const y = 1.52 + i * 0.52;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: cxs[j], y, w: cws[j], h: 0.50,
        fill: { color: bg }, line: { color: "CCCCCC", pt: 0.5 } });
      s.addText(cell, { x: cxs[j], y, w: cws[j], h: 0.50,
        fontSize: i === 0 ? 7.5 : 7, color: i === 0 ? WHITE : DARK,
        bold: i === 0, align: "center", valign: "middle", margin: [0, 2, 0, 2] });
    });
  });

  sectionLabel(s, "POST-OPERATIVE MEDICATIONS (Anticipated)", 0.25, 5.70, 9.5);
  bulletList(s, [
    "Continue IV antibiotics (Ampicillin + Gentamicin) for 5–7 days post-op",
    "TPN (Total Parenteral Nutrition) until oral/NG feeds tolerated",
    "Morphine / Fentanyl infusion for post-operative pain management",
    "H2 blocker / PPI continued to prevent anastomotic stricture formation",
    "Chest physiotherapy with bronchodilators if pulmonary complications arise",
  ], 0.25, 6.02, 9.5, 1.0, 8.5);

  pageFooter(s, 9);
}

// ==============================================================================
// PAGE 10 — GENERAL SURVEY & VITAL SIGNS
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "General Survey & Vital Signs");
  goldDivider(s, 1.12);

  sectionLabel(s, "GENERAL SURVEY", 0.25, 1.20, 9.5);
  const gs = [
    ["Appearance", "Sick-looking neonate; pale, in respiratory distress with subcostal retractions"],
    ["Consciousness", "Alert and responsive; reacts to stimuli"],
    ["Built / Nourishment", "Normally built for gestational age; no oedema or wasting"],
    ["Skin", "Warm, slightly mottled; no cyanosis at rest; cyanotic during feed attempts"],
    ["Posture", "Supine; head elevated 30° (anti-aspiration positioning)"],
    ["Hygiene", "Maintained by nursing staff; orogastric tube in situ with continuous suction"],
  ];
  gs.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 1.52 + i * 0.30, 2.0, 7.5, 0.27, i % 2 === 0);
  });

  sectionLabel(s, "VITAL SIGNS MONITORING", 0.25, 3.36, 9.5);

  const vitalHeaders = ["Parameter", "Normal Neonate Range", "Baby's Reading", "Status"];
  const vitalCws = [2.2, 2.8, 2.5, 2.0];
  const vitalCxs = [0.25, 2.45, 5.25, 7.75];
  vitalHeaders.forEach((h, j) => {
    s.addShape(pres.shapes.RECTANGLE, { x: vitalCxs[j], y: 3.68, w: vitalCws[j], h: 0.28, fill: { color: TEAL }, line: { color: TEAL } });
    s.addText(h, { x: vitalCxs[j], y: 3.68, w: vitalCws[j], h: 0.28, fontSize: 8, color: WHITE, bold: true, align: "center", valign: "middle", margin: 0 });
  });

  const vitals = [
    ["Temperature", "36.5–37.5°C", "37.0°C", "Normal"],
    ["Heart Rate", "120–160 bpm", "148 bpm", "Normal"],
    ["Respiratory Rate", "30–60 breaths/min", "58 breaths/min", "Borderline ↑"],
    ["SpO₂", "95–100%", "92% (on feed)", "↓ during feeds"],
    ["Blood Pressure (MAP)", "40–60 mmHg", "48 mmHg", "Normal"],
    ["Weight", "Normal: 2.5–4 kg", "2.8 kg", "AGA"],
    ["Blood Glucose (RBS)", "40–125 mg/dL", "78 mg/dL", "Normal"],
  ];
  vitals.forEach((row, i) => {
    const y = 3.98 + i * 0.29;
    const bg = i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: vitalCxs[j], y, w: vitalCws[j], h: 0.27, fill: { color: bg }, line: { color: "CCCCCC" } });
      s.addText(cell, { x: vitalCxs[j], y, w: vitalCws[j], h: 0.27, fontSize: 7.5, color: DARK, align: "center", valign: "middle", margin: 0 });
    });
  });

  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 6.04, w: 9.5, h: 0.44, fill: { color: TEAL_LITE }, line: { color: TEAL_MID } });
  s.addText("Clinical Significance: Tachypnoea and SpO₂ desaturation during feeds are hallmark findings of TEF. Continuous monitoring with pulse oximetry is essential. NPO status maintained strictly.", {
    x: 0.35, y: 6.06, w: 9.2, h: 0.40, fontSize: 7.5, color: DARK
  });
  pageFooter(s, 10);
}

// ==============================================================================
// PAGE 11 — ANTHROPOMETRIC MEASUREMENTS
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Anthropometric Measurements");
  goldDivider(s, 1.12);

  sectionLabel(s, "ANTHROPOMETRIC MEASUREMENTS", 0.25, 1.20, 9.5);

  const anthro = [
    ["Measurement", "Standard (AGA Term)", "Baby's Measurement", "Percentile / Status"],
    ["Weight", "2.5–4.0 kg", "2.8 kg", "25th percentile (AGA)"],
    ["Length", "48–52 cm", "49 cm", "25th percentile"],
    ["Head Circumference (OFC)", "33–35 cm", "34 cm", "Normal (50th percentile)"],
    ["Chest Circumference", "30–33 cm", "31 cm", "Normal"],
    ["Mid-Arm Circumference (MUAC)", "≥11 cm (neonate)", "11.5 cm", "Normal"],
    ["Abdominal Circumference", "—", "Distended — measured 36 cm", "↑ (due to gas via fistula)"],
  ];
  const aw = [2.5, 2.4, 2.7, 2.4];
  const ax = [0.25, 2.75, 5.15, 7.85];
  anthro.forEach((row, i) => {
    const y = 1.52 + i * 0.33;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: ax[j], y, w: aw[j], h: 0.31,
        fill: { color: bg }, line: { color: "CCCCCC", pt: 0.5 } });
      s.addText(cell, { x: ax[j], y, w: aw[j], h: 0.31,
        fontSize: i === 0 ? 8 : 7.5, color: i === 0 ? WHITE : DARK,
        bold: i === 0, align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "GROWTH CLASSIFICATION", 0.25, 3.90, 9.5);
  bulletList(s, [
    "AGA (Appropriate for Gestational Age) — weight falls between 10th–90th percentile for 38 weeks gestation",
    "Head circumference normal — no evidence of microcephaly or macrocephaly",
    "Abdominal distension present due to air entering stomach via the distal TEF during crying/breathing",
    "Growth monitoring to be continued post-operatively at OPD visits",
  ], 0.25, 4.22, 9.5, 1.15);

  sectionLabel(s, "NUTRITIONAL STATUS", 0.25, 5.44, 9.5);
  const ns = [
    ["Feeding Mode", "NPO — parenteral nutrition (IV/TPN) only"],
    ["Caloric Requirement", "100–120 kcal/kg/day (neonatal requirement)"],
    ["Fluid Requirement", "80–100 mL/kg/day on Day 1–2; 100–120 mL/kg/day thereafter"],
    ["Nutritional Concern", "Risk of malnutrition and hypoglycaemia due to inability to feed orally"],
  ];
  ns.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 5.76 + i * 0.30, 2.5, 7.0, 0.27, i % 2 === 0);
  });

  pageFooter(s, 11);
}

// ==============================================================================
// PAGE 12 — ENVIRONMENTAL ASSESSMENT
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Environmental Assessment");
  goldDivider(s, 1.12);

  sectionLabel(s, "HOSPITAL ENVIRONMENT ASSESSMENT", 0.25, 1.20, 9.5);
  const hosp = [
    ["Ward", "Paediatric Surgical Ward — Bed 4 (incubator / radiant warmer)"],
    ["Lighting", "Adequate indirect lighting; overhead phototherapy lights off"],
    ["Ventilation", "Air-conditioned; temperature maintained 24–26°C"],
    ["Noise Level", "Moderate; attempts made to minimise unnecessary alarms"],
    ["Safety Measures", "Side rails up; crash cart accessible; suction machine at bedside"],
    ["Infection Control", "Standard and contact precautions; hand hygiene enforced"],
  ];
  hosp.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 1.52 + i * 0.30, 2.2, 7.3, 0.27, i % 2 === 0);
  });

  sectionLabel(s, "HOME ENVIRONMENT (Historical)", 0.25, 3.40, 9.5);
  bulletList(s, [
    "Joint / nuclear family in rural area; 2-room house, cemented floor",
    "Drinking water: Tap water (municipal supply); open drainage system",
    "Sanitation: Toilet available; hygiene practices moderate",
    "Crowding: 4 family members in household",
    "No pets; no tobacco smoke exposure in household",
  ], 0.25, 3.72, 9.5, 1.25);

  sectionLabel(s, "EQUIPMENT IN USE AT BEDSIDE", 0.25, 5.04, 9.5);
  const equip = [
    ["Orogastric Tube", "10 Fr; continuous sump suction — upper pouch decompression"],
    ["IV Cannula", "24G; right foot dorsal vein; IV fluids running"],
    ["Pulse Oximeter", "Continuous SpO₂ and heart rate monitoring"],
    ["Radiant Warmer", "Thermoregulation; servo-controlled to 36.8°C skin temperature"],
    ["Oxygen Delivery", "Nasal prongs / headbox 0.5–1 L/min as needed; pre-op"],
    ["Monitor", "Cardiorespiratory monitor; ECG leads in situ"],
  ];
  equip.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 5.36 + i * 0.29, 2.2, 7.3, 0.26, i % 2 === 0);
  });

  pageFooter(s, 12);
}

// ==============================================================================
// PAGE 13 — GROWTH & DEVELOPMENTAL ASSESSMENT CHART
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Growth & Developmental Assessment Chart");
  goldDivider(s, 1.12);

  sectionLabel(s, "GROWTH ASSESSMENT — WHO GROWTH STANDARDS (0–5 years)", 0.25, 1.20, 9.5);
  s.addText("Baby's current measurements plotted against WHO Growth Standards for term neonates:", {
    x: 0.25, y: 1.54, w: 9.5, h: 0.28, fontSize: 8.5, color: DARK, italic: true
  });

  const growthData = [
    ["Measurement", "3rd Percentile", "50th Percentile", "97th Percentile", "Baby's Value", "Status"],
    ["Weight (kg)", "2.3", "3.3", "4.4", "2.8", "Normal"],
    ["Length (cm)", "46.1", "49.9", "53.7", "49.0", "Normal"],
    ["Head Circ (cm)", "32.1", "34.5", "36.9", "34.0", "Normal"],
    ["Weight-for-length", "Below median", "At median", "Above median", "At median", "Normal"],
  ];
  const gcw = [2.2, 1.5, 1.6, 1.6, 1.6, 1.5];
  const gcx = [0.25, 2.45, 3.95, 5.55, 7.15, 8.75];
  growthData.forEach((row, i) => {
    const y = 1.84 + i * 0.32;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: gcx[j], y, w: gcw[j], h: 0.30,
        fill: { color: bg }, line: { color: "CCCCCC" } });
      s.addText(cell, { x: gcx[j], y, w: gcw[j], h: 0.30,
        fontSize: i === 0 ? 7.5 : 7.5, color: i === 0 ? WHITE : DARK,
        bold: i === 0, align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "INTEGRATED DEVELOPMENTAL ASSESSMENT (Neonatal Period)", 0.25, 3.54, 9.5);
  const devDomains = [
    ["Domain", "Assessment Tool", "Expected (0–1 month)", "Current Status"],
    ["Gross Motor", "Clinical Observation", "Flexed posture; limb movements", "Present"],
    ["Fine Motor", "Palmar grasp test", "Palmar grasp reflex", "Present & normal"],
    ["Language / Hearing", "Response to voice", "Startles to loud sound", "Present"],
    ["Social / Emotional", "Crying / calming", "Cry communicates needs", "Present"],
    ["Vision", "Tracking test", "Fixes and follows (by 4–6 wks)", "Not yet due"],
    ["Cognitive", "Alertness", "Alert periods between sleep", "Present"],
  ];
  const dw = [2.0, 2.0, 3.0, 2.5];
  const dx = [0.25, 2.25, 4.25, 7.25];
  devDomains.forEach((row, i) => {
    const y = 3.86 + i * 0.32;
    const bg = i === 0 ? TEAL_MID : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: dx[j], y, w: dw[j], h: 0.30,
        fill: { color: bg }, line: { color: "CCCCCC" } });
      s.addText(cell, { x: dx[j], y, w: dw[j], h: 0.30,
        fontSize: 7.5, color: i === 0 ? WHITE : DARK,
        bold: i === 0, align: "center", valign: "middle", margin: 0 });
    });
  });

  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 6.20, w: 9.5, h: 0.45,
    fill: { color: TEAL_LITE }, line: { color: TEAL_MID } });
  s.addText("Conclusion: Baby demonstrates normal neonatal neurological development for gestational age. All primitive reflexes intact. Developmental surveillance to be maintained at 1, 2, 4, 6, 9, and 12-month well-baby visits post-discharge.", {
    x: 0.35, y: 6.22, w: 9.2, h: 0.41, fontSize: 7.5, color: DARK
  });
  pageFooter(s, 13);
}

// ==============================================================================
// PAGE 14 — PHYSICAL EXAMINATION — GENERAL
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Physical Examination — General");
  goldDivider(s, 1.12);

  sectionLabel(s, "GENERAL PHYSICAL EXAMINATION", 0.25, 1.20, 9.5);

  const gpe = [
    ["Build / Nourishment", "Normally built for gestational age; AGA; no wasting"],
    ["Consciousness", "Conscious, alert, responsive to touch and sound"],
    ["Posture", "Supine; head elevated 30° (to minimise aspiration)"],
    ["Temperature", "Afebrile; 37.0°C (axillary); on radiant warmer"],
    ["Facies", "No dysmorphic features; no CHARGE / VACTERL facies"],
    ["Skin", "Warm, slightly mottled; no rash; no cyanosis at rest"],
    ["Subcutaneous Fat", "Present; adequate for gestational age"],
    ["Oedema", "Absent; no pitting oedema of limbs"],
    ["Jaundice", "Absent (Day 3 — physiological jaundice may appear; monitor bilirubin)"],
    ["Clubbing", "Absent (not applicable in neonatal period)"],
    ["Pallor", "Mild pallor; Hb to be monitored"],
    ["Lymphadenopathy", "Absent"],
    ["Cyanosis", "Absent at rest; present during feed attempts / desaturation episodes"],
  ];
  gpe.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 1.52 + i * 0.28, 2.4, 7.1, 0.26, i % 2 === 0);
  });

  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 5.20, w: 9.5, h: 0.44,
    fill: { color: TEAL_LITE }, line: { color: TEAL_MID } });
  s.addText("Key Finding: Hallmark clinical signs of TEF include cyanosis on feeding, excessive oral secretions, inability to pass orogastric tube, and abdominal distension from air entry via fistula.", {
    x: 0.35, y: 5.22, w: 9.2, h: 0.40, fontSize: 7.5, color: DARK, bold: false
  });

  sectionLabel(s, "ASSOCIATED ANOMALIES SCREEN (VACTERL)", 0.25, 5.72, 9.5);
  const vact = [
    ["V — Vertebral", "Absent"], ["A — Anorectal", "Patent anus; Nil"],
    ["C — Cardiac", "Echo pending; no murmur on auscultation"], ["TE — TEF", "Confirmed Type C"],
    ["R — Renal", "Ultrasound pending; urine output adequate"], ["L — Limb", "All limbs normal; digits intact"],
  ];
  vact.forEach(([l, v], i) => {
    const col = i % 2 === 0 ? 0.25 : 5.1;
    const y = 6.04 + Math.floor(i / 2) * 0.35;
    rowBox(s, l, v, col, y, 1.6, 3.25, 0.30, Math.floor(i / 2) % 2 === 0);
  });

  pageFooter(s, 14);
}

// ==============================================================================
// PAGE 15 — SYSTEMIC EXAMINATION — RESPIRATORY & GI
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Systemic Examination — Respiratory & GI Systems");
  goldDivider(s, 1.12);

  sectionLabel(s, "RESPIRATORY SYSTEM EXAMINATION", 0.25, 1.20, 9.5);
  const resp = [
    ["Respiratory Rate", "58 breaths/min (borderline tachypnoeic)"],
    ["Pattern of Breathing", "Tachypnoeic; subcostal and intercostal retractions present"],
    ["Trachea", "Central; orogastric tube confirmed coiled in upper pouch on X-ray"],
    ["Chest Shape", "Symmetrical; normal anteroposterior diameter"],
    ["Air Entry", "Equal bilaterally; reduced air entry at right lower lobe"],
    ["Breath Sounds", "Coarse crackles bilaterally (aspiration pneumonitis); no wheeze"],
    ["Percussion", "Dull right lower lobe; resonant elsewhere"],
    ["SpO₂", "92–95% on room air; desaturates to <90% during feed attempts"],
    ["Added Sounds", "Coarse crepitations — aspiration of secretions"],
  ];
  resp.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 1.52 + i * 0.28, 2.5, 7.0, 0.26, i % 2 === 0);
  });

  sectionLabel(s, "GASTROINTESTINAL SYSTEM EXAMINATION", 0.25, 4.12, 9.5);
  const gi = [
    ["Abdomen", "Distended due to air entering via distal fistula during inspiration/crying"],
    ["Bowel Sounds", "Present; high-pitched; no absent bowel sounds"],
    ["Oesophagus", "Cannot be intubated orally — OG tube coils at 8–10 cm from lip"],
    ["Stomach (X-ray)", "Air present in stomach and bowel (confirms distal fistula communicating with trachea)"],
    ["Liver / Spleen", "Not palpable abnormally; liver edge at right costal margin"],
    ["Anus / Rectum", "Patent anus confirmed; no anorectal malformation"],
    ["Swallowing", "Cannot swallow — excessive drooling, pooling of secretions"],
    ["Vomiting", "Not present per se; regurgitation of secretions through upper pouch"],
  ];
  gi.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 4.44 + i * 0.28, 2.5, 7.0, 0.26, i % 2 === 0);
  });

  pageFooter(s, 15);
}

// ==============================================================================
// PAGE 16 — SYSTEMIC EXAMINATION — CVS, CNS, MUSCULOSKELETAL
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Systemic Examination — CVS, CNS, Musculoskeletal");
  goldDivider(s, 1.12);

  // CVS
  sectionLabel(s, "CARDIOVASCULAR SYSTEM (CVS)", 0.25, 1.20, 4.7);
  bulletList(s, [
    "Heart Rate: 148 bpm; regular rhythm",
    "S1 S2 heard; no murmur detected",
    "Peripheral pulses: Brachial and femoral pulses palpable bilaterally",
    "CRT (Capillary Refill Time): <2 seconds",
    "BP (Mean Arterial Pressure): 48 mmHg — normal",
    "Echocardiogram: Pending (screen for CHD — VSD, PDA, ASD)",
  ], 0.25, 1.52, 4.6, 1.8, 7.8);

  // CNS
  sectionLabel(s, "CENTRAL NERVOUS SYSTEM (CNS)", 5.05, 1.20, 4.7);
  bulletList(s, [
    "Conscious; alert with normal arousal",
    "Fontanelle: Anterior — flat, soft, normotensive",
    "Tone: Normal flexor tone; no hypotonia",
    "Cranial nerves: Not formally tested (age 3 days)",
    "Primitive reflexes: All intact (Moro, Rooting, Sucking, Grasp, Babinski)",
    "No seizure activity observed",
  ], 5.05, 1.52, 4.6, 1.8, 7.8);

  // Musculoskeletal
  sectionLabel(s, "MUSCULOSKELETAL SYSTEM", 0.25, 3.42, 4.7);
  bulletList(s, [
    "All four limbs present and symmetrical",
    "No limb anomalies; digits — 5 fingers and 5 toes (bilateral)",
    "Spine: No obvious kyphosis, scoliosis",
    "Hips: No click on Ortolani / Barlow test",
    "X-ray spine: Pending (screen for vertebral anomalies)",
    "Clavicles: Intact; no fracture (birth injury screen)",
  ], 0.25, 3.74, 4.6, 1.8, 7.8);

  // Genitourinary
  sectionLabel(s, "GENITOURINARY SYSTEM", 5.05, 3.42, 4.7);
  bulletList(s, [
    "Genitalia: Normal male; testes descended bilaterally",
    "Urine output: Adequate (>1 mL/kg/hr); pale yellow",
    "No visible renal masses",
    "Renal USG: Pending (VACTERL screen)",
    "Meatus: Normal; no hypospadias",
    "No ambiguous genitalia",
  ], 5.05, 3.74, 4.6, 1.8, 7.8);

  // Eyes/ENT
  sectionLabel(s, "EYES, EARS, NOSE & THROAT", 0.25, 5.66, 9.5);
  bulletList(s, [
    "Eyes: No scleral icterus; pupils equal & reactive to light; no discharge",
    "Ears: Bilaterally normal; no low-set ears; Moro response normal (indirect hearing screen)",
    "Nose: Patent nostrils; no choanal atresia; nasal prongs in situ",
    "Throat / Oropharynx: Pooling of secretions; sump catheter (Replogle tube) in situ upper pouch",
  ], 0.25, 5.98, 9.5, 1.0, 8.5);

  pageFooter(s, 16);
}

// ==============================================================================
// PAGE 17 — INVESTIGATIONS
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Investigations");
  goldDivider(s, 1.12);

  sectionLabel(s, "HAEMATOLOGICAL INVESTIGATIONS", 0.25, 1.20, 4.7);
  const haem = [
    ["Test", "Value", "Normal (Neonate)", "Status"],
    ["Haemoglobin", "16.2 g/dL", "14–20 g/dL", "Normal"],
    ["Total WBC Count", "12,000/μL", "9,000–30,000/μL", "Normal"],
    ["Neutrophils", "65%", "40–80%", "Normal"],
    ["Lymphocytes", "28%", "20–40%", "Normal"],
    ["Platelets", "2,20,000/μL", "1,50,000–4,00,000", "Normal"],
    ["PCV / Haematocrit", "48%", "45–65%", "Normal"],
    ["Blood Group", "B Rh +ve", "—", "Noted"],
  ];
  const hw = [1.3, 1.0, 1.3, 0.9];
  const hx = [0.25, 1.55, 2.55, 3.85];
  haem.forEach((row, i) => {
    const y = 1.52 + i * 0.30;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: hx[j], y, w: hw[j], h: 0.28,
        fill: { color: bg }, line: { color: "CCCCCC" } });
      s.addText(cell, { x: hx[j], y, w: hw[j], h: 0.28,
        fontSize: 7, color: i === 0 ? WHITE : DARK, bold: i === 0,
        align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "BIOCHEMISTRY & BLOOD GAS", 5.05, 1.20, 4.7);
  const biochem = [
    ["Test", "Value", "Normal", "Status"],
    ["Serum Sodium", "138 mEq/L", "135–145", "Normal"],
    ["Serum Potassium", "4.5 mEq/L", "3.5–5.5", "Normal"],
    ["Serum Calcium", "9.0 mg/dL", "8.4–10.5", "Normal"],
    ["Blood Glucose (RBS)", "78 mg/dL", "40–125", "Normal"],
    ["CRP", "18 mg/L", "<10 mg/L", "↑ (infection)"],
    ["ABG — pH", "7.36", "7.35–7.45", "Normal"],
    ["ABG — pCO₂", "46 mmHg", "35–45 mmHg", "Slightly ↑"],
    ["ABG — SpO₂", "92% RA", ">95%", "↓ (hypoxia)"],
  ];
  const bw = [1.4, 1.0, 1.0, 1.3];
  const bx = [5.05, 6.45, 7.45, 8.45];
  biochem.forEach((row, i) => {
    const y = 1.52 + i * 0.30;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? GREY : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: bx[j], y, w: bw[j], h: 0.28,
        fill: { color: bg }, line: { color: "CCCCCC" } });
      s.addText(cell, { x: bx[j], y, w: bw[j], h: 0.28,
        fontSize: 7, color: i === 0 ? WHITE : DARK, bold: i === 0,
        align: "center", valign: "middle", margin: 0 });
    });
  });

  sectionLabel(s, "RADIOLOGICAL INVESTIGATIONS", 0.25, 4.04, 9.5);
  const rad = [
    ["Chest X-Ray (CXR AP)", "OG tube coiled in upper oesophageal pouch; air in bowel confirms distal TEF (Type C); right lower lobe opacification — aspiration pneumonitis"],
    ["Abdominal X-Ray", "Gaseous distension of stomach and bowel; confirms air-filled GI tract via distal fistula"],
    ["Echocardiogram", "Pending — to rule out cardiac defects (VSD, ASD, PDA, coarctation)"],
    ["Renal USG", "Pending — VACTERL screen for renal agenesis / anomalies"],
    ["Spinal X-Ray", "Pending — vertebral anomaly screen; 13th rib / hemivertebra"],
    ["Bronchoscopy", "Performed pre-operatively to confirm fistula site and guide surgical approach"],
  ];
  rad.forEach(([l, v], i) => {
    rowBox(s, l, v, 0.25, 4.36 + i * 0.30, 2.3, 7.2, 0.28, i % 2 === 0);
  });

  pageFooter(s, 17);
}

// ==============================================================================
// PAGE 18 — SURGICAL MANAGEMENT
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Surgical Management of TEF");
  goldDivider(s, 1.12);

  sectionLabel(s, "PRE-OPERATIVE MANAGEMENT", 0.25, 1.20, 9.5);
  bulletList(s, [
    "Position: Head elevated 30–45° — reduces aspiration from upper pouch",
    "Upper pouch suction: Replogle tube (double-lumen) on continuous low-pressure suction (~40 mmHg)",
    "IV access: Peripheral IV (avoid right arm — surgical field); IV fluids + TPN",
    "IV antibiotics: Ampicillin + Gentamicin — aspiration pneumonia prophylaxis",
    "Investigations: CXR, echo, renal USG, CBP, LFT, coagulation screen",
    "Bronchoscopy: Confirm fistula site, number, and relationship to carina",
    "Informed consent: Taken from parents for surgery under general anaesthesia",
  ], 0.25, 1.52, 9.5, 1.95, 8.5);

  sectionLabel(s, "OPERATIVE PROCEDURE — RIGHT POSTEROLATERAL THORACOTOMY", 0.25, 3.55, 9.5);
  bulletList(s, [
    "Anaesthesia: General anaesthesia; endotracheal intubation beyond the fistula (prevent ventilation via fistula)",
    "Approach: Right posterolateral thoracotomy (3rd–4th intercostal space, extrapleural approach)",
    "Step 1: Identify and divide the azygos vein to expose the posterior mediastinum",
    "Step 2: Identify the fistula — ligate and divide the TEF close to the trachea",
    "Step 3: Mobilise the upper and lower oesophageal pouches",
    "Step 4: Primary end-to-end oesophageal anastomosis (if gap allows — within 2 cm)",
    "Step 5: Long gap EA — delayed primary anastomosis or oesophageal replacement (colon / gastric tube)",
    "Drain: Extrapleural drain placed in posterior mediastinum",
    "Duration: ~2–3 hours; post-op ICU / NICU admission",
  ], 0.25, 3.87, 9.5, 2.5, 8.5);

  sectionLabel(s, "POST-OPERATIVE MANAGEMENT", 0.25, 6.46, 9.5);
  bulletList(s, [
    "Ventilation: Minimal ventilation to reduce stress on anastomosis; early extubation preferred",
    "Pain: IV Morphine / Fentanyl infusion; Paracetamol rectal suppository",
  ], 0.25, 6.78, 9.5, 0.65, 8.5);

  pageFooter(s, 18);
}

// ==============================================================================
// PAGE 19 — NURSING DIAGNOSES & CARE PLAN
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Nursing Diagnoses & Care Plan");
  goldDivider(s, 1.12);

  sectionLabel(s, "NURSING DIAGNOSES (NANDA)", 0.25, 1.20, 9.5);

  const ndx = [
    ["1.", "Ineffective Airway Clearance", "Related to excessive secretions pooling in upper oesophageal pouch and aspiration of secretions, as evidenced by tachypnoea, crepitations, and SpO₂ desaturation"],
    ["2.", "Impaired Swallowing", "Related to oesophageal discontinuity (atresia), as evidenced by inability to swallow, excessive drooling, and choking on feeds"],
    ["3.", "Imbalanced Nutrition: Less Than Body Requirements", "Related to inability to feed orally (NPO status), as evidenced by dependence on IV/TPN and inability to establish feeds"],
    ["4.", "Risk for Aspiration", "Related to presence of TEF and pooled secretions in upper pouch, as evidenced by SpO₂ desaturation during feed attempts"],
    ["5.", "Acute Pain", "Related to surgical incision (post-operative), as evidenced by crying, facial grimacing, tachycardia, and tachypnoea"],
    ["6.", "Risk for Infection", "Related to surgical wound, indwelling tubes (OG, IV, drain), and aspiration pneumonitis"],
    ["7.", "Parental Anxiety", "Related to critical illness of neonate and unfamiliar hospital environment, as evidenced by parents expressing fear and concern"],
  ];

  ndx.forEach(([no, diag, def], i) => {
    const y = 1.52 + i * 0.56;
    s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y, w: 9.5, h: 0.54,
      fill: { color: i % 2 === 0 ? TEAL_LITE : WHITE }, line: { color: TEAL_MID, pt: 0.5 } });
    s.addText(no, { x: 0.28, y: y + 0.02, w: 0.3, h: 0.24, fontSize: 8, bold: true, color: TEAL, margin: 0 });
    s.addText(diag, { x: 0.58, y: y + 0.02, w: 4.4, h: 0.26, fontSize: 8, bold: true, color: TEAL, margin: 0 });
    s.addText(def, { x: 0.58, y: y + 0.27, w: 9.1, h: 0.26, fontSize: 7.5, color: DARK, margin: 0 });
  });

  pageFooter(s, 19);
}

// ==============================================================================
// PAGE 20 — NURSING CARE PLAN (GOALS, INTERVENTIONS, EVALUATION)
// ==============================================================================
{
  const s = pres.addSlide();
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 7.57, fill: { color: CREAM }, line: { color: CREAM } });
  pageHeader(s, "Nursing Care Plan — Goals, Interventions & Evaluation");
  goldDivider(s, 1.12);

  const careTable = [
    ["Nursing Dx", "Goals (Short Term)", "Nursing Interventions", "Evaluation"],
    [
      "Ineffective\nAirway Clearance",
      "Maintain SpO₂ >95%\nwithin 24 hours",
      "• Continuous OG suction (Replogle tube)\n• Head elevated 30–45°\n• O₂ via nasal prongs PRN\n• Monitor RR, SpO₂ Q1h\n• Suction oropharynx PRN",
      "SpO₂ maintained;\nNo further aspiration episodes"
    ],
    [
      "Impaired\nSwallowing",
      "Prevent aspiration;\nMaintain NPO safely",
      "• Maintain NPO strictly\n• Replogle tube patency\n• Document secretion output\n• Post-op: NG feed per surgeon plan",
      "No aspiration;\nfeeds initiated post-op Day 5–7"
    ],
    [
      "Imbalanced\nNutrition",
      "Maintain weight &\nprevent hypoglycaemia",
      "• IV fluids (80–100 mL/kg/day)\n• TPN as prescribed\n• Monitor blood glucose Q4h\n• Daily weight monitoring",
      "Blood glucose normal;\nweight stable"
    ],
    [
      "Acute Pain\n(Post-op)",
      "Pain score <3/10\nwithin 1 hour of intervention",
      "• Pain assessment Q2h (NIPS scale)\n• IV Morphine as charted\n• Non-pharmacological: kangaroo care, swaddling\n• Minimise handling",
      "NIPS score ≤2;\nChild calm and settled"
    ],
    [
      "Parental\nAnxiety",
      "Parents verbalise\nreduced anxiety",
      "• Explain all procedures\n• Encourage skin-to-skin contact\n• Update parents on progress\n• Involve parents in basic care",
      "Parents demonstrate\ncoping strategies"
    ],
  ];

  const tcw = [1.4, 1.7, 4.0, 2.4];
  const tcx = [0.25, 1.65, 3.35, 7.35];
  careTable.forEach((row, i) => {
    const y = 1.20 + i * 1.12;
    const bg = i === 0 ? TEAL : i % 2 === 0 ? TEAL_LITE : WHITE;
    row.forEach((cell, j) => {
      s.addShape(pres.shapes.RECTANGLE, { x: tcx[j], y, w: tcw[j], h: 1.08,
        fill: { color: bg }, line: { color: TEAL_MID, pt: 0.5 } });
      s.addText(cell, { x: tcx[j] + 0.04, y: y + 0.04, w: tcw[j] - 0.08, h: 1.0,
        fontSize: i === 0 ? 8 : 7, color: i === 0 ? WHITE : DARK,
        bold: i === 0, valign: "top", margin: [2, 2, 0, 2] });
    });
  });

  // Final note
  s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y: 6.82, w: 9.5, h: 0.40,
    fill: { color: TEAL }, line: { color: TEAL } });
  s.addText("Reference: Schwartz's Principles of Surgery 11e | Tintinalli's Emergency Medicine | WHO Growth Standards | UIP Immunisation Schedule India", {
    x: 0.30, y: 6.82, w: 9.2, h: 0.40,
    fontSize: 6.5, color: WHITE, valign: "middle", margin: 0
  });

  pageFooter(s, 20);
}

// ==============================================================================
// WRITE FILE
// ==============================================================================
const outPath = "/home/daytona/workspace/tef_cp/TEF_Surgical_Clinical_Presentation.pptx";
pres.writeFile({ fileName: outPath }).then(() => {
  console.log("SUCCESS: " + outPath);
}).catch(e => {
  console.error("ERROR:", e);
});
Running Command

cd /home/daytona/workspace/tef_cp && node generate_tef_cp.js 2>&1

PPTX generated successfully. Now convert to PDF:
Running Command

cd /home/daytona/workspace/tef_cp && libreoffice --headless --convert-to pdf TEF_Surgical_Clinical_Presentation.pptx --outdir . 2>&1

Running Command

ls -la /home/daytona/workspace/tef_cp/ && chmod 777 /home/daytona/workspace/tef_cp/ && libreoffice --headless --convert-to pdf /home/daytona/workspace/tef_cp/TEF_Surgical_Clinical_Presentation.pptx --outdir /home/daytona/workspace/tef_cp/ 2>&1

Running Command

mkdir -p /home/daytona/workspace/tef_output && libreoffice --headless --convert-to pdf /home/daytona/workspace/tef_cp/TEF_Surgical_Clinical_Presentation.pptx --outdir /home/daytona/workspace/tef_output/ 2>&1

Running Command

ls -la /home/daytona/workspace/ && ls -la /home/daytona/ | head -20

The workspace root directory is the writable area. Let me try converting there:
Running Command

cp /home/daytona/workspace/tef_cp/TEF_Surgical_Clinical_Presentation.pptx /home/daytona/workspace/TEF_Surgical_CP.pptx && libreoffice --headless --convert-to pdf /home/daytona/workspace/TEF_Surgical_CP.pptx 2>&1 && ls -lh /home/daytona/workspace/TEF_Surgical_CP.pdf 2>/dev/null || echo "PDF not created"

Running Command

ls -lh /home/daytona/TEF_Surgical_CP.pdf 2>&1 && cp /home/daytona/TEF_Surgical_CP.pdf /home/daytona/workspace/TEF_Surgical_CP.pdf 2>&1 && echo "Copied OK" || echo "copy failed"; ls -lh /home/daytona/workspace/TEF_Surgical_CP.pptx

Both files are ready. Let me mark all tasks complete and deliver the files:Your Tracheo-Esophageal Fistula (TEF) — Surgical Clinical Presentation is ready in both formats:

Download Links:

TEF Surgical CP

PDF Document · PDF

← PDF version (429 KB)

TEF Surgical CP

Presentation · PPTX

← Editable PPTX (920 KB)

What's inside (20 pages, same structure as original):

PageSection
1Cover Slide — Title, ward details, TOC strip
2Introduction to TEF — Definition, Gross/Vogt 5-type classification, incidence, embryology
3Patient Profile — Demographics, family/socioeconomic details, informant, reason for admission
4Chief Complaints & History of Present Illness — 6 chief complaints, detailed HPI, antenatal & birth history
5Past History & Family History — Immunisation, neonatal events, family history
6Immunisation & Nutrition History — UIP schedule table, NPO/TPN details, elimination
7Developmental History — Neonatal reflex assessment table, behaviour & activity
8Developmental Milestones — Gross/fine motor, language, cognitive, Erikson's stage
9Drug History & Medication Chart — Pre-op medications table (doses, route, frequency, indication)
10General Survey & Vital Signs — Survey table, vital signs monitoring table with neonatal norms
11Anthropometric Measurements — Weight, length, OFC, MUAC, abdominal circumference, nutritional status
12Environmental Assessment — Hospital/bedside equipment, home environment
13Growth & Developmental Assessment Chart — WHO growth standards, integrated domain table
14Physical Examination — General — 13-point GPE + VACTERL anomaly screen
15Systemic Examination — Respiratory & GI — Detailed findings including aspiration pneumonitis, air in bowel
16Systemic Examination — CVS, CNS, MSK, GU, ENT
17Investigations — Haematology, biochemistry, ABG, radiological investigations table
18Surgical Management — Pre-op prep, right posterolateral thoracotomy steps, post-op management
19Nursing Diagnoses (NANDA) — 7 nursing diagnoses with related to/evidenced by
20Nursing Care Plan — Goals, interventions, and evaluation for all 5 priority diagnoses
The colour palette (teal headers, gold dividers, cream background) and page layout match the style of the original CHN clinical presentation file.
This is a shared conversation. Sign in to Orris to start your own chat.