Inj. Atropine with picture in MD Anaesthesia

Reading File
Finding Sources
Finding Sources
Searching Images

atropine injection pharmacology anaesthesia

Reading File
Reading File
Finding Sources
Searching Images

atropine structure mechanism action anticholinergic muscarinic

Finding Sources
Finding Sources
Searching Images

atropine chemical structure tertiary amine pharmacology drug

Reading File
Reading File
Reading File
Loading Image
I now have everything needed for a comprehensive answer. Here is the full pharmacology of Injection Atropine as covered in MD Anaesthesia textbooks:

Injection Atropine — MD Anaesthesia

Source: Morgan & Mikhail's Clinical Anesthesiology, 7e, Chapter 13: Anticholinergic Drugs

Physical Structure

Figure 13–1: Physical structures of anticholinergic drugs — Atropine, Scopolamine, Glycopyrrolate
FIGURE 13–1 Physical structures of anticholinergic drugs (Morgan & Mikhail's Clinical Anesthesiology, 7e, p. 431)
Atropine is a tertiary amine — an ester of an aromatic acid combined with an organic base. The ester linkage is essential for effective binding to acetylcholine (muscarinic) receptors. The levorotatory form is pharmacologically active, but the commercial product is a racemic mixture. Because it is a tertiary amine, atropine is lipid-soluble and can cross the blood-brain barrier.

Mechanism of Action

Atropine competitively blocks muscarinic acetylcholine receptors, preventing receptor activation and inhibiting the cellular effects of ACh (mediated through second messengers). Muscarinic receptor subtypes differ in location and affinity:
SubtypeLocation
M1CNS, autonomic ganglia, gastric parietal cells
M2Cardiac tissue
M3Smooth muscle, glands
The clinical response depends on baseline vagal tone.

Dosage & Packaging

IndicationDose
Premedication (IM/IV)0.01–0.02 mg/kg (adult: 0.4–0.6 mg)
Antisialogogue (IM)0.01–0.02 mg/kg
Severe bradycardia (IV)Up to 2 mg
Pediatric (vagal/bradycardia)20 mcg/kg
Available in multiple concentrations. A 1% solution = 10 mg/mL; one eye drop (~0.05 mL) ≈ 0.5 mg.

Comparative Pharmacology (Table 13–1)

EffectAtropineScopolamineGlycopyrrolate
Tachycardia++++++
Bronchodilatation+++++
Sedation++++0
Antisialagogue++++++++
Crosses BBBYes (tertiary)Yes (tertiary)No (quaternary)
0 = no effect; + = minimal; ++ = moderate; +++ = marked

Clinical Pharmacology: Organ System Effects

A. Cardiovascular

  • Blockade of M2 receptors at the sinoatrial nodetachycardia
  • Most efficacious anticholinergic for treating bradyarrhythmia
  • Promotes conduction through the AV node → shortens P-R interval; antagonizes vagal heart block
  • ⚠️ Paradoxical bradycardia can occur with small IV doses (<0.4 mg) — mechanism unclear
  • Atropine flush: cutaneous vasodilation with large doses
  • Caution in coronary artery disease — tachycardia increases myocardial O₂ demand and decreases supply

B. Respiratory

  • Inhibits secretions from nose to bronchi → useful during airway procedures
  • Relaxes bronchial smooth muscle → reduces airway resistance, increases dead space
  • Particularly useful in COPD and asthma patients
  • Ipratropium bromide (quaternary derivative) — available as MDI/nebulizer for bronchospasm

C. CNS

  • Minimal CNS effects at usual doses despite crossing the BBB
  • May cause mild postoperative memory deficits
  • Toxic doses: excitatory reactions (agitation, hallucinations, delirium)
  • Central anticholinergic syndrome: unconsciousness to hallucinations

D. Gastrointestinal

  • Markedly reduces salivation (antisialogogue effect)
  • Decreases gastric secretions (larger doses)
  • Decreases intestinal motility → prolongs gastric emptying time
  • Reduces lower esophageal sphincter pressure
  • ⚠️ Does NOT prevent aspiration pneumonia

E. Ophthalmic

  • Mydriasis (pupil dilation) and cycloplegia (loss of accommodation)
  • ⚠️ Contraindicated/used cautiously in narrow-angle (closed-angle) glaucoma

F. Genitourinary

  • May cause urinary retention
  • ⚠️ Use cautiously in prostatic hypertrophy or bladder-neck obstruction

Indications in Anaesthesia

  1. Premedication — antisialogogue before airway procedures or awake intubation
  2. Bradycardia — most potent anticholinergic for vagal-induced bradycardia (oculocardiac reflex, peritoneal traction, baroreceptor reflex)
  3. Prevention of succinylcholine-induced bradycardia (especially in children — 20 mcg/kg)
  4. Strabismus surgery — prevents oculocardiac reflex
  5. Organophosphate / nerve gas poisoning — reverses muscarinic effects (bronchorrhea, bradycardia); does NOT reverse nicotinic (muscle weakness) effects. Pralidoxime (1–2 g IV) to reactivate AChE.
  6. Reversal of neuromuscular blockade — given with neostigmine to blunt muscarinic side effects

Overdose / Toxicity

Mnemonic: "Dry as a bone, blind as a bat, red as a beet, hot as a hare, mad as a hatter"
  • Dry mouth, tachycardia, atropine flush (red skin), atropine fever, dilated pupils, hallucinations/delirium
  • Potentiated by: tricyclic antidepressants, antihistamines, antipsychotics
Antidote: Physostigmine 0.01–0.03 mg/kg IV (tertiary amine → crosses BBB; reverses central anticholinergic toxicity). Neostigmine/pyridostigmine cannot cross BBB and only reverse peripheral effects.

Renal Considerations

Up to 50% of atropine and its active metabolites are excreted in urine. In renal impairment, accumulation is possible with repeated doses.

Morgan & Mikhail's Clinical Anesthesiology, 7e, pp. 430–437 | Barash, Cullen & Stoelting's Clinical Anesthesia, 9e, p. 3724

Make a ppt

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.

Make a ppt

Reading File
Reading File
Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/atropine-ppt

Writing File

~/atropine-ppt/create_ppt.js

const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");

// ── Fetch the atropine structure image ──────────────────────────────────────
const imageUrl = "https://cdn.orris.care/cdss_images/6a8c6e4109a278ae41994c5e29922db67dcb64162d49c677199d49d4577574fe.png";
let structureImg = null;
try {
  const result = JSON.parse(
    execSync(
      `node /home/daytona/skills/shared/scripts/fetch_images.js "${imageUrl}"`
    ).toString()
  );
  if (result[0] && !result[0].error) {
    structureImg = result[0].base64;
  }
} catch (e) {
  console.log("Image fetch failed:", e.message);
}

// ── Palette ─────────────────────────────────────────────────────────────────
const C = {
  navy:    "0B1F4B",   // dominant dark background
  teal:    "0E7C7B",   // accent / section headers
  gold:    "F4A012",   // highlight / labels
  white:   "FFFFFF",
  light:   "E8F4F8",   // card background
  gray:    "B0C4CE",
  darkGray:"334155",
  red:     "E63946",
};

// ── Presentation ─────────────────────────────────────────────────────────────
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Injection Atropine – MD Anaesthesia";
pres.author = "MD Anaesthesia";

// ────────────────────────────────────────────────────────────────────────────
// HELPERS
// ────────────────────────────────────────────────────────────────────────────
function addBg(slide) {
  slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });
}

function sectionHeader(slide, text) {
  // Top accent bar
  slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.55, fill: { color: C.teal }, line: { color: C.teal } });
  slide.addText(text.toUpperCase(), {
    x: 0.4, y: 0, w: 9.2, h: 0.55,
    fontSize: 15, bold: true, color: C.white, valign: "middle", charSpacing: 3, margin: 0
  });
}

function card(slide, x, y, w, h, opts = {}) {
  slide.addShape(pres.shapes.RECTANGLE, {
    x, y, w, h,
    fill: { color: opts.fill || "0D2B55" },
    line: { color: opts.border || C.teal, pt: 1.5 },
    shadow: { type: "outer", color: "000000", blur: 8, offset: 2, angle: 135, opacity: 0.25 }
  });
}

function cardTitle(slide, text, x, y, w) {
  slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h: 0.33, fill: { color: C.teal }, line: { color: C.teal } });
  slide.addText(text, { x: x + 0.1, y, w: w - 0.1, h: 0.33, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 0 });
}

