Make a proper PowerPoint presentation on the topic from blind to brilliant landmark and pns vs USG guided blocks describing introduction, principles methods, sites ,and mainly the advantages .
PNS vs ultrasound guided peripheral nerve blocks blind technique advantages comparison
https://www.nysora.com/regional-anesthesia/topics/equipment/…
mkdir -p /home/daytona/workspace/nerve-blocks-pptx && ls /home/daytona/workspace/
~/nerve-blocks-pptx/create_pptx.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Regional Anesthesia";
pres.title = "From Blind to Brilliant: PNS vs USG Guided Nerve Blocks";
// ─── THEME ───────────────────────────────────────────────────────────────────
const C = {
navy: "0D2137", // dominant dark
blue: "1565C0", // supporting
teal: "00838F", // supporting accent
accent: "29B6F6", // bright accent
gold: "FFC107", // highlight / tag
white: "FFFFFF",
offwhite: "F0F4F8",
lightblue:"E3F2FD",
text: "1A2A3A",
muted: "607D8B",
};
// ─── HELPER: add header bar ───────────────────────────────────────────────────
function addHeader(slide, title, subtitle) {
// navy top band
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 1.1,
fill: { color: C.navy }, line: { color: C.navy }
});
// teal accent line
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 1.1, w: 10, h: 0.06,
fill: { color: C.teal }, line: { color: C.teal }
});
slide.addText(title, {
x: 0.4, y: 0.08, w: 9.2, h: 0.65,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.4, y: 0.72, w: 9.2, h: 0.38,
fontSize: 13, color: C.accent, fontFace: "Calibri", margin: 0, italic: true
});
}
// footer
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 5.42, w: 10, h: 0.2,
fill: { color: C.navy }, line: { color: C.navy }
});
slide.addText("Regional Anesthesia | From Blind to Brilliant", {
x: 0.3, y: 5.42, w: 9.4, h: 0.2,
fontSize: 8, color: C.accent, fontFace: "Calibri", margin: 0, align: "center"
});
}
// ─── HELPER: bullet list ─────────────────────────────────────────────────────
function makeBullets(items, opts = {}) {
return items.map((item, i) => ({
text: item,
options: {
bullet: { code: "25A0", color: opts.bulletColor || C.teal },
fontSize: opts.fontSize || 14,
color: opts.color || C.text,
fontFace: "Calibri",
breakLine: i < items.length - 1,
paraSpaceAfter: 4
}
}));
}
function makeSubBullets(items, opts = {}) {
return items.map((item, i) => ({
text: item,
options: {
bullet: { code: "25B6", color: opts.bulletColor || C.accent, indent: 20 },
fontSize: opts.fontSize || 12,
color: opts.color || C.muted,
fontFace: "Calibri",
indentLevel: 1,
breakLine: i < items.length - 1,
paraSpaceAfter: 3
}
}));
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// full background
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.navy }, line: { color: C.navy }
});
// decorative teal panel
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.35, h: 5.625,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 4.3, w: 10, h: 0.08,
fill: { color: C.gold }, line: { color: C.gold }
});
// main title
s.addText("FROM BLIND TO BRILLIANT", {
x: 0.65, y: 0.7, w: 8.7, h: 0.9,
fontSize: 36, bold: true, color: C.white, fontFace: "Calibri",
charSpacing: 3
});
// subtitle
s.addText("Landmark & PNS vs Ultrasound-Guided Peripheral Nerve Blocks", {
x: 0.65, y: 1.55, w: 8.7, h: 0.7,
fontSize: 22, color: C.accent, fontFace: "Calibri", bold: false
});
// tagline box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.65, y: 2.45, w: 5.2, h: 0.5,
fill: { color: C.teal }, line: { color: C.teal }, rectRadius: 0.08
});
s.addText("Introduction · Principles · Methods · Sites · Advantages", {
x: 0.65, y: 2.45, w: 5.2, h: 0.5,
fontSize: 12, color: C.white, fontFace: "Calibri", align: "center", bold: true, margin: 0
});
// specialty line
s.addText("Department of Anaesthesiology | Regional Anesthesia CME", {
x: 0.65, y: 4.5, w: 8.7, h: 0.35,
fontSize: 13, color: C.muted, fontFace: "Calibri", italic: true
});
// sonogram wave graphic (decorative lines)
for (let i = 0; i < 5; i++) {
s.addShape(pres.shapes.RECTANGLE, {
x: 7.0 + i * 0.28, y: 1.8, w: 0.12, h: 2.8 - Math.abs(i - 2) * 0.3,
fill: { color: C.blue, transparency: 60 }, line: { color: C.navy }
});
}
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW / AGENDA
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Presentation Overview", "What we will cover today");
const topics = [
{ num: "01", title: "Introduction & Historical Evolution", col: C.navy },
{ num: "02", title: "Landmark / Blind Technique", col: C.blue },
{ num: "03", title: "Peripheral Nerve Stimulator (PNS)", col: C.teal },
{ num: "04", title: "Ultrasound-Guided Nerve Blocks (USG)", col: C.blue },
{ num: "05", title: "Block Sites & Anatomical Regions", col: C.teal },
{ num: "06", title: "Comparison & Advantages", col: C.navy },
];
const cols = [0, 5]; // 2 columns
topics.forEach((t, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = cols[col] + 0.3;
const y = 1.35 + row * 1.2;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: 4.5, h: 0.95,
fill: { color: t.col }, line: { color: t.col }, rectRadius: 0.1,
shadow: { type: "outer", color: "000000", blur: 5, offset: 2, angle: 135, opacity: 0.15 }
});
s.addText(t.num, {
x: x + 0.08, y: y + 0.08, w: 0.55, h: 0.55,
fontSize: 22, bold: true, color: C.gold, fontFace: "Calibri", margin: 0
});
s.addText(t.title, {
x: x + 0.68, y: y + 0.18, w: 3.7, h: 0.6,
fontSize: 13, color: C.white, fontFace: "Calibri", bold: true, margin: 0
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — INTRODUCTION
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Introduction to Regional Nerve Blockade", "Setting the stage");
// intro text
s.addText("Regional anesthesia is only successful when local anesthetic is administered close to the targeted nerve.", {
x: 0.4, y: 1.25, w: 9.2, h: 0.55,
fontSize: 14, color: C.text, fontFace: "Calibri", italic: true,
fill: { color: C.lightblue }, margin: 8
});
// left column
s.addText("Why Nerve Blocks?", {
x: 0.4, y: 1.98, w: 4.4, h: 0.38,
fontSize: 15, bold: true, color: C.navy, fontFace: "Calibri"
});
s.addText(makeBullets([
"Superior analgesia vs systemic opioids",
"Reduced general anesthesia requirements",
"Faster recovery & discharge",
"Decreased PONV and opioid side-effects",
"Ideal for day-case & ambulatory surgery",
"Enable surgery in high-risk patients"
], { fontSize: 13 }), {
x: 0.4, y: 2.35, w: 4.4, h: 2.95,
fontFace: "Calibri", valign: "top"
});
// right column – historical timeline
s.addShape(pres.shapes.RECTANGLE, {
x: 5.2, y: 1.98, w: 4.45, h: 3.25,
fill: { color: C.navy }, line: { color: C.navy }, rectRadius: 0
});
s.addText("Historical Evolution", {
x: 5.3, y: 2.05, w: 4.2, h: 0.38,
fontSize: 15, bold: true, color: C.gold, fontFace: "Calibri"
});
const timeline = [
["1884", "Carl Koller — cocaine for ophthalmic nerve block"],
["1899", "Einhorn synthesizes procaine"],
["1940s", "Brachial plexus blocks via paresthesia"],
["1960s", "Peripheral nerve stimulator introduced"],
["1978", "La Grange — first USG nerve block described"],
["2000s", "High-frequency US becomes standard of care"],
["2010+", "Fascial plane blocks era begins"],
];
timeline.forEach((row, i) => {
s.addShape(pres.shapes.RECTANGLE, {
x: 5.3, y: 2.5 + i * 0.38, w: 0.7, h: 0.3,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText(row[0], {
x: 5.3, y: 2.5 + i * 0.38, w: 0.7, h: 0.3,
fontSize: 10, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(row[1], {
x: 6.08, y: 2.5 + i * 0.38, w: 3.5, h: 0.3,
fontSize: 10, color: C.white, fontFace: "Calibri", margin: 0
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — LANDMARK / BLIND TECHNIQUE
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Landmark / 'Blind' Technique", "The traditional approach to nerve localization");
// Definition box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.3, y: 1.25, w: 9.4, h: 0.55,
fill: { color: C.blue }, line: { color: C.blue }, rectRadius: 0.07
});
s.addText("Definition: Needle placed using surface anatomy, bony landmarks, and tactile feedback — without real-time imaging.", {
x: 0.3, y: 1.25, w: 9.4, h: 0.55,
fontSize: 13, color: C.white, fontFace: "Calibri", bold: false, align: "center", margin: 0
});
// Two columns
// Left — principles
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.92, w: 4.4, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("PRINCIPLES & METHOD", {
x: 0.3, y: 1.92, w: 4.4, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Identify bony prominences / vascular pulsations",
"Use surface landmarks to triangulate nerve path",
"Advance needle toward nerve territory",
"Elicit paresthesia = nerve proximity confirmed",
"Inject local anesthetic after negative aspiration",
"No adjunct equipment required",
], { fontSize: 12.5 }), {
x: 0.3, y: 2.33, w: 4.4, h: 2.9, fontFace: "Calibri", valign: "top"
});
// Right — limitations
s.addShape(pres.shapes.RECTANGLE, {
x: 5.3, y: 1.92, w: 4.4, h: 0.38,
fill: { color: "B71C1C" }, line: { color: "B71C1C" }
});
s.addText("LIMITATIONS", {
x: 5.3, y: 1.92, w: 4.4, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Relies entirely on operator experience",
"Cannot visualize nerve or needle in real time",
"Higher block failure rate (15–30%)",
"Risk of intraneural injection & nerve injury",
"Risk of inadvertent vascular puncture",
"Anatomical variation undetected",
"Larger local anesthetic volumes needed",
"Not suitable for obese / distorted anatomy",
], { fontSize: 12, bulletColor: "EF5350" }), {
x: 5.3, y: 2.33, w: 4.4, h: 2.9, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — PNS: PRINCIPLES & TECHNIQUE
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Peripheral Nerve Stimulator (PNS)", "Principles, Equipment & Technique");
// principle box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.3, y: 1.25, w: 9.4, h: 0.55,
fill: { color: C.teal }, line: { color: C.teal }, rectRadius: 0.07
});
s.addText("Principle: Deliver small electrical pulses via an insulated needle tip → depolarize peripheral nerve → elicit motor twitch at low current (≤0.5 mA)", {
x: 0.3, y: 1.25, w: 9.4, h: 0.55,
fontSize: 13, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
// Left column – equipment
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.9, w: 4.55, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("EQUIPMENT & SETUP", {
x: 0.3, y: 1.9, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Insulated needle (Teflon/polyurethane coated shaft)",
"Cathode (−) → stimulating needle",
"Anode (+) → surface ECG electrode on patient",
"Initial current: 1–1.5 mA, 0.1 ms pulse width, 2 Hz",
"Advance until appropriate motor twitch obtained",
"Reduce current — maintain twitch at ≤0.5 mA",
"Negative aspiration → inject local anesthetic",
], { fontSize: 12.5 }), {
x: 0.3, y: 2.32, w: 4.55, h: 2.95, fontFace: "Calibri", valign: "top"
});
// Right column – key rules
s.addShape(pres.shapes.RECTANGLE, {
x: 5.15, y: 1.9, w: 4.55, h: 0.38,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("KEY RULES & SAFETY", {
x: 5.15, y: 1.9, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Cathodal stimulation 2× more efficient than anodal",
"Anode position on body surface does NOT matter",
"Higher current (>1.5 mA) → stimulates through tissue but more pain",
"Twitch at <0.3 mA = possible intraneural placement — STOP",
"No twitch on injection = ensures extrafascicular position",
"Motor response must be appropriate (distal muscle movement)",
"Painful paresthesia on injection → ABORT immediately",
], { fontSize: 12.5, bulletColor: C.gold }), {
x: 5.15, y: 2.32, w: 4.55, h: 2.95, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — PNS ADVANTAGES & LIMITATIONS
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "PNS — Advantages & Limitations", "An objective nerve localization step-up from landmark");
const advs = [
"Objective motor response — independent of patient cooperation",
"No paresthesia required → allows heavier sedation",
"Localization accuracy superior to pure landmark technique",
"Useful when US imaging is poor (deep structures, obese patients)",
"Continuous catheter placement guided reliably",
"Dual-monitoring with USG: confirms target nerve identity",
"Medicolegal documentation of needle-nerve distance",
"Widely available even in resource-limited settings",
];
const lims = [
"Requires insulated needles (extra cost)",
"Cannot visualize surrounding structures (vessels, pleura)",
"Muscle contraction obscures fine needle control",
"Motor response absent in neuropathic / denervated nerves",
"False negatives with long-acting neuromuscular blockade",
"Does NOT confirm correct local anesthetic spread",
"Stimulation through fascial planes can mislead",
];
// Green box for advantages
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.22, w: 4.6, h: 0.38,
fill: { color: "2E7D32" }, line: { color: "2E7D32" }
});
s.addText("✓ ADVANTAGES", {
x: 0.3, y: 1.22, w: 4.6, h: 0.38,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets(advs, { fontSize: 12, bulletColor: "4CAF50" }), {
x: 0.3, y: 1.63, w: 4.6, h: 3.7, fontFace: "Calibri", valign: "top"
});
// Red box for limitations
s.addShape(pres.shapes.RECTANGLE, {
x: 5.1, y: 1.22, w: 4.6, h: 0.38,
fill: { color: "B71C1C" }, line: { color: "B71C1C" }
});
s.addText("✗ LIMITATIONS", {
x: 5.1, y: 1.22, w: 4.6, h: 0.38,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets(lims, { fontSize: 12, bulletColor: "EF5350" }), {
x: 5.1, y: 1.63, w: 4.6, h: 3.7, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — USG: PRINCIPLES
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Ultrasound-Guided Nerve Blocks (USG)", "Physical Principles & Technology");
// Left — physics
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("ULTRASOUND PHYSICS", {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Sound waves (1–15 MHz) emitted by piezoelectric crystal transducer",
"Waves reflect at tissue interfaces → received back as echoes",
"High frequency (>10 MHz): better resolution, less penetration",
"Low frequency (<6 MHz): deeper structures, less resolution",
"Peripheral nerves: hyperechoic 'honeycomb' appearance in short axis",
"Nerve bundles = hypoechoic fascicles surrounded by hyperechoic epineurium",
"Real-time B-mode (2D) imaging standard for most blocks",
"Doppler mode: identify adjacent vessels before needle pass",
], { fontSize: 12.5 }), {
x: 0.3, y: 1.63, w: 4.55, h: 3.7, fontFace: "Calibri", valign: "top"
});
// Right — technique
s.addShape(pres.shapes.RECTANGLE, {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("TECHNIQUE APPROACHES", {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText([
...makeBullets(["IN-PLANE TECHNIQUE:"], { fontSize: 12.5, bulletColor: C.gold }),
...makeSubBullets([
"Needle parallel to transducer beam",
"Full needle shaft visible — preferred for deep blocks",
"Best needle visualization & control",
], { fontSize: 11.5 }),
...makeBullets(["OUT-OF-PLANE TECHNIQUE:"], { fontSize: 12.5, bulletColor: C.gold }),
...makeSubBullets([
"Needle perpendicular to beam",
"Only needle tip cross-section visible",
"Useful for superficial, limited-space blocks",
], { fontSize: 11.5 }),
...makeBullets(["KEY PRINCIPLES:"], { fontSize: 12.5, bulletColor: C.gold }),
...makeSubBullets([
"Identify nerve BEFORE needle insertion",
"Track needle tip at ALL times",
"Confirm LA spread as hypoechoic halo around nerve",
"Hydrodissection: inject 1–2 mL to open tissue planes",
], { fontSize: 11.5 }),
], {
x: 5.15, y: 1.63, w: 4.55, h: 3.7, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — USG ADVANTAGES (MAIN FOCUS)
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.navy }, line: { color: C.navy }
});
// accent strip
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.38, h: 5.625,
fill: { color: C.gold }, line: { color: C.gold }
});
s.addText("Advantages of Ultrasound-Guided Blocks", {
x: 0.6, y: 0.15, w: 9, h: 0.6,
fontSize: 26, bold: true, color: C.white, fontFace: "Calibri", margin: 0
});
s.addText("Why USG has become the gold standard in modern regional anesthesia", {
x: 0.6, y: 0.72, w: 9, h: 0.35,
fontSize: 13, color: C.accent, fontFace: "Calibri", italic: true, margin: 0
});
const advItems = [
{ icon: "▶", title: "Real-Time Visualization", desc: "Direct imaging of nerve, needle tip & surrounding structures simultaneously" },
{ icon: "▶", title: "Higher Success Rate", desc: "Block failure reduced by ~50% vs landmark (meta-analysis evidence)" },
{ icon: "▶", title: "Faster Onset", desc: "More precise LA deposition → shorter time to surgical anesthesia" },
{ icon: "▶", title: "Reduced LA Volume", desc: "Targeted delivery requires 30–50% less local anesthetic" },
{ icon: "▶", title: "Anatomical Variation Detected", desc: "Nerve position variations visible in real time — prevents failure" },
{ icon: "▶", title: "Vascular Safety", desc: "Color Doppler identifies vessels → avoids inadvertent IV injection & hematoma" },
{ icon: "▶", title: "Reduced Systemic Toxicity", desc: "Lower LA volumes + confirmed extravascular injection → less LAST risk" },
{ icon: "▶", title: "Intraneural Injection Prevention", desc: "Real-time spread pattern confirms perineural not intraneural injection" },
];
const perRow = 4;
advItems.forEach((item, i) => {
const col = i % perRow;
const row = Math.floor(i / perRow);
const x = 0.5 + col * 2.35;
const y = 1.18 + row * 2.08;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: 2.2, h: 1.85,
fill: { color: C.blue, transparency: 15 },
line: { color: C.teal, pt: 1.5 },
rectRadius: 0.12,
});
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: x + 0.07, y: y + 0.07, w: 0.45, h: 0.38,
fill: { color: C.gold }, line: { color: C.gold }, rectRadius: 0.05
});
s.addText(item.icon, {
x: x + 0.07, y: y + 0.07, w: 0.45, h: 0.38,
fontSize: 14, color: C.navy, fontFace: "Calibri", bold: true, align: "center", margin: 0
});
s.addText(item.title, {
x: x + 0.08, y: y + 0.52, w: 2.06, h: 0.45,
fontSize: 11.5, bold: true, color: C.accent, fontFace: "Calibri", margin: 0
});
s.addText(item.desc, {
x: x + 0.08, y: y + 0.97, w: 2.06, h: 0.8,
fontSize: 10.5, color: C.offwhite, fontFace: "Calibri", margin: 0
});
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 5.42, w: 10, h: 0.2,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("Regional Anesthesia | From Blind to Brilliant", {
x: 0.3, y: 5.42, w: 9.4, h: 0.2,
fontSize: 8, color: C.navy, fontFace: "Calibri", margin: 0, align: "center", bold: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — BLOCK SITES: UPPER LIMB
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Block Sites — Upper Limb (Brachial Plexus)", "From roots to terminal branches");
const sites = [
{
name: "Interscalene Block",
level: "C5–C6 (roots/trunks)",
landmark: "Between SCM & anterior scalene",
us: "C5/C6 roots lateral to carotid",
use: "Shoulder & proximal arm surgery",
color: C.navy,
},
{
name: "Supraclavicular Block",
level: "Trunks → divisions",
landmark: "1st rib, subclavian artery pulsation",
us: "Subclavian artery + plexus in short axis",
use: "Entire arm distal to shoulder",
color: C.blue,
},
{
name: "Infraclavicular Block",
level: "Cords of brachial plexus",
landmark: "Inferior to clavicle, medial to coracoid",
us: "Three cords around axillary artery",
use: "Elbow, forearm, hand surgery",
color: C.teal,
},
{
name: "Axillary Block",
level: "Terminal branches",
landmark: "Axillary artery pulse",
us: "Musculocutaneous, median, ulnar, radial",
use: "Forearm & hand; safest approach",
color: C.navy,
},
];
sites.forEach((site, i) => {
const x = 0.3 + (i % 2) * 4.85;
const y = 1.28 + Math.floor(i / 2) * 2.0;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w: 4.6, h: 1.82,
fill: { color: site.color }, line: { color: site.color }, rectRadius: 0.1
});
s.addText(site.name, {
x: x + 0.12, y: y + 0.1, w: 4.35, h: 0.38,
fontSize: 14, bold: true, color: C.gold, fontFace: "Calibri", margin: 0
});
s.addText([
{ text: "Level: ", options: { bold: true, color: C.accent, fontSize: 11 } },
{ text: site.level + "\n", options: { color: C.white, fontSize: 11 } },
{ text: "Landmark: ", options: { bold: true, color: C.accent, fontSize: 11 } },
{ text: site.landmark + "\n", options: { color: C.white, fontSize: 11 } },
{ text: "USG view: ", options: { bold: true, color: C.accent, fontSize: 11 } },
{ text: site.us + "\n", options: { color: C.white, fontSize: 11 } },
{ text: "Indication: ", options: { bold: true, color: C.gold, fontSize: 11 } },
{ text: site.use, options: { color: C.offwhite, fontSize: 11 } },
], {
x: x + 0.12, y: y + 0.5, w: 4.35, h: 1.25, fontFace: "Calibri", valign: "top", margin: 0
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — BLOCK SITES: LOWER LIMB & TRUNK
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Block Sites — Lower Limb & Truncal", "Femoral, sciatic, TAP and more");
// Lower limb
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("LOWER LIMB BLOCKS", {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
const llBlocks = [
["Femoral nerve block", "Femoral triangle / inguinal ligament", "Hip fracture, TKR, anterior thigh"],
["Adductor canal block", "Adductor canal (mid-thigh)", "TKR — preserves motor (quadriceps-sparing)"],
["Sciatic nerve block", "Posterior hip / popliteal fossa", "Foot, ankle, posterior leg surgery"],
["Popliteal block", "Popliteal fossa (posterior knee)", "Foot & ankle — tibial/peroneal division"],
["Obturator block", "Obturator foramen / canal", "TKR supplementation, hip adductor spasm"],
["FICB (Fascia Iliaca)", "Fascia iliaca compartment", "Hip/femur fracture analgesia"],
];
llBlocks.forEach((row, i) => {
const y = 1.65 + i * 0.57;
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y, w: 4.55, h: 0.52,
fill: { color: i % 2 === 0 ? C.lightblue : C.white }, line: { color: "CBD5E0", pt: 0.5 }
});
s.addText(row[0], { x: 0.38, y: y + 0.04, w: 1.8, h: 0.44, fontSize: 10.5, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
s.addText(row[1], { x: 2.2, y: y + 0.04, w: 1.5, h: 0.44, fontSize: 9.5, color: C.muted, fontFace: "Calibri", margin: 0 });
s.addText(row[2], { x: 3.72, y: y + 0.04, w: 1.1, h: 0.44, fontSize: 9, color: C.blue, fontFace: "Calibri", margin: 0 });
});
// Truncal
s.addShape(pres.shapes.RECTANGLE, {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("TRUNCAL & NEURAXIAL BLOCKS", {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Transversus Abdominis Plane (TAP) — abdominal wall analgesia (T8–L1)",
"Rectus Sheath Block — periumbilical midline analgesia",
"Erector Spinae Plane (ESP) — thoracic/abdominal analgesia via paravertebral spread",
"Paravertebral Block — unilateral thoracic / breast surgery",
"Serratus Anterior Plane Block — rib fractures, thoracic wall",
"PECS I & II — breast surgery, axillary dissection",
"Quadratus Lumborum (QL) — abdominal / hip surgery",
"Intercostal Nerve Blocks — rib fracture, post-thoracotomy pain",
], { fontSize: 11.5, bulletColor: C.gold }), {
x: 5.15, y: 1.63, w: 4.55, h: 3.7, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — HEAD & NECK BLOCKS
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Block Sites — Head, Neck & Neuraxial", "Completing the regional anesthesia atlas");
const headBlocks = [
["Cervical Plexus Block", "Superficial & deep", "Carotid endarterectomy, neck dissection, thyroidectomy"],
["Stellate Ganglion Block", "C6–T1 junction", "Sympathetically mediated pain, vasospasm"],
["Greater Occipital Nerve", "Occipital protuberance", "Occipital neuralgia, migraine treatment"],
["Trigeminal branches", "V1/V2/V3 foramina", "Facial pain, dental procedures"],
["Glossopharyngeal Block", "Styloid process", "Awake intubation, oropharyngeal pain"],
["Superior Laryngeal Block", "Thyrohyoid membrane", "Awake intubation, laryngoscopy"],
];
// left table
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.22, w: 5.8, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("HEAD & NECK BLOCKS", {
x: 0.3, y: 1.22, w: 5.8, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
headBlocks.forEach((row, i) => {
const y = 1.65 + i * 0.56;
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y, w: 5.8, h: 0.5,
fill: { color: i % 2 === 0 ? C.lightblue : C.white }, line: { color: "CBD5E0", pt: 0.5 }
});
s.addText(row[0], { x: 0.38, y: y + 0.04, w: 2.1, h: 0.42, fontSize: 10.5, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
s.addText(row[1], { x: 2.5, y: y + 0.04, w: 1.35, h: 0.42, fontSize: 9.5, color: C.muted, fontFace: "Calibri", margin: 0 });
s.addText(row[2], { x: 3.87, y: y + 0.04, w: 2.2, h: 0.42, fontSize: 9.5, color: C.blue, fontFace: "Calibri", margin: 0 });
});
// right — neuraxial + fascial plane
s.addShape(pres.shapes.RECTANGLE, {
x: 6.4, y: 1.22, w: 3.3, h: 0.38,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("NEURAXIAL BLOCKS", {
x: 6.4, y: 1.22, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Spinal (Subarachnoid) Block",
"Epidural (lumbar / thoracic)",
"Caudal Block (pediatric)",
"Combined Spinal-Epidural (CSE)",
"US-guided landmark identification (obese / difficult anatomy)",
"Paramedian approach (degenerative spine)",
], { fontSize: 11.5, bulletColor: C.gold }), {
x: 6.4, y: 1.63, w: 3.3, h: 2.1, fontFace: "Calibri", valign: "top"
});
s.addShape(pres.shapes.RECTANGLE, {
x: 6.4, y: 3.8, w: 3.3, h: 0.38,
fill: { color: C.blue }, line: { color: C.blue }
});
s.addText("FASCIAL PLANE ERA", {
x: 6.4, y: 3.8, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText("Fascial plane blocks target the space between two fasciae rather than individual nerves — only possible with ultrasound guidance. Enabled entirely new block techniques impossible with landmark or PNS methods.", {
x: 6.4, y: 4.2, w: 3.3, h: 1.1,
fontSize: 10.5, color: C.text, fontFace: "Calibri", margin: 0
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — HEAD-TO-HEAD COMPARISON
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Head-to-Head Comparison", "Blind vs PNS vs Ultrasound-Guided");
const headers = ["Parameter", "Blind / Landmark", "PNS-Guided", "USG-Guided"];
const rows = [
["Nerve visualization", "None", "Indirect (motor twitch)", "Direct real-time imaging"],
["Block success rate", "70–85%", "85–92%", "92–98%"],
["LA volume required", "High (30–50 mL)","Moderate (20–30 mL)", "Low (10–20 mL)"],
["Onset time", "Long", "Moderate", "Fast"],
["Intraneural risk", "High", "Moderate", "Low (real-time monitoring)"],
["Vascular injury risk", "Moderate", "Moderate", "Low (Doppler)"],
["Anatomical variation", "Undetected", "Undetected", "Identified"],
["Fascial plane blocks", "Not possible", "Not possible", "Enabled"],
["Equipment cost", "Minimal", "Moderate", "Higher"],
["Learning curve", "Short (anatomy)","Moderate", "Moderate-steep (sonoanatomy)"],
["Suitable sedated patients","Limited (paresthesia)", "Yes", "Yes"],
];
const colW = [2.5, 2.1, 2.1, 2.85];
const colX = [0.2, 2.72, 4.83, 6.95];
const colColors = [C.navy, "78909C", C.blue, C.teal];
// Header row
headers.forEach((h, ci) => {
s.addShape(pres.shapes.RECTANGLE, {
x: colX[ci], y: 1.22, w: colW[ci] - 0.04, h: 0.4,
fill: { color: colColors[ci] }, line: { color: colColors[ci] }
});
s.addText(h, {
x: colX[ci], y: 1.22, w: colW[ci] - 0.04, h: 0.4,
fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
});
rows.forEach((row, ri) => {
const y = 1.64 + ri * 0.36;
const bg = ri % 2 === 0 ? C.lightblue : C.white;
row.forEach((cell, ci) => {
s.addShape(pres.shapes.RECTANGLE, {
x: colX[ci], y, w: colW[ci] - 0.04, h: 0.34,
fill: { color: ci === 0 ? C.offwhite : bg }, line: { color: "CBD5E0", pt: 0.5 }
});
// color USG advantages
let textColor = C.text;
if (ci === 3 && (cell.includes("Low") || cell.includes("Yes") || cell.includes("Fast") || cell.includes("92"))) textColor = "1B5E20";
if (ci === 1 && (cell.includes("High") || cell.includes("Long") || cell.includes("Not"))) textColor = "B71C1C";
s.addText(cell, {
x: colX[ci] + 0.05, y: y + 0.02, w: colW[ci] - 0.14, h: 0.3,
fontSize: 9.5, color: textColor, fontFace: "Calibri", bold: ci === 0, margin: 0
});
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 13 — USG DETAILED ADVANTAGES (safety focus)
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "USG — Detailed Safety & Clinical Advantages", "Evidence-based benefits");
const cats = [
{
title: "EFFICACY ADVANTAGES",
color: C.navy,
items: [
"Higher first-attempt success (meta-analysis: OR 2.79 vs PNS alone)",
"Consistent block performance time regardless of operator experience",
"Identifies nerves with anatomical variation that would cause landmark failure",
"Fascial plane blocks impossible without USG — new era of chest wall & abdominal analgesia",
"Enables catheter placement with real-time visualization of position",
]
},
{
title: "SAFETY ADVANTAGES",
color: "1B5E20",
items: [
"Reduces accidental intravascular injection — vascular structure visible on Doppler",
"Fewer seizures: study showed 0/9238 USG vs 6/5436 landmark (p=0.006)",
"Real-time injection monitoring prevents high-pressure intraneural injection",
"Pneumothorax risk reduction — pleura visible with intercostal & supraclavicular blocks",
"Epidural/paravertebral: identify midline, epidural depth, ligamentum flavum",
]
},
{
title: "VOLUME & PHARMACOLOGIC",
color: C.teal,
items: [
"30–50% reduction in local anesthetic dose required",
"Reduced LA systemic absorption → lower LAST (Local Anesthetic Systemic Toxicity) risk",
"More rapid onset due to precise perineural LA deposition",
"Prolonged block duration: circumferential nerve coverage",
"Hydrodissection technique: 1–2 mL identifies correct tissue plane",
]
},
{
title: "SPECIAL POPULATIONS & CONTEXTS",
color: C.blue,
items: [
"Obese patients: deep nerves located accurately — landmark unreliable",
"Pediatric anesthesia: replacing neuraxial blocks (PRAN study evidence)",
"Anticoagulated patients: vascular avoidance reduces hematoma risk",
"Dual monitoring (US + PNS): confirms nerve identity when image quality poor",
"Medicolegal: real-time imaging documents needle-nerve relationship",
]
},
];
cats.forEach((cat, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.3 + col * 4.85;
const y = 1.22 + row * 2.08;
s.addShape(pres.shapes.RECTANGLE, {
x, y, w: 4.6, h: 0.38,
fill: { color: cat.color }, line: { color: cat.color }
});
s.addText(cat.title, {
x, y, w: 4.6, h: 0.38,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets(cat.items, { fontSize: 11, bulletColor: cat.color }), {
x: x + 0.05, y: y + 0.4, w: 4.5, h: 1.62, fontFace: "Calibri", valign: "top"
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 14 — DUAL MONITORING (PNS + USG)
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Dual Monitoring: PNS + Ultrasound", "When 1 + 1 = 3 in regional anesthesia safety");
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.3, y: 1.22, w: 9.4, h: 0.6,
fill: { color: C.gold }, line: { color: C.gold }, rectRadius: 0.07
});
s.addText('"When US + PNS are combined, the electrical twitch provides ADDITIVE safety — confirming nerve identity when imaging is suboptimal, and alerting the operator to inadvertent intraneural contact."', {
x: 0.3, y: 1.22, w: 9.4, h: 0.6,
fontSize: 12.5, color: C.navy, fontFace: "Calibri", italic: true, align: "center", margin: 4
});
// Three columns
const cols3 = [
{
title: "When USG is Primary",
color: C.teal,
items: [
"Routine nerve blocks with good image quality",
"Superficial nerves (axillary, femoral, popliteal)",
"Fascial plane blocks (TAP, ESP, PECS)",
"PNS role: SAFETY BACKUP only",
"Twitch at <0.5 mA = too close to nerve",
]
},
{
title: "When PNS is Primary",
color: C.blue,
items: [
"US image quality poor (obesity, deep nerves)",
"Operator less experienced with sonoanatomy",
"Confirmed motor response guides needle",
"USG role: BACKUP — watch for vessels",
"PNS still valid standalone in absence of USG",
]
},
{
title: "True Dual Monitoring",
color: C.navy,
items: [
"Both used simultaneously from start",
"US identifies nerve; PNS confirms identity",
"Unexpected twitch → stop advancing needle",
"Best medicolegal documentation",
"Recommended for training and high-risk blocks",
]
},
];
cols3.forEach((col, i) => {
const x = 0.3 + i * 3.15;
s.addShape(pres.shapes.RECTANGLE, {
x, y: 1.95, w: 3.1, h: 0.38,
fill: { color: col.color }, line: { color: col.color }
});
s.addText(col.title, {
x, y: 1.95, w: 3.1, h: 0.38,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets(col.items, { fontSize: 11.5, bulletColor: col.color }), {
x: x + 0.05, y: 2.36, w: 3.0, h: 2.95, fontFace: "Calibri", valign: "top"
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 15 — LEARNING CURVE & TRAINING
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Training, Learning Curve & Competency", "Acquiring USG regional anesthesia skills");
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addText("SKILL ACQUISITION PATHWAY", {
x: 0.3, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.gold, fontFace: "Calibri", align: "center", margin: 0
});
const steps = [
["Phase 1", "SCAN FIRST", "Learn probe handling, identify target nerve & adjacent structures without needle"],
["Phase 2", "LANDMARK + USG", "Use surface landmarks to approximate, then confirm with ultrasound"],
["Phase 3", "USG + PNS", "Ultrasound primary + nerve stimulator for confirmation"],
["Phase 4", "PURE USG", "Ultrasound-only for routine blocks once competence achieved"],
];
steps.forEach((step, i) => {
const y = 1.66 + i * 0.88;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.3, y, w: 0.85, h: 0.72,
fill: { color: C.teal }, line: { color: C.teal }, rectRadius: 0.08
});
s.addText(step[0], { x: 0.3, y: y + 0.04, w: 0.85, h: 0.3, fontSize: 9, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0 });
s.addText(step[1], { x: 0.3, y: y + 0.35, w: 0.85, h: 0.3, fontSize: 8, color: C.gold, fontFace: "Calibri", align: "center", margin: 0 });
s.addText(step[2], { x: 1.25, y: y + 0.16, w: 3.5, h: 0.4, fontSize: 11.5, color: C.text, fontFace: "Calibri", margin: 0 });
if (i < 3) {
s.addText("↓", { x: 0.55, y: y + 0.73, w: 0.35, h: 0.18, fontSize: 12, color: C.teal, fontFace: "Calibri", align: "center", margin: 0 });
}
});
s.addShape(pres.shapes.RECTANGLE, {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("SONOANATOMY ESSENTIALS", {
x: 5.15, y: 1.22, w: 4.55, h: 0.38,
fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets([
"Nerves: hyperechoic honeycomb (short axis), cable-like (long axis)",
"Arteries: pulsatile, anechoic, compressible on probe pressure",
"Veins: non-pulsatile, easily compressed",
"Muscle: hypoechoic with hyperechoic pennation lines",
"Fascia: bright hyperechoic linear structures",
"Bone: hyperechoic with strong acoustic shadow",
"Tendons: hyperechoic fibrillar pattern — confused with nerves!",
"LA spread: expanding anechoic/hypoechoic halo around nerve",
"Minimum 50 supervised scans before independent practice (ASRA guideline)",
"Simulation training accelerates skill acquisition significantly",
], { fontSize: 12 }), {
x: 5.15, y: 1.63, w: 4.55, h: 3.7, fontFace: "Calibri", valign: "top"
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 16 — COMPLICATIONS & SAFETY
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.offwhite }, line: { color: C.offwhite }
});
addHeader(s, "Complications & Safety Considerations", "Common to all techniques — vigilance required");
const compCols = [
{
title: "GENERAL COMPLICATIONS",
color: "B71C1C",
items: [
"Local Anesthetic Systemic Toxicity (LAST) — most feared",
"Nerve injury / neuropathy (0.02–0.4%)",
"Intraneural injection — risk of fascicle damage",
"Hematoma / vascular puncture",
"Infection / abscess (rare)",
"Block failure requiring GA conversion",
"Pneumothorax (interscalene, supraclavicular)",
"Diaphragmatic paresis (interscalene ~100%)",
]
},
{
title: "LAST — MANAGEMENT",
color: "E65100",
items: [
"Stop LA injection immediately",
"Call for help — LAST kit",
"Airway: 100% O2, intubate if needed",
"Benzodiazepine for seizures (NOT propofol)",
"LIPID EMULSION: 20% Intralipid",
" Bolus: 1.5 mL/kg IBW over 1 min",
" Infusion: 0.25 mL/kg/min for 30–60 min",
"CPR if cardiac arrest — lipid emulsion improves ROSC",
]
},
{
title: "USG-SPECIFIC PRECAUTIONS",
color: C.navy,
items: [
"Poor image = seek better view BEFORE advancing needle",
"Never inject without confirming needle tip position",
"High injection pressure = ABORT (possible intraneural)",
"Use opening injection pressure monitoring (RAPM guidelines)",
"Confirm LA spread as perineural — not intraneural",
"Short-axis view: cannot see full needle shaft — know limitations",
"Checklist use strongly recommended (reduces adverse events)",
]
},
];
compCols.forEach((col, i) => {
const x = 0.25 + i * 3.2;
s.addShape(pres.shapes.RECTANGLE, {
x, y: 1.22, w: 3.15, h: 0.38,
fill: { color: col.color }, line: { color: col.color }
});
s.addText(col.title, {
x, y: 1.22, w: 3.15, h: 0.38,
fontSize: 11, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(makeBullets(col.items, { fontSize: 10.5, bulletColor: col.color }), {
x: x + 0.05, y: 1.63, w: 3.05, h: 3.7, fontFace: "Calibri", valign: "top"
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 17 — CONCLUSION / SUMMARY
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.navy }, line: { color: C.navy }
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 0.08,
fill: { color: C.gold }, line: { color: C.gold }
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 5.545, w: 10, h: 0.08,
fill: { color: C.gold }, line: { color: C.gold }
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.35, h: 5.625,
fill: { color: C.teal }, line: { color: C.teal }
});
s.addText("Key Takeaways", {
x: 0.6, y: 0.15, w: 8.8, h: 0.65,
fontSize: 30, bold: true, color: C.white, fontFace: "Calibri", charSpacing: 2
});
s.addText("From Blind to Brilliant — the evolution of nerve block guidance", {
x: 0.6, y: 0.78, w: 8.8, h: 0.38,
fontSize: 14, color: C.accent, fontFace: "Calibri", italic: true
});
const takeaways = [
["01", "Regional anesthesia evolved from blind paresthesia-seeking → landmark → PNS → ultrasound guidance"],
["02", "Landmark technique remains the foundation — anatomy knowledge is non-negotiable"],
["03", "PNS adds objectivity: motor twitch confirms nerve proximity without paresthesia"],
["04", "Ultrasound provides real-time visualization — higher success, lower LA volumes, fewer complications"],
["05", "USG-only fascial plane blocks represent a paradigm shift — entirely new block anatomies now accessible"],
["06", "Dual monitoring (USG + PNS) is additive, not redundant — recommended for safety & training"],
["07", "The goal is SAFE, EFFECTIVE analgesia: choose the tool and technique best suited to patient & context"],
];
takeaways.forEach((t, i) => {
const y = 1.25 + i * 0.57;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 0.55, y, w: 0.5, h: 0.45,
fill: { color: C.gold }, line: { color: C.gold }, rectRadius: 0.05
});
s.addText(t[0], {
x: 0.55, y: y + 0.03, w: 0.5, h: 0.38,
fontSize: 14, bold: true, color: C.navy, fontFace: "Calibri", align: "center", margin: 0
});
s.addText(t[1], {
x: 1.15, y: y + 0.04, w: 8.4, h: 0.42,
fontSize: 12.5, color: C.white, fontFace: "Calibri", margin: 0
});
});
}
// ─── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/nerve-blocks-pptx/Blind_to_Brilliant_Nerve_Blocks.pptx" })
.then(() => console.log("✅ Presentation saved successfully."))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/nerve-blocks-pptx && node create_pptx.js 2>&1
ls -lh /home/daytona/workspace/nerve-blocks-pptx/
Blind to Brilliant Nerve Blocks
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide with decorative wave/sonogram graphic |
| 2 | Overview/Agenda — 6 topic cards |
| 3 | Introduction — Why nerve blocks? + Historical timeline (1884–2010+) |
| 4 | Landmark/Blind Technique — principles, method, and limitations |
| 5 | PNS — Equipment, setup, cathode/anode rules, current thresholds |
| 6 | PNS — Advantages vs Limitations (green/red columns) |
| 7 | USG — Ultrasound physics + In-plane vs Out-of-plane techniques |
| 8 | USG Advantages (8 card grid — efficacy, safety, volume, anatomy) |
| 9 | Block Sites — Upper Limb: interscalene, supraclavicular, infraclavicular, axillary |
| 10 | Block Sites — Lower Limb (femoral, sciatic, adductor canal, FICB, etc.) + Truncal (TAP, ESP, PECS, QL) |
| 11 | Block Sites — Head/Neck + Neuraxial + Fascial Plane Era |
| 12 | Head-to-Head Comparison Table — Blind vs PNS vs USG across 11 parameters |
| 13 | USG Detailed Advantages — efficacy, safety, pharmacology, special populations |
| 14 | Dual Monitoring (PNS + USG) — when to combine and how |
| 15 | Training & Learning Curve — 4-phase skill acquisition pathway + sonoanatomy essentials |
| 16 | Complications & Safety — LAST management protocol included |
| 17 | Key Takeaways — 7 summary points on dark background |