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
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
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]) "
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
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
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
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
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
~/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);
});
cd /home/daytona/workspace/tef_cp && node generate_tef_cp.js 2>&1
cd /home/daytona/workspace/tef_cp && libreoffice --headless --convert-to pdf TEF_Surgical_Clinical_Presentation.pptx --outdir . 2>&1
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
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
ls -la /home/daytona/workspace/ && ls -la /home/daytona/ | head -20
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"
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
TEF Surgical CP
PDF Document · PDF
TEF Surgical CP
Presentation · PPTX
| Page | Section |
|---|---|
| 1 | Cover Slide — Title, ward details, TOC strip |
| 2 | Introduction to TEF — Definition, Gross/Vogt 5-type classification, incidence, embryology |
| 3 | Patient Profile — Demographics, family/socioeconomic details, informant, reason for admission |
| 4 | Chief Complaints & History of Present Illness — 6 chief complaints, detailed HPI, antenatal & birth history |
| 5 | Past History & Family History — Immunisation, neonatal events, family history |
| 6 | Immunisation & Nutrition History — UIP schedule table, NPO/TPN details, elimination |
| 7 | Developmental History — Neonatal reflex assessment table, behaviour & activity |
| 8 | Developmental Milestones — Gross/fine motor, language, cognitive, Erikson's stage |
| 9 | Drug History & Medication Chart — Pre-op medications table (doses, route, frequency, indication) |
| 10 | General Survey & Vital Signs — Survey table, vital signs monitoring table with neonatal norms |
| 11 | Anthropometric Measurements — Weight, length, OFC, MUAC, abdominal circumference, nutritional status |
| 12 | Environmental Assessment — Hospital/bedside equipment, home environment |
| 13 | Growth & Developmental Assessment Chart — WHO growth standards, integrated domain table |
| 14 | Physical Examination — General — 13-point GPE + VACTERL anomaly screen |
| 15 | Systemic Examination — Respiratory & GI — Detailed findings including aspiration pneumonitis, air in bowel |
| 16 | Systemic Examination — CVS, CNS, MSK, GU, ENT |
| 17 | Investigations — Haematology, biochemistry, ABG, radiological investigations table |
| 18 | Surgical Management — Pre-op prep, right posterolateral thoracotomy steps, post-op management |
| 19 | Nursing Diagnoses (NANDA) — 7 nursing diagnoses with related to/evidenced by |
| 20 | Nursing Care Plan — Goals, interventions, and evaluation for all 5 priority diagnoses |