function dot(color) { return { text: "● ", options: { color, bold: true } }; }

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 1 — TITLE
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);

  // Left decorative bar
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.2, h: 5.625, fill: { color: C.gold }, line: { color: C.gold } });
  // Teal accent band
  s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 1.8, w: 9.8, h: 2.1, fill: { color: "0D2B55" }, line: { color: "0D2B55" } });

  s.addText("INJECTION ATROPINE", {
    x: 0.5, y: 1.85, w: 9.2, h: 0.9,
    fontSize: 36, bold: true, color: C.gold, align: "center", valign: "middle", charSpacing: 4
  });
  s.addText("Anticholinergic Drug in Anaesthesia Practice", {
    x: 0.5, y: 2.7, w: 9.2, h: 0.55,
    fontSize: 16, color: C.light, align: "center", italic: true
  });

  // Bottom info strip
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 5.0, w: 10, h: 0.625, fill: { color: C.teal }, line: { color: C.teal } });
  s.addText("MD Anaesthesia  |  Morgan & Mikhail's Clinical Anesthesiology, 7e", {
    x: 0.3, y: 5.0, w: 9.4, h: 0.625,
    fontSize: 10, color: C.white, align: "center", valign: "middle"
  });

  // Decorative circles
  s.addShape(pres.shapes.OVAL, { x: 7.5, y: 0.2, w: 2.2, h: 2.2, fill: { color: "0E3A6E" }, line: { color: "0E3A6E" } });
  s.addShape(pres.shapes.OVAL, { x: 0.3, y: 3.5, w: 1.4, h: 1.4, fill: { color: "0E3A6E" }, line: { color: "0E3A6E" } });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 2 — OVERVIEW / KEY CONCEPTS
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Overview & Key Concepts");

  const items = [
    ["Drug Class",      "Anticholinergic (Antimuscarinic)"],
    ["Structure",       "Tertiary amine — crosses blood-brain barrier"],
    ["Isomer",          "Racemic mixture; levorotatory form is active"],
    ["MOA",             "Competitive antagonist at muscarinic ACh receptors"],
    ["Receptor Subtypes","M1 (CNS/ganglia), M2 (cardiac), M3 (smooth muscle)"],
    ["Key Property",    "Most efficacious anticholinergic for treating bradyarrhythmia"],
  ];

  items.forEach(([label, val], i) => {
    const row = i % 3;
    const col = Math.floor(i / 3);
    const x = 0.3 + col * 4.9;
    const y = 0.8 + row * 1.5;
    card(s, x, y, 4.5, 1.3);
    s.addText(label.toUpperCase(), { x: x + 0.15, y: y + 0.1, w: 4.2, h: 0.35, fontSize: 9, color: C.gold, bold: true, margin: 0 });
    s.addText(val, { x: x + 0.15, y: y + 0.42, w: 4.2, h: 0.75, fontSize: 11, color: C.white, margin: 0, wrap: true });
  });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 3 — CHEMICAL STRUCTURE IMAGE
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Physical Structure");

  // Left text column
  card(s, 0.25, 0.7, 3.5, 4.7);
  cardTitle(s, "Structure Notes", 0.25, 0.7, 3.5);
  s.addText([
    { text: "Atropine\n", options: { bold: true, color: C.gold, fontSize: 12 } },
    { text: "• Tertiary amine\n• Ester of aromatic acid + organic base\n• Ester linkage = essential for binding\n• Lipid soluble → crosses BBB\n\n", options: { color: C.white, fontSize: 10 } },
    { text: "Scopolamine\n", options: { bold: true, color: C.gray, fontSize: 12 } },
    { text: "• Differs by epoxide on ring\n• More potent antisialogogue\n• Greater CNS effects\n\n", options: { color: C.white, fontSize: 10 } },
    { text: "Glycopyrrolate\n", options: { bold: true, color: C.gray, fontSize: 12 } },
    { text: "• Quaternary ammonium\n• Cannot cross BBB\n• No CNS/ophthalmic effects", options: { color: C.white, fontSize: 10 } },
  ], { x: 0.4, y: 1.1, w: 3.2, h: 4.1, valign: "top", margin: 0 });

  // Right image
  if (structureImg) {
    s.addImage({ data: structureImg, x: 4.0, y: 0.7, w: 5.7, h: 4.6 });
    s.addText("FIGURE 13–1  Physical structures of anticholinergic drugs", {
      x: 4.0, y: 5.25, w: 5.7, h: 0.3,
      fontSize: 8, color: C.gray, italic: true, align: "center"
    });
  } else {
    card(s, 4.0, 0.7, 5.7, 4.6, { fill: "0D2B55" });
    s.addText("Chemical Structure Diagram\n(Figure 13–1, Morgan & Mikhail)", {
      x: 4.0, y: 2.5, w: 5.7, h: 1.0, fontSize: 14, color: C.gray, align: "center"
    });
  }
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 4 — DOSAGE
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Dosage & Administration");

  const doses = [
    { label: "Premedication", dose: "0.01–0.02 mg/kg", route: "IV / IM", note: "Adult: 0.4–0.6 mg" },
    { label: "Severe Bradycardia", dose: "Up to 2 mg", route: "IV", note: "Complete vagal blockade" },
    { label: "Antisialogogue", dose: "0.01–0.02 mg/kg", route: "IM", note: "Reliable effect" },
    { label: "Pediatric (Vagal)", dose: "20 mcg/kg", route: "IV", note: "Strabismus / sux bradycardia" },
    { label: "OP Poisoning", dose: "2–4 mg (repeat PRN)", route: "IV", note: "Until secretions dry" },
  ];

  doses.forEach((d, i) => {
    const col = i % 2;
    const row = Math.floor(i / 2);
    const extra = i === 4 ? 0 : 0; // last card centered
    const x = i === 4 ? 2.6 : 0.3 + col * 4.85;
    const y = 0.75 + row * 1.65;
    const w = 4.5;
    card(s, x, y, w, 1.5);
    s.addShape(pres.shapes.RECTANGLE, { x, y, w: 0.12, h: 1.5, fill: { color: C.gold }, line: { color: C.gold } });
    s.addText(d.label.toUpperCase(), { x: x + 0.2, y: y + 0.1, w: w - 0.3, h: 0.3, fontSize: 9, color: C.gold, bold: true, margin: 0 });
    s.addText(d.dose, { x: x + 0.2, y: y + 0.38, w: w - 0.3, h: 0.45, fontSize: 18, color: C.white, bold: true, margin: 0 });
    s.addText(`Route: ${d.route}  |  ${d.note}`, { x: x + 0.2, y: y + 0.85, w: w - 0.3, h: 0.5, fontSize: 9.5, color: C.gray, margin: 0 });
  });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 5 — COMPARISON TABLE
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Comparative Pharmacology — Table 13-1");

  const tableData = [
    [
      { text: "EFFECT", options: { bold: true, color: C.gold, align: "center" } },
      { text: "ATROPINE", options: { bold: true, color: C.gold, align: "center" } },
      { text: "SCOPOLAMINE", options: { bold: true, color: C.gray, align: "center" } },
      { text: "GLYCOPYRROLATE", options: { bold: true, color: C.gray, align: "center" } },
    ],
    [
      { text: "Tachycardia", options: { color: C.white, align: "left" } },
      { text: "+++", options: { color: C.gold, bold: true, align: "center" } },
      { text: "+", options: { color: C.gray, align: "center" } },
      { text: "++", options: { color: C.light, align: "center" } },
    ],
    [
      { text: "Bronchodilatation", options: { color: C.white, align: "left" } },
      { text: "++", options: { color: C.gold, bold: true, align: "center" } },
      { text: "+", options: { color: C.gray, align: "center" } },
      { text: "++", options: { color: C.light, align: "center" } },
    ],
    [
      { text: "Sedation", options: { color: C.white, align: "left" } },
      { text: "+", options: { color: C.gray, align: "center" } },
      { text: "+++", options: { color: C.gold, bold: true, align: "center" } },
      { text: "0", options: { color: C.gray, align: "center" } },
    ],
    [
      { text: "Antisialagogue", options: { color: C.white, align: "left" } },
      { text: "++", options: { color: C.gold, bold: true, align: "center" } },
      { text: "+++", options: { color: C.gold, bold: true, align: "center" } },
      { text: "+++", options: { color: C.gold, bold: true, align: "center" } },
    ],
    [
      { text: "Crosses BBB", options: { color: C.white, align: "left" } },
      { text: "YES", options: { color: C.red, bold: true, align: "center" } },
      { text: "YES", options: { color: C.red, bold: true, align: "center" } },
      { text: "NO", options: { color: "3DDC84", bold: true, align: "center" } },
    ],
  ];

  s.addTable(tableData, {
    x: 0.5, y: 0.75, w: 9.0,
    rowH: 0.72,
    fontSize: 13,
    fontFace: "Calibri",
    border: { type: "solid", color: C.teal, pt: 1 },
    fill: { color: "0D2B55" },
    colW: [3.0, 2.0, 2.0, 2.0],
  });

  s.addText("0 = no effect  |  + = minimal  |  ++ = moderate  |  +++ = marked", {
    x: 0.5, y: 5.2, w: 9.0, h: 0.3,
    fontSize: 9, color: C.gray, align: "center", italic: true
  });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 6 — CARDIOVASCULAR & RESPIRATORY EFFECTS
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Organ System Effects — CVS & Respiratory");

  // CVS card
  card(s, 0.25, 0.7, 4.55, 4.7);
  cardTitle(s, "A. Cardiovascular", 0.25, 0.7, 4.55);
  s.addText([
    { text: "• ", options: { color: C.gold } },
    { text: "Blocks M2 at SA node → ", options: { color: C.white } },
    { text: "Tachycardia +++\n", options: { color: C.gold, bold: true } },
    { text: "• Best drug for ", options: { color: C.white } },
    { text: "vagal bradyarrhythmia\n", options: { color: C.gold, bold: true } },
    { text: "• Promotes AV conduction → shortens P-R interval\n", options: { color: C.white } },
    { text: "• ", options: { color: C.red } },
    { text: "Paradoxical bradycardia", options: { color: C.red, bold: true } },
    { text: " with small IV doses (<0.4 mg)\n", options: { color: C.white } },
    { text: "• Atropine ", options: { color: C.white } },
    { text: "flush", options: { color: C.gold } },
    { text: ": cutaneous vasodilation at high doses\n", options: { color: C.white } },
    { text: "• ", options: { color: C.red } },
    { text: "Caution in CAD", options: { color: C.red, bold: true } },
    { text: " — ↑ MVO₂, ↓ supply\n", options: { color: C.white } },
    { text: "• Atrial arrhythmias, nodal rhythms possible\n", options: { color: C.white } },
    { text: "• Enhances sympathetic activity via presynaptic M receptor block", options: { color: C.white } },
  ], { x: 0.4, y: 1.08, w: 4.25, h: 4.1, fontSize: 10, valign: "top", margin: 0 });

  // Respiratory card
  card(s, 5.1, 0.7, 4.55, 4.7);
  cardTitle(s, "B. Respiratory", 5.1, 0.7, 4.55);
  s.addText([
    { text: "• Inhibits secretions ", options: { color: C.white } },
    { text: "nose → bronchi\n", options: { color: C.gold, bold: true } },
    { text: "  (valuable for airway procedures)\n", options: { color: C.gray } },
    { text: "• Relaxes bronchial smooth muscle →\n  ", options: { color: C.white } },
    { text: "↓ Airway resistance\n", options: { color: C.gold, bold: true } },
    { text: "  ↑ Anatomical dead space\n", options: { color: C.white } },
    { text: "• Useful in ", options: { color: C.white } },
    { text: "COPD & asthma\n\n", options: { color: C.gold, bold: true } },
    { text: "Ipratropium Bromide:\n", options: { color: C.gold, bold: true, fontSize: 11 } },
    { text: "• Quaternary derivative of atropine\n", options: { color: C.white } },
    { text: "• MDI for bronchospasm\n", options: { color: C.white } },
    { text: "• Limited systemic absorption\n", options: { color: C.white } },
    { text: "• 0.5 mg in 2.5 mL nebuliser\n", options: { color: C.white } },
    { text: "• Combined with β-agonist (albuterol) for acute COPD", options: { color: C.white } },
  ], { x: 5.25, y: 1.08, w: 4.25, h: 4.1, fontSize: 10, valign: "top", margin: 0 });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 7 — CNS, GI, OPHTHALMIC, GU EFFECTS
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Organ System Effects — CNS, GI, Ophthalmic, GU");

  const panels = [
    {
      title: "C. CNS",
      x: 0.25, y: 0.7, w: 4.55, h: 2.2,
      items: [
        ["Tertiary amine → crosses BBB", C.white],
        ["Minimal CNS effects at clinical doses", C.white],
        ["High doses → excitation, hallucinations", C.red],
        ["Post-op memory deficits possible", C.white],
        ["Central Anticholinergic Syndrome (toxic)", C.red],
      ]
    },
    {
      title: "D. Gastrointestinal",
      x: 5.1, y: 0.7, w: 4.55, h: 2.2,
      items: [
        ["↓↓ Salivation (antisialogogue)", C.gold],
        ["↓ Gastric secretions (large doses)", C.white],
        ["↓ GI motility → prolonged gastric emptying", C.white],
        ["↓ Lower oesophageal sphincter pressure", C.white],
        ["Does NOT prevent aspiration pneumonia ⚠️", C.red],
      ]
    },
    {
      title: "E. Ophthalmic",
      x: 0.25, y: 3.1, w: 4.55, h: 2.2,
      items: [
        ["Mydriasis (pupillary dilation)", C.white],
        ["Cycloplegia (loss of accommodation)", C.white],
        ["⚠️ AVOID in narrow-angle glaucoma", C.red],
        ["Risk of acute angle-closure glaucoma", C.red],
      ]
    },
    {
      title: "F. Genitourinary",
      x: 5.1, y: 3.1, w: 4.55, h: 2.2,
      items: [
        ["May cause urinary retention", C.white],
        ["⚠️ Caution: BPH / bladder-neck obstruction", C.red],
        ["Renal impairment: accumulation risk (50% renal excretion)", C.white],
      ]
    }
  ];

  panels.forEach(p => {
    card(s, p.x, p.y, p.w, p.h);
    cardTitle(s, p.title, p.x, p.y, p.w);
    const bullets = p.items.map((item, idx) => ([
      { text: "• ", options: { color: C.teal, bold: true } },
      { text: item[0] + (idx < p.items.length - 1 ? "\n" : ""), options: { color: item[1], fontSize: 9.5 } }
    ])).flat();
    s.addText(bullets, { x: p.x + 0.15, y: p.y + 0.38, w: p.w - 0.25, h: p.h - 0.45, valign: "top", margin: 0, fontSize: 9.5 });
  });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 8 — CLINICAL USES IN ANAESTHESIA
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Clinical Uses in Anaesthesia");

  const uses = [
    { num: "01", title: "Premedication", body: "Antisialogogue before airway procedures, FOB, awake intubation (0.01–0.02 mg/kg IM)" },
    { num: "02", title: "Bradycardia", body: "Vagally-mediated: oculocardiac reflex, peritoneal traction, baroreceptor reflex (up to 2 mg IV)" },
    { num: "03", title: "Succinylcholine Bradycardia", body: "Prevents bradycardia in children; dose 20 mcg/kg IV before succinylcholine" },
    { num: "04", title: "Strabismus Surgery", body: "Prevents oculocardiac reflex during traction on extraocular muscles (20 mcg/kg)" },
    { num: "05", title: "NMB Reversal", body: "Co-administered with neostigmine to blunt muscarinic side effects (bradycardia, secretions)" },
    { num: "06", title: "OP / Nerve Gas Poisoning", body: "Reverses muscarinic effects (bronchorrhea, bradycardia). Does NOT reverse nicotinic effects. Repeat IV doses until dry" },
  ];

  uses.forEach((u, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.25 + col * 3.25;
    const y = 0.75 + row * 2.3;
    card(s, x, y, 3.1, 2.1);
    // Number badge
    s.addShape(pres.shapes.OVAL, { x: x + 0.1, y: y + 0.1, w: 0.5, h: 0.5, fill: { color: C.teal }, line: { color: C.teal } });
    s.addText(u.num, { x: x + 0.1, y: y + 0.1, w: 0.5, h: 0.5, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    s.addText(u.title, { x: x + 0.7, y: y + 0.12, w: 2.3, h: 0.4, fontSize: 11, bold: true, color: C.gold, margin: 0 });
    s.addText(u.body, { x: x + 0.15, y: y + 0.6, w: 2.85, h: 1.35, fontSize: 9.5, color: C.white, margin: 0, wrap: true, valign: "top" });
  });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 9 — CONTRAINDICATIONS & OVERDOSE
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Contraindications, Overdose & Antidote");

  // Contraindications
  card(s, 0.25, 0.7, 4.55, 2.6);
  cardTitle(s, "⚠️  Contraindications / Cautions", 0.25, 0.7, 4.55);
  s.addText([
    { text: "• Narrow-angle (closed-angle) glaucoma\n", options: { color: C.red } },
    { text: "• Prostatic hypertrophy\n", options: { color: C.red } },
    { text: "• Bladder-neck obstruction\n", options: { color: C.red } },
    { text: "• Coronary artery disease (tachycardia → ↑MVO₂)\n", options: { color: C.red } },
    { text: "• Renal impairment: risk of accumulation", options: { color: C.gold } },
  ], { x: 0.4, y: 1.1, w: 4.25, h: 2.1, fontSize: 10.5, valign: "top", margin: 0 });

  // Overdose mnemonic
  card(s, 5.1, 0.7, 4.55, 2.6);
  cardTitle(s, "Anticholinergic Toxidrome Mnemonic", 5.1, 0.7, 4.55);
  s.addText([
    { text: "\"Dry as a bone\" ", options: { color: C.gold, bold: true } },
    { text: "→ dry mouth, skin\n", options: { color: C.white } },
    { text: "\"Blind as a bat\" ", options: { color: C.gold, bold: true } },
    { text: "→ mydriasis, cycloplegia\n", options: { color: C.white } },
    { text: "\"Red as a beet\" ", options: { color: C.gold, bold: true } },
    { text: "→ atropine flush\n", options: { color: C.white } },
    { text: "\"Hot as a hare\" ", options: { color: C.gold, bold: true } },
    { text: "→ hyperthermia\n", options: { color: C.white } },
    { text: "\"Mad as a hatter\" ", options: { color: C.gold, bold: true } },
    { text: "→ confusion, hallucinations", options: { color: C.white } },
  ], { x: 5.25, y: 1.1, w: 4.25, h: 2.1, fontSize: 10, valign: "top", margin: 0 });

  // Antidote
  card(s, 0.25, 3.45, 9.4, 1.85);
  cardTitle(s, "Antidote — Physostigmine", 0.25, 3.45, 9.4);
  s.addText([
    { text: "PHYSOSTIGMINE ", options: { color: C.gold, bold: true, fontSize: 13 } },
    { text: "(Tertiary amine cholinesterase inhibitor — crosses BBB)\n", options: { color: C.white, fontSize: 11 } },
    { text: "• Dose: 0.01–0.03 mg/kg IV  |  Redose after 15–30 min if needed\n", options: { color: C.light, fontSize: 10.5 } },
    { text: "• Only agent that reverses CENTRAL anticholinergic toxicity\n", options: { color: C.light, fontSize: 10.5 } },
    { text: "• Neostigmine/Pyridostigmine = quaternary → do NOT cross BBB → only peripheral effects", options: { color: C.gray, fontSize: 10 } },
  ], { x: 0.4, y: 3.85, w: 9.1, h: 1.35, valign: "top", margin: 0 });
}

// ────────────────────────────────────────────────────────────────────────────
// SLIDE 10 — SUMMARY
// ────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  addBg(s);
  sectionHeader(s, "Summary");

  const keyPoints = [
    "Tertiary amine — lipid soluble, crosses BBB; commercial form is racemic mixture",
    "Competitive M-receptor antagonist; M2 blockade → tachycardia (most potent anticholinergic for bradycardia)",
    "Paradoxical bradycardia with small IV doses < 0.4 mg",
    "Antisialogogue (++), bronchodilator (++), minimal sedation (+)",
    "Premedication: 0.01–0.02 mg/kg IM/IV | Bradycardia: up to 2 mg IV | Paeds: 20 mcg/kg",
    "Caution: CAD, narrow-angle glaucoma, BPH, renal impairment",
    "Organophosphate poisoning antidote — reverses muscarinic (NOT nicotinic) effects",
    "Toxidrome antidote: Physostigmine 0.01–0.03 mg/kg IV (crosses BBB)",
  ];

  keyPoints.forEach((pt, i) => {
    const y = 0.72 + i * 0.59;
    s.addShape(pres.shapes.RECTANGLE, { x: 0.25, y, w: 0.07, h: 0.42, fill: { color: C.gold }, line: { color: C.gold } });
    s.addText(pt, {
      x: 0.42, y, w: 9.35, h: 0.45,
      fontSize: 10.5, color: C.white, valign: "middle", margin: 0
    });
  });

  // Bottom strip
  s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 5.1, w: 10, h: 0.525, fill: { color: C.teal }, line: { color: C.teal } });
  s.addText("Morgan & Mikhail's Clinical Anesthesiology, 7e  —  Chapter 13: Anticholinergic Drugs", {
    x: 0.3, y: 5.1, w: 9.4, h: 0.525,
    fontSize: 9.5, color: C.white, align: "center", valign: "middle"
  });
}

