Classify sympathetic and parasympathetic nervous system and enumerate the distribution site and test for their functions of autonomic test in MD anaesthesia ppt
mkdir -p /home/daytona/workspace/ans-anaesthesia-ppt && ls /home/daytona/workspace/ans-anaesthesia-ppt/
~/ans-anaesthesia-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "MD Anaesthesia";
pres.title = "Autonomic Nervous System – Classification, Distribution & Testing";
// ─── COLOUR PALETTE ────────────────────────────────────────────────────────
const C = {
navy: "0D1B3E", // dominant bg
deep: "112244", // slide bg variant
accent1: "1ECBE1", // cyan accent (sympathetic)
accent2: "F4A14A", // amber accent (parasympathetic)
gold: "F7C948", // highlight
white: "FFFFFF",
light: "E8F4F8",
grey: "B0BEC5",
red: "E53935",
green: "43A047",
teal: "00897B",
purple: "7E57C2",
darkbg: "0A1628",
};
// ─── HELPER: slide background ──────────────────────────────────────────────
function navySlide() {
const s = pres.addSlide();
s.background = { color: C.navy };
return s;
}
function addHRule(s, y, color = C.accent1) {
s.addShape(pres.ShapeType.rect, { x: 0.3, y, w: 9.4, h: 0.04, fill: { color } });
}
function slideTitle(s, text, y = 0.18, color = C.accent1) {
s.addText(text, {
x: 0.35, y, w: 9.3, h: 0.55,
fontSize: 26, bold: true, color,
fontFace: "Calibri", align: "left", margin: 0,
});
addHRule(s, y + 0.58, color);
}
function badge(s, text, x, y, w, color = C.accent1) {
s.addShape(pres.ShapeType.roundRect, { x, y, w, h: 0.36, fill: { color }, line: { color, width: 0 }, rectRadius: 0.05 });
s.addText(text, { x, y, w, h: 0.36, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ══════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: C.darkbg };
// Top accent bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.12, fill: { color: C.accent1 } });
// Side accent stripe
s.addShape(pres.ShapeType.rect, { x: 0, y: 0.12, w: 0.18, h: 5.505, fill: { color: C.accent1 } });
// Main title
s.addText("Autonomic Nervous System", {
x: 0.5, y: 0.7, w: 9, h: 1.1,
fontSize: 40, bold: true, color: C.white,
fontFace: "Calibri", align: "left",
});
s.addText("Classification, Distribution & Autonomic Testing", {
x: 0.5, y: 1.75, w: 9, h: 0.65,
fontSize: 22, color: C.accent1,
fontFace: "Calibri", align: "left", italic: true,
});
// Subtitle boxes
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.55, w: 3.8, h: 0.46, fill: { color: C.accent1 } });
s.addText("MD Anaesthesia", { x: 0.5, y: 2.55, w: 3.8, h: 0.46, fontSize: 16, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 4.5, y: 2.55, w: 3.8, h: 0.46, fill: { color: C.accent2 } });
s.addText("Department of Anaesthesiology", { x: 4.5, y: 2.55, w: 3.8, h: 0.46, fontSize: 16, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
// Outline block
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 3.3, w: 9, h: 1.8, fill: { color: "132244" }, line: { color: C.accent1, width: 1 } });
s.addText("Lecture Outline", { x: 0.7, y: 3.38, w: 8, h: 0.38, fontSize: 15, bold: true, color: C.accent1, fontFace: "Calibri" });
s.addText([
{ text: "1. Classification of ANS ", options: { color: C.white, fontSize: 13 } },
{ text: "2. Sympathetic Division – anatomy & distribution ", options: { color: C.white, fontSize: 13, breakLine: true } },
{ text: "3. Parasympathetic Division – anatomy & distribution ", options: { color: C.white, fontSize: 13, breakLine: true } },
{ text: "4. Comparative effects on effector organs ", options: { color: C.white, fontSize: 13, breakLine: true } },
{ text: "5. Autonomic function tests & anaesthetic relevance", options: { color: C.gold, fontSize: 13, bold: true } },
], { x: 0.7, y: 3.78, w: 8.6, h: 1.2, fontFace: "Calibri" });
// Bottom bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.45, w: 10, h: 0.175, fill: { color: C.accent2 } });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 2 – Classification of ANS
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Classification of the Autonomic Nervous System");
// Central box
s.addShape(pres.ShapeType.rect, { x: 3.7, y: 0.95, w: 2.6, h: 0.6, fill: { color: C.teal }, line: { color: C.teal } });
s.addText("AUTONOMIC\nNERVOUS SYSTEM", { x: 3.7, y: 0.95, w: 2.6, h: 0.6, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
// Left arrow to SNS
s.addShape(pres.ShapeType.rect, { x: 2.1, y: 1.2, w: 1.6, h: 0.06, fill: { color: C.accent1 } });
// SNS box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.95, w: 1.75, h: 0.6, fill: { color: C.accent1 }, line: { color: C.accent1 } });
s.addText("SYMPATHETIC\n(Thoracolumbar)", { x: 0.3, y: 0.95, w: 1.75, h: 0.6, fontSize: 10, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
// Right arrow to PNS
s.addShape(pres.ShapeType.rect, { x: 6.3, y: 1.2, w: 1.6, h: 0.06, fill: { color: C.accent2 } });
// PNS box
s.addShape(pres.ShapeType.rect, { x: 7.95, y: 0.95, w: 1.75, h: 0.6, fill: { color: C.accent2 }, line: { color: C.accent2 } });
s.addText("PARASYMPATHETIC\n(Craniosacral)", { x: 7.95, y: 0.95, w: 1.75, h: 0.6, fontSize: 10, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
// Down arrow
s.addShape(pres.ShapeType.rect, { x: 4.95, y: 1.55, w: 0.06, h: 0.4, fill: { color: C.teal } });
// ENS box
s.addShape(pres.ShapeType.rect, { x: 4.05, y: 1.95, w: 1.9, h: 0.5, fill: { color: C.purple }, line: { color: C.purple } });
s.addText("ENTERIC (ENS)", { x: 4.05, y: 1.95, w: 1.9, h: 0.5, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
// Feature boxes
const feats = [
["SNS Features", C.accent1, 0.28, [
"T1 – L2/3 outflow (Thoracolumbar)",
"Short pre- / Long post-ganglionic fibers",
"Paravertebral (sympathetic chain) ganglia",
"High divergence: 1:17-20 ratio",
"NT: ACh (pre) → NE (post)",
"Mass discharge – 'Fight or Flight'",
]],
["PNS Features", C.accent2, 5.35, [
"CN III, VII, IX, X + S2–S4 (Craniosacral)",
"Long pre- / Short post-ganglionic fibers",
"Terminal ganglia near target organs",
"Low divergence: discrete, focal",
"NT: ACh (pre & post) – muscarinic",
"Conservation – 'Rest & Digest'",
]],
];
feats.forEach(([title, col, x, items]) => {
s.addShape(pres.ShapeType.rect, { x, y: 2.65, w: 4.4, h: 2.8, fill: { color: "0A1A35" }, line: { color: col, width: 1.5 } });
s.addText(title, { x: x + 0.1, y: 2.72, w: 4.2, h: 0.38, fontSize: 15, bold: true, color: col, fontFace: "Calibri" });
s.addText(
items.map((t, i) => ({ text: `✦ ${t}`, options: { color: C.white, fontSize: 12, breakLine: i < items.length - 1 } })),
{ x: x + 0.15, y: 3.12, w: 4.1, h: 2.1, fontFace: "Calibri", lineSpacingMultiple: 1.3 }
);
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 3 – Sympathetic Division Anatomy
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Sympathetic Division – Anatomy & Outflow", 0.18, C.accent1);
const col = C.accent1;
// Origin box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 4.4, h: 1.42, fill: { color: "081830" }, line: { color: col, width: 1.2 } });
badge(s, "ORIGIN & OUTFLOW", 0.3, 0.92, 4.4, col);
s.addText([
{ text: "• Lateral horn (intermediolateral column) T1–L2/3\n", options: { color: C.white, fontSize: 12 } },
{ text: "• Axons exit via ventral roots → white rami communicantes\n", options: { color: C.white, fontSize: 12 } },
{ text: "• Synapse in paravertebral (chain) or prevertebral ganglia\n", options: { color: C.white, fontSize: 12 } },
{ text: "• Adrenal medulla: direct preganglionic innervation (Ach → Epi/NE)", options: { color: C.gold, fontSize: 12 } },
], { x: 0.4, y: 1.3, w: 4.2, h: 1.0, lineSpacingMultiple: 1.25 });
// Ganglion types
s.addShape(pres.ShapeType.rect, { x: 4.9, y: 0.92, w: 4.8, h: 1.42, fill: { color: "081830" }, line: { color: col, width: 1.2 } });
badge(s, "GANGLION TYPES", 4.9, 0.92, 4.8, col);
s.addText([
{ text: "Paravertebral (Sympathetic Chain):\n", options: { color: C.gold, fontSize: 12, bold: true } },
{ text: "22 paired ganglia; cervical (superior/middle/inferior), thoracic, lumbar, sacral\n\n", options: { color: C.white, fontSize: 12 } },
{ text: "Prevertebral (Collateral):\n", options: { color: C.gold, fontSize: 12, bold: true } },
{ text: "Celiac, superior mesenteric, inferior mesenteric, aorticorenal ganglia", options: { color: C.white, fontSize: 12 } },
], { x: 5.0, y: 1.3, w: 4.6, h: 1.0, lineSpacingMultiple: 1.2 });
// Distribution table
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 2.52, w: 9.4, h: 0.38, fill: { color: col } });
s.addText("DISTRIBUTION OF SYMPATHETIC OUTFLOW", { x: 0.3, y: 2.52, w: 9.4, h: 0.38, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
const rows = [
["Segment", "Ganglion / Plexus", "Target Organs", "Effect"],
["T1–T4", "Superior cervical / Stellate", "Heart, lungs, head & neck", "↑HR, ↑inotropy, bronchodilation, mydriasis"],
["T5–T9", "Celiac ganglion / Greater splanchnic", "Stomach, liver, pancreas, spleen", "↓Peristalsis, glycogenolysis, ↑glucagon"],
["T10–T11", "Superior mesenteric", "Small intestine, ascending colon", "↓Motility, sphincter contraction"],
["T12–L2", "Inferior mesenteric / Hypogastric", "Distal colon, bladder, genitalia", "Bladder relaxation, vasoconstriction"],
["All levels", "Paravertebral chain", "Blood vessels, sweat glands, arrector pili", "Vasoconstriction, sweating, piloerection"],
];
const rowH = 0.39;
rows.forEach((row, i) => {
const y = 2.9 + i * rowH;
const bg = i === 0 ? "0D3050" : i % 2 === 0 ? "0A1E38" : "091628";
s.addShape(pres.ShapeType.rect, { x: 0.3, y, w: 9.4, h: rowH, fill: { color: bg } });
const widths = [1.1, 2.0, 2.6, 3.7];
const xs = [0.3, 1.4, 3.4, 6.0];
row.forEach((cell, j) => {
s.addText(cell, {
x: xs[j] + 0.05, y, w: widths[j] - 0.1, h: rowH,
fontSize: i === 0 ? 11 : 10.5, bold: i === 0,
color: i === 0 ? C.accent1 : C.white, valign: "middle", fontFace: "Calibri",
});
});
// grid lines
[1.4, 3.4, 6.0].forEach(lx => {
s.addShape(pres.ShapeType.rect, { x: lx, y, w: 0.02, h: rowH, fill: { color: "1A3A5C" } });
});
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 4 – Parasympathetic Division Anatomy
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Parasympathetic Division – Anatomy & Outflow", 0.18, C.accent2);
const col = C.accent2;
// Cranial outflow
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 9.4, h: 0.38, fill: { color: col } });
s.addText("CRANIAL OUTFLOW (CN III, VII, IX, X)", { x: 0.3, y: 0.92, w: 9.4, h: 0.38, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
const cranialRows = [
["Nerve", "Preganglionic Nucleus", "Ganglion", "Target / Effect"],
["CN III (Oculomotor)", "Edinger-Westphal nucleus", "Ciliary ganglion", "Pupil constriction (miosis); accommodation (near vision)"],
["CN VII (Facial)", "Superior salivatory nucleus", "Pterygopalatine / Submandibular", "Lacrimal, nasal, sublingual & submandibular gland secretion"],
["CN IX (Glossopharyngeal)", "Inferior salivatory nucleus", "Otic ganglion", "Parotid gland secretion"],
["CN X (Vagus)", "Dorsal motor nucleus (DMN)", "Terminal / intramural ganglia", "Heart (↓HR, ↓inotropy), lungs (bronchoconstriction), GIT (↑motility)"],
];
cranialRows.forEach((row, i) => {
const y = 1.3 + i * 0.4;
const bg = i === 0 ? "2A1A00" : i % 2 === 0 ? "1C1200" : "0F0D00";
s.addShape(pres.ShapeType.rect, { x: 0.3, y, w: 9.4, h: 0.4, fill: { color: bg } });
const ws = [1.8, 2.1, 2.1, 3.4];
const xs = [0.3, 2.1, 4.2, 6.3];
row.forEach((cell, j) => {
s.addText(cell, {
x: xs[j] + 0.05, y, w: ws[j] - 0.1, h: 0.4,
fontSize: i === 0 ? 11 : 10, bold: i === 0,
color: i === 0 ? col : C.white, valign: "middle", fontFace: "Calibri",
});
});
});
// Sacral outflow
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.38, w: 9.4, h: 0.38, fill: { color: col } });
s.addText("SACRAL OUTFLOW (S2–S4 – Pelvic Splanchnic Nerves)", { x: 0.3, y: 3.38, w: 9.4, h: 0.38, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
const sacralItems = [
["Origin", "Intermediolateral column S2–S4 → pelvic splanchnic nerves (nervi erigentes)"],
["Ganglia", "Terminal ganglia in / on target organ walls (short postganglionic fibers)"],
["Targets", "Distal colon, rectum, bladder detrusor (contraction), uterus, erectile tissue"],
["Key effects", "Micturition (detrusor contraction), defaecation, erection (vasodilation via VIP/NO)"],
];
sacralItems.forEach(([label, text], i) => {
const y = 3.76 + i * 0.42;
s.addShape(pres.ShapeType.rect, { x: 0.3, y, w: 1.6, h: 0.4, fill: { color: col } });
s.addText(label, { x: 0.3, y, w: 1.6, h: 0.4, fontSize: 11, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 1.9, y, w: 7.8, h: 0.4, fill: { color: i % 2 === 0 ? "1C1200" : "0F0D00" } });
s.addText(text, { x: 2.0, y, w: 7.6, h: 0.4, fontSize: 11, color: C.white, valign: "middle", fontFace: "Calibri" });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 5 – Comparative Effects on Effector Organs
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Comparative Effects on Effector Organs", 0.18, C.gold);
const headers = ["Organ / System", "Sympathetic Effect", "Receptor", "Parasympathetic Effect", "Receptor"];
const orgData = [
["Eye – Pupil", "Dilation (mydriasis)", "α₁", "Constriction (miosis)", "M₃"],
["Eye – Ciliary", "Relaxation (far vision)", "β", "Contraction (near vision)", "M₃"],
["Heart Rate", "↑ (tachycardia)", "β₁", "↓ (bradycardia)", "M₂"],
["Heart Contractility", "↑ Inotropy", "β₁", "↓ Slight decrease", "M₂"],
["Bronchi", "Bronchodilation", "β₂", "Bronchoconstriction + ↑secretion", "M₃"],
["Blood Vessels", "Vasoconstriction (skin/viscera)", "α₁", "Vasodilation (limited)", "M₃"],
["GIT Motility", "↓ Peristalsis, sphincter ↑", "α, β", "↑ Peristalsis, sphincter ↓", "M"],
["Bladder Detrusor", "Relaxation (urine storage)", "β₂", "Contraction (micturition)", "M₃"],
["Bladder Sphincter", "Contraction (retention)", "α₁", "Relaxation", "M₃"],
["Uterus (pregnant)", "Contraction / relaxation", "α / β₂", "Variable", "M"],
["Sweat Glands", "↑ Sweating (cholinergic)", "Ach-M", "None significant", "—"],
["Salivary Glands", "Thick, mucous secretion", "α", "Profuse watery secretion", "M"],
["Liver", "Glycogenolysis ↑, glucose ↑", "β₂", "Glycogen synthesis", "M"],
["Adrenal Medulla", "Epi/NE release", "Nn (Ach)", "—", "—"],
["Skin – Piloerection", "Contraction (goosebumps)", "α₁", "None", "—"],
];
const rowH = 0.315;
const colW = [1.85, 2.1, 0.7, 2.3, 0.7];
const colX = [0.28, 2.13, 4.23, 4.93, 7.23];
// Header row
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.9, w: 9.44, h: rowH, fill: { color: "1A3A00" } });
headers.forEach((h, j) => {
s.addText(h, { x: colX[j], y: 0.9, w: colW[j], h: rowH, fontSize: 11, bold: true, color: C.gold, valign: "middle", fontFace: "Calibri" });
});
orgData.forEach((row, i) => {
const y = 0.9 + rowH + i * rowH;
const bg = i % 2 === 0 ? "0A1628" : "091020";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: rowH, fill: { color: bg } });
// organ name
s.addText(row[0], { x: colX[0] + 0.03, y, w: colW[0] - 0.05, h: rowH, fontSize: 10, bold: true, color: C.light, valign: "middle", fontFace: "Calibri" });
// SNS effect
s.addText(row[1], { x: colX[1], y, w: colW[1], h: rowH, fontSize: 10, color: C.accent1, valign: "middle", fontFace: "Calibri" });
// SNS receptor
s.addText(row[2], { x: colX[2], y, w: colW[2], h: rowH, fontSize: 9.5, color: C.gold, valign: "middle", align: "center", fontFace: "Calibri" });
// PNS effect
s.addText(row[3], { x: colX[3], y, w: colW[3], h: rowH, fontSize: 10, color: C.accent2, valign: "middle", fontFace: "Calibri" });
// PNS receptor
s.addText(row[4], { x: colX[4], y, w: colW[4], h: rowH, fontSize: 9.5, color: C.gold, valign: "middle", align: "center", fontFace: "Calibri" });
});
// divider lines
[2.13, 4.23, 4.93, 7.23].forEach(lx => {
s.addShape(pres.ShapeType.rect, { x: lx, y: 0.9, w: 0.02, h: rowH * (orgData.length + 1), fill: { color: "1A3A5C" } });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 6 – ANS Neurotransmitters & Receptors
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Neurotransmitters & Receptors of the ANS", 0.18, C.teal);
// SNS column
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 4.55, h: 4.55, fill: { color: "081830" }, line: { color: C.accent1, width: 1.5 } });
badge(s, "SYMPATHETIC PATHWAY", 0.3, 0.92, 4.55, C.accent1);
const snsBullets = [
["Preganglionic:", "ACh → Nicotinic (Nn) receptors at ganglia"],
["Postganglionic:", "NE → α₁, α₂, β₁, β₂ adrenoceptors at effectors"],
["Exception:", "Sweat glands: ACh → Muscarinic (M); Adrenal medulla: ACh → Nn → Epi/NE release"],
["α₁ effects:", "Vasoconstriction, mydriasis, bladder sphincter ↑"],
["α₂ effects:", "Presynaptic inhibition; platelet aggregation"],
["β₁ effects:", "↑HR, ↑contractility, ↑AV conduction, ↑renin"],
["β₂ effects:", "Bronchodilation, vasodilation, glycogenolysis, tocolysis"],
["β₃ effects:", "Lipolysis, thermogenesis"],
];
snsBullets.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.accent1, fontSize: 12 } },
{ text, options: { color: C.white, fontSize: 11.5 } },
], { x: 0.42, y: 1.38 + i * 0.44, w: 4.3, h: 0.42, fontFace: "Calibri", lineSpacingMultiple: 1 });
});
// PNS column
s.addShape(pres.ShapeType.rect, { x: 5.15, y: 0.92, w: 4.55, h: 4.55, fill: { color: "150E00" }, line: { color: C.accent2, width: 1.5 } });
badge(s, "PARASYMPATHETIC PATHWAY", 5.15, 0.92, 4.55, C.accent2);
const pnsBullets = [
["Preganglionic:", "ACh → Nicotinic (Nn) at terminal ganglia"],
["Postganglionic:", "ACh → Muscarinic receptors (M₁–M₅) at effectors"],
["M₁ (CNS/gastric):", "↑Gastric acid secretion; CNS cognition"],
["M₂ (Heart):", "↓HR, ↓AV conduction (Gi coupled)"],
["M₃ (smooth m.):", "Bronchoconstriction, miosis, GIT ↑motility, gland secretion"],
["M₄:", "CNS modulation; presynaptic inhibition"],
["M₅:", "Vascular smooth muscle; CNS dopamine"],
["Clinical note:", "Atropine blocks M receptors → ↑HR, bronchodilation, dry secretions"],
];
pnsBullets.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.accent2, fontSize: 12 } },
{ text, options: { color: C.white, fontSize: 11.5 } },
], { x: 5.27, y: 1.38 + i * 0.44, w: 4.3, h: 0.42, fontFace: "Calibri", lineSpacingMultiple: 1 });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 7 – Autonomic Function Tests: Overview
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Autonomic Function Tests – Overview", 0.18, C.gold);
// Intro text
s.addText(
"Autonomic function tests (AFTs) evaluate the integrity of sympathetic and parasympathetic pathways. In anaesthesia, they predict perioperative instability, intraoperative hypotension, and aspiration risk (autonomic neuropathy).",
{ x: 0.3, y: 0.9, w: 9.4, h: 0.65, fontSize: 13, color: C.light, fontFace: "Calibri", italic: true }
);
// Three category boxes
const cats = [
{
title: "CARDIOVASCULAR (CV) TESTS",
color: C.accent1,
items: [
"Heart Rate Variability (HRV) to Deep Breathing",
"Valsalva Manoeuvre – Valsalva Ratio",
"30:15 Ratio (Lying-to-Standing)",
"Cold Pressor Test",
"Isometric Exercise Test",
"Head-Up Tilt Table Test (HUT)",
"Orthostatic BP change on standing",
],
},
{
title: "SUDOMOTOR TESTS",
color: C.accent2,
items: [
"QSART – Quantitative Sudomotor Axon Reflex Test",
"Thermoregulatory Sweat Test (TST)",
"Sympathetic Skin Response (SSR)",
"Silastic Imprint / Starch-Iodine Test",
"Skin biopsy – epidermal nerve fiber density",
],
},
{
title: "OTHER TESTS",
color: C.purple,
items: [
"Plasma catecholamines (supine → standing)",
"Plasma / urine VMA, MHPG",
"Pupillometry (light reflex latency)",
"Gastroparesis assessment (gastric scintigraphy)",
"Urodynamic studies",
"Penile tumescence / genital testing",
],
},
];
cats.forEach((cat, i) => {
const x = 0.3 + i * 3.22;
s.addShape(pres.ShapeType.rect, { x, y: 1.65, w: 3.1, h: 3.75, fill: { color: "081828" }, line: { color: cat.color, width: 1.5 } });
s.addShape(pres.ShapeType.rect, { x, y: 1.65, w: 3.1, h: 0.4, fill: { color: cat.color } });
s.addText(cat.title, { x, y: 1.65, w: 3.1, h: 0.4, fontSize: 11, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
s.addText(
cat.items.map((t, idx) => ({ text: `▸ ${t}`, options: { color: C.white, fontSize: 11.5, breakLine: idx < cat.items.length - 1 } })),
{ x: x + 0.1, y: 2.1, w: 2.9, h: 3.1, fontFace: "Calibri", lineSpacingMultiple: 1.35 }
);
});
// Anaesthesia relevance note
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 5.42, w: 9.4, h: 0.14, fill: { color: C.gold } });
s.addText("★ Tests assess PARASYMPATHETIC (CV) or SYMPATHETIC (vasomotor/sudomotor) arms of the ANS reflex arc", {
x: 0.3, y: 5.42, w: 9.4, h: 0.14, fontSize: 9, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 8 – Cardiovascular Autonomic Tests (Parasympathetic)
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Cardiovascular Tests – Parasympathetic Arm", 0.18, C.accent1);
const tests = [
{
name: "1. Heart Rate Variability to Deep Breathing",
arm: "PNS",
method: "Patient breathes deeply at 6 breaths/min for 1 min. ECG records R–R intervals.",
measure: "E:I ratio = max HR (expiration) ÷ min HR (inspiration)",
normal: "E:I ratio > 1.21 (age-adjusted); ΔHR > 15 bpm",
abnormal: "ΔHR < 10 bpm = abnormal; reflects vagal cardiac neuropathy",
clinical: "Diminished in DAN, elderly, drugs (anticholinergics). Best test of cardiac PNS.",
},
{
name: "2. Valsalva Manoeuvre",
arm: "PNS + SNS",
method: "Patient blows into a mouthpiece maintaining pressure 40 mmHg for 15 seconds.",
measure: "Valsalva Ratio = Max HR (phase II) ÷ Min HR (phase IV)",
normal: "VR ≥ 1.21 (parasympathetic); Adrenergic index = BP overshoot (sympathetic)",
abnormal: "VR < 1.0 = severe autonomic failure; absent BP overshoot = sympathetic failure",
clinical: "Phase II ↓BP → reflex tachycardia (PNS); Phase IV ↑BP → reflex bradycardia (PNS)\nAdrenergic index assesses sympathetic vasoconstrictor arm",
},
{
name: "3. 30:15 Ratio (Lying-to-Standing / Postural HR Change)",
arm: "PNS",
method: "Patient stands up from lying. ECG monitors HR change.",
measure: "30:15 ratio = RR at beat 30 ÷ RR at beat 15",
normal: "≥ 1.04",
abnormal: "< 1.0 = parasympathetic failure",
clinical: "Reflex tachycardia (beat 15) = cardiac acceleration; bradycardia (beat 30) = vagal rebound",
},
];
tests.forEach((t, i) => {
const y = 0.9 + i * 1.57;
const col = [C.accent1, C.gold, C.teal][i];
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 1.5, fill: { color: "081828" }, line: { color: col, width: 1.2 } });
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.34, fill: { color: col } });
s.addText(t.name, { x: 0.38, y, w: 8.0, h: 0.34, fontSize: 13, bold: true, color: C.navy, valign: "middle", margin: 0 });
badge(s, t.arm, 8.9, y + 0.04, 0.8, C.navy);
const lines = [
`Method: ${t.method}`,
`Measure: ${t.measure}`,
`Normal: ${t.normal} | Abnormal: ${t.abnormal}`,
`Clinical: ${t.clinical}`,
];
s.addText(
lines.map((l, idx) => ({ text: l, options: { color: C.white, fontSize: 11, breakLine: idx < lines.length - 1 } })),
{ x: 0.38, y: y + 0.38, w: 9.2, h: 1.0, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 9 – CV Tests (Sympathetic) + Tilt Table
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Cardiovascular Tests – Sympathetic Arm & Tilt Table", 0.18, C.accent2);
const tests = [
{
name: "4. Orthostatic Blood Pressure (Lying-to-Standing)",
arm: "SNS",
detail: [
"Method: Measure BP supine → after 1 & 3 min of standing",
"Normal: SBP drop ≤ 20 mmHg; DBP drop ≤ 10 mmHg within 3 min",
"OH definition: SBP ↓ ≥20 mmHg OR DBP ↓ ≥10 mmHg",
"Anaesthetic significance: OH = strong predictor of intraoperative hypotension",
],
},
{
name: "5. Head-Up Tilt Table Test (HUT 60–70° for 30–40 min)",
arm: "SNS + PNS",
detail: [
"Tests sympathetic vasomotor tone; detects vasovagal syncope, POTS, neurogenic OH",
"Beat-to-beat BP via finger photoplethysmography (Finapres/Portapres)",
"Pharmacological provocation: IV/sublingual nitroglycerin or IV isoproterenol",
"Differentiates: vasovagal / vasodepressor / cardiodepressor syncope",
"POTS diagnosis: HR ↑ > 30 bpm within 10 min of tilt without OH",
],
},
{
name: "6. Cold Pressor Test",
arm: "SNS",
detail: [
"Method: Immerse hand in ice water (4°C) for 1 minute; BP measured at 1 min",
"Normal response: SBP ↑ ≥15 mmHg; DBP ↑ ≥10 mmHg",
"Mechanism: Cold stimulus → spinal reflex → sympathetic vasoconstriction",
"Assesses integrity of sympathetic efferent pathways",
],
},
{
name: "7. Isometric Exercise Test (Handgrip)",
arm: "SNS",
detail: [
"Method: Sustained handgrip at 30% max contraction for 3–5 min",
"Normal: DBP ↑ ≥15 mmHg",
"Mechanism: Muscle metaboreflex → sympathetic activation → ↑BP",
"Useful in early autonomic neuropathy detection",
],
},
];
tests.forEach((t, i) => {
const y = 0.9 + i * 1.17;
const col = [C.accent2, C.teal, C.gold, C.purple][i];
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 1.1, fill: { color: "0A0E18" }, line: { color: col, width: 1.0 } });
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.3, fill: { color: col } });
s.addText(t.name, { x: 0.38, y, w: 8.2, h: 0.3, fontSize: 12, bold: true, color: C.navy, valign: "middle", margin: 0 });
badge(s, t.arm, 9.0, y + 0.02, 0.72, C.navy);
s.addText(
t.detail.map((l, idx) => ({ text: `• ${l}`, options: { color: C.white, fontSize: 10.5, breakLine: idx < t.detail.length - 1 } })),
{ x: 0.4, y: y + 0.33, w: 9.1, h: 0.7, fontFace: "Calibri", lineSpacingMultiple: 1.1 }
);
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 10 – Sudomotor & Adrenergic Tests
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Sudomotor Function Tests & Adrenergic Assessment", 0.18, C.purple);
// Left column – sudomotor
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.9, w: 5.5, h: 4.6, fill: { color: "100820" }, line: { color: C.purple, width: 1.2 } });
badge(s, "SUDOMOTOR TESTS (Sympathetic Cholinergic)", 0.28, 0.9, 5.5, C.purple);
const sudoTests = [
{
t: "QSART (Quantitative Sudomotor Axon Reflex Test)",
d: "ACh iontophoresis at 4 sites (forearm, proximal leg, distal leg, foot). Measures ACh-induced sweat volume. Low/absent = postganglionic lesion.",
},
{
t: "Thermoregulatory Sweat Test (TST)",
d: "Alizarin red powder on body surface; heated chamber (38–40°C) for 30–45 min. Global pre + postganglionic sudomotor map. Anhidrosis = colour change absent.",
},
{
t: "Sympathetic Skin Response (SSR)",
d: "Unexpected stimulus (electrical/noise/deep breath) → galvanic skin response recorded from hand/foot. Tests unmyelinated sympathetic C-fibers. Absent = autonomic failure.",
},
{
t: "QSART absent + TST absent = Postganglionic lesion\nQSART preserved + TST absent = Preganglionic lesion",
d: "",
},
];
sudoTests.forEach((item, i) => {
s.addText(item.t, { x: 0.42, y: 1.38 + i * 0.88, w: 5.2, h: 0.3, fontSize: 12, bold: true, color: C.purple, fontFace: "Calibri" });
if (item.d) {
s.addText(item.d, { x: 0.42, y: 1.38 + i * 0.88 + 0.3, w: 5.2, h: 0.55, fontSize: 11, color: C.white, fontFace: "Calibri" });
}
});
// Right column – adrenergic/other
s.addShape(pres.ShapeType.rect, { x: 6.0, y: 0.9, w: 3.72, h: 4.6, fill: { color: "091520" }, line: { color: C.accent1, width: 1.2 } });
badge(s, "ADRENERGIC & OTHER", 6.0, 0.9, 3.72, C.accent1);
const adrenItems = [
["Plasma Catecholamines", "Supine vs standing. NE ↑ < 2× = sympathetic failure. Used in OH workup."],
["Plasma NE / Epinephrine", "Baseline and 10-min tilt. Helps classify neurogenic vs non-neurogenic OH."],
["Pupillometry", "Pupil light reflex: latency & re-dilation rate. 0.1% pilocarpine denervation hypersensitivity = PNS lesion."],
["Gastric Scintigraphy", "Tc-99m labelled meal; assesses gastroparesis (autonomic neuropathy of vagus)."],
["Urodynamics", "Detrusor-sphincter coordination; neurogenic bladder assessment."],
];
adrenItems.forEach(([title, desc], i) => {
s.addText(title, { x: 6.1, y: 1.38 + i * 0.78, w: 3.5, h: 0.28, fontSize: 11.5, bold: true, color: C.accent1, fontFace: "Calibri" });
s.addText(desc, { x: 6.1, y: 1.38 + i * 0.78 + 0.28, w: 3.5, h: 0.46, fontSize: 10.5, color: C.white, fontFace: "Calibri" });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 11 – Autonomic Testing in Anaesthetic Practice
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Autonomic Testing – Relevance to Anaesthesia", 0.18, C.gold);
// Top summary box
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.9, w: 9.44, h: 0.58, fill: { color: "1A1200" }, line: { color: C.gold, width: 1.0 } });
s.addText("In anaesthetic practice, autonomic testing is most relevant in pre-operative assessment of diabetic autonomic neuropathy (DAN), cardiac dysautonomia, and in patients with syncope, POTS, or neurodegenerative disorders.", {
x: 0.38, y: 0.92, w: 9.2, h: 0.54, fontSize: 12, color: C.light, fontFace: "Calibri", italic: true
});
// Risk table
const riskRows = [
["Autonomic Finding", "Perioperative Risk", "Anaesthetic Implication"],
["Resting tachycardia (DAN)", "Cardiac PNS failure; ↑silent MI risk", "ECG monitoring; avoid tachycardia triggers"],
["Orthostatic Hypotension (OH)", "Severe intraoperative hypotension", "Pre-load; vasopressors ready; careful positioning"],
["Absent Valsalva reflex", "Loss of BP overshoot; failed baroreflex", "IPPV worsens; avoid ↑intrathoracic pressure"],
["Gastroparesis (vagal neuropathy)", "↑Aspiration risk; delayed emptying", "RSI; H₂ blocker; metoclopramide pre-op"],
["Hyperhidrosis / Anhidrosis", "Thermoregulatory failure", "Active warming; core temp monitoring"],
["POTS (postural tachycardia)", "Haemodynamic instability on table position", "Volume loading; slow position changes"],
["Desflurane – sympathetic activation", "↑HR & BP at ↑concentrations (>5–6%)", "Opioid pre-treatment; avoid rapid ↑ conc."],
["Volatile agents (≥1 MAC)", "Dose-dependent baroreflex depression", "Earlier recognition of hypovolaemia"],
];
const cols = [2.8, 2.8, 3.84];
const xs2 = [0.28, 3.08, 5.88];
riskRows.forEach((row, i) => {
const y = 1.55 + i * 0.42;
const bg = i === 0 ? "1A2A00" : i % 2 === 0 ? "0A1200" : "071000";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.42, fill: { color: bg } });
row.forEach((cell, j) => {
s.addText(cell, {
x: xs2[j] + 0.05, y, w: cols[j] - 0.1, h: 0.42,
fontSize: i === 0 ? 11 : 10.5, bold: i === 0,
color: i === 0 ? C.gold : j === 0 ? C.accent1 : j === 2 ? C.accent2 : C.white,
valign: "middle", fontFace: "Calibri"
});
});
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 12 – Ewing's Battery of Tests
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Ewing's Battery of Autonomic Tests", 0.18, C.teal);
s.addText(
"The Ewing battery (1985) is the standard clinical toolkit for grading diabetic autonomic neuropathy. It comprises 5 bedside cardiovascular tests — 3 parasympathetic and 2 sympathetic.",
{ x: 0.3, y: 0.9, w: 9.4, h: 0.55, fontSize: 12.5, color: C.light, fontFace: "Calibri", italic: true }
);
// PNS tests
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 1.55, w: 4.6, h: 3.6, fill: { color: "081520" }, line: { color: C.accent1, width: 1.2 } });
badge(s, "PARASYMPATHETIC TESTS (3)", 0.28, 1.55, 4.6, C.accent1);
const pnsEwing = [
{ test: "1. HRV to Deep Breathing", param: "E:I Ratio", norm: "> 1.21", bord: "1.11–1.20", abn: "< 1.10" },
{ test: "2. Valsalva Ratio", param: "Max:Min HR", norm: "> 1.21", bord: "1.11–1.20", abn: "< 1.10" },
{ test: "3. Lying-to-Standing (30:15)", param: "30:15 Ratio", norm: "> 1.04", bord: "1.01–1.03", abn: "≤ 1.00" },
];
pnsEwing.forEach((item, i) => {
const y = 2.0 + i * 1.05;
s.addText(item.test, { x: 0.42, y, w: 4.3, h: 0.3, fontSize: 13, bold: true, color: C.accent1, fontFace: "Calibri" });
s.addText(`Parameter: ${item.param}`, { x: 0.42, y: y + 0.3, w: 4.3, h: 0.24, fontSize: 11, color: C.grey, fontFace: "Calibri" });
// Normal / Borderline / Abnormal
const cols2 = [
{ label: "Normal", val: item.norm, col: C.green },
{ label: "Borderline", val: item.bord, col: C.gold },
{ label: "Abnormal", val: item.abn, col: C.red },
];
cols2.forEach((c, ci) => {
s.addShape(pres.ShapeType.rect, { x: 0.42 + ci * 1.42, y: y + 0.54, w: 1.36, h: 0.36, fill: { color: "0A1828" }, line: { color: c.col, width: 0.8 } });
s.addText(`${c.label}\n${c.val}`, { x: 0.42 + ci * 1.42, y: y + 0.54, w: 1.36, h: 0.36, fontSize: 10, color: c.col, align: "center", valign: "middle", margin: 0 });
});
});
// SNS tests
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.55, w: 4.6, h: 3.6, fill: { color: "150A00" }, line: { color: C.accent2, width: 1.2 } });
badge(s, "SYMPATHETIC TESTS (2)", 5.1, 1.55, 4.6, C.accent2);
const snsEwing = [
{
test: "4. BP Response to Standing",
param: "Fall in SBP",
norm: "< 10 mmHg", bord: "10–29 mmHg", abn: "≥ 30 mmHg",
note: "Measures sympathetic vasomotor control of BP on posture change",
},
{
test: "5. BP Response to Sustained Handgrip",
param: "Rise in DBP",
norm: "> 16 mmHg", bord: "11–15 mmHg", abn: "≤ 10 mmHg",
note: "Muscle metaboreflex → sympathetic activation; assesses efferent pathway",
},
];
snsEwing.forEach((item, i) => {
const y = 2.0 + i * 1.6;
s.addText(item.test, { x: 5.24, y, w: 4.3, h: 0.3, fontSize: 13, bold: true, color: C.accent2, fontFace: "Calibri" });
s.addText(`Parameter: ${item.param}`, { x: 5.24, y: y + 0.3, w: 4.3, h: 0.24, fontSize: 11, color: C.grey, fontFace: "Calibri" });
const cols3 = [
{ label: "Normal", val: item.norm, col: C.green },
{ label: "Borderline", val: item.bord, col: C.gold },
{ label: "Abnormal", val: item.abn, col: C.red },
];
cols3.forEach((c, ci) => {
s.addShape(pres.ShapeType.rect, { x: 5.24 + ci * 1.42, y: y + 0.54, w: 1.36, h: 0.36, fill: { color: "150A00" }, line: { color: c.col, width: 0.8 } });
s.addText(`${c.label}\n${c.val}`, { x: 5.24 + ci * 1.42, y: y + 0.54, w: 1.36, h: 0.36, fontSize: 10, color: c.col, align: "center", valign: "middle", margin: 0 });
});
s.addText(item.note, { x: 5.24, y: y + 0.96, w: 4.3, h: 0.4, fontSize: 10.5, color: C.white, fontFace: "Calibri" });
});
// Scoring note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.22, w: 9.44, h: 0.32, fill: { color: "001A1A" }, line: { color: C.teal, width: 0.8 } });
s.addText("Scoring: Normal ≤2 abnormal / 5 | Early DAN: 1 definite abnormal | Definite DAN: ≥2 | Severe DAN: ≥3 + postural hypotension",
{ x: 0.38, y: 5.22, w: 9.2, h: 0.32, fontSize: 10.5, color: C.teal, valign: "middle", fontFace: "Calibri" });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 13 – Summary / Key Points
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Summary & Key Points for Anaesthesia", 0.18, C.gold);
const points = [
[C.accent1, "SNS", "Thoracolumbar (T1–L2); paravertebral + prevertebral ganglia; NE/Epi; Fight or Flight; high divergence (1:17–20)."],
[C.accent2, "PNS", "Craniosacral (CN III/VII/IX/X + S2–S4); terminal ganglia; ACh-muscarinic; Rest & Digest; low divergence."],
[C.teal, "Effectors", "SNS: ↑HR/BP, bronchodilation, mydriasis, vasoconstriction; PNS: ↓HR, bronchoconstriction, miosis, ↑GIT motility, micturition."],
[C.gold, "Ewing Tests", "5 tests (3 PNS: HRV-DB, Valsalva ratio, 30:15 ratio | 2 SNS: BP standing, Handgrip DBP). Gold standard for DAN."],
[C.purple, "Tilt Table", "Best test for OH, POTS, and vasovagal syncope. Beat-to-beat BP monitoring. Pharmacological provocation increases sensitivity."],
[C.red, "QSART/SSR", "Sudomotor tests assess postganglionic sympathetic cholinergic fibers. SSR uses standard EMG equipment."],
[C.green, "Anaesthetic\nRelevance", "Autonomic neuropathy → intraoperative hypotension, aspiration risk, exaggerated intubation response, hypothermia, perioperative cardiac arrest."],
[C.accent1, "Volatile\nAgents", "Desflurane >5–6% → sympathetic surge (↑HR/NE/Epi). All volatiles ≥1 MAC → dose-dependent baroreflex depression."],
];
points.forEach(([ col, label, text ], i) => {
const row = Math.floor(i / 2);
const col2 = i % 2;
const x = 0.28 + col2 * 4.82;
const y = 0.95 + row * 1.12;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.7, h: 1.02, fill: { color: "081828" }, line: { color: col, width: 1.0 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.8, h: 1.02, fill: { color: col } });
s.addText(label, { x, y, w: 0.8, h: 1.02, fontSize: 10.5, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
s.addText(text, { x: x + 0.84, y: y + 0.05, w: 3.8, h: 0.9, fontSize: 11, color: C.white, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
});
// Bottom citation
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.42, w: 9.44, h: 0.16, fill: { color: "0A0A0A" } });
s.addText("Sources: Barash Clinical Anesthesia 9e | Harrison's IM 22E | Guyton & Hall Medical Physiology | Lippincott Pharmacology | Ewing DJ et al. 1985",
{ x: 0.28, y: 5.42, w: 9.44, h: 0.16, fontSize: 8.5, color: C.grey, align: "center", valign: "middle", margin: 0 });
}
// ══════════════════════════════════════════════════════════════════════════
// WRITE FILE
// ══════════════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/ans-anaesthesia-ppt/ANS_Autonomic_Testing_MD_Anaesthesia.pptx" })
.then(() => console.log("PPT created successfully."))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/ans-anaesthesia-ppt && node create_ppt.js
ls -lh /home/daytona/workspace/ans-anaesthesia-ppt/
ANS Autonomic Testing MD Anaesthesia
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide — colour-coded, lecture outline |
| 2 | ANS Classification — SNS vs PNS vs ENS features, divergence ratios, neurotransmitters |
| 3 | Sympathetic Division — Thoracolumbar outflow, paravertebral & prevertebral ganglia, full distribution table (T1→L2) |
| 4 | Parasympathetic Division — Cranial outflow (CN III/VII/IX/X) table + Sacral S2–S4 pelvic splanchnic nerves |
| 5 | Comparative effects on effector organs (15 organ systems, receptor subtypes for each) |
| 6 | Neurotransmitters & Receptors — ACh/NE pathways, α₁/α₂/β₁/β₂/β₃ and M₁–M₅ subtypes |
| 7 | Autonomic Function Tests — Overview (CV tests / Sudomotor / Other) |
| 8 | CV Tests – Parasympathetic arm: HRV-Deep Breathing, Valsalva Ratio, 30:15 Ratio (method, measure, normal/abnormal, clinical relevance) |
| 9 | CV Tests – Sympathetic arm: Orthostatic BP, Tilt Table (HUT), Cold Pressor, Handgrip |
| 10 | Sudomotor Tests (QSART, TST, SSR) + Adrenergic tests (plasma catecholamines, pupillometry, gastric scintigraphy) |
| 11 | Autonomic Testing in Anaesthetic Practice — risk table (OH, gastroparesis, DAN, desflurane sympathetic surge) |
| 12 | Ewing's Battery of 5 Tests — 3 PNS + 2 SNS with Normal / Borderline / Abnormal cut-offs and DAN scoring |
| 13 | Summary & Key Points + source citations |
Retry
cd /home/daytona/workspace/ans-anaesthesia-ppt && node create_ppt.js 2>&1
ls -lh /home/daytona/workspace/ans-anaesthesia-ppt/ANS_Autonomic_Testing_MD_Anaesthesia.pptx
ANS Autonomic Testing MD Anaesthesia
Presentation · PPTX
Posterior cranial fossa surgery in MD anaesthesia ppt
mkdir -p /home/daytona/workspace/pcf-anaesthesia-ppt && ls /home/daytona/workspace/pcf-anaesthesia-ppt/
~/pcf-anaesthesia-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "MD Anaesthesia";
pres.title = "Posterior Cranial Fossa Surgery – Anaesthetic Management";
// ─── COLOUR PALETTE ─────────────────────────────────────────────────────────
const C = {
bg: "0B1A2E", // dominant dark navy
panel: "0F2040",
panel2: "091530",
acc1: "00C8AA", // teal-green (primary accent)
acc2: "F06060", // coral-red (warning/danger)
acc3: "F5C842", // gold (highlight)
acc4: "6BAED6", // sky blue (info)
white: "FFFFFF",
light: "D6EAF8",
grey: "90A4AE",
green: "4CAF50",
red: "E53935",
orange: "FF9800",
purple: "9C6FD4",
};
function navySlide() {
const s = pres.addSlide();
s.background = { color: C.bg };
return s;
}
function slideTitle(s, text, color = C.acc1) {
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.72, fill: { color: C.panel } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0.72, w: 10, h: 0.05, fill: { color: color } });
s.addText(text, {
x: 0.35, y: 0.08, w: 9.3, h: 0.58,
fontSize: 25, bold: true, color: color,
fontFace: "Calibri", align: "left", valign: "middle", margin: 0,
});
}
function badge(s, text, x, y, w, h, fillColor, textColor = C.bg) {
s.addShape(pres.ShapeType.roundRect, { x, y, w, h, fill: { color: fillColor }, line: { color: fillColor }, rectRadius: 0.06 });
s.addText(text, { x, y, w, h, fontSize: 10.5, bold: true, color: textColor, align: "center", valign: "middle", margin: 0 });
}
function sectionBar(s, text, y, color = C.acc1) {
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.34, fill: { color: color } });
s.addText(text, { x: 0.38, y, w: 9.24, h: 0.34, fontSize: 13, bold: true, color: C.bg, valign: "middle", margin: 0 });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ══════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: "060E1C" };
// Top accent
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.acc1 } });
// Left stripe
s.addShape(pres.ShapeType.rect, { x: 0, y: 0.1, w: 0.2, h: 5.525, fill: { color: C.acc1 } });
// Main title
s.addText("Posterior Cranial Fossa Surgery", {
x: 0.5, y: 0.55, w: 9.2, h: 1.05,
fontSize: 38, bold: true, color: C.white, fontFace: "Calibri", align: "left",
});
s.addText("Anaesthetic Considerations & Management", {
x: 0.5, y: 1.58, w: 9.2, h: 0.6,
fontSize: 22, color: C.acc1, fontFace: "Calibri", align: "left", italic: true,
});
// Labels
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.38, w: 3.5, h: 0.45, fill: { color: C.acc1 } });
s.addText("MD Anaesthesiology", { x: 0.5, y: 2.38, w: 3.5, h: 0.45, fontSize: 15, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 4.2, y: 2.38, w: 4.0, h: 0.45, fill: { color: C.acc3 } });
s.addText("Department of Anaesthesiology", { x: 4.2, y: 2.38, w: 4.0, h: 0.45, fontSize: 15, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
// Outline box
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 3.05, w: 9.2, h: 2.2, fill: { color: "0D1D35" }, line: { color: C.acc1, width: 1 } });
s.addText("Lecture Outline", { x: 0.7, y: 3.12, w: 3, h: 0.35, fontSize: 14, bold: true, color: C.acc3, fontFace: "Calibri" });
const outline = [
"1. Anatomy of the Posterior Cranial Fossa & Pathology",
"2. Pre-operative Assessment & Considerations",
"3. Patient Positioning – Sitting, Prone, Lateral",
"4. Venous Air Embolism (VAE) & Paradoxical Air Embolism (PAE)",
"5. Intraoperative Monitoring & Anaesthetic Technique",
"6. Brainstem Stimulation – Haemodynamic Responses",
"7. Pneumocephalus & Fluid Management",
"8. Emergence, Extubation & Postoperative Care",
];
s.addText(
outline.map((t, i) => ({ text: t, options: { color: i < 4 ? C.light : C.acc1, fontSize: 12, breakLine: i < outline.length - 1 } })),
{ x: 0.7, y: 3.5, w: 8.8, h: 1.65, fontFace: "Calibri", lineSpacingMultiple: 1.25 }
);
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.45, w: 10, h: 0.18, fill: { color: C.acc2 } });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 2 – Anatomy of the PCF
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Anatomy of the Posterior Cranial Fossa");
// Left column – bony boundaries
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.88, w: 4.5, h: 4.65, fill: { color: C.panel }, line: { color: C.acc1, width: 1.2 } });
sectionBar(s, "BONY BOUNDARIES & CONTENTS", 0.88);
const anat = [
["Anterior:", "Dorsum sellae, posterior clinoid processes, clivus (body of sphenoid + basilar part of occipital)"],
["Posterior:", "Inner surface of squamous occipital bone; inion (external occipital protuberance)"],
["Lateral:", "Petrous & mastoid parts of temporal bone; jugular foramina"],
["Floor:", "Foramen magnum (key landmark); occipital condyles"],
["Roof:", "Tentorium cerebelli (dura mater) – separates PCF from middle cranial fossa"],
["Foramina:", "Foramen magnum (CN XI, brainstem, vertebral aa.), jugular foramen (CN IX, X, XI, sigmoid sinus), IAM (CN VII, VIII), hypoglossal canal (CN XII)"],
];
anat.forEach(([label, text], i) => {
const y = 1.3 + i * 0.7;
s.addText([
{ text: label + " ", options: { bold: true, color: C.acc3, fontSize: 12 } },
{ text, options: { color: C.light, fontSize: 11.5 } },
], { x: 0.4, y, w: 4.2, h: 0.66, fontFace: "Calibri", lineSpacingMultiple: 1.15 });
});
// Right column – structures & pathologies
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 0.88, w: 4.72, h: 2.2, fill: { color: C.panel }, line: { color: C.acc4, width: 1.2 } });
sectionBar(s, "NEURAL STRUCTURES", 0.88, C.acc4);
const structures = [
"Brainstem: pons, medulla oblongata",
"Cerebellum (both hemispheres + vermis)",
"4th ventricle (floor = pons + medulla; roof = cerebellum)",
"CN V–XII nuclei & root entry/exit zones",
"AICA, PICA, SCA, basilar artery",
"Vertebral arteries, venous sinuses (transverse, sigmoid, occipital)",
];
s.addText(
structures.map((t, i) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 11.5, breakLine: i < structures.length - 1 } })),
{ x: 5.12, y: 1.3, w: 4.5, h: 1.66, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
// Pathologies box
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 3.22, w: 4.72, h: 2.31, fill: { color: C.panel }, line: { color: C.acc2, width: 1.2 } });
sectionBar(s, "COMMON PATHOLOGIES REQUIRING SURGERY", 3.22, C.acc2);
const path = [
["Tumours:", "Acoustic neuroma (vestibular schwannoma), meningioma, cerebellar astrocytoma, ependymoma, medulloblastoma (children), hemangioblastoma, metastases"],
["Vascular:", "PICA/AICA aneurysms, cavernous malformations, AVMs"],
["CN disorders:", "Microvascular decompression – tic douloureux (V), hemifacial spasm (VII), glossopharyngeal neuralgia (IX)"],
["CSF:", "Chiari malformation, arachnoid cysts, fourth ventricle tumours causing obstructive hydrocephalus"],
];
path.forEach(([label, text], i) => {
const y = 3.64 + i * 0.46;
s.addText([
{ text: label + " ", options: { bold: true, color: C.acc2, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 10.5 } },
], { x: 5.12, y, w: 4.5, h: 0.44, fontFace: "Calibri" });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 3 – Pre-operative Assessment
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Pre-operative Assessment", C.acc3);
const categories = [
{
title: "NEUROLOGICAL ASSESSMENT",
color: C.acc1,
x: 0.28, y: 0.88, w: 4.6, h: 4.65,
items: [
["CT/MRI review:", "Brain oedema, midline shift >0.5 cm, ventricular displacement/compression, 4th ventricle obstruction, hydrocephalus"],
["ICP status:", "↑ICP signs – headache, vomiting, papilloedema; Cushing's triad (late)"],
["Neurological exam:", "Mental status, GCS, cranial nerve deficits (IX/X = dysphagia/aspiration risk, VII/VIII), cerebellar signs"],
["Hydrocephalus:", "Obstructive hydrocephalus may require pre-op ventriculostomy (EVD) under LA before GA induction"],
["Medications:", "Corticosteroids (dexamethasone – check glucose), anticonvulsants, diuretics (electrolytes), antihypertensives"],
],
},
{
title: "CARDIOVASCULAR & AIRWAY",
color: C.acc3,
x: 5.1, y: 0.88, w: 4.62, h: 4.65,
items: [
["PFO screening:", "Bubble echo / TCD preop in sitting cases to detect PFO (present in ~25% adults) → consider non-sitting if positive"],
["Cardiac reserve:", "Sitting position contraindicated with: uncontrolled HTN, severe cardiomyopathy, vascular insufficiency, inability to tolerate ↓BP"],
["Airway:", "Cervical stenosis (↑risk quadriplegia in sitting), neck flexion tolerance, TMJ, Mallampati score"],
["Cervical spine:", "Pre-op flexion-extension X-ray if cervical stenosis suspected; risk of quadriplegia with forced neck flexion"],
["Aspiration risk:", "CN IX/X dysfunction → silent aspiration; rapid sequence intubation consideration; NPO status"],
],
},
];
categories.forEach((cat) => {
s.addShape(pres.ShapeType.rect, { x: cat.x, y: cat.y, w: cat.w, h: cat.h, fill: { color: C.panel }, line: { color: cat.color, width: 1.2 } });
sectionBar(s, cat.title, cat.y, cat.color);
cat.items.forEach(([label, text], i) => {
const y = cat.y + 0.42 + i * 0.84;
s.addText([
{ text: label + " ", options: { bold: true, color: cat.color, fontSize: 12 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: cat.x + 0.12, y, w: cat.w - 0.2, h: 0.8, fontFace: "Calibri", lineSpacingMultiple: 1.15 });
});
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 4 – Patient Positioning
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Patient Positioning for Posterior Fossa Surgery", C.acc4);
const posData = [
{
pos: "SITTING (Semi-recumbent)",
color: C.acc2,
desc: "Back elevated 60°; legs elevated with knees flexed; head fixed in 3-point Mayfield pin holder with neck flexed. Most common for midline posterior fossa (4th ventricle, vermis, CPA angle).",
adv: ["Excellent surgical access to midline / CPA", "Reduced blood & CSF pooling in field", "↓Cerebellar retraction required", "Reduced ICP during surgery"],
disadv: ["VAE risk (most significant)", "Paradoxical air embolism (PAE) via PFO", "Cardiovascular instability / orthostatic hypotension", "Pneumocephalus", "Macroglossia (tongue ischaemia from neck flexion)", "Quadriplegia (cervical cord compression)", "BP transducer must be at level of EAC"],
},
{
pos: "PRONE",
color: C.acc1,
desc: "Arms at sides, chest rolls, foam padding. Head in Mayfield with neck slightly flexed. Used for midline cerebellar, posterior fossa & cervical spine. Avoid abdominal compression.",
adv: ["Avoids VAE risk of sitting", "Better cardiovascular stability", "More familiar position"],
disadv: ["Limited access to midline vs sitting", "Prone-specific complications (pressure ulcers, eye injury, compartment syndrome)", "Macroglossia from neck flexion", "Difficult airway access", "↑ICP from raised intra-abdominal pressure"],
},
{
pos: "LATERAL / PARK BENCH",
color: C.acc3,
desc: "Lateral decubitus with slight head-up tilt. Used for unilateral CPA lesions (acoustic neuromas, meningiomas, MVD). Avoids most sitting hazards.",
adv: ["Eliminates most sitting hazards", "Good CPA access", "Cardiovascular stability", "Preferred if PFO present"],
disadv: ["Limited bilateral access", "Brachial plexus injury risk (dependent arm)", "Lateral pressure points", "VAE still possible if head significantly elevated"],
},
];
posData.forEach((p, i) => {
const y = 0.88 + i * 1.57;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 1.5, fill: { color: C.panel }, line: { color: p.color, width: 1.2 } });
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.32, fill: { color: p.color } });
s.addText(p.pos, { x: 0.38, y, w: 9.2, h: 0.32, fontSize: 14, bold: true, color: C.bg, valign: "middle", margin: 0 });
// Description
s.addText(p.desc, { x: 0.38, y: y + 0.35, w: 3.5, h: 1.1, fontSize: 10.5, color: C.light, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// Advantages
s.addText("✓ ADVANTAGES", { x: 3.98, y: y + 0.35, w: 2.6, h: 0.25, fontSize: 10.5, bold: true, color: C.green, fontFace: "Calibri" });
s.addText(
p.adv.map((t, j) => ({ text: `• ${t}`, options: { color: C.light, fontSize: 10, breakLine: j < p.adv.length - 1 } })),
{ x: 3.98, y: y + 0.6, w: 2.6, h: 0.85, fontFace: "Calibri", lineSpacingMultiple: 1.1 }
);
// Disadvantages
s.addText("✗ HAZARDS", { x: 6.7, y: y + 0.35, w: 2.9, h: 0.25, fontSize: 10.5, bold: true, color: C.red, fontFace: "Calibri" });
s.addText(
p.disadv.map((t, j) => ({ text: `• ${t}`, options: { color: C.acc2, fontSize: 9.5, breakLine: j < p.disadv.length - 1 } })),
{ x: 6.7, y: y + 0.6, w: 2.9, h: 0.85, fontFace: "Calibri", lineSpacingMultiple: 1.05 }
);
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 5 – Venous Air Embolism (VAE)
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Venous Air Embolism (VAE) – Detection & Management", C.acc2);
// Pathophysiology
sectionBar(s, "PATHOPHYSIOLOGY", 0.88, C.acc2);
s.addText(
"VAE occurs when the surgical wound is above the level of the heart → subatmospheric pressure in open veins → air entrainment into venous system. " +
"Air lock in right heart → ↓cardiac output → cardiovascular collapse. Large volumes → 'mill-wheel' murmur, ↑PAP, ↓ETCO₂. " +
"Incidence: up to 45% (Doppler-detected) in sitting posterior fossa cases.",
{ x: 0.38, y: 1.25, w: 9.2, h: 0.65, fontSize: 12, color: C.light, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
// Detection methods table
sectionBar(s, "MONITORING SENSITIVITY (Most → Least Sensitive)", 1.96, C.acc4);
const monitors = [
["1st (Most sensitive)", "Transoesophageal Echocardiography (TEE)", "Detects microbubbles; also detects PAE & PFO. Gold standard."],
["2nd", "Precordial Doppler Ultrasound", "Standard for sitting cases. Detects small volumes. Placed right sternal border, 2nd–4th ICS."],
["3rd", "ETCO₂ (capnography)", "↓ETCO₂ = ↑dead space = air in PA. Quantitative; widely available. Specific but less sensitive."],
["4th", "Pulmonary Artery Pressure (PAP)", "↑PAP with significant VAE. Invasive."],
["5th", "CVP", "↑CVP; less sensitive"],
["6th (Least)", "BP & ECG", "↓BP, tachycardia, 'mill-wheel' murmur, ST changes. Late signs."],
];
monitors.forEach((row, i) => {
const y = 2.34 + i * 0.42;
const bg = i % 2 === 0 ? "0A1828" : "071220";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.42, fill: { color: bg } });
s.addText(row[0], { x: 0.35, y, w: 1.6, h: 0.42, fontSize: 10, bold: true, color: C.acc3, valign: "middle", fontFace: "Calibri" });
s.addText(row[1], { x: 1.95, y, w: 3.0, h: 0.42, fontSize: 11, bold: true, color: i < 2 ? C.acc2 : C.light, valign: "middle", fontFace: "Calibri" });
s.addText(row[2], { x: 4.95, y, w: 4.7, h: 0.42, fontSize: 10.5, color: C.light, valign: "middle", fontFace: "Calibri" });
});
// Management
sectionBar(s, "MANAGEMENT OF ACUTE VAE EVENT", 4.9, C.green);
const mgmt = [
"1. Notify surgeon → flood/pack surgical field to prevent further air entry",
"2. Jugular venous compression to ↑cerebral venous pressure (↓further entrainment)",
"3. Lower the head of table (if possible)",
"4. Aspirate right heart catheter (multiorificed catheter, tip 2 cm below SVC-RA junction)",
"5. Discontinue N₂O immediately; FiO₂ = 1.0",
"6. Vasopressors / inotropes for haemodynamic support; CPR if cardiac arrest",
];
s.addText(
mgmt.map((t, i) => ({ text: t, options: { color: i < 3 ? C.acc2 : C.light, fontSize: 11, breakLine: i < mgmt.length - 1 } })),
{ x: 0.38, y: 5.28, w: 9.3, h: 0.3, fontFace: "Calibri", lineSpacingMultiple: 1 }
);
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 6 – Paradoxical Air Embolism, Right Heart Catheter & PFO
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Paradoxical Air Embolism, PFO & Right Heart Catheter", C.acc2);
// PAE box
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.88, w: 4.7, h: 2.4, fill: { color: C.panel }, line: { color: C.acc2, width: 1.2 } });
sectionBar(s, "PARADOXICAL AIR EMBOLISM (PAE)", 0.88, C.acc2);
const paeItems = [
"PFO present in ~25% of adult population",
"Air crosses PFO when RAP > LAP (major VAE event → ↑RAP suddenly)",
"Consequences: cerebral air embolism, coronary artery air embolism → MI / stroke",
"PEEP & Valsalva release → ↑PAE risk (↑RAP-LAP gradient) – AVOID",
"Bubble echo / TCD preoperatively to screen for PFO",
"If PFO detected → prefer non-sitting positions (prone/lateral)",
"Jugular compression preferred over PEEP to ↑cerebral venous pressure",
"N₂O must be discontinued after any VAE event (diffuses into bubbles)",
];
s.addText(
paeItems.map((t, i) => ({ text: `▸ ${t}`, options: { color: i < 4 ? C.acc2 : C.light, fontSize: 11, breakLine: i < paeItems.length - 1 } })),
{ x: 0.42, y: 1.28, w: 4.4, h: 1.88, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
// Right heart catheter box
s.addShape(pres.ShapeType.rect, { x: 5.18, y: 0.88, w: 4.54, h: 2.4, fill: { color: C.panel }, line: { color: C.acc1, width: 1.2 } });
sectionBar(s, "RIGHT HEART AIR RETRIEVAL CATHETER", 0.88, C.acc1);
const rhcItems = [
["Indication:", "ALL sitting posterior fossa procedures; consider for non-sitting if high VAE risk"],
["Type:", "Multiorificed catheter preferred – better air retrieval"],
["Position:", "Tip 2 cm below SVC-RA junction (multi-orifice); 3 cm above (single-orifice)"],
["Confirmation:", "1. Intravascular ECG – biphasic P-wave = mid-RA position; 2. CXR; 3. TEE"],
["Technique (ECG):", "Fill CVP catheter with NaHCO₃ → connect to ECG lead II → advance until biphasic P-wave seen"],
["Access:", "Right IJV preferred; avoid if high ICP (head-down undesirable)"],
];
rhcItems.forEach(([label, text], i) => {
const y = 1.28 + i * 0.33;
s.addText([
{ text: label + " ", options: { bold: true, color: C.acc1, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 5.3, y, w: 4.3, h: 0.31, fontFace: "Calibri" });
});
// Pneumocephalus box
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 3.4, w: 9.44, h: 2.12, fill: { color: C.panel }, line: { color: C.acc3, width: 1.2 } });
sectionBar(s, "PNEUMOCEPHALUS", 3.4, C.acc3);
const pnItems = [
["Definition:", "Air enters subarachnoid / subdural space as CSF drains during surgery; ↑risk in sitting position and in cerebral atrophy"],
["Tension pneumocephalus:", "'Mount Fuji sign' on CT (bilateral frontal air collections compressing frontal lobes) → herniation / delayed awakening"],
["N₂O & pneumocephalus:", "N₂O diffuses into air-filled spaces → expanding pneumocephalus → avoid N₂O in sitting craniotomies"],
["Management:", "Discontinue N₂O; FiO₂ 1.0 for 30 min pre-closure; needle aspiration if tension pneumocephalus; dural watertight closure"],
["Prevention:", "Minimize CSF loss; ensure dural closure is watertight; preplanning for N₂O avoidance"],
];
pnItems.forEach(([label, text], i) => {
const y = 3.8 + i * 0.34;
s.addText([
{ text: label + " ", options: { bold: true, color: C.acc3, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 10.5 } },
], { x: 0.42, y, w: 9.1, h: 0.32, fontFace: "Calibri" });
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 7 – Monitoring
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Intraoperative Monitoring", C.acc1);
// Standard monitors
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.88, w: 4.6, h: 2.0, fill: { color: C.panel }, line: { color: C.acc4, width: 1 } });
sectionBar(s, "STANDARD MONITORS (ALL CRANIOTOMIES)", 0.88, C.acc4);
const std = [
"5-lead ECG with ST analysis",
"SpO₂, ETCO₂ (PaCO₂–ETCO₂ gradient must be checked)",
"Intra-arterial BP – transducer zeroed at EAC level (≈ Circle of Willis) for CPP calculation",
"Urine output (Foley catheter – diuretics used)",
"Temperature (core) – oesophageal or bladder",
"NMJ monitoring (TOF) – unaffected side if hemiparesis",
];
s.addText(
std.map((t, i) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 11, breakLine: i < std.length - 1 } })),
{ x: 0.42, y: 1.28, w: 4.35, h: 1.5, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
// Posterior fossa specific
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 0.88, w: 4.62, h: 2.0, fill: { color: C.panel }, line: { color: C.acc2, width: 1 } });
sectionBar(s, "POSTERIOR FOSSA-SPECIFIC MONITORS", 0.88, C.acc2);
const pfm = [
["Precordial Doppler:", "Right sternal border 2nd–4th ICS; sensitive VAE detector – MANDATORY for sitting"],
["TEE:", "Gold standard for VAE + PAE + PFO detection; beat-to-beat haemodynamics"],
["Right heart catheter:", "Air retrieval; CVP monitoring; multiorificed at SVC-RA junction"],
["ICP monitor:", "EVD or intraparenchymal; ventricular drain also allows CSF drainage"],
["BAEP:", "Brainstem auditory evoked potentials – CN VIII monitoring in acoustic neuroma surgery"],
["EMG (CN VII):", "Facial nerve monitoring; requires incomplete NMB (avoid full paralysis)"],
];
pfm.forEach(([label, text], i) => {
const y = 1.28 + i * 0.28;
s.addText([
{ text: label + " ", options: { bold: true, color: C.acc2, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 10.5 } },
], { x: 5.22, y, w: 4.4, h: 0.26, fontFace: "Calibri" });
});
// Blood pressure transducer note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 2.98, w: 9.44, h: 0.5, fill: { color: "1A1000" }, line: { color: C.acc3, width: 1 } });
s.addText("★ Arterial pressure transducer MUST be zeroed at the level of the external auditory canal (EAC) in sitting patients. BP measured at arm needs hydrostatic correction (0.77 mmHg per cm height difference).",
{ x: 0.42, y: 2.98, w: 9.1, h: 0.5, fontSize: 11.5, color: C.acc3, fontFace: "Calibri", italic: true, valign: "middle" });
// Neuromonitoring table
sectionBar(s, "NEUROPHYSIOLOGICAL MONITORING SUMMARY", 3.56, C.acc1);
const neuro = [
["BAEP", "CN VIII", "Acoustic neuroma", "Amplitude ↓ or latency ↑ I↔V → surgeon warned"],
["EMG (CN VII)", "Facial nerve", "Acoustic neuroma / MVD VII", "Free-run or triggered EMG; no full NMB"],
["SSEP", "Sensory cortex / dorsal column", "Cerebellopontine tumours", "Monitors ischaemia of sensory pathways"],
["MEP", "Motor cortex / CST", "Eloquent cortex proximity", "Requires no NMB; intermittent bolus NMB only"],
["ICP monitoring", "CPP", "Hydrocephalus, ↑ICP", "Target CPP > 60 mmHg; EVD allows CSF drainage"],
];
neuro.forEach((row, i) => {
const y = 3.94 + i * 0.34;
const bg = i % 2 === 0 ? "081828" : "060E1E";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.34, fill: { color: bg } });
const ws = [1.2, 1.4, 2.2, 4.64];
const xs = [0.28, 1.48, 2.88, 5.08];
row.forEach((cell, j) => {
s.addText(cell, {
x: xs[j] + 0.05, y, w: ws[j] - 0.1, h: 0.34,
fontSize: 10.5, color: j === 0 ? C.acc1 : C.light, valign: "middle", fontFace: "Calibri",
});
});
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 8 – Anaesthetic Technique
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Anaesthetic Technique", C.acc3);
const phases = [
{
phase: "PRE-INDUCTION",
color: C.acc4,
points: [
"Secure large-bore IV access ×2; arterial line before induction (continuous BP monitoring)",
"Pre-oxygenation; have RSI drugs available if aspiration risk (CN IX/X palsy)",
"EVD insertion under LA if obstructive hydrocephalus with ↑ICP before GA",
"Pre-position Doppler probe on chest; confirm signal before positioning",
"Prepositioning IV fluid load 500 mL crystalloid before sitting position",
],
},
{
phase: "INDUCTION",
color: C.acc1,
points: [
"Goals: avoid ↑ICP, maintain CPP, obtund laryngoscopy response",
"Propofol (1.5–2 mg/kg) + fentanyl/remifentanil; etomidate if haemodynamically unstable",
"Lidocaine 1.5 mg/kg IV 90s before laryngoscopy to blunt ICP response",
"Rocuronium for intubation; RSI with ketamine+suxamethonium if gastric paresis",
"AVOID: ketamine alone (↑ICP), succinylcholine if spinal cord injury (hyperkalaemia)",
"Mannitol 0.5–1 g/kg for ↑ICP; furosemide as adjunct; check glucose before",
],
},
{
phase: "MAINTENANCE",
color: C.acc3,
points: [
"TIVA (propofol + remifentanil) preferred: minimal effect on evoked potentials, rapid emergence, ↓PONV",
"Or: low-dose volatile (≤0.5 MAC sevo/iso) + opioid infusion; avoid desflurane (brainstem stimulation risk)",
"AVOID N₂O: ↑pneumocephalus, expands VAE bubbles, ↑PONV",
"Normocarbia (PaCO₂ 35–40 mmHg); measure PaCO₂-ETCO₂ gradient; avoid hypocapnia (<35)",
"NMB: vecuronium / rocuronium; incomplete NMB for CN EMG monitoring",
"Mild hypothermia (35–36°C) may offer neuroprotection; strict normoglycaemia (glucose < 180 mg/dL)",
],
},
];
phases.forEach((p, i) => {
const y = 0.88 + i * 1.6;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 1.52, fill: { color: C.panel }, line: { color: p.color, width: 1.2 } });
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 1.45, h: 1.52, fill: { color: p.color } });
s.addText(p.phase, { x: 0.28, y, w: 1.45, h: 1.52, fontSize: 13, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addText(
p.points.map((t, j) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 10.5, breakLine: j < p.points.length - 1 } })),
{ x: 1.82, y: y + 0.08, w: 7.76, h: 1.36, fontFace: "Calibri", lineSpacingMultiple: 1.15 }
);
});
// Fluid management note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.58 - 0.66, w: 9.44, h: 0.5, fill: { color: "141400" }, line: { color: C.acc3, width: 0.8 } });
s.addText("Fluids: Glucose-FREE isotonic crystalloid (normal saline / PlasmaLyte). NO hypotonic solutions. Colloid/crystalloid mix if >½ blood volume replaced. Target euvolaemia. Mannitol ↑osmolality → check serum osmolality.",
{ x: 0.42, y: 5.58 - 0.66, w: 9.1, h: 0.5, fontSize: 10.5, color: C.acc3, fontFace: "Calibri", valign: "middle" });
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 9 – Brainstem Stimulation
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Brainstem Stimulation – Haemodynamic Responses", C.acc2);
// Intro
s.addText(
"Surgical manipulation near the floor of the 4th ventricle (pons/medulla) and extra-axial CN V during CPA surgery can produce dramatic cardiovascular responses. " +
"These are mediated by direct stimulation of vagal nuclei, reticular formation, and cardiovascular centres. " +
"The response serves as a WARNING of proximity to CN nuclei and respiratory centres — do NOT pharmacologically suppress without communicating with the surgeon.",
{ x: 0.38, y: 0.9, w: 9.2, h: 0.78, fontSize: 12, color: C.light, fontFace: "Calibri", lineSpacingMultiple: 1.2, italic: true }
);
// Response types table
sectionBar(s, "TYPES OF HAEMODYNAMIC RESPONSES", 1.74, C.acc2);
const responses = [
["Bradycardia + Hypotension", "Vagal (CN X) nucleus stimulation – most common", "Floor of 4th ventricle – medulla manipulation", "IV atropine (0.5–1 mg); alert surgeon IMMEDIATELY"],
["Bradycardia + Hypertension", "Trigeminocardiac reflex (TCR) – CN V stimulation at CPA", "CPA surgery, acoustic neuroma, MVD CN V", "Stop stimulation; atropine if bradycardia severe; surgeon pause"],
["Tachycardia + Hypertension", "Sympathetic activation; reticular formation stimulation", "Upper pons manipulation", "Deepen anaesthesia; β-blocker (esmolol); labetalol"],
["Ventricular dysrhythmias", "Direct excitation of cardiac centres, vagal / sympathetic imbalance", "Any brainstem manipulation", "Stop stimulation; antiarrhythmics if sustained; alert surgeon"],
];
responses.forEach((row, i) => {
const y = 2.12 + i * 0.73;
const bg = i % 2 === 0 ? "1A0800" : "0F0500";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.7, fill: { color: bg }, line: { color: "2A1000", width: 0.5 } });
badge(s, row[0], 0.28, y, 2.1, 0.7, i === 0 ? C.acc2 : i === 1 ? C.orange : i === 2 ? C.purple : C.red, C.white);
s.addText(row[1], { x: 2.42, y, w: 2.3, h: 0.7, fontSize: 10.5, color: C.light, valign: "middle", fontFace: "Calibri" });
s.addText(row[2], { x: 4.72, y, w: 2.2, h: 0.7, fontSize: 10.5, color: C.acc4, valign: "middle", fontFace: "Calibri" });
s.addText(row[3], { x: 6.92, y, w: 2.8, h: 0.7, fontSize: 10.5, color: C.green, valign: "middle", fontFace: "Calibri" });
});
// Column headers
const hdrs = ["RESPONSE", "MECHANISM", "LOCATION", "MANAGEMENT"];
const hxs = [0.28, 2.42, 4.72, 6.92];
const hws = [2.1, 2.3, 2.2, 2.8];
hdrs.forEach((h, j) => {
s.addText(h, { x: hxs[j], y: 2.12 - 0.3, w: hws[j], h: 0.3, fontSize: 10.5, bold: true, color: C.acc3, fontFace: "Calibri" });
});
// Implications box
sectionBar(s, "EXTUBATION & POSTOPERATIVE CONSIDERATIONS", 5.06, C.acc1);
s.addText(
"Cranial nerve dysfunction (CN IX, X, XII) after posterior fossa surgery → loss of airway patency, aspiration risk. " +
"Swelling near brainstem → impaired respiratory drive & consciousness. " +
"Posterior fossa is a SMALL SPACE — even minor oedema → obstructive hydrocephalus, transtentorial herniation. " +
"Decision to extubate: confirm intact gag/swallow (CN IX/X), normal resp. pattern, GCS ≥ 13, haemodynamic stability. " +
"If in doubt → leave intubated & transfer to ICU for monitoring.",
{ x: 0.38, y: 5.44, w: 9.2, h: 0.3, fontSize: 11, color: C.light, fontFace: "Calibri" }
);
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 10 – Emergence, Extubation & Post-op Care
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Emergence, Extubation & Post-operative Care", C.acc1);
const sections = [
{
title: "EMERGENCE GOALS",
color: C.acc1,
x: 0.28, y: 0.88, w: 4.6, h: 2.22,
items: [
"Smooth, rapid awakening – immediate neurological assessment",
"AVOID coughing/straining – risk of intracranial haemorrhage, ↑ICP",
"TIVA with remifentanil facilitates rapid, controllable emergence",
"Dexmedetomidine 0.2–0.7 mcg/kg/hr → smooth emergence without respiratory depression",
"Reverse NMB (sugammadex / neostigmine); confirm TOF ratio ≥ 0.9",
"Lidocaine 1 mg/kg IV before extubation to blunt cough reflex",
],
},
{
title: "EXTUBATION CRITERIA (POSTERIOR FOSSA)",
color: C.acc2,
x: 5.1, y: 0.88, w: 4.62, h: 2.22,
items: [
"GCS ≥ 13; following commands",
"Intact gag / cough / swallow reflex (CN IX, X, XII function)",
"Regular, adequate spontaneous respiratory effort",
"Haemodynamic stability; no ongoing surgical bleeding",
"Absent / minimal brainstem signs",
"If ANY doubt → DELAY extubation; ICU with elective ventilation",
],
},
{
title: "SPECIFIC COMPLICATIONS TO ANTICIPATE",
color: C.acc2,
x: 0.28, y: 3.2, w: 4.6, h: 2.35,
items: [
["Macroglossia:", "Tongue ischaemia from IJV compression by neck flexion → rapid post-extubation oedema → airway obstruction. Reintubation may be needed. Avoid unnecessary oral appliances."],
["Quadriplegia:", "Cervical cord ischaemia from extreme neck flexion (esp. in cervical stenosis). Pre-op X-ray; maintain ≥2 fingerbreadths chin-sternum distance."],
["Delayed awakening:", "Pneumocephalus, haematoma, brainstem swelling, metabolic – check CT immediately."],
["Posterior fossa haematoma:", "Small space → rapid deterioration. Low threshold for urgent re-exploration."],
],
},
{
title: "POST-OPERATIVE ICU CARE",
color: C.acc3,
x: 5.1, y: 3.2, w: 4.62, h: 2.35,
items: [
["Monitoring:", "Hourly neuro obs, GCS, pupillary responses, cranial nerve testing (IX, X, XII)"],
["BP management:", "Target SBP 120–160 mmHg; avoid hypertension (re-bleeding) and hypotension (CPP)"],
["Pain/PONV:", "Dexamethasone + ondansetron; IV opioids titrated carefully; head-up 30°"],
["CSF drainage:", "EVD – zero at EAC; drain CSF to ↓ICP; watch for infection"],
["Antibiotics:", "Broad-spectrum cover for posterior fossa (ENT flora if IAM involved)"],
],
},
];
sections.forEach((sec) => {
s.addShape(pres.ShapeType.rect, { x: sec.x, y: sec.y, w: sec.w, h: sec.h, fill: { color: C.panel }, line: { color: sec.color, width: 1.2 } });
sectionBar(s, sec.title, sec.y, sec.color);
if (Array.isArray(sec.items[0])) {
sec.items.forEach(([label, text], i) => {
const y = sec.y + 0.4 + i * 0.46;
s.addText([
{ text: label + " ", options: { bold: true, color: sec.color, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 10.5 } },
], { x: sec.x + 0.12, y, w: sec.w - 0.2, h: 0.44, fontFace: "Calibri", lineSpacingMultiple: 1.1 });
});
} else {
s.addText(
sec.items.map((t, i) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 10.5, breakLine: i < sec.items.length - 1 } })),
{ x: sec.x + 0.12, y: sec.y + 0.42, w: sec.w - 0.2, h: sec.h - 0.48, fontFace: "Calibri", lineSpacingMultiple: 1.2 }
);
}
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 11 – Special Procedures (Acoustic Neuroma / MVD / Chiari)
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Special Procedures in the Posterior Fossa", C.acc3);
const procs = [
{
name: "ACOUSTIC NEUROMA (Vestibular Schwannoma)",
color: C.acc4,
points: [
"Arises from CN VIII (superior vestibular branch) in internal auditory meatus / CPA angle",
"Position: semilateral (park bench) or sitting; retrosigmoid or translabyrinthine approach",
"CN VII monitoring: facial EMG MANDATORY → INCOMPLETE NMB only (use infusion, avoid boluses)",
"BAEP (brainstem auditory evoked potentials): monitors CN VIII integrity during dissection",
"VAE risk: significant with retrosigmoid approach; Doppler + right heart catheter",
"Post-op: facial weakness (CN VII), dysphagia (CN IX/X), assess before extubation",
],
},
{
name: "MICROVASCULAR DECOMPRESSION (MVD – Jannetta Procedure)",
color: C.purple,
points: [
"Indications: Trigeminal neuralgia (CN V), hemifacial spasm (CN VII), glossopharyngeal neuralgia (CN IX)",
"Approach: Retromastoid craniectomy at angle of transverse + sigmoid sinuses → CPA exploration",
"Position: lateral (park bench) or sitting; small craniectomy",
"Trigeminocardiac reflex (TCR): bradycardia / asystole on CN V manipulation → atropine ready",
"CN V stimulation responses: monitor ECG continuously; alert surgeon to CV changes",
"VAE: still possible (emissary veins, venous sinusoids in suboccipital bone) – Doppler recommended",
],
},
{
name: "CHIARI MALFORMATION DECOMPRESSION",
color: C.acc1,
points: [
"Type I: Cerebellar tonsillar herniation through foramen magnum → hindbrain decompression (suboccipital craniectomy ± C1 laminectomy ± duraplasty)",
"Type II: Arnold-Chiari – associated with MMC, hydrocephalus, syringomyelia",
"Airway: careful neck extension – avoid extremes (may worsen tonsillar herniation); fiberoptic intubation if severe myelopathy",
"Position: prone or sitting; prone safer for associated cervical cord compromise",
"ICP: usually ↑; pre-op CSF drainage may be required; EVD if obstructive hydrocephalus",
"Post-op: monitor respiratory pattern (central apnoea risk); ICU observation required",
],
},
];
procs.forEach((p, i) => {
const y = 0.88 + i * 1.57;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 1.5, fill: { color: C.panel }, line: { color: p.color, width: 1.2 } });
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.32, fill: { color: p.color } });
s.addText(p.name, { x: 0.38, y, w: 9.2, h: 0.32, fontSize: 13, bold: true, color: C.bg, valign: "middle", margin: 0 });
s.addText(
p.points.map((t, j) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 10.5, breakLine: j < p.points.length - 1 } })),
{ x: 0.42, y: y + 0.36, w: 9.1, h: 1.1, fontFace: "Calibri", lineSpacingMultiple: 1.12 }
);
});
}
// ══════════════════════════════════════════════════════════════════════════
// SLIDE 12 – Summary
// ══════════════════════════════════════════════════════════════════════════
{
const s = navySlide();
slideTitle(s, "Summary – Key Points for MD Anaesthesia", C.acc3);
const keys = [
[C.acc1, "Anatomy", "Posterior fossa = brainstem (pons, medulla) + cerebellum + 4th ventricle + CN V–XII. Small space → herniation with minimal oedema."],
[C.acc3, "Pre-op", "Review CT/MRI for ↑ICP, hydrocephalus, midline shift. Screen for PFO (bubble echo). Assess CN IX/X for aspiration. EVD if obstructive hydrocephalus."],
[C.acc4, "Position", "Sitting = best access but highest risk (VAE, PAE, pneumocephalus, macroglossia, quadriplegia). Prefer lateral/prone if PFO or haemodynamic instability."],
[C.acc2, "VAE", "Mandatory: precordial Doppler + right heart catheter (sitting). TEE gold standard. Management: flood field → jugular compression → aspirate RHC → stop N₂O → FiO₂ 1.0 → pressors."],
[C.acc2, "PAE", "25% adults have PFO. Major VAE → ↑RAP → air crosses to left heart → cerebral/coronary embolism. Avoid PEEP. Discontinue N₂O after any VAE."],
[C.purple, "Technique", "TIVA (propofol + remifentanil) preferred. AVOID N₂O. Incomplete NMB for CN EMG. Transducer at EAC. Normocapnia. Glucose-free isotonic fluids."],
[C.orange, "Brainstem", "CV responses (bradycardia, hypotension, dysrhythmias) during manipulation = WARNING signs. Communicate with surgeon before treating pharmacologically."],
[C.green, "Emergence", "Smooth rapid awakening. Assess CN IX/X/XII before extubation. Delay extubation if doubt. ICU post-op. Watch for: macroglossia, haematoma, pneumocephalus, delayed awakening."],
];
keys.forEach(([col, label, text], i) => {
const row = Math.floor(i / 2);
const ci = i % 2;
const x = 0.28 + ci * 4.82;
const y = 0.88 + row * 1.08;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.7, h: 1.0, fill: { color: C.panel }, line: { color: col, width: 1.0 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.9, h: 1.0, fill: { color: col } });
s.addText(label, { x, y, w: 0.9, h: 1.0, fontSize: 11, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addText(text, { x: x + 0.94, y: y + 0.06, w: 3.7, h: 0.86, fontSize: 10.5, color: C.light, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
});
// Sources bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.42, w: 10, h: 0.19, fill: { color: "040C18" } });
s.addText("Sources: Miller's Anesthesia 10e (Ch. 53) | Morgan & Mikhail Clinical Anaesthesiology 7e (Ch. 27) | Barash Clinical Anesthesia 9e",
{ x: 0.2, y: 5.42, w: 9.6, h: 0.19, fontSize: 9, color: C.grey, align: "center", valign: "middle", margin: 0 });
}
// ══════════════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/pcf-anaesthesia-ppt/PCF_Surgery_MD_Anaesthesia.pptx" })
.then(() => console.log("PPT created successfully."))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/pcf-anaesthesia-ppt && node create_ppt.js 2>&1
ls -lh /home/daytona/workspace/pcf-anaesthesia-ppt/PCF_Surgery_MD_Anaesthesia.pptx
PCF Surgery MD Anaesthesia
Presentation · PPTX
| # | Slide | Key Content |
|---|---|---|
| 1 | Title | Topic, dept, full lecture outline |
| 2 | Anatomy of the PCF | Bony boundaries, foramina, neural structures, common pathologies (tumours, vascular, CN disorders, CSF lesions) |
| 3 | Pre-operative Assessment | CT/MRI review, ICP status, PFO screening, airway (cervical stenosis, aspiration risk), medications |
| 4 | Patient Positioning | Sitting vs Prone vs Lateral — advantages, hazards, indications, contraindications |
| 5 | Venous Air Embolism (VAE) | Pathophysiology, monitoring sensitivity ladder (TEE → Doppler → ETCO₂ → BP), step-by-step acute management |
| 6 | PAE, Right Heart Catheter & Pneumocephalus | PFO risk, PEEP avoidance, RHC positioning technique (biphasic P-wave ECG method), N₂O in pneumocephalus |
| 7 | Intraoperative Monitoring | Standard + posterior fossa-specific (Doppler, TEE, BAEP, EMG CN VII, EVD); neuromonitoring table; BP transducer zeroing |
| 8 | Anaesthetic Technique | Pre-induction → Induction → Maintenance (TIVA preferred, avoid N₂O/desflurane, fluid management) |
| 9 | Brainstem Stimulation | 4 cardiovascular response types (bradycardia/hypotension, TCR, sympathetic surge, dysrhythmias) — mechanism, location, management |
| 10 | Emergence & Post-op Care | Smooth emergence goals, extubation criteria, macroglossia, quadriplegia, delayed awakening, ICU monitoring |
| 11 | Special Procedures | Acoustic neuroma (CN VII EMG), MVD/Jannetta (TCR, VAE risk), Chiari malformation decompression |
| 12 | Summary | 8-point grid of all key concepts for exam revision |
Myasthenia Gravis patient posted for thymectomy surgery -anaesthetic considerations, complications, icu care and perioperative management in MD anesthesia ppt
mkdir -p /home/daytona/workspace/mg-thymectomy-ppt && echo "dir ready"
~/mg-thymectomy-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "MD Anaesthesiology";
pres.title = "Myasthenia Gravis – Thymectomy Anaesthetic Management";
// ── COLOUR PALETTE ────────────────────────────────────────────────────────
const C = {
bg: "080F1D",
panel: "0D1B30",
panel2: "091525",
a1: "27C4A0", // teal-green (primary)
a2: "E8714A", // coral-orange (danger / warning)
a3: "F5C542", // gold (highlight)
a4: "6BAED6", // sky-blue (info)
pur: "9C6FD4", // purple
white: "FFFFFF",
light: "D6EAF8",
grey: "90A4AE",
green: "4CAF50",
red: "E53935",
orange: "FF9800",
};
function slide() {
const s = pres.addSlide();
s.background = { color: C.bg };
return s;
}
function hdr(s, text, color = C.a1) {
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.72, fill: { color: C.panel } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0.72, w: 10, h: 0.055, fill: { color: color } });
s.addText(text, { x: 0.32, y: 0.07, w: 9.4, h: 0.58, fontSize: 24, bold: true, color, fontFace: "Calibri", valign: "middle", margin: 0 });
}
function bar(s, text, x, y, w, color = C.a1) {
s.addShape(pres.ShapeType.rect, { x, y, w, h: 0.33, fill: { color } });
s.addText(text, { x: x + 0.08, y, w: w - 0.12, h: 0.33, fontSize: 12, bold: true, color: C.bg, valign: "middle", margin: 0 });
}
function pill(s, text, x, y, w, color) {
s.addShape(pres.ShapeType.roundRect, { x, y, w, h: 0.3, fill: { color }, line: { color }, rectRadius: 0.05 });
s.addText(text, { x, y, w, h: 0.3, fontSize: 10.5, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
}
function box(s, x, y, w, h, borderColor) {
s.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color: C.panel }, line: { color: borderColor, width: 1.2 } });
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: "050C18" };
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.a1 } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0.1, w: 0.18, h: 5.525, fill: { color: C.a1 } });
s.addText("Myasthenia Gravis", { x: 0.45, y: 0.4, w: 9.2, h: 0.92, fontSize: 42, bold: true, color: C.white, fontFace: "Calibri" });
s.addText("Thymectomy – Anaesthetic Considerations,\nComplications, Perioperative & ICU Management", {
x: 0.45, y: 1.3, w: 9.2, h: 0.9, fontSize: 19, color: C.a1, fontFace: "Calibri", italic: true, lineSpacingMultiple: 1.3,
});
s.addShape(pres.ShapeType.rect, { x: 0.45, y: 2.38, w: 3.6, h: 0.44, fill: { color: C.a1 } });
s.addText("MD Anaesthesiology", { x: 0.45, y: 2.38, w: 3.6, h: 0.44, fontSize: 15, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 4.25, y: 2.38, w: 4.4, h: 0.44, fill: { color: C.a3 } });
s.addText("Department of Anaesthesiology", { x: 4.25, y: 2.38, w: 4.4, h: 0.44, fontSize: 15, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.rect, { x: 0.45, y: 3.06, w: 9.2, h: 2.3, fill: { color: "0C1A2E" }, line: { color: C.a1, width: 1 } });
s.addText("Lecture Outline", { x: 0.65, y: 3.12, w: 3, h: 0.34, fontSize: 14, bold: true, color: C.a3, fontFace: "Calibri" });
const ol = [
"1. Pathophysiology, Classification & Clinical Features",
"2. Medical Management & Drugs Affecting MG",
"3. Pre-operative Assessment & Optimisation",
"4. Anaesthetic Technique – Induction, Maintenance, NMB",
"5. Thymectomy Surgical Approaches & Airway Management",
"6. Intraoperative Complications",
"7. Myasthenic Crisis vs Cholinergic Crisis",
"8. Post-operative & ICU Management",
];
s.addText(
ol.map((t, i) => ({ text: t, options: { color: i < 4 ? C.light : C.a1, fontSize: 12, breakLine: i < ol.length - 1 } })),
{ x: 0.65, y: 3.5, w: 8.8, h: 1.75, fontFace: "Calibri", lineSpacingMultiple: 1.22 }
);
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.45, w: 10, h: 0.18, fill: { color: C.a2 } });
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 2 – Pathophysiology & Classification
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Pathophysiology & Classification of Myasthenia Gravis");
// Pathophysiology
box(s, 0.28, 0.88, 9.44, 1.82, C.a1);
bar(s, "PATHOPHYSIOLOGY", 0.28, 0.88, 9.44, C.a1);
s.addText([
{ text: "Autoimmune disorder", options: { bold: true, color: C.a1, fontSize: 12.5 } },
{ text: " – antibodies against postsynaptic nicotinic ACh receptors (nAChR) at the neuromuscular junction (NMJ) → receptor destruction & ↓number\n", options: { color: C.light, fontSize: 12 } },
{ text: "Result:", options: { bold: true, color: C.a3, fontSize: 12 } },
{ text: " Fatigable muscle weakness that worsens with repetitive activity and improves with rest\n", options: { color: C.light, fontSize: 12 } },
{ text: "Antibodies:", options: { bold: true, color: C.a3, fontSize: 12 } },
{ text: " Anti-AChR (85%), anti-MuSK (5–10%), anti-LRP4 (<5%), seronegative (~10%)\n", options: { color: C.light, fontSize: 12 } },
{ text: "Thymus:", options: { bold: true, color: C.a3, fontSize: 12 } },
{ text: " Role in 75% – thymic hyperplasia (65%) or thymoma (10–15%); thymus contains myoid cells with AChR epitopes → aberrant immune activation", options: { color: C.light, fontSize: 12 } },
], { x: 0.42, y: 1.24, w: 9.1, h: 1.4, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
// Osserman Classification
box(s, 0.28, 2.82, 9.44, 2.72, C.a3);
bar(s, "MODIFIED OSSERMAN CLASSIFICATION (Clinical Staging)", 0.28, 2.82, 9.44, C.a3);
const osserman = [
["Class I", "Ocular only", "Ptosis, diplopia; no other muscle involvement", "Good", C.green],
["Class IIa", "Mild generalised", "Mild limb/axial weakness; no respiratory involvement; slow progression", "Good", C.green],
["Class IIb", "Moderate generalised", "Moderate limb weakness + bulbar (dysphagia, dysarthria); no respiratory crisis", "Fair", C.orange],
["Class III", "Acute fulminating", "Rapid onset severe weakness; respiratory involvement; high mortality", "Poor", C.red],
["Class IV", "Late severe", "Severe weakness ≥ 2 years after Class I/II onset; high risk of crisis", "Poor", C.red],
["Class V", "Muscle atrophy", "Marked wasting; ventilator-dependent; terminal stage", "Very poor", C.red],
];
osserman.forEach(([cls, name, features, prog, col], i) => {
const y = 3.22 + i * 0.38;
const bg = i % 2 === 0 ? "0D1E10" : "091610";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.38, fill: { color: bg } });
pill(s, cls, 0.30, y + 0.04, 0.82, col);
s.addText(name, { x: 1.18, y, w: 1.5, h: 0.38, fontSize: 11, bold: true, color: col, valign: "middle", fontFace: "Calibri" });
s.addText(features, { x: 2.72, y, w: 5.4, h: 0.38, fontSize: 11, color: C.light, valign: "middle", fontFace: "Calibri" });
s.addText(prog, { x: 8.12, y, w: 1.58, h: 0.38, fontSize: 11, bold: true, color: col, valign: "middle", align: "center", fontFace: "Calibri" });
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 3 – Clinical Features & Diagnosis
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Clinical Features, Diagnosis & Medical Management", C.a4);
// Clinical features
box(s, 0.28, 0.88, 4.6, 2.7, C.a4);
bar(s, "CLINICAL FEATURES", 0.28, 0.88, 4.6, C.a4);
const cf = [
["Ocular (90%):", "Ptosis, diplopia – typically first presentation"],
["Bulbar:", "Dysarthria, dysphagia, difficulty chewing – aspiration risk"],
["Limb:", "Proximal weakness (neck, shoulder) – worse with exertion"],
["Respiratory:", "Dyspnoea, ↓respiratory reserve – crisis risk"],
["Character:", "Fatigable – worsens during day; improves with rest (pathognomonic)"],
["Precipitants:", "Infection, surgery, stress, pregnancy, drugs, heat"],
];
cf.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.a4, fontSize: 12 } },
{ text, options: { color: C.light, fontSize: 11.5 } },
], { x: 0.42, y: 1.3 + i * 0.38, w: 4.3, h: 0.36, fontFace: "Calibri" });
});
// Diagnosis
box(s, 5.1, 0.88, 4.62, 2.7, C.pur);
bar(s, "DIAGNOSIS", 5.1, 0.88, 4.62, C.pur);
const dx = [
["Clinical:", "Ice-pack test (ptosis improves with cooling)"],
["Edrophonium test:", "IV edrophonium 10 mg → transient strength improvement (Tensilon test)"],
["Serological:", "Anti-AChR antibodies (85% sensitivity); anti-MuSK in seronegative"],
["Electrophysiology:", "Repetitive nerve stimulation (RNS) – decremental response >10% at 3 Hz; SFEMG (most sensitive – jitter ↑)"],
["Imaging:", "CT chest – thymoma detection (mandatory in all cases)"],
["PFTs:", "VC, FEV₁, FVC, NIF – baseline + pre-op; VC < 4 mL/kg = ↑risk"],
];
dx.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.pur, fontSize: 12 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 5.22, y: 1.3 + i * 0.38, w: 4.4, h: 0.36, fontFace: "Calibri" });
});
// Medical treatment table
box(s, 0.28, 3.68, 9.44, 1.85, C.a2);
bar(s, "MEDICAL TREATMENT", 0.28, 3.68, 9.44, C.a2);
const drugs = [
["Pyridostigmine\n(Mestinon)", "AChE inhibitor; ↑ACh at NMJ", "60 mg q4–6h orally; max 600 mg/day", "Cholinergic crisis if overdose; ↑secretions (SLUDGE); bradycardia"],
["Corticosteroids\n(Prednisone)", "Immunosuppression", "Starting dose 10–20 mg/d ↑gradually", "Initial exacerbation of weakness; osteoporosis; hyperglycaemia"],
["Azathioprine", "Suppress B & T cells", "2–3 mg/kg/d; steroid-sparing", "Leukopenia; hepatotoxicity; slow onset (6–12 mo)"],
["IVIG / Plasmapheresis", "Remove circulating antibodies", "IVIG 2 g/kg over 5 days; Pheresis ×5 sessions", "Preop optimisation; myasthenic crisis; fastest response"],
];
drugs.forEach(([drug, moa, dose, se], i) => {
const y = 4.06 + i * 0.35;
const bg = i % 2 === 0 ? "1A0A00" : "120700";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.35, fill: { color: bg } });
s.addText(drug, { x: 0.35, y, w: 1.6, h: 0.35, fontSize: 10, bold: true, color: C.a2, valign: "middle", fontFace: "Calibri" });
s.addText(moa, { x: 1.95, y, w: 1.9, h: 0.35, fontSize: 10.5, color: C.light, valign: "middle", fontFace: "Calibri" });
s.addText(dose, { x: 3.85, y, w: 2.6, h: 0.35, fontSize: 10.5, color: C.a3, valign: "middle", fontFace: "Calibri" });
s.addText(se, { x: 6.45, y, w: 3.2, h: 0.35, fontSize: 10, color: C.light, valign: "middle", fontFace: "Calibri" });
});
// Column headers
["Drug / Class", "Mechanism", "Dose", "Side Effects / Notes"].forEach((h, j) => {
s.addText(h, { x: [0.35, 1.95, 3.85, 6.45][j], y: 4.06 - 0.26, w: [1.6, 1.9, 2.6, 3.2][j], h: 0.26, fontSize: 10, bold: true, color: C.a3, fontFace: "Calibri" });
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 4 – Drugs that Worsen MG & Pre-op Optimisation
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Drugs Worsening MG & Pre-operative Optimisation", C.a2);
// Drugs box
box(s, 0.28, 0.88, 4.6, 4.65, C.a2);
bar(s, "DRUGS THAT EXACERBATE / CONTRAINDICATED IN MG", 0.28, 0.88, 4.6, C.a2);
const drugGroups = [
["NMJ Blockers:", "Non-depolarising NMBs (↑↑sensitivity; prolonged blockade); Suxamethonium (resistance – need ↑dose; PHASE II block risk)"],
["Antibiotics:", "Aminoglycosides (gentamicin, streptomycin), quinolones (cipro), azithromycin, erythromycin, clarithromycin, tetracyclines, sulfonamides"],
["CV Drugs:", "β-Blockers, lidocaine, procainamide, quinidine, verapamil (calcium channel blockers)"],
["CNS Drugs:", "Chlorpromazine, lithium, phenytoin, benzodiazepines (excess), magnesium (↓ACh release)"],
["Immunomodulators:", "Corticosteroids may cause INITIAL exacerbation of weakness when first started"],
["Rheumatological:", "D-Penicillamine (can induce MG de novo), chloroquine"],
["Other:", "Iodinated contrast media, magnesium sulfate (blocks NMJ), neuromuscular blocking agents"],
];
drugGroups.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.a2, fontSize: 12 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 0.42, y: 1.3 + i * 0.58, w: 4.3, h: 0.55, fontFace: "Calibri", lineSpacingMultiple: 1.1 });
});
// Pre-op optimisation
box(s, 5.1, 0.88, 4.62, 4.65, C.a3);
bar(s, "PRE-OPERATIVE OPTIMISATION", 5.1, 0.88, 4.62, C.a3);
const preop = [
["Stabilise MG:", "Achieve best possible neuromuscular function before surgery. Target: no respiratory distress; able to swallow; adequate cough."],
["Pyridostigmine:", "Continue until morning of surgery (some prefer to omit day of surgery to ↓secretions – discuss with neurologist). Do NOT abruptly stop."],
["Plasmapheresis:", "5 sessions over 10–14 days preoperatively for moderate-severe disease (Class IIb, III, IV) → reduces AChR antibody levels rapidly"],
["IVIG:", "2 g/kg over 5 days if plasmapheresis not available or contraindicated (coagulopathy); effect in 1–2 weeks"],
["PFTs:", "Baseline spirometry: FVC, FEV₁, NIF (negative inspiratory force). VC < 4 mL/kg = likely postop ventilation. NIF < -25 cm H₂O = high risk."],
["Steroids:", "Continue perioperatively; stress dose hydrocortisone 100 mg IV at induction if on long-term steroids"],
["CT chest:", "Confirm thymoma location, extent, vascular involvement (SVC/innominate vein compression)"],
["Predictors of\nPostop Ventilation:", "Disease duration >6 yrs, pulmonary disease, NIF < −25 cmH₂O, VC < 4 mL/kg, pyridostigmine dose >750 mg/day (Leventhal criteria)"],
];
preop.forEach(([label, text], i) => {
const y = 1.3 + i * 0.52;
s.addText([
{ text: label + " ", options: { bold: true, color: C.a3, fontSize: 11.5 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 5.22, y, w: 4.4, h: 0.5, fontFace: "Calibri", lineSpacingMultiple: 1.1 });
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 5 – Anaesthetic Technique
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Anaesthetic Technique for Thymectomy");
const phases = [
{
phase: "PREMEDICATION", color: C.a4,
pts: [
"Avoid opioids & benzodiazepines pre-op – respiratory depression catastrophic in MG",
"Glycopyrrolate (0.2 mg IM) to ↓secretions (pyridostigmine-induced); glycopyrrolate preferred over atropine (less CNS effects)",
"Continue pyridostigmine with sip of water; stress-dose steroids if on chronic therapy",
"Antacid prophylaxis (aspiration risk due to bulbar weakness) – ranitidine + metoclopramide",
],
},
{
phase: "INDUCTION", color: C.a1,
pts: [
"Goal: smooth induction, obtund laryngoscopy response, AVOID NMBs where possible",
"Propofol 1.5–2 mg/kg + remifentanil/fentanyl for intubation (propofol facilitates intubation without NMB at higher doses)",
"If NMB required: ROCURONIUM – use 10–20% of normal intubating dose (MG patients are EXQUISITELY sensitive to NDNMBs; even defasciculating dose can cause complete paralysis)",
"AVOID suxamethonium alone – resistance due to ↓AChR; need ↑dose → risk of prolonged Phase II block; depolarising block augmented by anticholinesterases",
"High-dose propofol (2.5–3 mg/kg) + remifentanil infusion allows intubation WITHOUT NMB – preferred strategy",
],
},
{
phase: "MAINTENANCE", color: C.a3,
pts: [
"TIVA (propofol + remifentanil) strongly preferred: minimal effect on NMJ monitoring, predictable offset, rapid emergence",
"Volatile agents (sevoflurane) acceptable but ↑bronchial secretions and may potentiate NMB",
"AVOID N₂O: ↑PONV (already high PONV risk from pyridostigmine); no role in this surgery",
"If NMB needed: vecuronium / atracurium / cisatracurium at 10–20% normal dose, guide by TOF quantitative monitoring",
"Quantitative NMJ monitoring MANDATORY (TOF-Watch or equivalent); target TOF ratio ≥ 0.9 before extubation",
"Normothermia (hypothermia ↑NMB duration); normocapnia; avoid hypomagnesaemia (Mg blocks NMJ)",
],
},
];
phases.forEach((p, i) => {
const y = 0.88 + i * 1.55;
box(s, 0.28, y, 9.44, 1.48, p.color);
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 1.55, h: 1.48, fill: { color: p.color } });
s.addText(p.phase, { x: 0.28, y, w: 1.55, h: 1.48, fontSize: 12, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addText(
p.pts.map((t, j) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 10.5, breakLine: j < p.pts.length - 1 } })),
{ x: 1.92, y: y + 0.08, w: 7.7, h: 1.32, fontFace: "Calibri", lineSpacingMultiple: 1.12 }
);
});
// Bottom note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.48 - 0.44, w: 9.44, h: 0.42, fill: { color: "180800" }, line: { color: C.a2, width: 0.8 } });
s.addText("★ KEY PRINCIPLE: Avoid NMBs if possible. If used → quantitative TOF monitoring mandatory. Sugammadex preferred reversal agent (16 mg/kg for profound rocuronium block). Neostigmine may precipitate cholinergic crisis.",
{ x: 0.42, y: 5.48 - 0.44, w: 9.1, h: 0.42, fontSize: 11, color: C.a2, fontFace: "Calibri", valign: "middle" });
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 6 – Surgical Approaches & Airway
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Thymectomy – Surgical Approaches & Airway Management", C.a3);
// Surgical approaches
box(s, 0.28, 0.88, 9.44, 2.42, C.a3);
bar(s, "SURGICAL APPROACHES", 0.28, 0.88, 9.44, C.a3);
const approaches = [
{
name: "Median Sternotomy\n(Open)", col: C.a2,
adv: "Complete thymic resection; best for large thymomas; good vascular access",
disadv: "Painful; long recovery; significant blood loss; lung retraction needed",
airway: "Standard ETT (left or right DLT if pleural space entered); supine",
},
{
name: "VATS\n(Video-assisted)", col: C.a1,
adv: "Minimally invasive; less pain; faster recovery; same long-term remission rates",
disadv: "Limited access for large tumours; OLV required",
airway: "Double lumen tube (DLT) for one-lung ventilation (OLV); lateral/semi-lateral position",
},
{
name: "Robotic-assisted\nThymectomy (RATS)", col: C.pur,
adv: "Best visualisation; precise dissection near SVC/great vessels; minimally invasive",
disadv: "Long setup; cost; CO₂ insufflation → haemodynamic effects",
airway: "DLT for OLV; may need bronchial blocker if DLT fails; prone to CO₂ mediastinal insufflation effects",
},
{
name: "Transcervical\nApproach", col: C.a4,
adv: "Limited incision; used for small glands/MG without thymoma",
disadv: "Limited exposure; not for thymoma",
airway: "Standard ETT; supine with neck extended",
},
];
approaches.forEach((a, i) => {
const x = 0.30 + i * 2.4;
const y = 1.28;
s.addShape(pres.ShapeType.rect, { x, y, w: 2.3, h: 1.88, fill: { color: "0A1A20" }, line: { color: a.col, width: 0.8 } });
s.addShape(pres.ShapeType.rect, { x, y, w: 2.3, h: 0.3, fill: { color: a.col } });
s.addText(a.name, { x, y, w: 2.3, h: 0.3, fontSize: 10.5, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addText([
{ text: "✓ ", options: { color: C.green, fontSize: 10.5, bold: true } },
{ text: a.adv + "\n", options: { color: C.light, fontSize: 10 } },
{ text: "✗ ", options: { color: C.red, fontSize: 10.5, bold: true } },
{ text: a.disadv + "\n", options: { color: C.light, fontSize: 10 } },
{ text: "Airway: ", options: { color: a.col, fontSize: 10, bold: true } },
{ text: a.airway, options: { color: C.light, fontSize: 10 } },
], { x: x + 0.06, y: y + 0.34, w: 2.2, h: 1.5, fontFace: "Calibri", lineSpacingMultiple: 1.15 });
});
// Airway management detail
box(s, 0.28, 3.4, 9.44, 2.12, C.a4);
bar(s, "AIRWAY MANAGEMENT PRINCIPLES", 0.28, 3.4, 9.44, C.a4);
const airwayPts = [
["Standard intubation:", "Propofol + remifentanil allows intubation WITHOUT NMB. If NMB needed: rocuronium 0.3 mg/kg (20% of standard dose) + quantitative TOF."],
["One-lung ventilation:", "Double-lumen tube (DLT) for VATS/RATS; confirm position with FOB. Left DLT preferred (longer left mainstem). Set ventilator: TV 4–5 mL/kg, PEEP 5 cmH₂O, FiO₂ 1.0."],
["SVC/great vessel risk:", "Large anterior mediastinal masses may cause SVC compression or cardiac compression in supine position → have patient sit up; awake intubation/fibreoptic technique if SVC syndrome"],
["Extubation:", "Extubate fully awake with sustained head lift ≥5 sec, TOF ratio ≥ 0.9, adequate NIF ≥ −25 cmH₂O, VC ≥ 4 mL/kg, SpO₂ ≥ 98% on FiO₂ 0.4. High threshold for delayed extubation."],
["Failed extubation plan:", "Have reintubation drugs ready; consider high-flow nasal O₂ or NIV as bridge post-extubation in borderline cases"],
];
airwayPts.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.a4, fontSize: 11.5 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 0.42, y: 3.8 + i * 0.36, w: 9.1, h: 0.34, fontFace: "Calibri" });
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 7 – Myasthenic Crisis vs Cholinergic Crisis
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Myasthenic Crisis vs Cholinergic Crisis", C.a2);
s.addText(
"Both present with INCREASING WEAKNESS and may require ventilatory support. Distinguishing them is CRITICAL as treatment is opposite.",
{ x: 0.38, y: 0.9, w: 9.2, h: 0.5, fontSize: 13, color: C.light, fontFace: "Calibri", italic: true }
);
// Comparison table
const rows = [
["Feature", "MYASTHENIC CRISIS", "CHOLINERGIC CRISIS"],
["Cause", "Insufficient ACh at NMJ\n(under-treatment / disease progression)", "Excess ACh at NMJ\n(anticholinesterase overdose)"],
["Precipitants", "Infection, surgery, stress, inadequate AChEI, drugs (Mg, AB)", "Excessive pyridostigmine dose (>750 mg/day)"],
["Muscle weakness", "↑Weakness with exertion; fatigue pattern", "↑Weakness; may resemble MG clinically"],
["Muscarinic features\n(SLUDGE)", "ABSENT (dry mouth, normal HR, no diarrhoea)", "PRESENT – Salivation, Lacrimation, Urination, Defaecation, GI cramps, Emesis; Bradycardia, miosis"],
["Fasciculations", "Absent", "Present (nicotinic overstimulation)"],
["Tensilon test\n(Edrophonium 10 mg IV)", "IMPROVEMENT in strength", "WORSENING of weakness (diagnostic)"],
["Treatment", "• Pyridostigmine dose ↑\n• Plasmapheresis / IVIG\n• Ventilatory support\n• Treat precipitating cause", "• STOP all anticholinesterases immediately\n• Atropine for muscarinic effects (1–2 mg IV)\n• Pralidoxime if severe\n• Ventilatory support (ICU)"],
];
const rowH = 0.52;
const colW = [1.5, 4.0, 3.94];
const colX = [0.28, 1.78, 5.78];
rows.forEach((row, i) => {
const y = 1.46 + i * rowH;
const bg = i === 0 ? "1A0800" : i % 2 === 0 ? "0D1200" : "080D00";
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: rowH, fill: { color: bg } });
row.forEach((cell, j) => {
const col = i === 0 ? C.a3 : j === 0 ? C.grey : j === 1 ? C.a1 : C.a2;
s.addText(cell, {
x: colX[j] + 0.04, y, w: colW[j] - 0.08, h: rowH,
fontSize: i === 0 ? 12 : 10.5, bold: i === 0 || j === 0,
color: col, valign: "middle", fontFace: "Calibri",
});
});
// Dividers
[1.78, 5.78].forEach(lx => {
s.addShape(pres.ShapeType.rect, { x: lx, y, w: 0.02, h: rowH, fill: { color: "2A2A2A" } });
});
});
// Bottom tip
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.58 - 0.5, w: 9.44, h: 0.48, fill: { color: "1A0000" }, line: { color: C.red, width: 0.8 } });
s.addText("⚠ If EQUIVOCAL – STOP all anticholinesterases; admit to ICU; provide ventilatory support. Do NOT give more pyridostigmine 'blindly'. Edrophonium test is confirmatory but must be done with atropine + resuscitation available.",
{ x: 0.42, y: 5.58 - 0.5, w: 9.1, h: 0.48, fontSize: 11, color: C.red, fontFace: "Calibri", valign: "middle" });
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 8 – Intraoperative Complications
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Intraoperative Complications", C.a2);
const comps = [
{
comp: "PROLONGED NMB / RESIDUAL PARALYSIS",
color: C.a2,
pts: [
"Most common concern – MG patients are EXQUISITELY sensitive to NDNMBs (10–20× more sensitive)",
"Even trace NMBs → significant weakness → respiratory failure post-extubation",
"Prevention: Quantitative TOF monitoring mandatory; minimum effective NMB dose; sugammadex preferred reversal",
"Sugammadex dose: 16 mg/kg for profound rocuronium block (0–1 twitch); 4 mg/kg for moderate; 2 mg/kg for shallow",
"AVOID neostigmine: AChE inhibitor → ↑ACh → potential cholinergic crisis in MG patients on pyridostigmine",
],
},
{
comp: "HAEMODYNAMIC INSTABILITY",
color: C.a3,
pts: [
"SVC syndrome (large anterior mediastinal thymoma) → SVC compression → ↓venous return → ↓CO → cardiovascular collapse on induction",
"Screening: pre-op CT to assess SVC involvement; positional symptoms (worse lying flat) suggest compression",
"Management: awake fibreoptic intubation; induction in semi-sitting position; femoral venous access; immediate cardiothoracic surgical backup",
"Haemorrhage: thymoma adherent to great vessels/pericardium → massive bleeding; cross-match 4 units; arterial line + CVP mandatory",
],
},
{
comp: "PHRENIC NERVE INJURY",
color: C.pur,
pts: [
"Phrenic nerves run along the pericardium adjacent to thymus → risk of division or traction injury",
"Bilateral injury → diaphragmatic paralysis → post-op respiratory failure requiring prolonged ventilation",
"Unilateral injury → ↓30% VC; better tolerated but ↑risk if contralateral lung disease",
"Intraoperative phrenic nerve monitoring (EMG) recommended for re-do surgery or invasive thymomas",
],
},
{
comp: "PNEUMOTHORAX / PLEURAL INJURY",
color: C.a4,
pts: [
"VATS/RATS: pleural space entered deliberately (OLV); ensure lung re-expands post-op under vision before closure",
"Open sternotomy: inadvertent pleural entry → insert chest drain; confirm bilateral air entry before extubation",
"Tension pneumothorax: ↓ BP + ↓SpO₂ + ↑airway pressures → needle decompression + chest drain",
],
},
];
comps.forEach((c, i) => {
const y = 0.88 + i * 1.18;
box(s, 0.28, y, 9.44, 1.12, c.color);
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 9.44, h: 0.3, fill: { color: c.color } });
s.addText(c.comp, { x: 0.38, y, w: 9.2, h: 0.3, fontSize: 13, bold: true, color: C.bg, valign: "middle", margin: 0 });
s.addText(
c.pts.map((t, j) => ({ text: `▸ ${t}`, options: { color: C.light, fontSize: 10.5, breakLine: j < c.pts.length - 1 } })),
{ x: 0.42, y: y + 0.34, w: 9.1, h: 0.74, fontFace: "Calibri", lineSpacingMultiple: 1.08 }
);
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 9 – Emergence & Extubation Criteria
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Emergence, Extubation Criteria & Post-op Respiratory Failure Prediction", C.a1);
// Extubation criteria
box(s, 0.28, 0.88, 4.6, 3.0, C.a1);
bar(s, "EXTUBATION CRITERIA", 0.28, 0.88, 4.6, C.a1);
const extub = [
["Consciousness:", "Fully awake; following commands; GCS 15"],
["Muscle strength:", "Sustained head lift ≥ 5 seconds; grip strength adequate; TOF ratio ≥ 0.9 (quantitative)"],
["Respiratory:", "SpO₂ ≥ 97% on FiO₂ ≤ 0.4; RR 12–20/min; adequate tidal volume"],
["NIF (Negative\nInspiratory Force):", "NIF ≥ −25 cm H₂O (more negative = better). NIF < −25 cmH₂O = HIGH RISK of extubation failure"],
["Vital capacity:", "VC ≥ 4 mL/kg ideal body weight. VC < 4 mL/kg = DO NOT EXTUBATE"],
["Temperature:", "Normothermic (≥ 36°C) – hypothermia prolongs NMB"],
["Secretions:", "Able to cough effectively; swallowing reflex present (CN IX/X)"],
["Haemodynamics:", "Stable BP and HR without vasopressor support"],
];
extub.forEach(([label, text], i) => {
s.addText([
{ text: label + " ", options: { bold: true, color: C.a1, fontSize: 11.5 } },
{ text, options: { color: C.light, fontSize: 11 } },
], { x: 0.42, y: 1.3 + i * 0.32, w: 4.3, h: 0.3, fontFace: "Calibri" });
});
// Leventhal criteria
box(s, 5.1, 0.88, 4.62, 3.0, C.a2);
bar(s, "LEVENTHAL CRITERIA – Predictors of Post-op Ventilation", 5.1, 0.88, 4.62, C.a2);
const leventhal = [
["1.", "Disease duration > 6 years"],
["2.", "Concomitant pulmonary disease (COPD / restrictive)"],
["3.", "NIF < −25 cm H₂O (i.e. −20, −15 cmH₂O)"],
["4.", "Vital capacity < 4 mL/kg body weight"],
["5.", "Pyridostigmine dose > 750 mg/day preoperatively"],
];
s.addText("Presence of any criteria = HIGH RISK for requiring postoperative mechanical ventilation after thymectomy. Inform patient & plan ICU admission.", {
x: 5.22, y: 1.3, w: 4.35, h: 0.56, fontSize: 11, color: C.a2, fontFace: "Calibri", italic: true,
});
leventhal.forEach(([num, text], i) => {
s.addText([
{ text: num + " ", options: { bold: true, color: C.a2, fontSize: 14 } },
{ text, options: { color: C.light, fontSize: 12 } },
], { x: 5.22, y: 1.92 + i * 0.38, w: 4.35, h: 0.36, fontFace: "Calibri" });
});
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 3.4 - 0.15, w: 4.62, h: 0.48, fill: { color: "200000" }, line: { color: C.red, width: 0.8 } });
s.addText("Score ≥3 criteria: Plan elective post-op ventilation; ICU admission; inform patient preoperatively", {
x: 5.22, y: 3.4 - 0.15, w: 4.42, h: 0.48, fontSize: 11, color: C.red, fontFace: "Calibri", valign: "middle",
});
// Post-op respiratory management
box(s, 0.28, 3.98, 9.44, 1.55, C.a3);
bar(s, "POST-OPERATIVE RESPIRATORY MANAGEMENT ALGORITHM", 0.28, 3.98, 9.44, C.a3);
s.addShape(pres.ShapeType.rect, { x: 0.35, y: 4.38, w: 2.1, h: 0.56, fill: { color: "1A1400" }, line: { color: C.a3, width: 0.8 } });
s.addText("No risk\nfactors", { x: 0.35, y: 4.38, w: 2.1, h: 0.56, fontSize: 12, bold: true, color: C.green, align: "center", valign: "middle", margin: 0 });
s.addText("→ Extubate in OR;\nMonitor 1h in PACU", { x: 0.35, y: 4.96, w: 2.1, h: 0.38, fontSize: 10.5, color: C.light, align: "center", fontFace: "Calibri" });
s.addShape(pres.ShapeType.rect, { x: 2.85, y: 4.38, w: 2.1, h: 0.56, fill: { color: "141200" }, line: { color: C.a3, width: 0.8 } });
s.addText("1–2 risk\nfactors", { x: 2.85, y: 4.38, w: 2.1, h: 0.56, fontSize: 12, bold: true, color: C.orange, align: "center", valign: "middle", margin: 0 });
s.addText("→ HDU/ICU; trial extubation;\nNIV/HFNO bridging if needed", { x: 2.85, y: 4.96, w: 2.1, h: 0.38, fontSize: 10.5, color: C.light, align: "center", fontFace: "Calibri" });
s.addShape(pres.ShapeType.rect, { x: 5.35, y: 4.38, w: 2.1, h: 0.56, fill: { color: "180A00" }, line: { color: C.a2, width: 0.8 } });
s.addText("≥3 risk\nfactors", { x: 5.35, y: 4.38, w: 2.1, h: 0.56, fontSize: 12, bold: true, color: C.a2, align: "center", valign: "middle", margin: 0 });
s.addText("→ Elective ICU; controlled\nventilation; wean gradually", { x: 5.35, y: 4.96, w: 2.1, h: 0.38, fontSize: 10.5, color: C.light, align: "center", fontFace: "Calibri" });
s.addShape(pres.ShapeType.rect, { x: 7.85, y: 4.38, w: 1.8, h: 0.56, fill: { color: "180000" }, line: { color: C.red, width: 0.8 } });
s.addText("Crisis\n(MC/CC)", { x: 7.85, y: 4.38, w: 1.8, h: 0.56, fontSize: 12, bold: true, color: C.red, align: "center", valign: "middle", margin: 0 });
s.addText("→ ICU; MV; IVIG/\nPlasmapheresis; stop AChEI", { x: 7.85, y: 4.96, w: 1.8, h: 0.38, fontSize: 10, color: C.light, align: "center", fontFace: "Calibri" });
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 10 – ICU Care & Post-operative Management
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "ICU Care & Post-operative Management", C.pur);
const icuSecs = [
{
title: "RESPIRATORY CARE (ICU)",
color: C.a1,
x: 0.28, y: 0.88, w: 4.6, h: 2.42,
items: [
["Ventilation goals:", "VC ≥ 15 mL/kg before weaning; NIF ≥ −25 cmH₂O; RR < 25/min; PaO₂ > 80 mmHg on FiO₂ ≤ 0.4"],
["Weaning:", "Gradual T-piece/PSV weaning; spontaneous breathing trial; avoid fatigue (short SBTs – 30 min initially)"],
["NIV / HFNO:", "BiPAP bridge after early extubation if borderline; HFNO (40–60 L/min) reduces reintubation risk"],
["Secretion clearance:", "Chest physiotherapy, incentive spirometry; suction; nebulised hypertonic saline; early mobilisation"],
["Tracheostomy:", "Consider if prolonged ventilation anticipated (>7 days) or myasthenic crisis unresponsive to treatment"],
],
},
{
title: "MEDICATIONS IN ICU",
color: C.a3,
x: 5.1, y: 0.88, w: 4.62, h: 2.42,
items: [
["Pyridostigmine:", "Restart at lower dose (half pre-op dose initially); titrate up gradually. IV if unable to swallow (1/30th of oral dose IV)"],
["Steroids:", "Continue perioperative stress dose (hydrocortisone 50 mg q8h × 24h then taper); transition to oral prednisone"],
["IVIG / Pheresis:", "For myasthenic crisis in ICU: IVIG 2 g/kg over 5 days OR plasmapheresis ×5 sessions; fastest onset of effect"],
["AVOID:", "Aminoglycosides, Mg sulfate, fluoroquinolones, β-blockers; review all new drug prescriptions against MG drug list"],
["Analgesia:", "Paracetamol + NSAIDs + wound infiltration with LA; opioids → cautious titration; avoid PCA in borderline respiratory function"],
],
},
{
title: "MONITORING & GENERAL CARE",
color: C.a4,
x: 0.28, y: 3.38, w: 4.6, h: 2.15,
items: [
["Neurological:", "Hourly assessments of muscle strength, ptosis, swallowing, speech, respiratory pattern"],
["Nutrition:", "Early enteral feeding; Ryles tube if bulbar dysfunction (aspiration risk); evaluate swallowing before oral feeds"],
["DVT prophylaxis:", "LMWH + compression stockings once haemostasis confirmed post-op"],
["Glucose control:", "Tight glycaemic control (140–180 mg/dL); steroids → hyperglycaemia"],
["Chest drain:", "VATS/sternotomy; remove when output < 100 mL/24h and no air leak; confirm CXR"],
],
},
{
title: "DISCHARGE & LONG-TERM",
color: C.pur,
x: 5.1, y: 3.38, w: 4.62, h: 2.15,
items: [
["Remission:", "Up to 85% of patients <55 yrs improve after thymectomy; remission may be delayed 2–5 years"],
["Medications:", "Pyridostigmine dose typically reduced post-op as disease improves; immunosuppressants continued"],
["Follow-up:", "Neurology review 4–6 weeks; repeat PFTs; anti-AChR antibody titre monitoring"],
["Patient education:", "Avoid MG-worsening drugs (list provided); seek medical care early for infections; MG alert card"],
["Thymoma:", "If thymoma confirmed on histology → oncology follow-up; adjuvant radiotherapy may be required"],
],
},
];
icuSecs.forEach((sec) => {
box(s, sec.x, sec.y, sec.w, sec.h, sec.color);
bar(s, sec.title, sec.x, sec.y, sec.w, sec.color);
sec.items.forEach(([label, text], i) => {
const y = sec.y + 0.4 + i * (sec.h - 0.45) / sec.items.length;
s.addText([
{ text: label + " ", options: { bold: true, color: sec.color, fontSize: 11 } },
{ text, options: { color: C.light, fontSize: 10.5 } },
], { x: sec.x + 0.12, y, w: sec.w - 0.2, h: (sec.h - 0.45) / sec.items.length, fontFace: "Calibri", lineSpacingMultiple: 1.1 });
});
});
}
// ════════════════════════════════════════════════════════════════════════
// SLIDE 11 – Summary & Key Exam Points
// ════════════════════════════════════════════════════════════════════════
{
const s = slide();
hdr(s, "Summary – Key Exam Points for MD Anaesthesia", C.a3);
const keys = [
[C.a1, "Pathophysiology", "Antibodies vs postsynaptic AChR → ↓receptors → fatigable weakness. 75% associated with thymic pathology (hyperplasia/thymoma)."],
[C.a3, "Classification", "Osserman I–V: Class I (ocular only) → Class V (atrophy). Classes IIb/III/IV = high anaesthetic risk."],
[C.a4, "Pre-op", "Leventhal criteria (5 predictors of post-op ventilation). Optimise with plasmapheresis/IVIG preop. Check PFTs, VC, NIF. CT chest for thymoma."],
[C.a2, "Drugs to AVOID", "NDNMBs (exquisite sensitivity 10–20×), aminoglycosides, fluoroquinolones, Mg, β-blockers, verapamil, procainamide."],
[C.pur, "NMB Strategy", "Intubate WITHOUT NMB if possible (propofol + remifentanil). If NMB: rocuronium 10–20% dose + quantitative TOF. Reverse with SUGAMMADEX."],
[C.a1, "Crisis differentiation", "Myasthenic (under-treatment) vs Cholinergic (overdose). Edrophonium: improvement = myasthenic; worsening = cholinergic. Treat differently."],
[C.orange, "Extubation", "TOF ≥ 0.9 + NIF ≥ −25 cmH₂O + VC ≥ 4 mL/kg + sustained head lift ≥ 5 sec + fully awake. High threshold for extubation in MG."],
[C.a3, "ICU", "Restart pyridostigmine at 50% dose; avoid harmful drugs; ventilator weaning guided by NIF/VC; IVIG/pheresis for crisis; 85% improvement post-thymectomy."],
];
keys.forEach(([col, label, text], i) => {
const row = Math.floor(i / 2);
const ci = i % 2;
const x = 0.28 + ci * 4.82;
const y = 0.88 + row * 1.08;
box(s, x, y, 4.7, 1.0, col);
s.addShape(pres.ShapeType.rect, { x, y, w: 0.88, h: 1.0, fill: { color: col } });
s.addText(label, { x, y, w: 0.88, h: 1.0, fontSize: 10.5, bold: true, color: C.bg, align: "center", valign: "middle", margin: 0 });
s.addText(text, { x: x + 0.92, y: y + 0.06, w: 3.7, h: 0.86, fontSize: 11, color: C.light, fontFace: "Calibri", lineSpacingMultiple: 1.2 });
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.42, w: 10, h: 0.19, fill: { color: "04080F" } });
s.addText("Sources: Morgan & Mikhail Clinical Anaesthesiology 7e (Ch. 29) | Bradley & Daroff Neurology in Clinical Practice | Miller's Anesthesia 10e | Fishman's Pulmonary Diseases",
{ x: 0.2, y: 5.42, w: 9.6, h: 0.19, fontSize: 9, color: C.grey, align: "center", valign: "middle", margin: 0 });
}
// ════════════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/mg-thymectomy-ppt/MG_Thymectomy_MD_Anaesthesia.pptx" })
.then(() => console.log("PPT created successfully."))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/mg-thymectomy-ppt && node create_ppt.js 2>&1
ls -lh /home/daytona/workspace/mg-thymectomy-ppt/MG_Thymectomy_MD_Anaesthesia.pptx
MG Thymectomy MD Anaesthesia
Presentation · PPTX
| # | Slide | Key Content |
|---|---|---|
| 1 | Title | Topic, dept, full lecture outline |
| 2 | Pathophysiology & Classification | Anti-AChR antibodies, thymus role, Modified Osserman Classification (I–V) with prognosis colour-coded |
| 3 | Clinical Features, Diagnosis & Medical Management | Ocular/bulbar/limb/respiratory features; Edrophonium test, SFEMG, anti-AChR serology; drug treatment table (pyridostigmine, steroids, azathioprine, IVIG/pheresis) |
| 4 | Drugs Worsening MG & Pre-op Optimisation | Complete drug contraindication list (antibiotics, CV, CNS, Mg); Leventhal criteria for predicting post-op ventilation; plasmapheresis/IVIG timing; PFT targets |
| 5 | Anaesthetic Technique | Premedication → Induction (avoid NMBs; rocuronium at 10–20% dose) → Maintenance (TIVA preferred; avoid N₂O; quantitative TOF mandatory; sugammadex reversal) |
| 6 | Surgical Approaches & Airway | Median sternotomy / VATS / RATS / Transcervical — pros, cons, airway requirement; OLV with DLT; SVC syndrome management; extubation prerequisites |
| 7 | Myasthenic vs Cholinergic Crisis | Full comparison table — cause, SLUDGE features, fasciculations, Tensilon test, treatment. Warning: stop AChEI if equivocal |
| 8 | Intraoperative Complications | Prolonged NMB, haemodynamic instability (SVC compression), phrenic nerve injury, pneumothorax — prevention & management |
| 9 | Emergence & Extubation Criteria | 8-point extubation checklist; Leventhal 5 predictors; 4-tier post-op respiratory algorithm (no risk → crisis) |
| 10 | ICU Care & Post-op Management | Ventilator weaning; pyridostigmine restart protocol; IVIG/pheresis for crisis; drug avoidance; nutrition; DVT prophylaxis; discharge planning |
| 11 | Summary | 8-point exam revision grid covering all key topics |
Make a post-operative weaning protocol document for MG patients
mkdir -p /home/daytona/workspace/mg-weaning-doc && ls /home/daytona/skills/docx/
~/mg-weaning-doc/create_doc.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
ShadingType, VerticalAlign, PageNumber, PageBreak,
UnderlineType, LevelFormat
} = require("docx");
const fs = require("fs");
// ── Colour constants (hex without #) ────────────────────────────────────
const NAVY = "0D1B3E";
const TEAL = "006B6B";
const LTEAL = "E0F4F4";
const AMBER = "B45309";
const LAMBER = "FEF3C7";
const RED = "991B1B";
const LRED = "FEE2E2";
const GREEN = "166534";
const LGRN = "DCFCE7";
const GREY = "374151";
const LGREY = "F3F4F6";
const WHITE = "FFFFFF";
const BLUE = "1E3A5F";
// ── Helper: heading paragraph ────────────────────────────────────────────
function h1(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_1,
spacing: { before: 320, after: 120 },
children: [
new TextRun({
text,
bold: true,
size: 28,
color: WHITE,
font: "Calibri",
}),
],
shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY },
indent: { left: 120, right: 120 },
});
}
function h2(text, color = TEAL) {
return new Paragraph({
heading: HeadingLevel.HEADING_2,
spacing: { before: 240, after: 80 },
children: [new TextRun({ text, bold: true, size: 24, color, font: "Calibri" })],
border: {
bottom: { color, style: BorderStyle.SINGLE, size: 12, space: 4 },
},
});
}
function h3(text, color = GREY) {
return new Paragraph({
spacing: { before: 160, after: 60 },
children: [new TextRun({ text, bold: true, size: 22, color, font: "Calibri" })],
});
}
function para(runs, spacing = { before: 60, after: 60 }, indent = {}) {
return new Paragraph({
spacing,
indent,
children: Array.isArray(runs) ? runs : [new TextRun({ text: runs, size: 20, font: "Calibri", color: GREY })],
});
}
function bullet(text, level = 0, color = GREY) {
return new Paragraph({
bullet: { level },
spacing: { before: 40, after: 40 },
indent: { left: 360 + level * 360, hanging: 360 },
children: [new TextRun({ text, size: 20, font: "Calibri", color })],
});
}
function boldBullet(label, text, labelColor = TEAL) {
return new Paragraph({
bullet: { level: 0 },
spacing: { before: 50, after: 50 },
indent: { left: 360, hanging: 360 },
children: [
new TextRun({ text: label + ": ", bold: true, size: 20, font: "Calibri", color: labelColor }),
new TextRun({ text, size: 20, font: "Calibri", color: GREY }),
],
});
}
function notePara(text, bgColor = LAMBER, textColor = AMBER) {
return new Paragraph({
spacing: { before: 100, after: 100 },
indent: { left: 200, right: 200 },
shading: { type: ShadingType.SOLID, color: bgColor, fill: bgColor },
children: [new TextRun({ text: "⚑ " + text, bold: true, size: 20, font: "Calibri", color: textColor })],
});
}
function alertPara(text, bgColor = LRED, textColor = RED) {
return new Paragraph({
spacing: { before: 100, after: 100 },
indent: { left: 200, right: 200 },
shading: { type: ShadingType.SOLID, color: bgColor, fill: bgColor },
children: [new TextRun({ text: "⚠ " + text, bold: true, size: 20, font: "Calibri", color: textColor })],
});
}
function successPara(text, bgColor = LGRN, textColor = GREEN) {
return new Paragraph({
spacing: { before: 100, after: 100 },
indent: { left: 200, right: 200 },
shading: { type: ShadingType.SOLID, color: bgColor, fill: bgColor },
children: [new TextRun({ text: "✓ " + text, bold: true, size: 20, font: "Calibri", color: textColor })],
});
}
function divider() {
return new Paragraph({
spacing: { before: 80, after: 80 },
border: { bottom: { color: "D1D5DB", style: BorderStyle.SINGLE, size: 6, space: 4 } },
children: [],
});
}
function pageBreak() {
return new Paragraph({ children: [new PageBreak()] });
}
// ── Helper: simple table ─────────────────────────────────────────────────
function makeTable(headers, rows, colWidths, headerBg = NAVY) {
const headerRow = new TableRow({
tableHeader: true,
children: headers.map((h, i) =>
new TableCell({
width: { size: colWidths[i], type: WidthType.DXA },
shading: { type: ShadingType.SOLID, color: headerBg, fill: headerBg },
verticalAlign: VerticalAlign.CENTER,
margins: { top: 80, bottom: 80, left: 120, right: 120 },
children: [
new Paragraph({
children: [new TextRun({ text: h, bold: true, color: WHITE, size: 20, font: "Calibri" })],
alignment: AlignmentType.LEFT,
}),
],
})
),
});
const dataRows = rows.map((row, ri) =>
new TableRow({
children: row.map((cell, ci) => {
const isArray = Array.isArray(cell);
const cellBg = ri % 2 === 0 ? LGREY : WHITE;
return new TableCell({
width: { size: colWidths[ci], type: WidthType.DXA },
shading: isArray && cell[2] ? { type: ShadingType.SOLID, color: cell[2], fill: cell[2] } : { type: ShadingType.SOLID, color: cellBg, fill: cellBg },
verticalAlign: VerticalAlign.TOP,
margins: { top: 80, bottom: 80, left: 120, right: 120 },
children: [
new Paragraph({
children: [
new TextRun({
text: isArray ? cell[0] : cell,
bold: isArray && cell[1],
color: isArray && cell[3] ? cell[3] : GREY,
size: 19,
font: "Calibri",
}),
],
}),
],
});
}),
})
);
return new Table({
width: { size: 9200, type: WidthType.DXA },
rows: [headerRow, ...dataRows],
borders: {
top: { style: BorderStyle.SINGLE, size: 4, color: "D1D5DB" },
bottom: { style: BorderStyle.SINGLE, size: 4, color: "D1D5DB" },
left: { style: BorderStyle.SINGLE, size: 4, color: "D1D5DB" },
right: { style: BorderStyle.SINGLE, size: 4, color: "D1D5DB" },
insideH: { style: BorderStyle.SINGLE, size: 4, color: "E5E7EB" },
insideV: { style: BorderStyle.SINGLE, size: 4, color: "E5E7EB" },
},
});
}
function spacer(size = 120) {
return new Paragraph({ spacing: { before: size, after: 0 }, children: [] });
}
// ════════════════════════════════════════════════════════════════════════
// DOCUMENT CONTENT
// ════════════════════════════════════════════════════════════════════════
const children = [];
// ── COVER / TITLE ────────────────────────────────────────────────────────
children.push(
spacer(600),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY },
children: [new TextRun({ text: "POST-OPERATIVE MECHANICAL VENTILATION", bold: true, size: 36, color: WHITE, font: "Calibri" })],
indent: { left: 200, right: 200 },
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 0, after: 80 },
shading: { type: ShadingType.SOLID, color: TEAL, fill: TEAL },
children: [new TextRun({ text: "WEANING PROTOCOL", bold: true, size: 36, color: WHITE, font: "Calibri" })],
indent: { left: 200, right: 200 },
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 60, after: 60 },
shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY },
children: [new TextRun({ text: "MYASTHENIA GRAVIS PATIENTS – POST-THYMECTOMY & MYASTHENIC CRISIS", bold: true, size: 26, color: "A5F3FC", font: "Calibri" })],
indent: { left: 200, right: 200 },
}),
spacer(200),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 40, after: 40 },
children: [new TextRun({ text: "Department of Anaesthesiology & Critical Care | MD Anaesthesia", size: 22, font: "Calibri", color: GREY })],
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { before: 40, after: 40 },
children: [new TextRun({ text: "Document Reference: ICU-MG-WEAN-001 | Version 1.0 | May 2026", size: 20, font: "Calibri", color: GREY })],
}),
spacer(200),
alertPara("This document is intended for use by qualified ICU/anaesthesia clinicians under consultant supervision. It does not replace individual clinical judgement.", LRED, RED),
spacer(300),
pageBreak()
);
// ── SECTION 1: Purpose & Scope ───────────────────────────────────────────
children.push(
h1("1. PURPOSE AND SCOPE"),
spacer(80),
para([
new TextRun({ text: "This protocol provides a standardised, stepwise approach to mechanical ventilation weaning for patients with ", size: 20, font: "Calibri", color: GREY }),
new TextRun({ text: "Myasthenia Gravis (MG)", bold: true, size: 20, font: "Calibri", color: TEAL }),
new TextRun({ text: " admitted to the Intensive Care Unit (ICU) following:", size: 20, font: "Calibri", color: GREY }),
]),
bullet("Elective thymectomy (open sternotomy, VATS, RATS, or transcervical approach)"),
bullet("Myasthenic crisis requiring intubation and mechanical ventilation"),
bullet("Cholinergic crisis managed in ICU"),
bullet("Any surgical procedure requiring post-operative ventilation in a known MG patient"),
spacer(80),
para([new TextRun({ text: "Applicable to: ", bold: true, size: 20, font: "Calibri", color: GREY }),
new TextRun({ text: "All ICU/HDU nursing and medical staff, anaesthesiology residents, and attending physicians.", size: 20, font: "Calibri", color: GREY })]),
spacer(120),
);
// ── SECTION 2: Background ────────────────────────────────────────────────
children.push(
h1("2. BACKGROUND & PATHOPHYSIOLOGY"),
spacer(60),
para([
new TextRun({ text: "Myasthenia Gravis (MG) ", bold: true, size: 20, font: "Calibri", color: TEAL }),
new TextRun({ text: "is an autoimmune disorder characterised by antibodies against postsynaptic nicotinic acetylcholine receptors (nAChR) at the neuromuscular junction (NMJ), resulting in reduced receptor availability and fatigable muscle weakness.", size: 20, font: "Calibri", color: GREY }),
]),
spacer(60),
h2("2.1 Why MG Patients are Difficult to Wean"),
boldBullet("Baseline NMJ compromise", "Pre-existing receptor loss means respiratory muscles fatigue rapidly with even mild loading"),
boldBullet("Anticholinesterase sensitivity", "Pyridostigmine ↑ ACh → risk of cholinergic crisis (excess secretions, bronchospasm, bradycardia) if dose not carefully titrated during weaning"),
boldBullet("Impaired secretion clearance", "Bulbar muscle weakness → poor cough, inability to clear secretions → atelectasis, re-intubation"),
boldBullet("Drug interactions", "Multiple ICU medications can precipitate or worsen neuromuscular blockade (aminoglycosides, Mg, fluoroquinolones, β-blockers)"),
boldBullet("Variable disease severity", "MG severity fluctuates unpredictably; post-operative immunological changes after thymectomy may initially worsen before improving"),
spacer(80),
h2("2.2 Leventhal Criteria – Predictors of Prolonged Post-op Ventilation", RED),
notePara("Any ONE of the following criteria predicts need for post-operative mechanical ventilation after thymectomy.", LAMBER, AMBER),
spacer(60),
makeTable(
["#", "Leventhal Criterion", "Threshold", "Significance"],
[
["1", "Disease duration", "> 6 years", "Chronic NMJ depletion"],
["2", "Concomitant pulmonary disease", "COPD / restrictive disease", "↓Respiratory reserve"],
["3", "Negative Inspiratory Force (NIF)", "< −25 cm H₂O (e.g. −20 cmH₂O)", "Weak inspiratory muscles"],
["4", "Vital Capacity (VC)", "< 4 mL/kg ideal body weight", "↓Lung reserve"],
["5", "Pre-op pyridostigmine dose", "> 750 mg/day", "Severe disease, high AChEI requirement"],
],
[480, 2500, 2500, 3720],
NAVY
),
spacer(100),
alertPara("≥ 3 criteria: Plan elective post-operative ICU ventilation. Inform patient pre-operatively.", LRED, RED),
spacer(120),
);
// ── SECTION 3: Admission & Initial Assessment ───────────────────────────
children.push(
h1("3. ICU ADMISSION & INITIAL ASSESSMENT"),
spacer(60),
h2("3.1 Immediate Post-operative Checks"),
boldBullet("Handover from anaesthesia team", "Document: type of surgery, duration, NMB agents used (dose, reversal agent, TOF at extubation), pyridostigmine last given, fluid balance, intraoperative events"),
boldBullet("Ventilator settings on arrival", "Record mode, TV, PEEP, FiO₂, RR, peak pressures, SpO₂, ETCO₂"),
boldBullet("ABG within 30 minutes", "Baseline PaO₂, PaCO₂, pH, HCO₃, lactate; calculate PF ratio"),
boldBullet("Neuromuscular assessment", "TOF ratio (if quantitative monitor available); sustained head lift; hand grip; respiratory effort"),
boldBullet("Bulbar function", "Gag reflex, cough, swallow; assess CN IX/X/XII function"),
spacer(80),
h2("3.2 Ventilator Initiation Mode"),
makeTable(
["Clinical Scenario", "Initial Mode", "Tidal Volume", "PEEP", "FiO₂", "RR"],
[
["Elective post-op (No risk factors)", "Pressure Support (PS) 8–10 cmH₂O", "6–8 mL/kg IBW", "5 cmH₂O", "0.4–0.5", "Spontaneous (back-up 12)"],
["1–2 Leventhal criteria", "SIMV + PS 10–12", "6 mL/kg IBW", "5–8 cmH₂O", "0.5–0.6", "Back-up 12–14"],
["≥ 3 Leventhal criteria / Post-crisis", "A/C (VC or PC) – full support initially", "6 mL/kg IBW (protective)", "5–8 cmH₂O", "As needed", "12–16; wean over 24–48h"],
["Severe crisis / haemodynamic instability", "A/C – full support; sedate if needed", "6 mL/kg IBW", "5–10 cmH₂O", "Titrate to SpO₂ ≥ 95%", "12–16"],
],
[2400, 2200, 1500, 900, 900, 1300],
TEAL
),
spacer(80),
notePara("Use LUNG-PROTECTIVE VENTILATION throughout: TV ≤ 6–8 mL/kg IBW; Pplat < 30 cmH₂O; driving pressure < 15 cmH₂O. Avoid high mean airway pressures.", LAMBER, AMBER),
spacer(120),
);
// ── SECTION 4: Medication Management ────────────────────────────────────
children.push(
h1("4. MEDICATION MANAGEMENT DURING WEANING"),
spacer(60),
h2("4.1 Pyridostigmine Protocol"),
alertPara("Do NOT restart pyridostigmine until the patient is fully assessed and stable. Excess pyridostigmine → cholinergic crisis → bronchospasm + ↑secretions → difficult weaning.", LRED, RED),
spacer(60),
makeTable(
["Phase", "Route", "Starting Dose", "Titration", "Target", "Monitoring"],
[
["NPO / Early ICU\n(unable to swallow)", "IV infusion", "1/30th of pre-op oral dose (e.g. pre-op 60 mg PO q6h → 2 mg IV q6h)", "↑ by 1 mg IV increments q4h if weakness ↑", "Adequate respiratory effort; no excess secretions", "TOF ratio; secretion burden; HR; SLUDGE signs"],
["Tolerating oral intake", "Oral", "50% of pre-op oral dose (e.g. pre-op 60 mg → restart at 30 mg q6h)", "↑ by 15–30 mg per dose q24h guided by clinical response", "Pre-op dose restored over 3–5 days if clinically needed", "Swallowing assessment; secretions; muscle strength"],
["Post-thymectomy\n(improving)", "Oral", "Start at 30 mg q8h regardless of pre-op dose (thymus removed → disease may improve)", "Slow titration; may need LESS pyridostigmine post-op", "Minimum effective dose", "Weekly muscle strength re-assessment; neurology review"],
],
[1600, 900, 2000, 1800, 1800, 1900],
NAVY
),
spacer(80),
h2("4.2 Immunosuppression Continuation"),
boldBullet("Corticosteroids", "Continue peri-operative stress dose: Hydrocortisone 50–100 mg IV q8h × 24h → taper to maintenance oral prednisone over 48–72h. Monitor glucose."),
boldBullet("Azathioprine / Mycophenolate", "Resume oral form as soon as enteral route available; do not interrupt long-term immunosuppression"),
boldBullet("IVIG", "For active myasthenic crisis or failure to wean: 0.4 g/kg/day × 5 days (total 2 g/kg). Onset of effect 5–10 days."),
boldBullet("Plasmapheresis (PLEX)", "1–1.5× plasma volume exchange × 5 sessions on alternate days. Fastest onset (24–48h). Indicated: myasthenic crisis, failure to wean > 5 days."),
spacer(80),
h2("4.3 Drugs to AVOID in MG Patients in ICU", RED),
alertPara("Review ALL new prescriptions against this list. Consult neurology/anaesthesia before prescribing any new drug to MG patients.", LRED, RED),
spacer(60),
makeTable(
["Drug Class", "Specific Agents", "Effect on MG", "Alternative"],
[
["Antibiotics", "Aminoglycosides (gentamicin, tobramycin, streptomycin), Azithromycin, Erythromycin, Clarithromycin, Ciprofloxacin, Tetracyclines, Sulfonamides", "↓ Presynaptic ACh release / NMJ blockade", "Cephalosporins, Piperacillin-Tazobactam (use with caution)"],
["Cardiovascular", "β-Blockers (all), Verapamil, Lidocaine, Procainamide, Quinidine", "↓ NMJ transmission; impair muscle contractility", "Amlodipine (calcium channel); careful rate control"],
["Neuromuscular blockers", "All NDNMBs (vecuronium, rocuronium, cisatracurium, atracurium)", "Exquisite sensitivity – 10–20× prolonged blockade", "Avoid; if unavoidable use minimal dose + quantitative TOF"],
["Electrolytes", "Magnesium sulfate (IV)", "Blocks presynaptic ACh release → ↑ weakness", "Correct Mg via oral route if possible; avoid IV MgSO₄"],
["Psychiatric", "Chlorpromazine, Lithium, Phenytoin", "Impair NMJ; ↑ weakness", "Consult neurology for alternatives"],
["Others", "Iodinated IV contrast, D-Penicillamine, Chloroquine, Interferon-α", "Various mechanisms → exacerbation or induction of MG", "Use alternatives where possible; pre-treat if unavoidable"],
],
[1600, 3200, 2200, 2200],
RED
),
spacer(120),
);
// ── SECTION 5: Daily Weaning Assessment ─────────────────────────────────
children.push(
h1("5. DAILY WEANING ASSESSMENT"),
spacer(60),
para([
new TextRun({ text: "The weaning readiness assessment should be performed ", size: 20, font: "Calibri", color: GREY }),
new TextRun({ text: "EVERY MORNING at 08:00–09:00 ", bold: true, size: 20, font: "Calibri", color: TEAL }),
new TextRun({ text: "by the ICU physician or anaesthesiology registrar, and results documented in the ICU chart.", size: 20, font: "Calibri", color: GREY }),
]),
spacer(80),
h2("5.1 Pre-Weaning Checklist (MUST complete ALL before starting SBT)"),
makeTable(
["Domain", "Criterion", "Target / Value", "Pass (✓/✗)"],
[
[["RESPIRATORY", true, LTEAL, TEAL], "SpO₂ on current FiO₂", "SpO₂ ≥ 95% on FiO₂ ≤ 0.5", ""],
["", "PaO₂ / FiO₂ ratio (PF ratio)", "PF ratio ≥ 200 mmHg", ""],
["", "PEEP requirement", "PEEP ≤ 8 cmH₂O (ideally ≤ 5)", ""],
["", "Peak airway pressure", "< 30 cmH₂O; Pplat < 25 cmH₂O", ""],
["", "Spontaneous breathing effort", "Present and sustainable; no paradoxical breathing", ""],
[["NEUROMUSCULAR", true, LGRN, GREEN], "Negative Inspiratory Force (NIF)", "NIF ≥ −25 cm H₂O", ""],
["", "Vital Capacity (VC)", "VC ≥ 4 mL/kg IBW (measure at bedside)", ""],
["", "TOF ratio", "≥ 0.9 (quantitative neurostim monitor)", ""],
["", "Sustained head lift", "≥ 5 continuous seconds", ""],
["", "Hand grip strength", "Adequate bilateral; improved from previous day", ""],
[["BULBAR", true, LAMBER, AMBER], "Cough strength", "Effective cough peak flow ≥ 160 L/min OR able to generate forceful cough", ""],
["", "Gag reflex", "Present bilaterally", ""],
["", "Swallowing assessment", "PASS bedside swallowing screen (water test); or SLP assessment", ""],
["", "Secretion burden", "Manageable; not requiring continuous suctioning (≤ q2h)", ""],
[["HAEMODYNAMIC", true, LGREY, NAVY], "Haemodynamic stability", "MAP ≥ 65 mmHg without vasopressors; HR 50–100 bpm", ""],
["", "Temperature", "Normothermic ≥ 36.0°C (hypothermia prolongs NMB)", ""],
[["METABOLIC", true, LGREY, NAVY], "Electrolytes", "Na, K, Mg, PO₄ within normal limits; correct ↓Mg WITHOUT IV MgSO₄", ""],
["", "Serum glucose", "4–10 mmol/L (72–180 mg/dL)", ""],
["", "ABG", "pH 7.35–7.45; PaCO₂ 35–45 mmHg; no significant acidosis", ""],
[["NEUROLOGICAL", true, LGREY, NAVY], "Consciousness / sedation", "Fully awake; following commands; RASS −1 to 0", ""],
["", "Pain control", "Adequate; NRS ≤ 3; not over-sedated", ""],
["", "Anxiety / agitation", "Calm; no distressing agitation; dexmedetomidine preferred if sedation needed", ""],
[["PYRIDOSTIGMINE", true, LRED, RED], "Dose status", "Stable dose for ≥ 12 hours; no dose change in last 6h", ""],
["", "Cholinergic signs", "ABSENT (no excess salivation, bradycardia, diarrhoea, miosis, bronchospasm)", ""],
["", "SLUDGE assessment", "No features of cholinergic excess", ""],
],
[2000, 2800, 2800, 1600],
NAVY
),
spacer(80),
alertPara("Do NOT proceed to SBT if ANY item is NOT met. Optimise, reassess in 4–6 hours or next morning.", LRED, RED),
spacer(120),
);
// ── SECTION 6: Spontaneous Breathing Trial ──────────────────────────────
children.push(
h1("6. SPONTANEOUS BREATHING TRIAL (SBT)"),
spacer(60),
h2("6.1 SBT Method"),
boldBullet("Preferred method", "Pressure Support Ventilation (PSV): PS 5–8 cmH₂O + PEEP 5 cmH₂O + FiO₂ 0.4"),
boldBullet("Alternative method", "T-piece: 30–60 min trial if PS not available; monitor closely for fatigue"),
boldBullet("Duration", "Initial SBT: 30 minutes. If PASSED → proceed to 2h SBT. If PASSED 2h → extubation assessment."),
boldBullet("MG-specific note", "Due to fatigability, MG patients may PASS at 30 minutes but FAIL by 60 minutes. ALWAYS complete a 2-hour SBT before extubation."),
spacer(80),
h2("6.2 SBT Monitoring Frequency"),
makeTable(
["Parameter", "Frequency During SBT", "Passing Criterion", "Failure Criterion"],
[
["SpO₂", "Continuous", "≥ 95%", "< 92% or ↓ > 5% from baseline"],
["RR", "q5 min", "< 25 breaths/min", "> 35 breaths/min for > 5 min"],
["HR", "Continuous", "50–120 bpm, stable", "↑ > 20 bpm from baseline"],
["Blood pressure", "q10 min", "MAP ≥ 65 mmHg; SBP < 180 mmHg", "SBP > 180 or MAP < 60 mmHg"],
["Tidal volume (spontaneous)", "q10 min", "TV ≥ 300 mL (or ≥ 5 mL/kg)", "TV < 250 mL; paradoxical breathing"],
["Respiratory pattern", "Continuous observation", "Regular, no accessory muscle use", "Paradoxical breathing; accessory muscle use; distress"],
["NIF (repeat at end)", "At 30 and 120 minutes", "NIF ≥ −25 cmH₂O", "NIF < −20 cmH₂O → do NOT extubate"],
["Consciousness / agitation", "Continuous", "Calm, cooperative, following commands", "Agitation, panic, ↓ GCS"],
],
[2300, 2000, 2400, 2500],
TEAL
),
spacer(80),
h2("6.3 SBT Failure Criteria – STOP immediately and return to previous ventilator settings"),
alertPara("STOP SBT and return to FULL ventilator support immediately if ANY of the following occur:", LRED, RED),
spacer(60),
bullet("SpO₂ < 92% or ↓ > 5% from baseline despite FiO₂ adjustment", 0, RED),
bullet("RR > 35 breaths/min for more than 5 minutes", 0, RED),
bullet("HR ↑ > 20 bpm from baseline or any arrhythmia", 0, RED),
bullet("BP: SBP > 180 mmHg or MAP < 60 mmHg", 0, RED),
bullet("Agitation, panic, deteriorating GCS, diaphoresis", 0, RED),
bullet("Accessory muscle use; paradoxical chest/abdominal movement", 0, RED),
bullet("Increasing secretions unable to be cleared", 0, RED),
bullet("Any sign of cholinergic crisis during SBT (salivation, bradycardia, bronchospasm, miosis)", 0, RED),
spacer(60),
notePara("After SBT failure: return to rest ventilation (A/C or SIMV). Allow 4–6 hours rest. Reassess precipitating cause. Consider IVIG/pheresis if repeated SBT failures.", LAMBER, AMBER),
spacer(120),
);
// ── SECTION 7: Extubation Decision ──────────────────────────────────────
children.push(
h1("7. EXTUBATION CRITERIA & DECISION"),
spacer(60),
h2("7.1 Extubation Readiness Criteria"),
notePara("ALL criteria must be satisfied before extubation. Senior anaesthesiology/ICU consultant MUST review and approve extubation in MG patients.", LAMBER, AMBER),
spacer(60),
makeTable(
["Criterion", "Target", "Method of Assessment", "Status"],
[
[["PASSED 2-hour SBT", true, LGRN, GREEN], "On PS 5–8 cmH₂O + PEEP 5", "Bedside observation for full 120 minutes", ""],
["Consciousness", "GCS 15; follows commands; RASS 0", "Bedside neurological assessment", ""],
["Airway reflexes", "Gag + cough present and effective", "Bedside gag test; cough peak flow ≥ 160 L/min", ""],
["Sustained head lift", "≥ 5 continuous seconds", "Ask patient to lift head off pillow", ""],
["Hand grip", "Bilaterally adequate; equal", "Dynamometer or clinical assessment", ""],
["Negative Inspiratory Force", "NIF ≥ −25 cm H₂O", "Aneroid manometer with one-way valve", ""],
["Vital Capacity", "≥ 4 mL/kg IBW", "Wright spirometer or bedside volumeter", ""],
["Swallowing function", "PASS bedside water test / SLP assessment", "3-oz water swallow test or SLP evaluation", ""],
["Secretion management", "Patient can cough and clear secretions; suctioning ≤ q2h", "Clinical observation", ""],
["Oxygenation", "SpO₂ ≥ 97% on FiO₂ ≤ 0.4", "Continuous pulse oximetry + ABG", ""],
["Haemodynamics", "MAP ≥ 65 without vasopressors; HR 50–100", "Arterial line monitoring", ""],
["Temperature", "≥ 36.0°C", "Core temperature probe", ""],
["Pyridostigmine", "Stable dose ≥ 12h; no cholinergic signs", "Clinical exam + medication review", ""],
["Electrolytes", "Na, K, Mg, PO₄ normal", "Laboratory results within 4h", ""],
[["SENIOR REVIEW", true, LRED, RED], "Attending anaesthesiologist / intensivist approval", "Written order in ICU chart", ""],
],
[2500, 2500, 2800, 1400],
NAVY
),
spacer(80),
h2("7.2 Extubation Procedure"),
boldBullet("Timing", "Extubate in MORNING hours (09:00–12:00) only – never at night; ensures full monitoring team available for post-extubation period"),
boldBullet("Pre-extubation", "Suction oropharynx and ETT; have HFNO and NIV (BiPAP) set up and ready at bedside before removing tube"),
boldBullet("Oxygen delivery", "Apply high-flow nasal oxygen (HFNO) 40–60 L/min, FiO₂ 0.5 immediately post-extubation for 2–4 hours"),
boldBullet("Drugs at bedside", "Atropine 1 mg IV, glycopyrrolate 0.4 mg IV (for cholinergic crisis); vasopressors; reintubation kit including videolaryngoscope"),
boldBullet("Post-extubation monitoring", "Continuous SpO₂, HR, RR q15 min × 1h, then q1h × 4h. ABG at 1h post-extubation."),
boldBullet("Voice assessment", "Note voice quality post-extubation (hoarseness may indicate laryngeal weakness – CN X involvement)"),
spacer(120),
);
// ── SECTION 8: Post-Extubation Management ──────────────────────────────
children.push(
h1("8. POST-EXTUBATION MANAGEMENT"),
spacer(60),
h2("8.1 Immediate Post-Extubation Protocol (First 4 Hours)"),
makeTable(
["Time", "Action", "Target", "Escalation Trigger"],
[
["0–30 min", "HFNO 40–60 L/min FiO₂ 0.5; continuous SpO₂; RR monitoring", "SpO₂ ≥ 95%; RR < 25/min", "SpO₂ < 93% or RR > 30 → apply NIV"],
["30 min", "Clinical assessment: cough, secretions, speech, accessory muscle use", "Clear secretions; intelligible speech", "Stridor or ↓SpO₂ → emergency review"],
["1 hour", "ABG: PaO₂, PaCO₂, pH; adjust FiO₂ based on result", "PaCO₂ 35–45 mmHg; PaO₂ > 80 mmHg on FiO₂ 0.4", "Hypercarbia (↑PaCO₂ > 50) → NIV/re-intubation"],
["1–4 hours", "Physiotherapy: incentive spirometry, assisted cough, early mobilisation", "VC improving; able to generate cough", "Worsening cough → chest physiotherapist review"],
["4 hours", "Swallowing assessment by SLP if not already done; allow ice chips/sips if passed", "Adequate swallow; no silent aspiration", "Failed swallow → Ryles tube; NPO"],
["4–8 hours", "Commence oral pyridostigmine if tolerating oral intake; restart other oral medications", "Medications given without aspiration", "Aspiration on sip → stop oral; NG route"],
],
[1200, 2800, 2300, 2900],
TEAL
),
spacer(80),
h2("8.2 NIV as a Bridge (Step-Down from Extubation)"),
para([new TextRun({ text: "Non-Invasive Ventilation (NIV) with BiPAP should be applied post-extubation in borderline cases and as rescue before re-intubation:", size: 20, font: "Calibri", color: GREY })]),
boldBullet("Indications for post-extubation NIV", "PaCO₂ 45–50 mmHg; SpO₂ 92–95% on HFNO; tachypnoea RR 25–30; mild respiratory distress without crisis"),
boldBullet("BiPAP settings (initial)", "IPAP 10–14 cmH₂O; EPAP 4–5 cmH₂O; FiO₂ 0.4–0.6; back-up rate 12/min"),
boldBullet("Wean NIV", "Step down IPAP by 2 cmH₂O every 4h if tolerating well; aim to remove NIV within 24h if improving"),
boldBullet("Contraindication to NIV", "Excessive secretions; inability to protect airway; haemodynamic instability; worsening mental status → re-intubate"),
spacer(80),
h2("8.3 Criteria for Re-intubation", RED),
alertPara("Do NOT delay re-intubation. MG patients can deteriorate rapidly. Early re-intubation is SAFER than emergency intubation post-respiratory arrest.", LRED, RED),
spacer(60),
makeTable(
["Criterion", "Threshold for Re-intubation"],
[
["SpO₂ on HFNO/NIV", "< 90% despite FiO₂0.6 on NIV for > 15 minutes"],
["PaCO₂", "> 55 mmHg (acute rise); ↑ > 10 mmHg from pre-extubation baseline"],
["Respiratory rate", "> 35/min for > 10 minutes"],
["NIF (bedside re-measurement)", "NIF < −15 cm H₂O (deterioration from extubation value)"],
["Vital capacity", "VC < 10 mL/kg (acute decline)"],
["Airway protection", "Inability to clear secretions; aspiration event; loss of cough reflex"],
["Consciousness", "GCS < 13; inability to cooperate"],
["Haemodynamics", "Refractory hypotension; arrhythmia"],
["Myasthenic crisis signs", "Rapid worsening weakness; bulbar palsy; respiratory distress"],
],
[3200, 6000],
RED
),
spacer(120),
);
// ── SECTION 9: Weaning Failure & Myasthenic Crisis ─────────────────────
children.push(
h1("9. WEANING FAILURE & MYASTHENIC CRISIS MANAGEMENT"),
spacer(60),
h2("9.1 Definition of Weaning Failure in MG"),
bullet("Failure of ≥ 2 consecutive SBTs separated by ≥ 24h rest periods"),
bullet("Re-intubation within 48h of extubation"),
bullet("Prolonged mechanical ventilation > 7 days post-thymectomy"),
bullet("Development of myasthenic crisis post-extubation requiring re-intubation"),
spacer(80),
h2("9.2 Myasthenic Crisis vs Cholinergic Crisis – Bedside Differentiation", RED),
makeTable(
["Feature", "Myasthenic Crisis", "Cholinergic Crisis"],
[
["Cause", "Under-treatment / ↑ disease / precipitant (infection, drugs)", "Anticholinesterase OVERDOSE (excess pyridostigmine)"],
["Muscle weakness", "Increasing fatigable weakness; worse with exertion", "Increasing weakness (may mimic MG)"],
["Salivation / secretions", "Normal or reduced", "↑↑ INCREASED (profuse salivation, bronchorrhoea)"],
["Bradycardia", "Absent", "PRESENT (muscarinic effect)"],
["Miosis (pupils)", "Normal", "MIOSIS (pinpoint pupils)"],
["Diarrhoea / GI cramps", "Absent", "PRESENT (SLUDGE syndrome)"],
["Fasciculations", "Absent", "PRESENT (nicotinic overstimulation)"],
["Bronchospasm", "Mild if any", "Prominent bronchospasm + ↑ secretions"],
["Tensilon test (Edrophonium 2–4 mg IV)", "IMPROVEMENT in strength", "WORSENING of weakness"],
["Treatment", "↑ Pyridostigmine; IVIG; Plasmapheresis; mechanical ventilation", "STOP ALL AChEI; Atropine 1–2 mg IV; supportive ventilation"],
],
[2000, 3600, 3600],
RED
),
spacer(80),
alertPara("If UNCERTAIN which crisis: STOP pyridostigmine, provide ventilatory support, consult neurology. DO NOT blindly increase pyridostigmine dose.", LRED, RED),
spacer(80),
h2("9.3 Management Algorithm for Weaning Failure"),
boldBullet("Step 1: Identify cause", "Review precipitants: infection (most common), new offending drug (check medication list), inadequate immunosuppression, disease progression"),
boldBullet("Step 2: Optimise", "Treat infection; correct electrolytes; optimise nutrition; review and remove all MG-worsening drugs; ensure adequate analgesia without oversedation"),
boldBullet("Step 3: Disease-modifying therapy", "If not already given: IVIG 2 g/kg over 5 days OR Plasmapheresis × 5 sessions on alternate days (preferred if crisis)"),
boldBullet("Step 4: Tracheostomy planning", "If no improvement after 7–10 days of optimisation and disease-modifying therapy → discuss tracheostomy for prolonged ventilation"),
boldBullet("Step 5: Wean attempt", "Repeat weaning checklist after 5 days of IVIG/PLEX; repeat SBT protocol from Section 6"),
boldBullet("Step 6: Multidisciplinary review", "Involve neurology, respiratory medicine, physiotherapy, and speech-language pathology; family counselling regarding prognosis"),
spacer(120),
);
// ── SECTION 10: Tracheostomy Considerations ─────────────────────────────
children.push(
h1("10. TRACHEOSTOMY CONSIDERATIONS"),
spacer(60),
makeTable(
["Indication", "Threshold", "Notes"],
[
["Prolonged ventilation", "> 7–10 days mechanical ventilation with no clear extubation pathway", "Allows awake, comfortable ventilation; facilitates weaning; ↓ sedation needs"],
["Repeated SBT failures", "≥ 3 SBT failures despite optimised therapy", "Consider tracheostomy to allow gradual pressure support weaning"],
["Recurrent re-intubations", "≥ 2 re-intubations within 5 days post-extubation", "Airway protection compromise; bulbar dysfunction"],
["Bulbar dysfunction", "Severe CN IX/X/XII palsy with aspiration risk, unable to protect airway", "Tracheostomy + NG/PEG tube for nutrition"],
],
[2000, 2200, 5000],
TEAL
),
spacer(60),
boldBullet("Procedure note", "Percutaneous dilational tracheostomy (PDT) or surgical tracheostomy depending on anatomy; senior anaesthesiologist MUST perform/supervise; bronchoscopy guidance recommended"),
boldBullet("Post-tracheostomy weaning", "Pressure support via tracheostomy collar; gradual reduction; cap trials (Passy Muir valve) when tolerating; decannulation criteria same as extubation criteria above"),
boldBullet("Aspiration management", "Continue modified texture diet if swallowing impaired; SLP-guided swallowing therapy; consider PEG if prolonged dysfunction"),
spacer(120),
);
// ── SECTION 11: Physiotherapy & Nutrition ───────────────────────────────
children.push(
h1("11. PHYSIOTHERAPY, NUTRITION & REHABILITATION"),
spacer(60),
h2("11.1 Respiratory Physiotherapy"),
boldBullet("Start", "Chest physiotherapy from Day 1 ICU admission; coordinate with ventilator settings"),
boldBullet("Techniques", "Manual hyperinflation (MHI) if indicated; assisted cough; vibration/percussion over dependent zones; positioning (30–45° head-up)"),
boldBullet("Incentive spirometry", "Commence on Day 1 post-extubation; target VC ≥ 4 mL/kg; minimum 10 sustained maximal inspirations per session × 4 sessions/day"),
boldBullet("Cough assist device", "Mechanical insufflation-exsufflation (CoughAssist) if cough peak flow < 160 L/min; reduces atelectasis and re-intubation risk"),
boldBullet("Mobilisation", "Passive ranging from Day 1; sit out of bed by Day 2–3 if haemodynamically stable; ambulation as soon as safe"),
spacer(80),
h2("11.2 Nutritional Support"),
boldBullet("Early enteral nutrition", "Start within 24–48h of ICU admission via Ryles tube if NPO; target 25–30 kcal/kg/day; 1.2–1.5 g/kg/day protein"),
boldBullet("Swallowing assessment", "Formal SLP assessment before any oral intake; modified texture diet if dysphagia confirmed"),
boldBullet("Aspiration precautions", "Head-up ≥ 30°; check gastric residuals q4h if on continuous enteral feeding; hold if residual > 200 mL"),
boldBullet("Oral transition", "Thin liquids first → soft diet → normal diet as swallowing improves; coordinate with pyridostigmine timing (give 30 min before meals)"),
boldBullet("Monitoring", "Daily weights; pre-albumin/transferrin weekly; ensure adequate glycaemic control (4–10 mmol/L)"),
spacer(120),
);
// ── SECTION 12: Documentation & Communication ───────────────────────────
children.push(
h1("12. DOCUMENTATION & COMMUNICATION"),
spacer(60),
h2("12.1 Daily ICU Documentation Must Include"),
bullet("Ventilator parameters (mode, TV, PEEP, FiO₂, PS level, MV, peak/plateau pressures)"),
bullet("Spontaneous breathing parameters: NIF, VC (if measured), RR, TV, f/TV ratio"),
bullet("SBT result: PASS or FAIL + reason for failure if applicable"),
bullet("TOF ratio (if quantitative monitor used)"),
bullet("Pyridostigmine dose and route; timing of last dose; any signs of cholinergic or myasthenic activity"),
bullet("Muscle strength assessment: head lift, grip, bulbar function, respiratory effort"),
bullet("Secretion burden and suctioning frequency"),
bullet("Swallowing status and diet level"),
bullet("Physiotherapy interventions and patient tolerance"),
spacer(80),
h2("12.2 Communication Checklist"),
boldBullet("Morning ICU rounds", "Review pre-weaning checklist as a team; decision documented with rationale"),
boldBullet("Neurology liaison", "Notify neurology team of any crisis, new treatment decisions (IVIG/PLEX), or significant weaning failure"),
boldBullet("Family communication", "Daily briefing on weaning progress; explain MG-specific challenges; manage expectations regarding prolonged ICU stay"),
boldBullet("Medication reconciliation", "Pharmacist review of all medications against MG contraindication list on every admission and when new drugs are prescribed"),
boldBullet("Discharge planning", "Plan initiated when: VC > 15 mL/kg; off ventilator for > 24h; tolerating oral intake; pyridostigmine dose stable"),
spacer(120),
);
// ── SECTION 13: Discharge Criteria from ICU ─────────────────────────────
children.push(
h1("13. ICU DISCHARGE CRITERIA"),
spacer(60),
makeTable(
["Domain", "Discharge Criterion"],
[
["Respiratory", "Breathing room air or HFNO ≤ 4 L/min; SpO₂ ≥ 95%; RR 12–20/min; VC > 15 mL/kg"],
["Neuromuscular", "No respiratory distress at rest or with mild exertion; head lift > 5 sec; adequate grip strength; no bulbar crisis"],
["Medications", "Stable pyridostigmine dose × 24h; no IV medications required; oral/enteral route established"],
["Nutrition / swallowing", "Tolerating adequate oral/enteral nutrition; no aspiration events × 24h"],
["Haemodynamics", "No vasopressors required; HR and BP stable on oral/standard medications"],
["Consciousness", "GCS 15; managing own secretions; cooperative with physiotherapy"],
["Monitoring", "No requirement for continuous arterial or CVP monitoring"],
["Senior approval", "Attending intensivist and/or anaesthesiologist sign-off for discharge"],
],
[2800, 6400],
NAVY
),
spacer(60),
successPara("Discharge to high-dependency unit (HDU) or neurology ward with 4-hourly neurological observations and respiratory monitoring for minimum 48h.", LGRN, GREEN),
spacer(120),
);
// ── SECTION 14: References ───────────────────────────────────────────────
children.push(
h1("14. REFERENCES & EVIDENCE BASE"),
spacer(60),
boldBullet("Morgan & Mikhail", "Clinical Anaesthesiology, 7th Edition. Chapter 29: Neuromuscular Disease. McGraw Hill, 2022."),
boldBullet("Miller's Anesthesia", "10th Edition. Chapter 20: Neuromuscular Physiology & Pharmacology. Elsevier, 2023."),
boldBullet("Bradley & Daroff", "Neurology in Clinical Practice, 8th Edition. Chapter 85: Disorders of Neuromuscular Transmission. Elsevier, 2022."),
boldBullet("Keesey JC", "Clinical evaluation and management of myasthenia gravis. Muscle Nerve 2004;29:484–505."),
boldBullet("Leventhal SR et al.", "Prediction of the need for postoperative mechanical ventilation in myasthenia gravis. Anesthesiology 1980;53:26–30."),
boldBullet("Blichfeldt-Lauridsen L & Hansen BD", "Anesthesia and myasthenia gravis. Acta Anaesthesiologica Scandinavica 2012;56:17–22."),
boldBullet("Gronseth GS & Barohn RJ", "Practice parameter: thymectomy for autoimmune myasthenia gravis. Neurology 2000;55:7–15."),
boldBullet("Wolfe GI et al.", "Randomized trial of thymectomy in myasthenia gravis (MGTX). NEJM 2016;375:511–522."),
boldBullet("Ng JKF & Ng CS", "Neuromuscular blocking drugs and reversal agents in patients with myasthenia gravis. Anaesthesia 2020;75:1311–1321."),
spacer(120),
);
// ── FOOTER ───────────────────────────────────────────────────────────────
const footer = new Footer({
children: [
new Paragraph({
alignment: AlignmentType.CENTER,
children: [
new TextRun({ text: "ICU-MG-WEAN-001 | Version 1.0 | May 2026 | Department of Anaesthesiology & Critical Care | Page ", size: 16, font: "Calibri", color: "6B7280" }),
new PageNumber(),
],
}),
],
});
const header = new Header({
children: [
new Paragraph({
spacing: { after: 0 },
shading: { type: ShadingType.SOLID, color: NAVY, fill: NAVY },
children: [
new TextRun({ text: " POST-OPERATIVE VENTILATOR WEANING PROTOCOL – MYASTHENIA GRAVIS ", bold: true, size: 18, font: "Calibri", color: WHITE }),
],
}),
],
});
// ── BUILD DOCUMENT ───────────────────────────────────────────────────────
const doc = new Document({
title: "MG Post-Operative Weaning Protocol",
description: "ICU ventilator weaning protocol for Myasthenia Gravis patients",
creator: "MD Anaesthesiology",
styles: {
paragraphStyles: [],
default: {
document: {
run: { font: "Calibri", size: 20, color: GREY },
paragraph: { spacing: { after: 80 } },
},
},
},
sections: [
{
headers: { default: header },
footers: { default: footer },
properties: {
page: {
margin: { top: 1200, bottom: 1200, left: 1000, right: 1000 },
},
},
children,
},
],
});
Packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync("/home/daytona/workspace/mg-weaning-doc/MG_Postop_Weaning_Protocol.docx", buffer);
console.log("Document created successfully.");
}).catch((e) => {
console.error(e);
process.exit(1);
});
cd /home/daytona/workspace/mg-weaning-doc && node create_doc.js 2>&1
node -e "const d = require('docx'); console.log(Object.keys(d).filter(k => k.toLowerCase().includes('page')).join(', '))"
node -e "const { PageNumberElement } = require('docx'); console.log(typeof PageNumberElement, JSON.stringify(new PageNumberElement()))"
~/mg-weaning-doc/create_doc.js
Error: String not found in file: ' Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
ShadingType, VerticalAlign, PageNumber, PageBreak,
UnderlineType, LevelFormat'sed -i 's/PageNumber,/PageNumberElement,/g; s/new PageNumber()/new PageNumberElement()/g' /home/daytona/workspace/mg-weaning-doc/create_doc.js && grep -n "PageNumber" /home/daytona/workspace/mg-weaning-doc/create_doc.js | head -10
~/mg-weaning-doc/create_doc.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/mg-weaning-doc/create_doc.js'
~/mg-weaning-doc/create_doc.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/mg-weaning-doc/create_doc.js'
cd /home/daytona/workspace/mg-weaning-doc && node create_doc.js 2>&1
ls -lh /home/daytona/workspace/mg-weaning-doc/MG_Postop_Weaning_Protocol.docx && python /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/mg-weaning-doc/MG_Postop_Weaning_Protocol.docx 2>&1 | head -20
cd /home/daytona/workspace/mg-weaning-doc && python3 -c " import zipfile, sys try: with zipfile.ZipFile('MG_Postop_Weaning_Protocol.docx') as z: names = z.namelist() print('Valid ZIP. Files:', len(names)) print('Key files:', [n for n in names if 'document' in n or 'content' in n.lower()]) except Exception as e: print('ERROR:', e) "
MG Postop Weaning Protocol
Word Document · DOCX
| Section | Content |
|---|---|
| Cover page | Protocol title, dept, document reference (ICU-MG-WEAN-001), version, disclaimer |
| 1. Purpose & Scope | Indications: post-thymectomy, myasthenic/cholinergic crisis, any surgery in MG |
| 2. Background | Pathophysiology; Leventhal Criteria table (5 predictors with thresholds) |
| 3. ICU Admission | Handover checklist; ventilator initiation mode table (4 scenarios: no risk → severe crisis) |
| 4. Medications | Pyridostigmine restart protocol (IV dose = 1/30th oral, titration steps); immunosuppression; IVIG/plasmapheresis indications; full drugs-to-AVOID table (6 categories) |
| 5. Daily Weaning Assessment | 25-item pre-SBT checklist across 6 domains (respiratory, neuromuscular, bulbar, haemodynamic, metabolic, pyridostigmine) |
| 6. Spontaneous Breathing Trial | PS-based vs T-piece; 2-hour SBT mandatory (MG fatigue pattern); monitoring frequency table; failure criteria |
| 7. Extubation Criteria | 15-criterion table; timing (morning only); HFNO post-extubation; drugs at bedside; post-extubation monitoring |
| 8. Post-Extubation Management | Hourly protocol table; NIV bridge (BiPAP settings and weaning); re-intubation criteria table (9 triggers) |
| 9. Weaning Failure & Crisis | Definition of weaning failure; Myasthenic vs Cholinergic Crisis comparison table (10 features); 6-step failure management algorithm |
| 10. Tracheostomy | 4 indications with thresholds; post-tracheostomy weaning; capping trials; decannulation criteria |
| 11. Physiotherapy & Nutrition | Cough assist device; incentive spirometry protocol; early enteral feeding; SLP-guided swallowing; oral transition |
| 12. Documentation | Daily ICU documentation requirements; communication checklist; pharmacist medication reconciliation |
| 13. ICU Discharge Criteria | 8-domain discharge table; step-down to HDU/neurology ward criteria |
| 14. References | 9 key references including Leventhal 1980, MGTX Trial (Wolfe 2016), Blichfeldt-Lauridsen 2012 |
Retry
cd /home/daytona/workspace/mg-weaning-doc && node create_doc.js 2>&1
ls -lh /home/daytona/workspace/mg-weaning-doc/MG_Postop_Weaning_Protocol.docx
MG Postop Weaning Protocol
Word Document · DOCX