// ── Write file ───────────────────────────────────────────────────────────────
const outPath = "/home/daytona/workspace/atropine-ppt/Atropine_Anaesthesia.pptx";
pres.writeFile({ fileName: outPath })
  .then(() => console.log("SUCCESS:", outPath))
  .catch(e => { console.error("FAILED:", e); process.exit(1); });
Running Command

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

Your presentation is ready:

Atropine Anaesthesia

Presentation · PPTX


10 slides included:
#Slide
1Title Slide
2Overview & Key Concepts
3Physical Structure (with Figure 13-1 chemical diagram)
4Dosage & Administration (all clinical doses)
5Comparison Table — Atropine vs Scopolamine vs Glycopyrrolate
6CVS & Respiratory Effects
7CNS, GI, Ophthalmic & GU Effects
8Clinical Uses in Anaesthesia (6 key indications)
9Contraindications, Toxidrome Mnemonic & Antidote
10Summary (8 key takeaways)
Design uses a navy/teal/gold palette suitable for academic medical presentations, sourced from Morgan & Mikhail's Clinical Anesthesiology, 7e.

Make a comparison poster: Atropine vs Glycopyrrolate

Reading File
Finding Sources
Finding Sources
Reading File
Writing File

~/atropine-ppt/create_comparison_poster.js

const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");

// Fetch structure image
const imageUrl = "https://cdn.orris.care/cdss_images/6a8c6e4109a278ae41994c5e29922db67dcb64162d49c677199d49d4577574fe.png";
let structureImg = null;
try {
  const result = JSON.parse(
    execSync(`node /home/daytona/skills/shared/scripts/fetch_images.js "${imageUrl}"`).toString()
  );
  if (result[0] && !result[0].error) structureImg = result[0].base64;
} catch(e) { console.log("Image fetch:", e.message); }

// ── Palette ───────────────────────────────────────────────────────────────
const C = {
  bg:       "0B1B35",   // dark navy background
  col_a:    "1B4F8A",   // atropine column blue
  col_g:    "0E6B5E",   // glycopyrrolate column teal-green
  header_a: "2176C7",   // atropine header
  header_g: "14967F",   // glycopyrrolate header
  gold:     "F4A832",   // accent / labels
  white:    "FFFFFF",
  lightBlue:"D6E8FF",
  lightGreen:"C7EFE7",
  gray:     "94A3B8",
  divider:  "E2B94A",   // central divider
  rowAlt:   "132844",   // alternating row bg
  red:      "E63946",
  green:    "2ECC71",
};

// ── Presentation (LAYOUT_WIDE = 13.3" x 7.5") ────────────────────────────
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";
pres.title = "Atropine vs Glycopyrrolate – Comparison Poster";

const W = 13.3;
const H = 7.5;

const s = pres.addSlide();

// ── Background ────────────────────────────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:W, h:H, fill:{color:C.bg}, line:{color:C.bg} });

// ── Header bar ────────────────────────────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:W, h:0.72, fill:{color:"0A1628"}, line:{color:"0A1628"} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0.72, w:W, h:0.06, fill:{color:C.divider}, line:{color:C.divider} });

s.addText("ATROPINE", {
  x:0.3, y:0, w:5.5, h:0.72,
  fontSize:26, bold:true, color:C.lightBlue, valign:"middle", align:"center", charSpacing:5, margin:0
});
s.addText("vs", {
  x:5.8, y:0, w:1.7, h:0.72,
  fontSize:20, bold:true, color:C.gold, valign:"middle", align:"center", charSpacing:2, margin:0
});
s.addText("GLYCOPYRROLATE", {
  x:7.5, y:0, w:5.5, h:0.72,
  fontSize:26, bold:true, color:C.lightGreen, valign:"middle", align:"center", charSpacing:3, margin:0
});

// Subtitle
s.addText("Anticholinergic Drug Comparison  |  MD Anaesthesia  |  Morgan & Mikhail's Clinical Anesthesiology, 7e", {
  x:0, y:0.78, w:W, h:0.3,
  fontSize:8, color:C.gray, align:"center", valign:"middle", italic:true
});

// ── Column backgrounds ────────────────────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:0.15, y:1.12, w:5.85, h:6.1, fill:{color:"0D2240"}, line:{color:C.header_a, pt:1.5} });
s.addShape(pres.shapes.RECTANGLE, { x:7.3,  y:1.12, w:5.85, h:6.1, fill:{color:"0A2A22"}, line:{color:C.header_g, pt:1.5} });

// ── Centre divider column ─────────────────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:6.1,  y:1.12, w:1.1,  h:6.1, fill:{color:"0B1B35"}, line:{color:"0B1B35"} });
s.addShape(pres.shapes.RECTANGLE, { x:6.6,  y:1.12, w:0.06, h:6.1, fill:{color:C.divider}, line:{color:C.divider} });

// ── Row data ──────────────────────────────────────────────────────────────
// Each row: { label, a: {text, color?}, g: {text, color?}, highlight? }
const rows = [
  {
    label: "DRUG CLASS",
    a: { text: "Natural alkaloid (belladonna plant)", color: C.lightBlue },
    g: { text: "Synthetic quaternary ammonium compound", color: C.lightGreen },
  },
  {
    label: "CHEMICAL STRUCTURE",
    a: { text: "Tertiary amine\nLipid-soluble", color: C.lightBlue },
    g: { text: "Quaternary ammonium\nWater-soluble (ionic)", color: C.lightGreen },
  },
  {
    label: "CROSSES BBB",
    a: { text: "YES ✓  (tertiary amine)", color: C.red },
    g: { text: "NO ✗  (quaternary — cannot cross)", color: C.green },
    highlight: true,
  },
  {
    label: "PREMEDICATION DOSE",
    a: { text: "0.01–0.02 mg/kg IV/IM\n(Adult: 0.4–0.6 mg)", color: C.lightBlue },
    g: { text: "0.005–0.01 mg/kg IV/IM\n(Adult: 0.2–0.3 mg)\n≈ Half the atropine dose", color: C.lightGreen },
  },
  {
    label: "BRADYCARDIA DOSE",
    a: { text: "Up to 2 mg IV\n(Complete vagal blockade)", color: C.lightBlue },
    g: { text: "0.1–0.2 mg IV\n(Less favoured for acute bradycardia)", color: C.lightGreen },
  },
  {
    label: "DURATION OF ACTION",
    a: { text: "30 min (IV)", color: C.lightBlue },
    g: { text: "2–4 hours (IV)\nLonger acting ✓", color: C.green },
    highlight: true,
  },
  {
    label: "TACHYCARDIA",
    a: { text: "+++  (Very potent)\nBest drug for vagal bradyarrhythmia", color: C.gold },
    g: { text: "++  (Moderate)\nHR increase mainly with IV, not IM", color: C.lightGreen },
  },
  {
    label: "ANTISIALOGOGUE",
    a: { text: "++  (Good)", color: C.lightBlue },
    g: { text: "+++  (Excellent — preferred)", color: C.green },
    highlight: true,
  },
  {
    label: "BRONCHODILATATION",
    a: { text: "++  (Good)", color: C.lightBlue },
    g: { text: "++  (Good)", color: C.lightGreen },
  },
  {
    label: "SEDATION / CNS",
    a: { text: "+  Post-op memory deficits\nToxic: excitation / hallucinations", color: C.red },
    g: { text: "0  None\nNo CNS effects (cannot cross BBB)", color: C.green },
    highlight: true,
  },
  {
    label: "OPHTHALMIC EFFECTS",
    a: { text: "Mydriasis + Cycloplegia\n⚠️ Avoid in narrow-angle glaucoma", color: C.red },
    g: { text: "Minimal / None\n✓ Safer in glaucoma patients", color: C.green },
  },
  {
    label: "GI EFFECTS",
    a: { text: "↓ Salivation, ↓ motility\n↓ LOS pressure\nDoes NOT prevent aspiration", color: C.lightBlue },
    g: { text: "↓↓ Salivation (more potent)\n↓ Gastric secretions\nDoes NOT prevent aspiration", color: C.lightGreen },
  },
  {
    label: "KEY CLINICAL ADVANTAGE",
    a: { text: "Drug of choice for acute vagal bradyarrhythmia\nOrganophosphate poisoning antidote", color: C.gold },
    g: { text: "Preferred for premedication / antisialogogue\nSafer CNS profile — elderly, paediatric", color: C.gold },
    highlight: true,
  },
  {
    label: "REVERSAL (NMB)",
    a: { text: "Given with edrophonium\n(short-acting reversal)", color: C.lightBlue },
    g: { text: "Preferred with neostigmine\n(well-matched duration)", color: C.green },
    highlight: false,
  },
];

const rowStartY = 1.18;
const rowH = 0.415;
const leftColX = 0.2;
const leftColW = 5.75;
const rightColX = 7.35;
const rightColW = 5.75;
const labelX = 6.13;
const labelW = 1.04;

rows.forEach((row, i) => {
  const y = rowStartY + i * rowH;
  const fillA = row.highlight ? "0F2B52" : (i % 2 === 0 ? "0D2240" : "0F2A4A");
  const fillG = row.highlight ? "0A3328" : (i % 2 === 0 ? "0A2A22" : "0C3329");
  const fillL = row.highlight ? "1A1A00" : "0B1B35";

  s.addShape(pres.shapes.RECTANGLE, { x: leftColX,  y, w: leftColW,  h: rowH, fill:{color: fillA}, line:{color:"132B4A"} });
  s.addShape(pres.shapes.RECTANGLE, { x: rightColX, y, w: rightColW, h: rowH, fill:{color: fillG}, line:{color:"0D3328"} });
  s.addShape(pres.shapes.RECTANGLE, { x: labelX,    y, w: labelW,    h: rowH, fill:{color: fillL}, line:{color: fillL} });

  // Atropine text
  s.addText(row.a.text, {
    x: leftColX + 0.15, y: y + 0.02, w: leftColW - 0.25, h: rowH - 0.04,
    fontSize: row.a.text.length > 60 ? 8 : 9, color: row.a.color || C.lightBlue,
    valign: "middle", margin: 0, bold: row.highlight
  });

  // Glycopyrrolate text
  s.addText(row.g.text, {
    x: rightColX + 0.1, y: y + 0.02, w: rightColW - 0.2, h: rowH - 0.04,
    fontSize: row.g.text.length > 60 ? 8 : 9, color: row.g.color || C.lightGreen,
    valign: "middle", margin: 0, bold: row.highlight
  });

  // Label
  s.addText(row.label, {
    x: labelX + 0.03, y: y + 0.02, w: labelW - 0.06, h: rowH - 0.04,
    fontSize: 6.5, color: C.gold, bold: true, align: "center", valign: "middle", margin: 0, wrap: true
  });
});

// ── Structure image strip at bottom ──────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:0, y:7.15, w:W, h:0.35, fill:{color:"0A1628"}, line:{color:"0A1628"} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:7.15, w:W, h:0.04, fill:{color:C.divider}, line:{color:C.divider} });

if (structureImg) {
  s.addImage({ data: structureImg, x: 4.65, y: 7.1, w: 3.8, h: 0.36 });
}
s.addText("Source: Morgan & Mikhail's Clinical Anesthesiology, 7e  —  Chapter 13: Anticholinergic Drugs", {
  x: 0.2, y: 7.18, w: W - 0.4, h: 0.28,
  fontSize: 7, color: C.gray, align: "center", valign: "middle", italic: true
});

// ── Column header accents ─────────────────────────────────────────────────
s.addShape(pres.shapes.RECTANGLE, { x:0.15, y:1.12, w:5.85, h:0.28, fill:{color:C.header_a}, line:{color:C.header_a} });
s.addText("ATROPINE SULFATE", {
  x:0.15, y:1.12, w:5.85, h:0.28,
  fontSize:10, bold:true, color:C.white, align:"center", valign:"middle", charSpacing:3, margin:0
});

s.addShape(pres.shapes.RECTANGLE, { x:7.3, y:1.12, w:5.85, h:0.28, fill:{color:C.header_g}, line:{color:C.header_g} });
s.addText("GLYCOPYRROLATE (GLYCOPYRRONIUM)", {
  x:7.3, y:1.12, w:5.85, h:0.28,
  fontSize:10, bold:true, color:C.white, align:"center", valign:"middle", charSpacing:2, margin:0
});

s.addShape(pres.shapes.RECTANGLE, { x:6.1, y:1.12, w:1.1, h:0.28, fill:{color:"1A1200"}, line:{color:C.divider} });
s.addText("PARAMETER", {
  x:6.1, y:1.12, w:1.1, h:0.28,
  fontSize:7, bold:true, color:C.gold, align:"center", valign:"middle", charSpacing:1, margin:0
});

// ── Write file ────────────────────────────────────────────────────────────
const outPath = "/home/daytona/workspace/atropine-ppt/Atropine_vs_Glycopyrrolate_Poster.pptx";
pres.writeFile({ fileName: outPath })
  .then(() => console.log("SUCCESS:", outPath))
  .catch(e => { console.error("FAILED:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/atropine-ppt && node create_comparison_poster.js 2>&1

Your comparison poster is ready:

Atropine vs Glycopyrrolate Poster

Presentation · PPTX


Single wide-format poster slide with a dark navy / blue-green dual-column layout:
ParameterAtropine (Blue)Glycopyrrolate (Green)
Drug ClassNatural alkaloidSynthetic quaternary
Chemical StructureTertiary amineQuaternary ammonium
Crosses BBBYES ⚠️NO ✓
Premedication Dose0.01–0.02 mg/kg0.005–0.01 mg/kg
Duration (IV)30 min2–4 hours
Tachycardia+++++
Antisialogogue+++++ (preferred)
Sedation/CNS+ (memory deficits, toxic excitation)0 (none)
OphthalmicMydriasis + Cycloplegia ⚠️Minimal/None ✓
NMB ReversalWith edrophoniumPreferred with neostigmine
Key AdvantageAcute vagal bradycardia / OP poisoningPremedication / safer in elderly & paeds
Highlighted rows (gold borders) mark the clinically decisive differences. Source: Morgan & Mikhail's Clinical Anesthesiology, 7e, Ch. 13.

Inj.Glycopyrrolate in MD anesthesia..make a ppt

Finding Sources
Finding Sources
Reading File
Reading File
Running Command

node /home/daytona/skills/shared/scripts/fetch_images.js "https://cdn.orris.care/cdss_images/6a8c6e4109a278ae41994c5e29922db67dcb64162d49c677199d49d4577574fe.png" "https://cdn.orris.care/cdss_images/cfa1cbe1965b8a71fc125dc37911bb6e1eaabfbbf49091d1f385f655e2cd09ea.png" 2>&1 | head -c 200

Writing File

~/atropine-ppt/create_glycopyrrolate_ppt.js

const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");

// ── Fetch images ──────────────────────────────────────────────────────────
const imgUrls = [
  "https://cdn.orris.care/cdss_images/6a8c6e4109a278ae41994c5e29922db67dcb64162d49c677199d49d4577574fe.png", // Morgan & Mikhail Fig 13-1
  "https://cdn.orris.care/cdss_images/cfa1cbe1965b8a71fc125dc37911bb6e1eaabfbbf49091d1f385f655e2cd09ea.png", // Barash Fig 14-15
];
let [imgMM, imgBarash] = [null, null];
try {
  const imgs = JSON.parse(
    execSync(`node /home/daytona/skills/shared/scripts/fetch_images.js "${imgUrls[0]}" "${imgUrls[1]}"`).toString()
  );
  if (imgs[0] && !imgs[0].error) imgMM = imgs[0].base64;
  if (imgs[1] && !imgs[1].error) imgBarash = imgs[1].base64;
} catch(e) { console.log("Image fetch:", e.message); }

// ── Palette ──────────────────────────────────────────────────────────────
const C = {
  navy:    "091A35",
  teal:    "0E7E72",
  green:   "14967F",
  gold:    "F4A832",
  white:   "FFFFFF",
  light:   "C7EFE7",
  gray:    "94A3B8",
  dark:    "0A2A22",
  rowAlt:  "0C3329",
  red:     "E63946",
  limeGrn: "2ECC71",
  card:    "0D2B24",
};

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Injection Glycopyrrolate – MD Anaesthesia";
pres.author = "MD Anaesthesia";

// ── Helpers ──────────────────────────────────────────────────────────────
function addBg(slide) {
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625,
    fill:{color:C.navy}, line:{color:C.navy} });
}

function topBar(slide, text) {
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.55,
    fill:{color:C.teal}, line:{color:C.teal} });
  slide.addText(text.toUpperCase(), {
    x:0.35, y:0, w:9.3, h:0.55,
    fontSize:15, bold:true, color:C.white, valign:"middle", charSpacing:3, margin:0
  });
}

function card(slide, x, y, w, h, borderColor) {
  slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h,
    fill:{color:C.card},
    line:{color: borderColor || C.teal, pt:1.5},
    shadow:{type:"outer", color:"000000", blur:8, offset:2, angle:135, opacity:0.25}
  });
}

function cardHeader(slide, x, y, w, text) {
  slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h:0.33,
    fill:{color:C.teal}, line:{color:C.teal} });
  slide.addText(text, {
    x:x+0.1, y, w:w-0.1, h:0.33,
    fontSize:10, bold:true, color:C.white, valign:"middle", margin:0
  });
}

function footerBar(slide, text) {
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:5.25, w:10, h:0.375,
    fill:{color:C.teal}, line:{color:C.teal} });
  slide.addText(text, {
    x:0.3, y:5.25, w:9.4, h:0.375,
    fontSize:8.5, color:C.white, align:"center", valign:"middle"
  });
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);

  // Left accent bar
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.18, h:5.625,
    fill:{color:C.gold}, line:{color:C.gold} });
  // Centre band
  s.addShape(pres.shapes.RECTANGLE, { x:0.18, y:1.7, w:9.82, h:2.3,
    fill:{color:C.dark}, line:{color:C.dark} });

  s.addText("INJECTION GLYCOPYRROLATE", {
    x:0.4, y:1.75, w:9.4, h:1.0,
    fontSize:34, bold:true, color:C.gold,
    align:"center", valign:"middle", charSpacing:3
  });
  s.addText("Anticholinergic Drug in Anaesthesia Practice", {
    x:0.4, y:2.7, w:9.4, h:0.55,
    fontSize:16, color:C.light, align:"center", italic:true
  });

  // Bottom strip
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.1, w:10, h:0.525,
    fill:{color:C.teal}, line:{color:C.teal} });
  s.addText("MD Anaesthesia  |  Morgan & Mikhail's Clinical Anesthesiology, 7e  |  Barash Clinical Anesthesia, 9e", {
    x:0.3, y:5.1, w:9.4, h:0.525,
    fontSize:9, color:C.white, align:"center", valign:"middle"
  });

  // Decorative ovals
  s.addShape(pres.shapes.OVAL, { x:7.8, y:0.15, w:2.0, h:2.0,
    fill:{color:"0C2A23"}, line:{color:"0C2A23"} });
  s.addShape(pres.shapes.OVAL, { x:0.2, y:3.6, w:1.2, h:1.2,
    fill:{color:"0C2A23"}, line:{color:"0C2A23"} });
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW & KEY CONCEPTS
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Overview & Key Concepts");

  const items = [
    ["Drug Class",       "Anticholinergic (Antimuscarinic)"],
    ["Type",             "Synthetic compound"],
    ["Chemical Structure","Quaternary ammonium (ionic, water-soluble)"],
    ["Crosses BBB?",     "NO — cannot cross blood-brain barrier"],
    ["MOA",              "Competitive antagonist at muscarinic (M) receptors"],
    ["Key Property",     "Potent antisialogogue; almost devoid of CNS & ophthalmic effects"],
  ];

  items.forEach(([label, val], i) => {
    const col = Math.floor(i / 3);
    const row = i % 3;
    const x = 0.28 + col * 4.9;
    const y = 0.72 + row * 1.56;
    card(s, x, y, 4.55, 1.38);
    s.addText(label.toUpperCase(), {
      x:x+0.15, y:y+0.1, w:4.3, h:0.32,
      fontSize:8.5, color:C.gold, bold:true, margin:0
    });
    s.addText(val, {
      x:x+0.15, y:y+0.42, w:4.3, h:0.85,
      fontSize:11, color:C.white, margin:0, wrap:true
    });
  });
  footerBar(s, "Morgan & Mikhail's Clinical Anesthesiology, 7e — Chapter 13: Anticholinergic Drugs");
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 3 — PHYSICAL STRUCTURE
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Physical Structure");

  card(s, 0.25, 0.65, 3.7, 4.65);
  cardHeader(s, 0.25, 0.65, 3.7, "Structure Notes");
  s.addText([
    {text:"Glycopyrrolate\n", options:{bold:true, color:C.gold, fontSize:13}},
    {text:"• Synthetic compound\n", options:{color:C.white, fontSize:10}},
    {text:"• Quaternary ammonium structure\n", options:{color:C.white, fontSize:10}},
    {text:"• Has cyclopentane + pyridine moieties\n", options:{color:C.white, fontSize:10}},
    {text:"• Ionic / water-soluble\n", options:{color:C.white, fontSize:10}},
    {text:"• Cannot cross BBB ✓\n", options:{color:C.limeGrn, fontSize:10, bold:true}},
    {text:"• Cannot cross placenta\n\n", options:{color:C.limeGrn, fontSize:10}},
    {text:"Differs from Atropine:\n", options:{bold:true, color:C.gold, fontSize:12}},
    {text:"• Atropine = tertiary amine (crosses BBB)\n", options:{color:C.gray, fontSize:10}},
    {text:"• Glycopyrrolate = quaternary (does NOT)\n", options:{color:C.gray, fontSize:10}},
    {text:"• Avoids CNS side effects entirely\n", options:{color:C.gray, fontSize:10}},
  ], {x:0.4, y:1.05, w:3.45, h:4.1, valign:"top", margin:0});

  // Image
  if (imgMM) {
    s.addImage({data:imgMM, x:4.1, y:0.65, w:5.65, h:4.6});
    s.addText("FIGURE 13–1 Physical structures of anticholinergic drugs (Morgan & Mikhail, 7e, p.431)", {
      x:4.1, y:5.2, w:5.65, h:0.3,
      fontSize:7.5, color:C.gray, italic:true, align:"center"
    });
  } else {
    card(s, 4.1, 0.65, 5.65, 4.6);
    s.addText("Figure 13–1\nChemical Structures", {
      x:4.1, y:2.5, w:5.65, h:1.0,
      fontSize:14, color:C.gray, align:"center"
    });
  }
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 4 — DOSAGE & PACKAGING
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Dosage & Administration");

  const doses = [
    { label:"Premedication",        dose:"0.005–0.01 mg/kg", route:"IV / IM",  note:"Adult: 0.2–0.3 mg\n(½ of atropine dose)" },
    { label:"Antisialogogue (Pre-op)",dose:"0.2–0.3 mg",     route:"IM",       note:"1 hour before surgery\nMore effective than IV for this" },
    { label:"With Neostigmine (NMB Reversal)", dose:"0.2 mg per 1 mg neostigmine", route:"IV", note:"Mix or give simultaneously" },
    { label:"Bradycardia (Spinal Anaesthesia)", dose:"0.1–0.2 mg",  route:"IV",  note:"Prophylactic in obstetric spinal" },
    { label:"ECT Premedication",    dose:"0.2–0.3 mg",       route:"IM / IV",  note:"Prevents secretions + attenuates bradycardia" },
    { label:"Packaging",            dose:"0.2 mg / mL",      route:"Solution", note:"Available as 1 mL and 2 mL ampoules" },
  ];

  doses.forEach((d, i) => {
    const col = i % 2;
    const row = Math.floor(i / 2);
    const x = 0.28 + col * 4.9;
    const y = 0.72 + row * 1.6;
    card(s, x, y, 4.55, 1.5);
    s.addShape(pres.shapes.RECTANGLE, {x, y, w:0.12, h:1.5, fill:{color:C.gold}, line:{color:C.gold}});
    s.addText(d.label.toUpperCase(), {x:x+0.2, y:y+0.1, w:4.25, h:0.3, fontSize:8.5, color:C.gold, bold:true, margin:0});
    s.addText(d.dose, {x:x+0.2, y:y+0.38, w:4.25, h:0.45, fontSize:18, color:C.white, bold:true, margin:0});
    s.addText(`Route: ${d.route}  |  ${d.note}`, {x:x+0.2, y:y+0.85, w:4.25, h:0.55, fontSize:9, color:C.gray, margin:0, wrap:true});
  });
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 5 — COMPARATIVE TABLE (Barash Table 14-6)
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Comparative Pharmacology (Barash Table 14-6)");

  const tableData = [
    [
      {text:"PARAMETER",       options:{bold:true, color:C.gold,  align:"center"}},
      {text:"ATROPINE",        options:{bold:true, color:"AEDDF8",align:"center"}},
      {text:"SCOPOLAMINE",     options:{bold:true, color:C.gray,  align:"center"}},
      {text:"GLYCOPYRROLATE",  options:{bold:true, color:C.light, align:"center"}},
    ],
    [
      {text:"Duration (IV)",   options:{color:C.white, align:"left"}},
      {text:"15–30 min",       options:{color:"AEDDF8", align:"center"}},
      {text:"30–60 min",       options:{color:C.gray,  align:"center"}},
      {text:"2–4 h  ★",        options:{color:C.limeGrn, bold:true, align:"center"}},
    ],
    [
      {text:"Duration (IM)",   options:{color:C.white, align:"left"}},
      {text:"2–4 h",           options:{color:"AEDDF8", align:"center"}},
      {text:"4–6 h",           options:{color:C.gray,  align:"center"}},
      {text:"6–8 h  ★",        options:{color:C.limeGrn, bold:true, align:"center"}},
    ],
    [
      {text:"CNS Effects",     options:{color:C.white, align:"left"}},
      {text:"++",              options:{color:C.red,   align:"center"}},
      {text:"+++",             options:{color:C.red,   bold:true, align:"center"}},
      {text:"0  ★",            options:{color:C.limeGrn, bold:true, align:"center"}},
    ],
    [
      {text:"Antisialogogue",  options:{color:C.white, align:"left"}},
      {text:"+",               options:{color:"AEDDF8", align:"center"}},
      {text:"+++",             options:{color:C.gold,  bold:true, align:"center"}},
      {text:"++",              options:{color:C.light, align:"center"}},
    ],
    [
      {text:"Heart Rate ↑",    options:{color:C.white, align:"left"}},
      {text:"+++",             options:{color:C.gold,  bold:true, align:"center"}},
      {text:"+",               options:{color:C.gray,  align:"center"}},
      {text:"+",               options:{color:C.light, align:"center"}},
    ],
    [
      {text:"Crosses BBB",     options:{color:C.white, align:"left"}},
      {text:"YES ⚠️",           options:{color:C.red,   bold:true, align:"center"}},
      {text:"YES ⚠️",           options:{color:C.red,   bold:true, align:"center"}},
      {text:"NO  ★",           options:{color:C.limeGrn, bold:true, align:"center"}},
    ],
    [
      {text:"Crosses Placenta",options:{color:C.white, align:"left"}},
      {text:"YES",             options:{color:C.red,   align:"center"}},
      {text:"YES",             options:{color:C.red,   align:"center"}},
      {text:"NO  ★",           options:{color:C.limeGrn, bold:true, align:"center"}},
    ],
  ];

  s.addTable(tableData, {
    x:0.4, y:0.68, w:9.2,
    rowH:0.54,
    fontSize:12, fontFace:"Calibri",
    border:{type:"solid", color:C.teal, pt:1},
    fill:{color:C.card},
    colW:[3.2, 2.0, 2.0, 2.0],
  });

  s.addText("★ = Glycopyrrolate advantage  |  0 = no effect  |  + = minimal  |  ++ = moderate  |  +++ = marked", {
    x:0.4, y:5.15, w:9.2, h:0.35,
    fontSize:8.5, color:C.gray, align:"center", italic:true
  });
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 6 — ORGAN SYSTEM EFFECTS
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Organ System Effects");

  const panels = [
    {
      title:"A. Cardiovascular", x:0.25, y:0.65, w:4.55, h:2.25,
      items:[
        ["Heart rate ↑ after IV (not after IM)", C.gold],
        ["Moderate tachycardia (++) — less than atropine", C.white],
        ["Bradycardia with spinal anaesthesia may be refractory to glycopyrrolate", C.red],
        ["Atropine + ephedrine preferred for spinal bradycardia", C.white],
        ["Prophylactic use prevents spinal bradycardia in obstetric patients (recent evidence)", C.limeGrn],
      ]
    },
    {
      title:"B. Respiratory", x:5.1, y:0.65, w:4.55, h:2.25,
      items:[
        ["Potent inhibition of salivary & respiratory secretions", C.gold],
        ["Reduces secretions from nose → bronchi", C.white],
        ["Bronchodilatation (++) — relaxes bronchial smooth muscle", C.white],
        ["Primary rationale for use as premedication", C.limeGrn],
        ["Helpful for airway visualisation (0.2–0.3 mg IM, 1 h pre-op)", C.white],
      ]
    },
    {
      title:"C. CNS / Ophthalmic", x:0.25, y:3.0, w:4.55, h:2.35,
      items:[
        ["Cannot cross blood-brain barrier (quaternary)", C.limeGrn],
        ["Almost DEVOID of CNS effects — NO sedation", C.limeGrn],
        ["No hallucinations, no agitation, no memory effects", C.limeGrn],
        ["No clinically significant ophthalmic effects", C.limeGrn],
        ["Safer in elderly and paediatric patients", C.gold],
      ]
    },
    {
      title:"D. GI / Genitourinary", x:5.1, y:3.0, w:4.55, h:2.35,
      items:[
        ["↓↓ Salivation — most potent antisialogogue (with scopolamine)", C.gold],
        ["↓ Gastric secretions (large doses)", C.white],
        ["↓ GI motility → prolonged gastric emptying", C.white],
        ["↓ Lower oesophageal sphincter pressure", C.white],
        ["Does NOT prevent aspiration pneumonia ⚠️", C.red],
        ["May cause urinary retention — caution in BPH", C.red],
      ]
    }
  ];

  panels.forEach(p => {
    card(s, p.x, p.y, p.w, p.h);
    cardHeader(s, p.x, p.y, p.w, p.title);
    const bullArr = p.items.map((item, idx) => [
      {text:"• ", options:{color:C.teal, bold:true}},
      {text: item[0] + (idx < p.items.length-1 ? "\n" : ""), options:{color:item[1], fontSize:9.5}}
    ]).flat();
    s.addText(bullArr, {x:p.x+0.15, y:p.y+0.38, w:p.w-0.25, h:p.h-0.45, valign:"top", margin:0, fontSize:9.5});
  });
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 7 — CLINICAL USES IN ANAESTHESIA
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Clinical Uses in Anaesthesia");

  const uses = [
    {num:"01", title:"Premedication",         body:"Antisialogogue before surgical/airway procedures. 0.2–0.3 mg IM given 1 h before surgery — more effective than IV for secretion control"},
    {num:"02", title:"Airway Procedures",      body:"Preferred over atropine for FOB, awake intubation — minimises secretions without CNS effects. 0.2 mg IM 1 h pre-procedure"},
    {num:"03", title:"NMB Reversal",           body:"Given WITH neostigmine (0.2 mg glycopyrrolate per 1 mg neostigmine). Well-matched duration — prevents muscarinic bradycardia and secretions"},
    {num:"04", title:"ECT Premedication",      body:"Prevents profuse secretions during seizures. Attenuates bradycardia. IM/IV route, 0.2–0.3 mg before procedure"},
    {num:"05", title:"Spinal Anaesthesia (Obstetric)",body:"Prophylactic IV glycopyrrolate prevents bradycardia in parturients undergoing spinal for caesarean section"},
    {num:"06", title:"Elderly / Paediatric",  body:"Preferred over atropine when CNS effects must be avoided. No delirium, no hallucinations, no memory issues — safer in vulnerable populations"},
  ];

  uses.forEach((u, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.25 + col * 3.25;
    const y = 0.72 + row * 2.28;
    card(s, x, y, 3.1, 2.15);
    s.addShape(pres.shapes.OVAL, {x:x+0.1, y:y+0.1, w:0.48, h:0.48,
      fill:{color:C.teal}, line:{color:C.teal}});
    s.addText(u.num, {x:x+0.1, y:y+0.1, w:0.48, h:0.48,
      fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0});
    s.addText(u.title, {x:x+0.65, y:y+0.12, w:2.35, h:0.38,
      fontSize:10.5, bold:true, color:C.gold, margin:0});
    s.addText(u.body, {x:x+0.15, y:y+0.58, w:2.85, h:1.45,
      fontSize:9.5, color:C.white, margin:0, wrap:true, valign:"top"});
  });
  footerBar(s, "Morgan & Mikhail, 7e p.435–436  |  Barash Clinical Anesthesia, 9e p.1084–1085");
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 8 — ADVANTAGES & SPECIAL SITUATIONS
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Advantages, Special Situations & Cautions");

  // Advantages card
  card(s, 0.25, 0.65, 4.55, 4.65);
  cardHeader(s, 0.25, 0.65, 4.55, "✓  Key Advantages over Atropine");
  s.addText([
    {text:"• Longer duration: ", options:{color:C.gold, bold:true}},
    {text:"2–4 h IV / 6–8 h IM\n", options:{color:C.white}},
    {text:"• No CNS effects ", options:{color:C.limeGrn, bold:true}},
    {text:"(cannot cross BBB)\n", options:{color:C.white}},
    {text:"• No ophthalmic effects\n", options:{color:C.limeGrn}},
    {text:"• No placental transfer ", options:{color:C.limeGrn, bold:true}},
    {text:"— safer in obstetrics\n", options:{color:C.white}},
    {text:"• Superior antisialogogue\n", options:{color:C.gold, bold:true}},
    {text:"• Preferred for premedication in:", options:{color:C.white}},
    {text:"\n  – Elderly patients\n  – Paediatric patients\n  – Glaucoma patients\n  – Psychiatric patients\n  – Awake airway procedures", options:{color:C.light}},
  ], {x:0.4, y:1.05, w:4.25, h:4.1, valign:"top", margin:0, fontSize:10.5});

  // Cautions + Renal card
  card(s, 5.1, 0.65, 4.55, 2.2);
  cardHeader(s, 5.1, 0.65, 4.55, "⚠️  Cautions & Contraindications");
  s.addText([
    {text:"• BPH / bladder-neck obstruction → urinary retention\n", options:{color:C.red}},
    {text:"• Narrow-angle glaucoma (systemic — rare risk)\n", options:{color:C.red}},
    {text:"• Spinal bradycardia may be refractory — prefer atropine\n", options:{color:C.red}},
    {text:"• Renal impairment: 50% renal excretion → accumulation risk\n", options:{color:C.gold}},
    {text:"• Does NOT prevent aspiration pneumonia", options:{color:C.red}},
  ], {x:5.25, y:1.05, w:4.25, h:1.68, valign:"top", margin:0, fontSize:10});

  // Preferred Pairing card
  card(s, 5.1, 3.0, 4.55, 2.3);
  cardHeader(s, 5.1, 3.0, 4.55, "Preferred Drug Pairings");
  s.addText([
    {text:"NMB Reversal:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"  Neostigmine + Glycopyrrolate\n", options:{color:C.white}},
    {text:"  (well-matched duration — ideal combination)\n\n", options:{color:C.gray}},
    {text:"Spinal Bradycardia:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"  Atropine or Ephedrine preferred\n", options:{color:C.white}},
    {text:"  (glycopyrrolate may be refractory)\n\n", options:{color:C.gray}},
    {text:"Airway / Premedication:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"  Glycopyrrolate 0.2–0.3 mg IM 1h pre-op", options:{color:C.white}},
  ], {x:5.25, y:3.38, w:4.25, h:1.8, valign:"top", margin:0, fontSize:10});
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 9 — STRUCTURE IMAGE (Barash)
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Structural Formulae — Clinically Useful Antimuscarinics");

  if (imgBarash) {
    s.addImage({data:imgBarash, x:1.0, y:0.65, w:8.0, h:4.4});
    s.addText("FIGURE 14-15 Structural formulas of the clinically useful antimuscarinic drugs  (Barash, Cullen & Stoelting's Clinical Anesthesia, 9e, p.1085)", {
      x:0.3, y:5.1, w:9.4, h:0.4,
      fontSize:8, color:C.gray, italic:true, align:"center"
    });
  } else {
    card(s, 0.5, 0.65, 9.0, 4.5);
    s.addText("Figure 14-15 — Structural Formulas\n(Barash, 9e, p. 1085)", {
      x:0.5, y:2.5, w:9.0, h:1.0, fontSize:14, color:C.gray, align:"center"
    });
  }

  // Side note
  s.addText([
    {text:"Note: ", options:{bold:true, color:C.gold}},
    {text:"Glycopyrrolate (bottom) has a quaternary N⁺ — the positive charge prevents lipid-membrane crossing (BBB & placenta).", options:{color:C.light}},
  ], {x:0.3, y:5.28, w:9.4, h:0.3, fontSize:8.5, align:"left"});
}

// ════════════════════════════════════════════════════════════════════
// SLIDE 10 — SUMMARY
// ════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  addBg(s);
  topBar(s, "Summary — Injection Glycopyrrolate");

  const pts = [
    "Synthetic quaternary ammonium compound — water-soluble, ionic",
    "Cannot cross BBB or placenta → NO CNS effects, NO ophthalmic effects",
    "Dose: 0.005–0.01 mg/kg IV/IM (adult 0.2–0.3 mg) — HALF the atropine dose",
    "Packaged as 0.2 mg/mL solution",
    "Longest acting anticholinergic: 2–4 h IV; 6–8 h IM",
    "Primary use: premedication as potent antisialogogue (preferred over atropine for secretion control)",
    "Preferred partner for neostigmine in NMB reversal (matched duration)",
    "Tachycardia only with IV administration — not with IM",
    "Spinal anaesthesia bradycardia may be refractory — use atropine or ephedrine",
    "Safer in elderly, paediatrics, obstetrics, psychiatric patients",
  ];

  pts.forEach((pt, i) => {
    const y = 0.68 + i * 0.485;
    s.addShape(pres.shapes.RECTANGLE, {x:0.25, y:y+0.05, w:0.07, h:0.38,
      fill:{color:C.gold}, line:{color:C.gold}});
    s.addText(pt, {
      x:0.42, y, w:9.35, h:0.45,
      fontSize:10.5, color:C.white, valign:"middle", margin:0
    });
  });

  footerBar(s, "Morgan & Mikhail's Clinical Anesthesiology, 7e  •  Barash, Cullen & Stoelting's Clinical Anesthesia, 9e");
}

// ── Write ─────────────────────────────────────────────────────────────────
const outPath = "/home/daytona/workspace/atropine-ppt/Glycopyrrolate_Anaesthesia.pptx";
pres.writeFile({fileName: outPath})
  .then(() => console.log("SUCCESS:", outPath))
  .catch(e => { console.error("FAILED:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/atropine-ppt && node create_glycopyrrolate_ppt.js 2>&1

Your presentation is ready:

Glycopyrrolate Anaesthesia

Presentation · PPTX


10 slides — teal/green/gold dark theme:
#Slide
1Title Slide
2Overview & Key Concepts
3Physical Structure (with Figure 13-1, Morgan & Mikhail)
4Dosage & Administration (6 clinical scenarios)
5Comparative Table — Barash Table 14-6 (Atropine vs Scopolamine vs Glycopyrrolate)
6Organ System Effects (CVS, Respiratory, CNS, GI/GU)
7Clinical Uses in Anaesthesia (6 indications)
8Advantages, Special Situations & Drug Pairings
9Structural Formulae (Figure 14-15, Barash 9e)
10Summary — 10 Key Points
Key clinical highlights covered:
  • Cannot cross BBB — zero CNS/ophthalmic effects (chief advantage)
  • Longest acting: 2–4 h IV; 6–8 h IM
  • Preferred with neostigmine for NMB reversal
  • Spinal bradycardia refractory — atropine/ephedrine preferred
  • Dose = ½ atropine (0.005–0.01 mg/kg)
Sources: Morgan & Mikhail's Clinical Anesthesiology, 7e · Barash, Cullen & Stoelting's Clinical Anesthesia, 9e

IV cannula in MD Anaesthesia..make a ppt

Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Searching Images

IV cannula intravenous catheter sizes gauge peripheral venous access

Reading File
Finding Sources
Finding Sources
Running Command

node /home/daytona/skills/shared/scripts/fetch_images.js "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_5bf46ddab1da2331721539dbfccc988536cce8b7bfbdd0a6f90f4a0b002c0475.jpg" "https://cdn.orris.care/cdss_images/roco_radiology_ROCO_18858_1766647115945.png" 2>&1 | head -c 100

Writing File

~/atropine-ppt/create_ivcannula_ppt.js

const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");

// ── Fetch images ──────────────────────────────────────────────────────────
let imgUS = null, imgKink = null;
try {
  const imgs = JSON.parse(execSync(
    `node /home/daytona/skills/shared/scripts/fetch_images.js ` +
    `"https://cdn.orris.care/cdss_images/pmc_clinical_VQA_5bf46ddab1da2331721539dbfccc988536cce8b7bfbdd0a6f90f4a0b002c0475.jpg" ` +
    `"https://cdn.orris.care/cdss_images/roco_radiology_ROCO_18858_1766647115945.png"`
  ).toString());
  if (imgs[0] && !imgs[0].error) imgUS = imgs[0].base64;
  if (imgs[1] && !imgs[1].error) imgKink = imgs[1].base64;
} catch(e) { console.log("Image fetch:", e.message); }

// ── Palette ───────────────────────────────────────────────────────────────
const C = {
  navy:    "0A1628",
  blue:    "1A4B8C",
  accent:  "1E90D8",
  gold:    "F59E0B",
  white:   "FFFFFF",
  light:   "D6E8FF",
  gray:    "94A3B8",
  card:    "0D2240",
  dark:    "071020",
  red:     "E63946",
  green:   "2ECC71",
  orange:  "F97316",
};

const GAUGE_COLORS = {
  "14G": "E63946",  // red
  "16G": "F97316",  // orange/grey
  "18G": "16A34A",  // green
  "20G": "F59E0B",  // pink/gold
  "22G": "3B82F6",  // blue
  "24G": "FBBF24",  // yellow
};

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "IV Cannula – MD Anaesthesia";

// ── Helpers ───────────────────────────────────────────────────────────────
function bg(s) {
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:0,w:10,h:5.625, fill:{color:C.navy}, line:{color:C.navy} });
}
function topBar(s, txt) {
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:0,w:10,h:0.55, fill:{color:C.blue}, line:{color:C.blue} });
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:0.55,w:10,h:0.05, fill:{color:C.accent}, line:{color:C.accent} });
  s.addText(txt.toUpperCase(), { x:0.35,y:0,w:9.3,h:0.55, fontSize:14, bold:true, color:C.white, valign:"middle", charSpacing:3, margin:0 });
}
function card(s, x, y, w, h, border) {
  s.addShape(pres.shapes.RECTANGLE, { x,y,w,h, fill:{color:C.card}, line:{color:border||C.accent,pt:1.5},
    shadow:{type:"outer",color:"000000",blur:8,offset:2,angle:135,opacity:0.2} });
}
function cardHdr(s, x, y, w, txt, color) {
  s.addShape(pres.shapes.RECTANGLE, { x,y,w,h:0.32, fill:{color:color||C.blue}, line:{color:color||C.blue} });
  s.addText(txt, { x:x+0.1,y,w:w-0.1,h:0.32, fontSize:9.5, bold:true, color:C.white, valign:"middle", margin:0 });
}
function footer(s, txt) {
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:5.27,w:10,h:0.355, fill:{color:C.blue}, line:{color:C.blue} });
  s.addText(txt, { x:0.3,y:5.27,w:9.4,h:0.355, fontSize:8, color:C.white, align:"center", valign:"middle" });
}

// ══════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:0,w:0.2,h:5.625, fill:{color:C.gold}, line:{color:C.gold} });
  s.addShape(pres.shapes.RECTANGLE, { x:0.2,y:1.7,w:9.8,h:2.3, fill:{color:"0D1F3C"}, line:{color:"0D1F3C"} });
  s.addText("INTRAVENOUS CANNULA", {
    x:0.4,y:1.75,w:9.4,h:1.0, fontSize:34, bold:true, color:C.gold,
    align:"center", valign:"middle", charSpacing:4
  });
  s.addText("Peripheral Venous Access in Anaesthesia Practice", {
    x:0.4,y:2.72,w:9.4,h:0.55, fontSize:16, color:C.light, align:"center", italic:true
  });
  s.addShape(pres.shapes.RECTANGLE, { x:0,y:5.1,w:10,h:0.525, fill:{color:C.blue}, line:{color:C.blue} });
  s.addText("MD Anaesthesia  |  Morgan & Mikhail's Clinical Anesthesiology, 7e  |  Clinical Practice Guidelines", {
    x:0.3,y:5.1,w:9.4,h:0.525, fontSize:9, color:C.white, align:"center", valign:"middle"
  });
  s.addShape(pres.shapes.OVAL, { x:7.7,y:0.1,w:2.1,h:2.1, fill:{color:"0C1D37"}, line:{color:"0C1D37"} });
  s.addShape(pres.shapes.OVAL, { x:0.2,y:3.6,w:1.3,h:1.3, fill:{color:"0C1D37"}, line:{color:"0C1D37"} });
}

// ══════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW & DEFINITION
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Overview & Definition");

  const items = [
    ["Definition",      "Short plastic (Teflon/polyurethane) tube inserted into a peripheral vein over a metal introducer needle"],
    ["Also Known As",   "IV cannula, peripheral IV catheter (PIV), venflon, angiocath, jelco"],
    ["Purpose",         "Drug delivery, IV fluids, blood products, anaesthetic agents, emergency access"],
    ["Principle (Poiseuille's Law)", "Flow ∝ r⁴ / length — short, wide cannula = maximum flow rate"],
    ["Routine Anaesthesia", "Minimum: one secure peripheral IV before induction in EVERY patient"],
    ["Major Surgery",   "Two large-bore IVs (≥16G) ± central venous access"],
  ];

  items.forEach(([label, val], i) => {
    const col = Math.floor(i / 3);
    const row = i % 3;
    const x = 0.28 + col * 4.9;
    const y = 0.7 + row * 1.56;
    card(s, x, y, 4.55, 1.38);
    s.addText(label.toUpperCase(), { x:x+0.15,y:y+0.1,w:4.3,h:0.3, fontSize:8.5, color:C.gold, bold:true, margin:0 });
    s.addText(val, { x:x+0.15,y:y+0.42,w:4.3,h:0.85, fontSize:11, color:C.white, margin:0, wrap:true });
  });
  footer(s, "Morgan & Mikhail's Clinical Anesthesiology, 7e  |  Rockwood & Green's Fractures in Adults, 10e");
}

// ══════════════════════════════════════════════════════
// SLIDE 3 — GAUGE SIZES & COLOUR CODING
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Gauge Sizes, Colour Coding & Flow Rates");

  // Table header
  const hdrY = 0.65;
  const cols = [0.2, 1.5, 2.65, 4.3, 6.25, 8.4];
  const hdrs = ["GAUGE", "COLOUR", "FLOW RATE", "CLINICAL USE", "PATIENT GROUP", "NOTES"];
  const colW = [1.25, 1.1, 1.6, 1.9, 2.1, 1.55];

  s.addShape(pres.shapes.RECTANGLE, { x:0.2,y:hdrY,w:9.6,h:0.38, fill:{color:C.blue}, line:{color:C.blue} });
  hdrs.forEach((h, i) => {
    s.addText(h, { x:cols[i]+0.06,y:hdrY,w:colW[i],h:0.38, fontSize:8.5, bold:true, color:C.gold, valign:"middle", margin:0 });
  });

  const rows = [
    { g:"14G", col:"Orange",  flow:">300 mL/min", use:"Massive haemorrhage, rapid blood transfusion", pt:"Trauma, major surgery, obstetrics", note:"Hardest to insert; most pain" },
    { g:"16G", col:"Grey",    flow:"~200 mL/min",  use:"Major surgery, large fluid shifts, blood products", pt:"Adult surgical, cardiac", note:"Preferred for major cases" },
    { g:"18G", col:"Green",   flow:"~100 mL/min",  use:"Most elective surgeries, blood transfusion", pt:"Routine adult patients", note:"Most common in theatre" },
    { g:"20G", col:"Pink",    flow:"~60 mL/min",   use:"Routine IV fluids and drugs", pt:"Adults, older children", note:"Commonest in wards/ICU" },
    { g:"22G", col:"Blue",    flow:"~36 mL/min",   use:"Drugs only, small veins", pt:"Children, elderly, fragile veins", note:"Standard paediatric" },
    { g:"24G", col:"Yellow",  flow:"~25 mL/min",   use:"Neonates, delicate veins", pt:"Neonates, premature infants", note:"Smallest routinely used" },
  ];

  const gaugeHex = ["E2781A","888B8D","16A34A","F472B6","3B82F6","FBBF24"];
  rows.forEach((r, i) => {
    const y = hdrY + 0.38 + i * 0.72;
    const fillBg = i % 2 === 0 ? "0D2240" : "0A1A33";
    s.addShape(pres.shapes.RECTANGLE, { x:0.2,y,w:9.6,h:0.68, fill:{color:fillBg}, line:{color:"1A3560"} });
    // Colour swatch
    s.addShape(pres.shapes.RECTANGLE, { x:0.2,y:y+0.1,w:0.12,h:0.48, fill:{color:gaugeHex[i]}, line:{color:gaugeHex[i]} });
    s.addText(r.g,   { x:0.35,y,w:1.1,h:0.68, fontSize:13, bold:true, color:gaugeHex[i], valign:"middle", margin:0 });
    s.addText(r.col, { x:cols[1]+0.06,y,w:colW[1],h:0.68, fontSize:10, color:C.white, valign:"middle", margin:0 });
    s.addText(r.flow,{ x:cols[2]+0.06,y,w:colW[2],h:0.68, fontSize:10, bold:true, color:C.gold, valign:"middle", margin:0 });
    s.addText(r.use, { x:cols[3]+0.06,y,w:colW[3],h:0.68, fontSize:8.5, color:C.light, valign:"middle", margin:0, wrap:true });
    s.addText(r.pt,  { x:cols[4]+0.06,y,w:colW[4],h:0.68, fontSize:8.5, color:C.white, valign:"middle", margin:0, wrap:true });
    s.addText(r.note,{ x:cols[5]+0.06,y,w:colW[5],h:0.68, fontSize:8, color:C.gray, valign:"middle", margin:0, wrap:true });
  });

  s.addText("⚠  Poiseuille's Law: Flow ∝ r⁴/length — wider & shorter = much higher flow. A 14G cannula flows ~12× more than a 22G.", {
    x:0.2,y:5.1,w:9.6,h:0.35, fontSize:8.5, color:C.gold, align:"center", italic:true
  });
}

// ══════════════════════════════════════════════════════
// SLIDE 4 — PARTS & EQUIPMENT
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Parts of an IV Cannula & Equipment Needed");

  // Parts of cannula
  card(s, 0.25, 0.65, 4.55, 4.7);
  cardHdr(s, 0.25, 0.65, 4.55, "Parts of a Peripheral IV Cannula");
  const parts = [
    ["Plastic Cannula (catheter)", "Polyurethane/Teflon tube that stays in vein"],
    ["Stainless Steel Introducer Needle", "Stylet inside cannula; sharp bevel to pierce skin/vein"],
    ["Flashback Chamber",          "Clear hub — blood appears when vein is entered"],
    ["Side Port / Injection Hub",  "For drug/fluid administration"],
    ["Needle Guard / Safety Cap",  "Shields needle tip after withdrawal (safety)"],
    ["Colour-Coded Hub",           "Identifies gauge size at a glance"],
    ["Wings (optional)",           "Butterfly wings for anchoring to skin"],
  ];
  parts.forEach(([part, desc], i) => {
    const y = 1.03 + i * 0.6;
    s.addShape(pres.shapes.OVAL, { x:0.38,y:y+0.1,w:0.2,h:0.2, fill:{color:C.accent}, line:{color:C.accent} });
    s.addText(part, { x:0.62,y,w:4.05,h:0.3, fontSize:10, bold:true, color:C.gold, margin:0 });
    s.addText(desc, { x:0.62,y:y+0.3,w:4.05,h:0.25, fontSize:9, color:C.white, margin:0 });
  });

  // Equipment needed
  card(s, 5.1, 0.65, 4.55, 4.7);
  cardHdr(s, 5.1, 0.65, 4.55, "Equipment for IV Cannulation");
  const equip = [
    "Appropriate gauge IV cannula",
    "Non-sterile gloves",
    "Tourniquet / BP cuff to distend vein",
    "Skin antiseptic (70% alcohol / chlorhexidine swab)",
    "Transparent adhesive dressing (Tegaderm / IV3000)",
    "IV extension set / T-piece connector",
    "5 mL syringe + normal saline for flush",
    "Sharps bin (immediate disposal of needle)",
    "IV giving set + fluid bag if infusion planned",
    "Tape / bandage to secure",
    "Local anaesthetic cream (EMLA) for children",
    "Ultrasound probe for difficult access (optional)",
  ];
  equip.forEach((item, i) => {
    s.addText([
      {text:"✓ ", options:{color:C.green, bold:true}},
      {text:item, options:{color:C.white}},
    ], { x:5.25,y:1.02+i*0.3,w:4.25,h:0.28, fontSize:9.5, margin:0 });
  });

  footer(s, "Always assemble all equipment before cannulation — one clean attempt is better than multiple failed attempts");
}

// ══════════════════════════════════════════════════════
// SLIDE 5 — SITE SELECTION
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Site Selection for IV Cannulation");

  const sites = [
    { name:"Dorsum of Hand",         vein:"Dorsal venous arch",       pros:"Easily visible, accessible", cons:"Painful, limited flow", pref:"Routine, ambulatory" },
    { name:"Forearm (Cephalic)",      vein:"Cephalic vein",            pros:"Large, straight, stable",    cons:"Limited visibility", pref:"Most anaesthesia cases" },
    { name:"Forearm (Basilic/Median)","vein":"Basilic/median cubital", pros:"Large diameter",             cons:"Rolls, near nerves/artery",  pref:"When cephalic unavailable" },
    { name:"Antecubital Fossa",       vein:"Median cubital vein",      pros:"Large, easy to find",        cons:"Elbow flexion kinks cannula", pref:"Emergency/rapid access" },
    { name:"External Jugular Vein",   vein:"EJV",                      pros:"Large, visible",             cons:"Needs head-turn, dislodges", pref:"Failed peripheral, semi-central" },
    { name:"Foot / Ankle",            vein:"Long saphenous vein",      pros:"Always accessible",          cons:"↑ Thrombophlebitis, DVT risk", pref:"Last resort, children" },
  ];

  sites.forEach((site, i) => {
    const col = i % 2;
    const row = Math.floor(i / 2);
    const x = 0.25 + col * 4.88;
    const y = 0.7 + row * 1.58;
    card(s, x, y, 4.5, 1.48);
    s.addShape(pres.shapes.RECTANGLE, { x,y,w:0.12,h:1.48, fill:{color:C.accent}, line:{color:C.accent} });
    s.addText(site.name, { x:x+0.2,y:y+0.08,w:4.2,h:0.3, fontSize:11, bold:true, color:C.gold, margin:0 });
    s.addText(`Vein: ${site.vein}`, { x:x+0.2,y:y+0.38,w:4.2,h:0.2, fontSize:8.5, color:C.gray, margin:0 });
    s.addText([
      {text:"✓ ", options:{color:C.green}}, {text:site.pros+"\n", options:{color:C.white,fontSize:9}},
      {text:"✗ ", options:{color:C.red}},   {text:site.cons+"\n", options:{color:C.white,fontSize:9}},
      {text:"Use: ", options:{color:C.gold,bold:true,fontSize:9}}, {text:site.pref, options:{color:C.light,fontSize:9}},
    ], { x:x+0.2,y:y+0.6,w:4.2,h:0.82, margin:0, valign:"top" });
  });

  footer(s, "AVOID: Arteriovenous fistula arm | Lymphoedema limb | Axillary dissection side | Infected / burned skin");
}

// ══════════════════════════════════════════════════════
// SLIDE 6 — INSERTION TECHNIQUE
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Insertion Technique — Step by Step");

  const steps = [
    { n:"01", title:"Patient Preparation",    body:"Explain procedure. Position limb dependent to engorge veins. Apply tourniquet 10–15 cm proximal to site. Ask patient to make a fist." },
    { n:"02", title:"Vein Selection",          body:"Identify suitable vein by inspection and palpation. Straight segment preferred. Avoid valves (feel as hard nodules). Tap or warm the vein to dilate." },
    { n:"03", title:"Skin Preparation",        body:"Clean skin with 70% alcohol / chlorhexidine swab. Allow to dry completely (30 sec). Do NOT re-palpate after cleaning." },
    { n:"04", title:"Cannula Insertion",       body:"Bevel up, 15–30° angle to skin. Advance until flashback of blood in chamber. Lower angle, advance cannula 2 mm into vein, then slide plastic cannula fully off needle." },
    { n:"05", title:"Secure & Flush",          body:"Release tourniquet. Remove needle (into sharps bin immediately). Occlude vein with finger. Attach connector/T-piece. Flush with 5 mL normal saline — check for swelling (extravasation)." },
    { n:"06", title:"Secure & Document",       body:"Apply transparent dressing. Label with date, time, gauge, operator. Document in notes. Check hourly in anaesthesia; every 4–8 h in wards." },
  ];

  steps.forEach((step, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.22 + col * 3.27;
    const y = 0.68 + row * 2.28;
    card(s, x, y, 3.12, 2.18);
    s.addShape(pres.shapes.OVAL, { x:x+0.1,y:y+0.1,w:0.5,h:0.5, fill:{color:C.accent}, line:{color:C.accent} });
    s.addText(step.n, { x:x+0.1,y:y+0.1,w:0.5,h:0.5, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
    s.addText(step.title, { x:x+0.68,y:y+0.12,w:2.35,h:0.38, fontSize:10.5, bold:true, color:C.gold, margin:0 });
    s.addText(step.body, { x:x+0.15,y:y+0.6,w:2.87,h:1.47, fontSize:9.5, color:C.white, margin:0, wrap:true, valign:"top" });
  });

  footer(s, "Key: Advance CANNULA not needle after flashback — needle tip may puncture posterior wall if both advanced together");
}

// ══════════════════════════════════════════════════════
// SLIDE 7 — DIFFICULT IV ACCESS + US-GUIDED
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Difficult IV Access & Ultrasound Guidance");

  // Left: Causes + Strategies
  card(s, 0.25, 0.65, 4.55, 4.65);
  cardHdr(s, 0.25, 0.65, 4.55, "Causes of Difficult IV Access");
  s.addText([
    {text:"Patient Factors:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Obesity / oedema\n• Previous chemotherapy / IV drug use\n• Dehydration / shock\n• Elderly / fragile veins\n• Peripheral vascular disease\n• Neonates / children\n• Burns / lymphoedema\n\n", options:{color:C.white, fontSize:10}},
    {text:"Strategies:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Warm the limb (GTN patch, warm towel)\n• Gravity / tourniquet / fist clenching\n• EMLA cream (1 hour pre-op)\n• Smaller gauge first if veins fragile\n• Ultrasound-guided cannulation\n• Consider IO access in emergency\n• Call for senior / anaesthetist help", options:{color:C.white, fontSize:10}},
  ], { x:0.4,y:1.03,w:4.25,h:4.15, valign:"top", margin:0 });

  // Right: US image + explanation
  card(s, 5.1, 0.65, 4.55, 4.65);
  cardHdr(s, 5.1, 0.65, 4.55, "Ultrasound-Guided IV Cannulation");
  if (imgUS) {
    s.addImage({ data:imgUS, x:5.2, y:1.02, w:4.35, h:2.8 });
    s.addText([
      {text:"Long-axis view: ", options:{bold:true, color:C.gold}},
      {text:"Catheter tip (bright echogenic line) tracked along vein lumen\n", options:{color:C.white}},
      {text:"Short-axis view: ", options:{bold:true, color:C.gold}},
      {text:"Cross-section — confirm needle in vein, not artery\n", options:{color:C.white}},
      {text:"Indication: ", options:{bold:true, color:C.gold}},
      {text:"≥2 failed attempts, obese, IV drug user, difficult access", options:{color:C.white}},
    ], { x:5.2,y:3.88,w:4.35,h:1.3, fontSize:9, valign:"top", margin:0 });
  } else {
    s.addText("Ultrasound-guided peripheral IV access\nallows real-time visualisation of\nneedle tip within vessel lumen", {
      x:5.2,y:2.5,w:4.35,h:1.5, fontSize:13, color:C.gray, align:"center"
    });
  }
  footer(s, "US guidance reduces failed attempts by 60–70% in difficult venous access  |  Always confirm position with saline flush");
}

// ══════════════════════════════════════════════════════
// SLIDE 8 — COMPLICATIONS
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Complications of IV Cannulation");

  const complications = [
    { title:"Failure to Insert",          icon:"✗", col:C.red,
      body:"Most common. Causes: poor technique, collapsed veins, posterior wall puncture, valve placement. Management: re-attempt at new site proximally." },
    { title:"Haematoma",                  icon:"⚠",  col:C.orange,
      body:"Blood extravasation into tissue on needle withdrawal or failed cannulation. Apply firm pressure for 2–3 min. Avoid same site re-attempt." },
    { title:"Extravasation / Tissuing",   icon:"⚠",  col:C.orange,
      body:"Fluid/drug leaks into subcutaneous tissue. Signs: swelling, pain, no flashback. Remove immediately. If vesicant drug (chemo, noradrenaline) — urgent intervention needed." },
    { title:"Thrombophlebitis",           icon:"🔴", col:"DC143C",
      body:"Inflammation of vein wall. Signs: redness, warmth, tenderness along vein tract. Remove cannula. Higher risk: lower limb sites, hypertonic solutions, >72 h dwell time." },
    { title:"Infection / Sepsis",         icon:"⚠",  col:C.red,
      body:"Bacterial entry at insertion site. Remove cannula if signs of infection. Re-site every 72–96 h (max 96 h). Use strict aseptic technique at insertion." },
    { title:"Nerve / Artery Injury",      icon:"✗", col:C.red,
      body:"Inadvertent arterial puncture (pulsatile bright red blood): remove immediately, apply firm pressure 5 min. Avoid antecubital fossa — brachial artery + median nerve proximity." },
    { title:"Air Embolism",               icon:"⚠",  col:C.orange,
      body:"Air entry through open hub or infusion set. Can be fatal if >50–100 mL. Prevention: aspirate before injection; keep hubs capped; Trendelenburg if suspected." },
    { title:"Cannula Embolism",           icon:"✗", col:C.red,
      body:"Fragment of cannula shears off if needle reinserted into hub. NEVER withdraw needle from cannula and reinsert. If catheter fragment suspected — X-ray, surgical retrieval." },
    { title:"Catheter Kinking",           icon:"⚠",  col:C.orange,
      body:"Occlusion due to sharp angulation at antecubital fossa / wrist. Splint the joint or re-site. Kinking shows as resistance to flushing." },
  ];

  const perRow = 3;
  const cardW = 3.1, cardH = 1.5;
  const startX = 0.22, startY = 0.65;
  const gapX = 0.1, gapY = 0.1;

  complications.forEach((c, i) => {
    const col = i % perRow;
    const row = Math.floor(i / perRow);
    if (row > 2) return;
    const x = startX + col * (cardW + gapX);
    const y = startY + row * (cardH + gapY);
    card(s, x, y, cardW, cardH, c.col);
    s.addShape(pres.shapes.RECTANGLE, { x,y,w:0.12,h:cardH, fill:{color:c.col}, line:{color:c.col} });
    s.addText(c.title, { x:x+0.2,y:y+0.06,w:cardW-0.3,h:0.3, fontSize:10, bold:true, color:C.gold, margin:0 });
    s.addText(c.body, { x:x+0.2,y:y+0.36,w:cardW-0.3,h:1.05, fontSize:8.5, color:C.white, margin:0, wrap:true, valign:"top" });
  });
}

// ══════════════════════════════════════════════════════
// SLIDE 9 — ANAESTHESIA-SPECIFIC CONSIDERATIONS
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Anaesthesia-Specific Considerations");

  card(s, 0.25, 0.65, 4.55, 4.7);
  cardHdr(s, 0.25, 0.65, 4.55, "Pre-Induction Requirements");
  s.addText([
    {text:"MANDATORY before induction:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• At least ONE patent, confirmed IV access\n", options:{color:C.white, fontSize:10}},
    {text:"• Flush with saline — confirm patency\n", options:{color:C.white, fontSize:10}},
    {text:"• Visible, accessible (not under drapes)\n\n", options:{color:C.white, fontSize:10}},
    {text:"Gauge Selection by Case:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Elective, low-risk:   20–22G (1 IV)\n", options:{color:C.white, fontSize:10}},
    {text:"• General surgery:      18–20G (1–2 IVs)\n", options:{color:C.white, fontSize:10}},
    {text:"• Major abdominal:      16–18G (2 IVs)\n", options:{color:C.white, fontSize:10}},
    {text:"• Cardiac / vascular:   14–16G × 2 + CVP\n", options:{color:C.white, fontSize:10}},
    {text:"• Obstetric (GA/CS):    16–18G (at least)\n", options:{color:C.white, fontSize:10}},
    {text:"• Paediatric (<5 yr):   22–24G\n", options:{color:C.white, fontSize:10}},
    {text:"• Trauma / haemorrhage: 14–16G × 2\n", options:{color:C.white, fontSize:10}},
    {text:"\nAvoid: Side of axillary dissection, AV fistula arm", options:{color:C.red, fontSize:10}},
  ], { x:0.4,y:1.03,w:4.25,h:4.15, valign:"top", margin:0 });

  card(s, 5.1, 0.65, 4.55, 4.7);
  cardHdr(s, 5.1, 0.65, 4.55, "Intraoperative Care & Documentation");
  s.addText([
    {text:"During Anaesthesia:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Check IV site before and after patient positioning\n", options:{color:C.white, fontSize:10}},
    {text:"• Confirm patency before each drug injection\n", options:{color:C.white, fontSize:10}},
    {text:"• Secure all connections — accidental disconnection = air embolism risk\n", options:{color:C.white, fontSize:10}},
    {text:"• Use IV extension set to keep cannula accessible\n", options:{color:C.white, fontSize:10}},
    {text:"• Check for swelling during fluid administration\n\n", options:{color:C.white, fontSize:10}},

    {text:"Drug Infusions:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Central catheter preferred for vasoactive drugs\n", options:{color:C.white, fontSize:10}},
    {text:"• Inject closest to cannula (minimise dead space)\n", options:{color:C.white, fontSize:10}},
    {text:"• Multilumen catheter = multiple infusions + pressure monitoring\n\n", options:{color:C.white, fontSize:10}},

    {text:"Documentation Required:\n", options:{bold:true, color:C.gold, fontSize:11}},
    {text:"• Date / time of insertion\n", options:{color:C.white, fontSize:10}},
    {text:"• Site and gauge\n", options:{color:C.white, fontSize:10}},
    {text:"• Operator name\n", options:{color:C.white, fontSize:10}},
    {text:"• Number of attempts\n", options:{color:C.white, fontSize:10}},
  ], { x:5.25,y:1.03,w:4.25,h:4.15, valign:"top", margin:0 });

  footer(s, "Morgan & Mikhail's Clinical Anesthesiology, 7e  — Cardiovascular Surgery: two large-bore IVs (≥16G) in each patient");
}

// ══════════════════════════════════════════════════════
// SLIDE 10 — SUMMARY
// ══════════════════════════════════════════════════════
{
  const s = pres.addSlide(); bg(s);
  topBar(s, "Summary — IV Cannula in Anaesthesia");

  const pts = [
    "Short plastic (Teflon/polyurethane) over-needle catheter inserted into peripheral vein",
    "Gauge sizes: 14G (orange) → 24G (yellow); smaller number = larger bore = higher flow",
    "Poiseuille's Law: Flow ∝ r⁴/length — short, wide cannula maximises flow rate",
    "Minimum 1 IV access confirmed patent before ANY general anaesthetic induction",
    "Major surgery: two 16G+ IVs; cardiac/trauma: two 14–16G + CVP line",
    "Preferred sites: cephalic vein forearm (stable) > dorsum hand > antecubital fossa",
    "Avoid: AV fistula arm, lymphoedema limb, axillary dissection side, infected skin",
    "Technique: flashback → advance cannula 2 mm → lower angle → slide cannula off needle",
    "Complications: haematoma, extravasation, thrombophlebitis, infection, air/cannula embolism",
    "Ultrasound guidance for difficult access (≥2 failed attempts, obesity, IV drug use)",
  ];

  pts.forEach((pt, i) => {
    const y = 0.68 + i * 0.485;
    s.addShape(pres.shapes.RECTANGLE, { x:0.25,y:y+0.05,w:0.07,h:0.38, fill:{color:C.gold}, line:{color:C.gold} });
    s.addText(pt, { x:0.42,y,w:9.35,h:0.45, fontSize:10.5, color:C.white, valign:"middle", margin:0 });
  });

  footer(s, "Morgan & Mikhail's Clinical Anesthesiology, 7e  •  Rockwood & Green's Fractures, 10e  •  Clinical Anaesthesia Practice Guidelines");
}

// ── Write ─────────────────────────────────────────────────────────────────
const out = "/home/daytona/workspace/atropine-ppt/IV_Cannula_Anaesthesia.pptx";
pres.writeFile({fileName: out})
  .then(() => console.log("SUCCESS:", out))
  .catch(e => { console.error("FAILED:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/atropine-ppt && node create_ivcannula_ppt.js 2>&1

Your presentation is ready:

IV Cannula Anaesthesia

Presentation · PPTX


10 slides — navy/blue/gold theme:
#Slide
1Title Slide
2Overview & Definition (Poiseuille's Law, indications)
3Gauge Sizes & Colour Coding Table (14G–24G, flow rates, clinical use, patient groups)
4Parts of a Cannula + Equipment Needed
5Site Selection (6 sites: pros, cons, preferred use)
6Insertion Technique — Step by Step (6 steps)
7Difficult IV Access & Ultrasound Guidance (with US image)
8Complications (9 complications with management)
9Anaesthesia-Specific Considerations (gauge by case type, intraoperative care, documentation)
10Summary — 10 Key Points
Key highlights:
  • Colour-coded gauge table with flow rates (14G orange → 24G yellow)
  • Poiseuille's Law explained clinically
  • Mandatory IV access before induction rule
  • Gauge selection guide by surgery type
  • All 9 complications covered with management

Scopolamoine and hyosine in MD Anaesthesia...short and sweet ppt

Finding Sources
Finding Sources
Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.