notes and class presentations of the following topics. 1. ICHD 3 2. Common dravyas used in Shirorogas (Common patent and classical formulations) 3. NLHT 2.1. At iyoga Ayoga, Purva, Pradhana and Pashchat karma and Research updates on Aschotana, Seka, Pindi and Vidalaka. Thank you 1:03 PM

Asking for Preferences
Reading File
Finding Sources
Finding Sources
Searching the Web

ICHD 3 International Classification Headache Disorders 2018 criteria complete classification

Searching PubMed

Aschotana Seka Pindi Vidalaka Ayurveda eye drops clinical trial

Reading File
Finding Sources
Searching the Web

Ayurveda Shirorogas dravyas classical formulations Pathyadi kwatha Shirahshoolahari rasa patent medicines

Searching PubMed

Aschotana eye drops Ayurveda clinical study

Reading Web Page

https://saudijournals.com/media/articles/SIJTCM_66_90-95_FT.…

Searching the Web

Aschotana Seka Pindi Vidalaka Ayurveda netra chikitsa purva pradhana pashchat karma method

Searching PubMed

netra tarpana Ayurveda eye treatment seka vidalaka randomized clinical

Reading Web Page

https://wjpsronline.com/images/1b13562658cd964767cac251ba5a5…

Reading Article

PMID: 41647025

Reading Article

PMID: 40443906

All three topics are covered above. Here is a quick guide to what you got:

What's included in your notes:
Topic 1 - ICHD-3:
  • Full 3-part classification with all 14 categories
  • Diagnostic criteria for Migraine (1.1, 1.2, 1.3), TTH types, all TACs with distinguishing features
  • All other primary headaches (4.1-4.10)
  • Secondary headaches (5-12) with clinical pearls
  • Cranial neuralgias (13)
  • Ayurvedic correlation table (e.g., Ardhavabhedaka = Migraine, Suryavarta = Cluster headache)
Topic 2 - Shirorogas Dravyas:
  • 17 key single drugs with botanical names, properties, and specific Shiroroga indications
  • Lepas and Tailas with drug names and indications
  • Classical formulations: Rasa Yoga, Kwatha, Ghrita, Churna - with doses, anupana, and references
  • Patent formulations table (Dabur, Baidyanath, Arya Vaidya Sala, Himalaya)
  • Pathyapathya for Shirorogas
Topic 3 - NLHT 2.1 Kriya Kalpa:
  • Ati-yoga and Ayoga features (general + procedure-specific)
  • Samyak Yoga signs
  • Detailed Trividha Karma (Purva/Pradhana/Pashchat) for all four: Aschyotana, Seka, Pindi, Vidalaka
  • Step-by-step procedural notes
  • Comparison table of all four procedures
  • Research updates: 2025 MGD study (PMID 41647025), 2025 Glaucoma RCT protocol (PMID 40443906)

Generate a PPT presentation on these 3 BAMS topics for class delivery

Reading File
Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/bams-shalakya-ppt

Writing File

~/bams-shalakya-ppt/generate.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Shalakya Tantra Department";
pres.title = "BAMS Shalakya Tantra - Shirorogas & Netra Kriya Kalpa";

// ─── COLOR PALETTE ───────────────────────────────────────────────────────────
// Deep teal/navy academic theme — professional, medical, Ayurvedic warmth
const C = {
  navy:     "0D2B4E",   // dominant dark
  teal:     "0F6B74",   // accent teal
  gold:     "C9922A",   // warm Ayurvedic gold accent
  cream:    "F5EFE0",   // warm cream body bg
  white:    "FFFFFF",
  offwhite: "F0F4F8",
  text:     "1A1A2E",
  subtext:  "3A4A5C",
  lightblue:"D6E8EE",
  palegreen:"D8EFE1",
  palegold: "FDF3DC",
  lightred: "FDECEA",
  darkgold: "A67520",
  teallight:"C5E8EC",
  red:      "C0392B",
  green:    "1A6B3C",
};

// ─── HELPER FUNCTIONS ────────────────────────────────────────────────────────

function sectionDivider(title, subtitle, colorBg, num) {
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: colorBg } });
  // Decorative top bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.12, fill: { color: C.gold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.505, w: 10, h: 0.12, fill: { color: C.gold } });
  // Big number
  s.addText(num, {
    x: 0.3, y: 0.8, w: 2, h: 3, fontSize: 110, bold: true, color: C.gold,
    transparency: 60, align: "left", valign: "middle", margin: 0
  });
  // Title
  s.addText(title, {
    x: 2.2, y: 1.5, w: 7.5, h: 1.4, fontSize: 36, bold: true,
    color: C.white, align: "left", valign: "middle", margin: 0,
    charSpacing: 1
  });
  if (subtitle) {
    s.addText(subtitle, {
      x: 2.2, y: 3.0, w: 7.5, h: 0.9, fontSize: 17, color: C.gold,
      align: "left", valign: "top", margin: 0, italic: true
    });
  }
  return s;
}

function titleSlide() {
  const s = pres.addSlide();
  // Full dark bg
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
  // Gold band top
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.18, fill: { color: C.gold } });
  // Teal accent left bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0.18, w: 0.06, h: 5.445, fill: { color: C.teal } });
  // Decorative circle bg
  s.addShape(pres.ShapeType.ellipse, { x: 6.5, y: -1, w: 5.5, h: 5.5, fill: { color: C.teal }, line: { color: C.teal } });
  s.addShape(pres.ShapeType.ellipse, { x: 7, y: -0.5, w: 4.5, h: 4.5, fill: { color: C.navy }, line: { color: C.navy } });

  s.addText("SHALAKYA TANTRA", {
    x: 0.5, y: 0.5, w: 9, h: 0.55, fontSize: 13, bold: true, color: C.gold,
    align: "left", charSpacing: 5, margin: 0
  });
  s.addText([
    { text: "Shirorogas & ", options: { color: C.white } },
    { text: "Netra Kriya Kalpa", options: { color: C.gold } }
  ], {
    x: 0.5, y: 1.1, w: 8.5, h: 1.5, fontSize: 38, bold: true,
    align: "left", valign: "middle", margin: 0
  });

  s.addText([
    { text: "Topic 1: ", options: { bold: true, color: C.teallight } },
    { text: "ICHD-3  |  ", options: { color: C.offwhite } },
    { text: "Topic 2: ", options: { bold: true, color: C.teallight } },
    { text: "Dravyas in Shirorogas  |  ", options: { color: C.offwhite } },
    { text: "Topic 3: ", options: { bold: true, color: C.teallight } },
    { text: "NLHT 2.1 – Kriya Kalpa", options: { color: C.offwhite } }
  ], {
    x: 0.5, y: 2.75, w: 9, h: 0.65, fontSize: 13, align: "left", margin: 0
  });

  s.addShape(pres.ShapeType.rect, { x: 0.5, y: 3.55, w: 6.5, h: 0.003, fill: { color: C.teal } });

  s.addText("BAMS Undergraduate  |  Shalakya Tantra (Netra Roga)  |  Academic Year 2025–26", {
    x: 0.5, y: 3.7, w: 9, h: 0.4, fontSize: 11.5, color: C.subtext,
    align: "left", margin: 0, italic: true
  });
  return s;
}

function agendaSlide() {
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.gold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.navy } });

  s.addText("CONTENTS", {
    x: 0.4, y: 0.18, w: 9, h: 0.55, fontSize: 11, bold: true, color: C.gold,
    charSpacing: 5, align: "left", margin: 0
  });
  s.addText("What We Cover Today", {
    x: 0.4, y: 0.7, w: 9, h: 0.6, fontSize: 26, bold: true, color: C.navy,
    align: "left", margin: 0
  });

  const items = [
    { num: "01", title: "ICHD-3", sub: "International Classification of Headache Disorders, 3rd Edition — Structure, Primary, Secondary & Neuropathic headaches; Ayurvedic correlation", color: C.navy },
    { num: "02", title: "Dravyas in Shirorogas", sub: "Key single drugs, classical formulations (Rasa Yoga, Kwatha, Ghrita) and patent medicines used in Shirorogas", color: C.teal },
    { num: "03", title: "NLHT 2.1 — Netra Kriya Kalpa", sub: "Ati-yoga & Ayoga; Purva, Pradhana & Pashchat Karma; Detailed procedures + Research updates on Aschyotana, Seka, Pindi & Vidalaka", color: C.gold },
  ];

  items.forEach((it, i) => {
    const y = 1.5 + i * 1.2;
    s.addShape(pres.ShapeType.rect, { x: 0.4, y: y, w: 0.7, h: 0.75, fill: { color: it.color }, radius: 4 });
    s.addText(it.num, { x: 0.4, y: y, w: 0.7, h: 0.75, fontSize: 18, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    s.addText(it.title, { x: 1.25, y: y, w: 8.3, h: 0.32, fontSize: 16, bold: true, color: C.navy, align: "left", valign: "bottom", margin: 0 });
    s.addText(it.sub, { x: 1.25, y: y + 0.3, w: 8.3, h: 0.42, fontSize: 10.5, color: C.subtext, align: "left", valign: "top", margin: 0 });
  });
}

// Slide with header bar + bullet content
function contentSlide(title, topic, bullets, bgColor, accentColor) {
  const s = pres.addSlide();
  bgColor = bgColor || C.white;
  accentColor = accentColor || C.navy;
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: bgColor } });
  // Top header
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: accentColor } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.gold } });
  s.addText(topic, { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.gold, charSpacing: 4, align: "left", margin: 0 });
  s.addText(title, { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  // Bullet items
  const items = bullets.map((b, i) => {
    if (typeof b === "string") {
      return { text: b, options: { bullet: { indent: 20 }, breakLine: i < bullets.length - 1, fontSize: 15, color: C.text, paraSpaceBefore: 4 } };
    } else {
      // { text, sub } for sub-bullet or { heading } for bold heading
      if (b.heading) {
        return { text: b.heading, options: { breakLine: true, bold: true, fontSize: 15, color: accentColor, paraSpaceBefore: 8 } };
      }
      return { text: b.text, options: { bullet: { indent: 20 }, breakLine: true, fontSize: 15, color: C.text, paraSpaceBefore: 3 } };
    }
  });

  s.addText(items, { x: 0.35, y: 1.1, w: 9.3, h: 4.35, align: "left", valign: "top", margin: 8, wrap: true });
  return s;
}

// Two-column slide
function twoColSlide(title, topic, leftTitle, leftItems, rightTitle, rightItems, accentColor) {
  const s = pres.addSlide();
  accentColor = accentColor || C.navy;
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: accentColor } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.gold } });
  s.addText(topic, { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.gold, charSpacing: 4, align: "left", margin: 0 });
  s.addText(title, { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  // Left col
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.1, w: 4.5, h: 4.3, fill: { color: C.white }, line: { color: accentColor, width: 1.5 } });
  s.addText(leftTitle, { x: 0.3, y: 1.1, w: 4.5, h: 0.45, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0,
    fill: { color: accentColor } });
  const lItems = leftItems.map((b, i) => ({
    text: b, options: { bullet: { indent: 12 }, breakLine: i < leftItems.length - 1, fontSize: 13, color: C.text, paraSpaceBefore: 4 }
  }));
  s.addText(lItems, { x: 0.45, y: 1.6, w: 4.2, h: 3.6, align: "left", valign: "top", margin: 4, wrap: true });

  // Right col
  s.addShape(pres.ShapeType.rect, { x: 5.2, y: 1.1, w: 4.5, h: 4.3, fill: { color: C.white }, line: { color: accentColor, width: 1.5 } });
  s.addText(rightTitle, { x: 5.2, y: 1.1, w: 4.5, h: 0.45, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0,
    fill: { color: accentColor } });
  const rItems = rightItems.map((b, i) => ({
    text: b, options: { bullet: { indent: 12 }, breakLine: i < rightItems.length - 1, fontSize: 13, color: C.text, paraSpaceBefore: 4 }
  }));
  s.addText(rItems, { x: 5.35, y: 1.6, w: 4.2, h: 3.6, align: "left", valign: "top", margin: 4, wrap: true });
  return s;
}

// Table slide
function tableSlide(title, topic, headers, rows, accentColor) {
  const s = pres.addSlide();
  accentColor = accentColor || C.navy;
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: accentColor } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.gold } });
  s.addText(topic, { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.gold, charSpacing: 4, align: "left", margin: 0 });
  s.addText(title, { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  const tableData = [
    headers.map(h => ({ text: h, options: { bold: true, color: C.white, fill: accentColor, fontSize: 12, align: "center" } })),
    ...rows.map((row, ri) => row.map(cell => ({
      text: cell,
      options: { fontSize: 11, color: C.text, fill: ri % 2 === 0 ? C.white : C.offwhite, align: "left" }
    })))
  ];
  s.addTable(tableData, {
    x: 0.25, y: 1.1, w: 9.5,
    border: { type: "solid", color: "CCCCCC", pt: 0.5 },
    rowH: 0.38,
    fontFace: "Calibri"
  });
  return s;
}

// Procedure step slide (numbered steps in boxes)
function procedureSlide(title, topic, stepGroups, accentColor) {
  const s = pres.addSlide();
  accentColor = accentColor || C.teal;
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: accentColor } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.gold } });
  s.addText(topic, { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.gold, charSpacing: 4, align: "left", margin: 0 });
  s.addText(title, { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  // stepGroups: [{label, items:[...]}] — 3 columns
  stepGroups.forEach((grp, gi) => {
    const x = 0.25 + gi * 3.2;
    const w = 3.0;
    // Group header
    s.addShape(pres.ShapeType.rect, { x, y: 1.08, w, h: 0.48, fill: { color: accentColor }, radius: 3 });
    s.addText(grp.label, { x, y: 1.08, w, h: 0.48, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    // Items
    const txtItems = grp.items.map((it, i) => ({
      text: `${i+1}.  ${it}`,
      options: { breakLine: i < grp.items.length - 1, fontSize: 12.5, color: C.text, paraSpaceBefore: 5 }
    }));
    s.addShape(pres.ShapeType.rect, { x, y: 1.6, w, h: 3.8, fill: { color: C.white }, line: { color: accentColor, width: 1 } });
    s.addText(txtItems, { x: x + 0.12, y: 1.65, w: w - 0.2, h: 3.7, align: "left", valign: "top", margin: 6, wrap: true });
  });
  return s;
}

// ─── TITLE ────────────────────────────────────────────────────────────────────
titleSlide();
agendaSlide();

// ═════════════════════════════════════════════════════════════════════════════
// TOPIC 1: ICHD-3
// ═════════════════════════════════════════════════════════════════════════════
sectionDivider("ICHD-3", "International Classification of Headache Disorders, 3rd Edition", C.navy, "1");

// Slide: Overview
contentSlide(
  "Introduction to ICHD-3", "TOPIC 1 — ICHD-3",
  [
    { heading: "What is ICHD-3?" },
    "Published in January 2018 in Cephalalgia by the International Headache Society (IHS)",
    "3rd edition — replaces ICHD-2 (2004) and ICHD-3β (2013)",
    "Globally accepted diagnostic & classification system for ALL headache disorders",
    "Evidence-based; previous editions were primarily expert-opinion-based",
    { heading: "Structure" },
    "14 main categories arranged in 3 Parts + Appendix",
    "Uses hierarchical alphanumeric coding (e.g., 1.1, 1.2.3.1.2)",
    "Diagnosis = meeting defined criteria for number, duration, character, associated features",
    { heading: "Relevance to Shalakya Tantra" },
    "Headaches = major subset of Shirorogas — ICHD-3 provides modern differential diagnosis framework",
    "11 Shirorogas described by Sushruta map well to ICHD-3 categories",
  ],
  C.white, C.navy
);

// Slide: 3-Part Structure
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.cream } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.gold } });
  s.addText("TOPIC 1 — ICHD-3", { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.gold, charSpacing: 4, align: "left", margin: 0 });
  s.addText("ICHD-3 Overall Structure", { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  const parts = [
    { label: "Part I", title: "Primary Headaches", color: C.navy, items: ["1. Migraine", "2. Tension-type headache", "3. Trigeminal autonomic cephalalgias (TACs)", "4. Other primary headaches"] },
    { label: "Part II", title: "Secondary Headaches", color: C.teal, items: ["5–12. Headaches attributed to another condition (trauma, vascular, infection, drugs, homeostasis, etc.)"] },
    { label: "Part III", title: "Neuropathies & Facial Pain", color: C.gold, items: ["13. Cranial neuralgias & facial pain", "14. Other headache disorders"] },
  ];
  parts.forEach((p, i) => {
    const x = 0.2 + i * 3.25;
    s.addShape(pres.ShapeType.rect, { x, y: 1.08, w: 3.1, h: 0.5, fill: { color: p.color }, radius: 4 });
    s.addText(`${p.label}  |  ${p.title}`, { x, y: 1.08, w: 3.1, h: 0.5, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    s.addShape(pres.ShapeType.rect, { x, y: 1.62, w: 3.1, h: 3.0, fill: { color: C.white }, line: { color: p.color, width: 1.5 } });
    const items = p.items.map((it, ii) => ({
      text: it, options: { bullet: { indent: 10 }, breakLine: ii < p.items.length - 1, fontSize: 13, color: C.text, paraSpaceBefore: 5 }
    }));
    s.addText(items, { x: x + 0.15, y: 1.68, w: 2.8, h: 2.85, align: "left", valign: "top", margin: 6, wrap: true });
  });
  // Appendix box at bottom
  s.addShape(pres.ShapeType.rect, { x: 0.2, y: 4.72, w: 9.6, h: 0.7, fill: { color: C.palegold }, line: { color: C.gold, width: 1 } });
  s.addText("Appendix  — Research/probable diagnoses: Menstrual migraine subtypes, Vestibular migraine (A1.6.6), Chronic migraine alternative criteria, Headache attributed to psychiatric disorder", {
    x: 0.35, y: 4.75, w: 9.3, h: 0.62, fontSize: 11.5, color: C.darkgold, align: "left", valign: "middle", margin: 0, bold: false
  });
}

// Slide: Migraine - Criteria
contentSlide(
  "1. Migraine — Diagnostic Criteria", "TOPIC 1 — ICHD-3",
  [
    { heading: "1.1  Migraine Without Aura  (≥5 attacks fulfilling B–D)" },
    "B. Duration 4–72 hours (untreated or unsuccessfully treated)",
    "C. ≥2 of: Unilateral | Pulsating | Moderate/severe intensity | Aggravated by routine activity",
    "D. ≥1 of: Nausea/vomiting | Photophobia + Phonophobia (both)",
    "E. Not better accounted for by another ICHD-3 diagnosis",
    { heading: "1.2  Migraine With Aura  (≥2 attacks with aura)" },
    "Aura = reversible focal neurological symptom(s) lasting 5–60 min (usually visual, sensory, speech)",
    "1.2.1 Typical aura  |  1.2.2 Brainstem aura  |  1.2.3 Hemiplegic  |  1.2.4 Retinal",
    { heading: "1.3  Chronic Migraine" },
    "Headache ≥15 days/month for >3 months; ≥8 days/month meeting migraine criteria",
    { heading: "1.4  Complications of Migraine" },
    "Status migrainosus (>72h)  |  Persistent aura without infarction  |  Migrainous infarction  |  Migralepsy",
  ],
  C.white, C.navy
);

// Slide: Migraine subtypes table
tableSlide(
  "Migraine — Subtypes at a Glance", "TOPIC 1 — ICHD-3",
  ["Code", "Type", "Key Feature"],
  [
    ["1.1", "Migraine without aura", "Most common; no neurological aura; POUND criteria"],
    ["1.2.1", "Typical aura with / without headache", "Visual scintillations, scotoma, sensory symptoms"],
    ["1.2.2", "Brainstem aura", "Dysarthria, vertigo, tinnitus, diplopia, ataxia"],
    ["1.2.3.1", "Familial hemiplegic migraine", "Motor aura; autosomal dominant; CACNA1A, ATP1A2 genes"],
    ["1.2.3.2", "Sporadic hemiplegic migraine", "Same as FHM without family history"],
    ["1.2.4", "Retinal migraine", "Monocular visual symptoms; fundoscopic changes"],
    ["1.3", "Chronic migraine", "≥15 days/month, ≥8 migraine days/month"],
    ["1.6.2", "Benign paroxysmal vertigo", "Episodic vertigo in children; migraine precursor"],
    ["A1.6.6", "Vestibular migraine (Appendix)", "Vestibular symptoms + migraine history"],
  ],
  C.navy
);

// Slide: TTH
contentSlide(
  "2. Tension-type Headache (TTH)", "TOPIC 1 — ICHD-3",
  [
    { heading: "Characteristics (contrast with migraine)" },
    "Bilateral location (not unilateral)",
    "Pressing / tightening quality (NOT pulsating)",
    "Mild to moderate intensity",
    "NOT aggravated by routine physical activity",
    "NO nausea or vomiting",
    "Photophobia OR phonophobia (not both simultaneously)",
    { heading: "Classification by Frequency" },
    "2.1  Infrequent episodic TTH — <1 day/month  (<12 days/year)",
    "2.2  Frequent episodic TTH — 1–14 days/month for >3 months",
    "2.3  Chronic TTH — ≥15 days/month for >3 months (>180 days/year)",
    "2.4  Probable TTH — meets all but one criterion",
    { heading: "Ayurvedic Correlation" },
    "Vataja Shiroroga — stress (Shoka, Bhaya, Trasa) as triggering factors",
  ],
  C.white, C.navy
);

// Slide: TACs
tableSlide(
  "3. Trigeminal Autonomic Cephalalgias (TACs)", "TOPIC 1 — ICHD-3",
  ["Type", "Duration / Attack", "Frequency", "Key Feature"],
  [
    ["3.1 Cluster Headache", "15–180 min", "1–8 per day (cluster period)", "Nocturnal; restlessness; M > F; ipsilateral autonomic features"],
    ["3.1.1 Episodic Cluster", "Cluster period then remission", "Remission >3 months", "Most common cluster type"],
    ["3.1.2 Chronic Cluster", "No remission > 3 months", "Continuous cluster periods", "Difficult to treat"],
    ["3.2 Paroxysmal Hemicrania", "2–30 min", ">5/day", "ABSOLUTE RESPONSE TO INDOMETHACIN"],
    ["3.3.1 SUNCT", "5–240 sec", "3–200/day", "Conjunctival injection + Tearing = hallmark"],
    ["3.3.2 SUNA", "5–240 sec", "1–200/day", "Cranial autonomic features but not SUNCT-specific"],
    ["3.4 Hemicrania Continua", "Continuous (baseline)", "With exacerbations", "Continuous unilateral; INDOMETHACIN-RESPONSIVE"],
    ["3.5 Probable TAC", "Meets most criteria", "—", "Awaiting confirmation diagnosis"],
  ],
  C.navy
);

// Slide: Other Primary Headaches
tableSlide(
  "4. Other Primary Headache Disorders", "TOPIC 1 — ICHD-3",
  ["Code", "Disorder", "Key Trigger / Feature"],
  [
    ["4.1", "Primary Cough Headache", "Cough, Valsalva; bilateral, short duration"],
    ["4.2", "Primary Exercise Headache", "Physical exertion; bilateral, pulsating"],
    ["4.3", "Primary Headache with Sexual Activity", "During or before orgasm"],
    ["4.4", "Primary Thunderclap Headache", "Peak intensity in <1 minute; rule out SAH"],
    ["4.7", "Primary Stabbing Headache", "Jabbing stabs, multiple locations, seconds"],
    ["4.8", "Nummular Headache", "Coin-shaped 1–6 cm area; round/elliptical on scalp"],
    ["4.9", "Hypnic Headache", "ONLY during sleep; wakens patient; ≥10 days/month"],
    ["4.10", "New Daily Persistent Headache", "New onset, unremitting from day 3; no prior history"],
  ],
  C.navy
);

// Slide: Secondary Headaches
contentSlide(
  "Part II: Secondary Headaches (5–12) — Overview", "TOPIC 1 — ICHD-3",
  [
    { heading: "Category 5 — Trauma/Injury" },
    "Acute post-traumatic (within 7 days) vs Persistent (>3 months) | Whiplash headache",
    { heading: "Category 6 — Vascular" },
    "SAH = 'thunderclap' / worst headache of life | Giant cell arteritis = temporal + jaw claudication | CVT",
    { heading: "Category 7 — Non-vascular Intracranial" },
    "IIH (raised ICP, papilloedema) | Low CSF pressure (orthostatic) | Neoplasm",
    { heading: "Category 8 — Substance & Withdrawal" },
    "MOH (Medication Overuse Headache) — analgesic/triptan >10–15 days/month for >3 months",
    "Caffeine withdrawal | Alcohol | NO donors | CGRP-induced",
    { heading: "Category 10 — Homeostasis" },
    "Hypertensive crisis | Fasting headache | Hypothyroidism",
    { heading: "Category 11 — Cranial Structures (Shalakya relevance!)" },
    "11.3.1 Acute angle-closure glaucoma | 11.3.2 Refractive error | Sinusitis | TMJ",
  ],
  C.white, C.navy
);

// Slide: Part III + Ayurvedic Correlation
twoColSlide(
  "Part III + Ayurvedic Correlation", "TOPIC 1 — ICHD-3",
  "Part III: Neuralgias & Facial Pain",
  [
    "13.1 Trigeminal neuralgia",
    "  - Classical (vascular compression)",
    "  - Post-herpetic neuralgia",
    "  - Idiopathic",
    "13.2 Glossopharyngeal neuralgia",
    "13.7 Occipital neuralgia",
    "13.10 Persistent idiopathic facial pain (PIFP)",
    "13.12 Burning mouth syndrome",
    "",
    "14. Other (unclassified, unspecified)",
  ],
  "ICHD-3 ↔ Ayurveda Correlation",
  [
    "Migraine w/o aura → Ardhavabhedaka",
    "Migraine w/ aura → Ardhavabhedaka (Pittaja-Vataja)",
    "Cluster headache → Suryavarta",
    "Tension-type headache → Vataja Shiroroga",
    "Hemicrania continua → Anantavata",
    "New daily persistent HA → Sannipataja Shiroroga",
    "Trigeminal neuralgia → Shankhaka",
    "Thunderclap / SAH → Shankhaka (acute)",
    "Krimija Shiroroga → Infection-related HA (Cat 9)",
  ],
  C.navy
);

// ═════════════════════════════════════════════════════════════════════════════
// TOPIC 2: DRAVYAS IN SHIROROGAS
// ═════════════════════════════════════════════════════════════════════════════
sectionDivider("DRAVYAS IN SHIROROGAS", "Classical & Patent Formulations", C.teal, "2");

// Slide: 11 Shirorogas
contentSlide(
  "Sushruta's 11 Shirorogas", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  [
    { heading: "Nidana (Causes)" },
    "Vegavidarana (suppression of urges), Ruksha Ahara, Ratri Jagarana",
    "Pratataekshana (prolonged downward gaze), mental stress, cold/wind exposure",
    { heading: "11 Types (Su.Ut.26)" },
    "1. Vataja Shiroroga    2. Pittaja Shiroroga    3. Kaphaja Shiroroga",
    "4. Sannipataja Shiroroga    5. Raktaja Shiroroga    6. Krimija Shiroroga",
    "7. Suryavarta    8. Anantavata    9. Ardhavabhedaka",
    "10. Shankhaka    11. Shayyarogas (some texts)",
    { heading: "General Chikitsa Upakrama" },
    "Snehana, Swedana, Nasya, Dhoomapana, Virechana, Vamana, Lepa, Shirobasti, Raktamokshana",
  ],
  C.white, C.teal
);

// Slide: Key Single Drugs Table
tableSlide(
  "Key Single Dravyas in Shirorogas", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  ["Dravya", "Botanical Name", "Properties", "Indication"],
  [
    ["Bhringaraja", "Eclipta alba", "Keshya, Rasayana, Vata-Kapha shamaka", "Suryavarta (swaras + goat milk)"],
    ["Pathya (Haritaki)", "Terminalia chebula", "Tridoshahara, Rasayana, Deepaniya", "All Shirorogas"],
    ["Shirisha", "Albizia lebbeck", "Vishaghna, Krimighna", "Ardhavabhedaka, Shankhaka"],
    ["Dashamula", "10 roots", "Vataghna, Shothahara, Brimhana", "Vataja, Ardhavabhedaka"],
    ["Ashwagandha", "Withania somnifera", "Vataghna, Balya, Rasayana", "Vataja Shiroroga"],
    ["Vidanga", "Embelia ribes", "Krimighna, Kaphahara", "Krimija, Ardhavabhedaka"],
    ["Guduchi", "Tinospora cordifolia", "Tridoshahara, Rasayana, Jwaraghna", "All types"],
    ["Ushira", "Vetiveria zizanioides", "Pittahara, Sheetala, Dahnashaka", "Pittaja Shiroroga"],
    ["Shunthi", "Zingiber officinale", "Vata-Kaphahara, Deepana", "Vataja, Kaphaja Shiroroga"],
    ["Shigru Beeja", "Moringa oleifera", "Krimighna, Kaphahara", "Krimija Shiroroga"],
  ],
  C.teal
);

// Slide: Dravya groups
twoColSlide(
  "Lepa & Taila Dravyas in Shirorogas", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  "Shirolepa (External Head Pastes)",
  [
    "Kumkum Ghrita Lepa — Pittaja (burning)",
    "Sarvadi Lepa — General Shiroroga",
    "Chandanadi Lepa — Chandana + Madhuka + Ushira — Pittaja (burning HA)",
    "Satavaryadi Lepa — Pittaja, Vataja",
    "Suryavartabeeja Lepa — Suryavarta",
    "Bhringaraja Lepa — Vataja, Suryavarta",
  ],
  "Shiroabhyanga Tailas (Head Massage Oils)",
  [
    "Ksheerabala Taila — Vataja (also Nasya)",
    "Dashamula Taila — Vataja, Kaphaja",
    "Rasnadi Taila — Vataja",
    "Baladi Taila — Vataja",
    "Trivrit Taila — Pittaja, Raktaja",
    "Mahamayura Ghrita — Vataja, complex cases",
    "Narayana Taila — Vataja (also Nasya)",
  ],
  C.teal
);

// Slide: Classical Rasa Yoga Table
tableSlide(
  "Classical Formulations — Rasa Yoga (Herbo-Mineral)", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  ["Formulation", "Key Ingredients", "Dose & Anupana", "Indication"],
  [
    ["Shirahshooladi Vajra Rasa", "Vajra bhasma, Suta, Gandhaka", "125–250 mg; Honey", "Ardhavabhedaka, Suryavarta, severe HA"],
    ["Sutashekhara Rasa", "Shankha bhasma, Svarna gairika, Shunthi, Nagavalli svarasa", "250 mg; Honey", "Pittaja Shiro-shoola + gastric disturbances"],
    ["Godanti Bhasma", "Godanti (calcium sulfate/gypsum)", "250 mg; Honey/water", "Pittaja Shiroroga, migraine-type"],
    ["Chandrakanta Rasa", "Compound rasa with Chandrakanta mani", "125–250 mg; Milk", "Pittaja, Suryavarta"],
    ["Mahalakshmi Vilas Rasa", "Suvarna bhasma-based complex", "125 mg; Honey/milk", "Tridoshaja, chronic Shirorogas"],
    ["Shirovajra Rasa", "Vajra bhasma-based compound", "125–250 mg; Honey", "Vataja severe Shiroroga"],
    ["Swashakuthara Rasa", "Compound", "125 mg; Honey", "Pitta Shiroroga"],
  ],
  C.teal
);

// Slide: Kwatha + Ghrita
twoColSlide(
  "Classical Formulations — Kwatha & Ghrita", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  "Kwatha (Decoctions) — Dose: 20–40 ml",
  [
    "Pathyadi Kwatha:",
    "  Pathya, Nimba, Guduchi, Haridra, Amalaki",
    "  Indication: Ardhavabhedaka, Vataja-Pittaja; Rakta prasadaka",
    "  Reference: WJPR (2025)",
    "",
    "Dashamoola Kwatha:",
    "  All 10 roots",
    "  Indication: Vataja, Ardhavabhedaka",
    "",
    "Mahamanjishthadi Kwatha:",
    "  Manjishtha + compound",
    "  Indication: Raktaja Shiroroga",
  ],
  "Ghrita (Medicated Clarified Butter) — Dose: 10–20 ml",
  [
    "Mahamayura Ghrita — Vataja; Nasya",
    "Ksheerabala Taila (also Ghrita) — Vataja; Nasya",
    "Panchatikta Ghrita — Krimija, Kshayaja",
    "Triphala Ghrita — General + Netra Roga",
    "Ksharpi (purified ghee) + Vatanashaka dravyas — Kshayaja Shiroroga",
    "Brahmi Ghrita — Psychogenic headache",
    "",
    "Nasya Tailas:",
    "Anu Taila — All Shirorogas (Pratimarsha/Marsha Nasya)",
    "Shadbindu Taila — Vataja, Kaphaja",
  ],
  C.teal
);

// Slide: Patent Medicines
tableSlide(
  "Patent Formulations — Common OTC/Clinical Products", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  ["Patent Medicine", "Manufacturer", "Key Ingredients", "Indication"],
  [
    ["Pathyadi Kwatha (ready)", "Arya Vaidya Sala / Dabur", "Pathya, Nimba, Guduchi", "Ardhavabhedaka, migraine"],
    ["Godanti Bhasma (patent)", "Dabur, Baidyanath", "Godanti (calcium sulfate)", "Pittaja Shiroroga, migraine"],
    ["Sutashekhara Rasa", "Dabur, AVS", "Compound herbo-mineral", "Pittaja, chronic headache"],
    ["Ksheerabala 101", "Arya Vaidya Sala", "Bala + milk processed oil (101x)", "Vataja Shiroroga; Nasya"],
    ["Brihat Vata Chintamani Rasa", "Dabur", "Suvarna, Vata-hara compound", "Vataja chronic Shiroroga"],
    ["Mahalakshmi Vilas Rasa", "Baidyanath", "Suvarna bhasma based", "Tridoshaja Shiroroga"],
    ["Brahmi Ghrita (patent)", "Dabur, Baidyanath", "Brahmi + compound", "Psychogenic/stress headache"],
    ["Anu Taila (patent)", "Multiple", "Multi-herb oil", "Nasya in all Shirorogas"],
    ["Bhringraja Taila", "Dabur / Himalaya", "Bhringaraja extract", "Vataja, hair loss + HA"],
  ],
  C.teal
);

// Slide: Pathyapathya
twoColSlide(
  "Pathyapathya in Shirorogas", "TOPIC 2 — DRAVYAS IN SHIROROGAS",
  "Pathya (Beneficial)",
  [
    "Old ghee, Shali rice, Shashtika shali",
    "Yusha (soups), milk, Dhanvamamsa",
    "Vegetables: Patola, Shigru, Vastuka, Karvellaka",
    "Fruits: Amalaki, Dadima, Matulunga, lemon, grapes, coconut",
    "Liquids: Coconut water, Kanji, Takra (buttermilk)",
    "Adequate sleep, stress-free routine",
    "Avoidance of Vega-dharana",
  ],
  "Apathya (to Avoid)",
  [
    "Vegadharana — sneezing, yawning, sleep, lacrimation",
    "Cold drinks, Dahi, Lassi, ice cream",
    "Kaphavardhaka heavy diet",
    "Excessive screen exposure (Pratataekshana)",
    "Cold wind, direct sunlight",
    "Emotional stress (Shoka, Bhaya, Trasa)",
    "Irregular dietary habits",
    "Alcohol, tamasic diet",
  ],
  C.teal
);

// ═════════════════════════════════════════════════════════════════════════════
// TOPIC 3: NLHT 2.1 — NETRA KRIYA KALPA
// ═════════════════════════════════════════════════════════════════════════════
sectionDivider("NLHT 2.1 — NETRA KRIYA KALPA", "Ati-yoga · Ayoga · Purva · Pradhana · Pashchat Karma\nAschyotana · Seka · Pindi · Vidalaka", C.gold, "3");

// Slide: Overview of Netra Kriya Kalpa
contentSlide(
  "Netra Kriya Kalpa — Introduction", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Definition" },
    "Kriya = Chikitsa (treatment)  |  Kalpa = Vidhi (method / procedure)",
    "Local therapeutic procedures applied directly to the eye for Netra Roga management",
    { heading: "Seven Main Kriya Kalpas" },
    "1. Aschyotana (eye drops)      2. Seka (continuous stream)",
    "3. Tarpana (oleation filling)   4. Putapaka (filtered meat/herb juice)",
    "5. Anjana (collyrium)           6. Pindi (bolus application)",
    "7. Vidalaka / Bidalaka (paste on eyelids)",
    { heading: "Texts that mention them" },
    "All 7 in: Sushruta Samhita, Ashtanga Hridayam, Bhavaprakasha",
    "Charaka Samhita mentions: Aschyotana, Anjana, Bidalaka",
    { heading: "General Principle" },
    "All Kriya Kalpas follow Trividha Karma: Purva → Pradhana → Pashchat",
  ],
  C.white, C.darkgold
);

// Slide: Ati-yoga and Ayoga
twoColSlide(
  "Ati-yoga & Ayoga of Kriya Kalpa", "TOPIC 3 — NLHT 2.1",
  "Ati-yoga (Over-Treatment / Excess)",
  [
    "Excessive dryness (Rukshata) of the eye",
    "Burning sensation (Daha)",
    "Conjunctival congestion, redness",
    "Watering (Ashru srava)",
    "Photophobia",
    "Inflammation, swelling",
    "Reduced visual acuity",
    "",
    "Specific — Tarpana ati-yoga:",
    "  Alasya, heaviness, reduced near vision",
    "Anjana ati-yoga:",
    "  Excessive tearing, burning, photophobia",
  ],
  "Ayoga (Under-Treatment / Deficiency)",
  [
    "Disease not cured — Dosha NOT expelled",
    "Persistence of original symptoms",
    "Mild or no therapeutic effect",
    "No improvement in signs",
    "",
    "Samyak Yoga (Optimal application):",
    "  ✔ Original symptoms disappear",
    "  ✔ No new complications arise",
    "  ✔ Eye feels clear and comfortable",
    "  ✔ Visual clarity restored",
    "  ✔ Patient feels relief",
  ],
  C.darkgold
);

// Slide: Trividha Karma Framework
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.darkgold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.06, fill: { color: C.navy } });
  s.addText("TOPIC 3 — NLHT 2.1", { x: 0.4, y: 0.07, w: 9, h: 0.3, fontSize: 9, bold: true, color: C.navy, charSpacing: 4, align: "left", margin: 0 });
  s.addText("Trividha Karma — The Three-Stage Framework", { x: 0.4, y: 0.38, w: 9.2, h: 0.52, fontSize: 22, bold: true, color: C.white, align: "left", valign: "middle", margin: 0 });

  const stages = [
    { label: "PURVA KARMA", sub: "Pre-Procedure", color: C.teal, items: [
      "Inform the patient about procedure",
      "Patient positioned in supine in Kriyakalpa theatre",
      "Face and eye area cleaned gently",
      "Remove excess secretions with cotton",
      "Mild Abhyanga (oil massage) of periorbital area",
      "Swedana (mild fomentation) if indicated",
      "Prepare the dravya (drug)",
      "Purpose: Mobilize doshas, prepare eye tissues",
    ]},
    { label: "PRADHANA KARMA", sub: "Main Procedure", color: C.darkgold, items: [
      "Actual therapeutic application",
      "Specific technique per Kriya Kalpa",
      "Physician observes Samyak Yoga signs",
      "Correct height, quantity, temperature",
      "Duration as per dosha and disease",
      "Patient remains still and comfortable",
    ]},
    { label: "PASHCHAT KARMA", sub: "Post-Procedure", color: C.navy, items: [
      "Wipe excess liquid/paste with clean cotton",
      "Gentle Swedana over closed eyelids (if applicable)",
      "Anjana applied if indicated",
      "Dhoomapana (medicated smoke) — for some",
      "Rest in dim, dust-free environment",
      "Avoid cold wind, bright light, rubbing",
      "Samsarjana Krama (light diet) for intensive therapies",
    ]},
  ];

  stages.forEach((st, i) => {
    const x = 0.2 + i * 3.25;
    s.addShape(pres.ShapeType.rect, { x, y: 1.08, w: 3.1, h: 0.65, fill: { color: st.color }, radius: 4 });
    s.addText(st.label, { x, y: 1.08, w: 3.1, h: 0.38, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
    s.addText(st.sub, { x, y: 1.46, w: 3.1, h: 0.26, fontSize: 10, color: C.white, align: "center", valign: "middle", margin: 0, italic: true });
    s.addShape(pres.ShapeType.rect, { x, y: 1.77, w: 3.1, h: 3.65, fill: { color: C.white }, line: { color: st.color, width: 1.5 } });
    const items = st.items.map((it, ii) => ({
      text: it, options: { bullet: { indent: 10 }, breakLine: ii < st.items.length - 1, fontSize: 12.5, color: C.text, paraSpaceBefore: 4 }
    }));
    s.addText(items, { x: x + 0.12, y: 1.82, w: 2.85, h: 3.55, align: "left", valign: "top", margin: 5, wrap: true });
  });
}

// ── ASCHYOTANA ────────────────────────────────────────────────────────────────
contentSlide(
  "Aschyotana — Eye Drop Instillation", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Definition & Etymology" },
    "Procedure where medicine is instilled DROP BY DROP into the eye",
    "Aa + Shchyu + Ta + Lyu = 'Samyak Ksharana Sheela' (continuous dripping)",
    "Aadya Upakrama — FIRST LINE of treatment in ALL Netra Rogas (Su.Su. 23/1)",
    { heading: "Types (Sushruta)" },
    "Snehana — oily; for Vataja    |    Lekhana — drying; for Kaphaja    |    Ropana — healing; for Pittaja",
    { heading: "Dravyas Used" },
    "Swarasa (fresh juice), Kashaya (decoction), Ksheera, Hima, Phanta, Ghrita",
    { heading: "Key Parameters" },
    "Height: 2 Angulas above eye   |   Site: Kaninika Sandhi (inner canthus)",
    "Drops: 10–12 per eye   |   Physician uses left hand to hold lids, right hand to instill",
    { heading: "Indications" },
    "All conjunctivitis types (Abhishyanda), Ashru srava, early Timira, Shukra (corneal ulcer), Blepharitis",
  ],
  C.white, C.darkgold
);

procedureSlide(
  "Aschyotana — Step-by-Step Procedure", "TOPIC 3 — NLHT 2.1",
  [
    {
      label: "PURVA KARMA", items: [
        "Inform patient about procedure",
        "Supine position in Kriyakalpa theatre",
        "Clean face and remove eye secretions",
        "Prepare Aschyotana dravya (drops)",
        "Mild swedan if Vataja condition",
      ]
    },
    {
      label: "PRADHANA KARMA", items: [
        "Hold lids open with LEFT hand",
        "Dropper/bowl in RIGHT hand",
        "Height: 2 Angulas from eye",
        "Instill at KANINIKA SANDHI (inner canthus)",
        "10–12 drops per eye",
        "Patient blinks gently to distribute",
      ]
    },
    {
      label: "PASHCHAT KARMA", items: [
        "Wipe outflowing fluid with cotton",
        "Apply Mrudu Sweda (warm fomentation) over closed lids",
        "Rest for a few minutes",
        "Avoid rubbing, cold wind, bright light",
        "Observe for Samyak Yoga signs",
      ]
    }
  ],
  C.darkgold
);

// ── SEKA ──────────────────────────────────────────────────────────────────────
contentSlide(
  "Seka — Continuous Stream over the Eye", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Definition" },
    "Continuous, uninterrupted STREAM (Dhara) of medicated liquid poured over the eye",
    "Stream is thin, uniform, and continuous — 'Rohitaksha Pramana'",
    { heading: "Types" },
    "Vataja Seka — warm oily preparation    |    Pittaja Seka — cool, sweet preparations",
    "Kaphaja Seka — warm, pungent-sharp preparations",
    { heading: "Vessels" },
    "Kumbha (pot), Pana Patra, specially made Seka Patra",
    { heading: "Key Parameters" },
    "Height: 2+ Angulas from eye   |   Direction: Inner to outer canthus (Kaninika → Apanga Sandhi)",
    "Duration: Until Samyak Yoga signs appear   |   Liquid may be recollected and reapplied",
    { heading: "Indications" },
    "Pittaja Abhishyanda (burning conjunctivitis), Adimantha (glaucoma-burning), Shukta, early Patalagata Roga",
    { heading: "Contraindications" },
    "Kaphaja Roga with excess secretion (drying effect needed instead of wetting)",
  ],
  C.white, C.darkgold
);

procedureSlide(
  "Seka — Step-by-Step Procedure", "TOPIC 3 — NLHT 2.1",
  [
    {
      label: "PURVA KARMA", items: [
        "Inform patient; supine position",
        "Clean eye area",
        "Mild oleation (Snehana) of eyelid margins",
        "Mild Swedana if Vataja/Kaphaja",
        "Prepare medicated liquid at appropriate temperature",
        "Tray placed below to collect drainage",
      ]
    },
    {
      label: "PRADHANA KARMA", items: [
        "Eyes open or closed (per indication)",
        "Pour as thin, UNINTERRUPTED DHARA",
        "Direction: Kaninika → Apanga Sandhi",
        "Maintain uniform height and flow",
        "Continue until Samyak Yoga",
        "Liquid collected and can be reused",
      ]
    },
    {
      label: "PASHCHAT KARMA", items: [
        "Wipe excess liquid with cotton",
        "Gentle massage of eyelids",
        "Dhoomapana may be given",
        "Light fomentation if required",
        "Rest; avoid cold, dust, bright light",
        "Samsarjana Krama if intensive therapy",
      ]
    }
  ],
  C.darkgold
);

// ── PINDI ──────────────────────────────────────────────────────────────────────
contentSlide(
  "Pindi — Medicated Bolus Application", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Definition" },
    "Application of a medicated BOLUS (Pind = compacted lump/bundle) over the closed eyelid",
    "Bolus prepared from medicinal substances tied in clean thin cloth",
    { heading: "Types" },
    "Vataja Pindi — warm, oily Vata-shamana herbs",
    "Pittaja Pindi — cool Pitta-shamana herbs (Chandana, Madhuka)",
    "Kaphaja Pindi — warm, pungent Kapha-shamana herbs",
    { heading: "Preparation" },
    "Drugs ground (Kalka) or soaked → tied in thin clean cloth → dipped in warm/cool decoction before use",
    { heading: "Key Parameters" },
    "Eyes CLOSED throughout    |    Bolus: gentle uniform pressure — not too tight, not loose",
    "Duration: 15–30 min (Vata = longer; Pitta = shorter)    |    Re-soak if bolus dries",
    { heading: "Indications" },
    "Eyelid swelling (Pothaki), early Timira, Vataja Abhishyanda, periorbital edema, chronic conjunctivitis",
  ],
  C.white, C.darkgold
);

procedureSlide(
  "Pindi — Step-by-Step Procedure", "TOPIC 3 — NLHT 2.1",
  [
    {
      label: "PURVA KARMA", items: [
        "Inform patient; supine position",
        "Face cleaned; secretions removed",
        "Gentle Abhyanga around eyes",
        "Mild Swedana to periorbital area",
        "Prepare Pindi — select herbs per dosha",
        "Tie bolus in clean cloth; soak in warm/cool decoction",
      ]
    },
    {
      label: "PRADHANA KARMA", items: [
        "Patient eyes GENTLY CLOSED",
        "Place Pindi over closed eyelids",
        "Apply gentle, uniform pressure",
        "Duration: 15–30 min",
        "Re-soak in decoction if bolus dries",
        "Patient remains still and comfortable",
      ]
    },
    {
      label: "PASHCHAT KARMA", items: [
        "Remove Pindi gently",
        "Clean eyes with warm water",
        "Anjana (collyrium) applied if indicated",
        "Gentle Swedana if required",
        "Rest in dim light",
        "Avoid bright light and dust",
      ]
    }
  ],
  C.darkgold
);

// ── VIDALAKA ──────────────────────────────────────────────────────────────────
contentSlide(
  "Vidalaka / Bidalaka — External Paste Application", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Definition" },
    "Application of medicated PASTE (Lepa) over the EXTERNAL surface of the eyelid (not inside eye)",
    "Vi + Dal + aka = 'that which clears passages' — primarily Lekhana (scraping/drying) action",
    { heading: "Difference from Anjana" },
    "Anjana → applied INSIDE conjunctival sac   |   Vidalaka → applied OUTSIDE over closed lids",
    { heading: "Types" },
    "Snigdha Vidalaka — oily, Vataja    |    Ruksha Vidalaka — astringent/dry, Kaphaja",
    "Sheeta Vidalaka — cool, Pittaja",
    { heading: "Key Parameters" },
    "Eyes CLOSED   |   Thickness: ~1 Angula   |   Duration: 20–30 min (until paste dries)",
    "Paste must NOT enter the eye   |   Consistency: thick enough to stay on lids",
    { heading: "Indications" },
    "Kaphaja Abhishyanda (mucopurulent), Pothaki (trachoma), Adimantha-Kaphaja, early Timira (Lekhana), Vartma disorders",
    { heading: "Contraindications" },
    "Open wounds on lids, active corneal ulcers, severe inflammation",
  ],
  C.white, C.darkgold
);

procedureSlide(
  "Vidalaka — Step-by-Step Procedure", "TOPIC 3 — NLHT 2.1",
  [
    {
      label: "PURVA KARMA", items: [
        "Inform patient; seated or supine",
        "Clean eyes and eyelids",
        "Hair tied away from forehead",
        "Mild Abhyanga of lids if required",
        "Prepare fresh paste (Kalka) from selected drugs",
        "Ensure appropriate temperature and consistency",
      ]
    },
    {
      label: "PRADHANA KARMA", items: [
        "Patient eyes GENTLY CLOSED",
        "Apply paste uniformly over outer lids",
        "Apply from MEDIAL → LATERAL canthus",
        "Thickness: ~1 Angula",
        "Duration: 20–30 min (till paste dries)",
        "Patient must NOT open eyes during",
      ]
    },
    {
      label: "PASHCHAT KARMA", items: [
        "Remove paste carefully with cloth/cotton",
        "Clean eye area with warm water",
        "Anjana applied if needed",
        "Avoid bright light and dust",
        "Rest; observe for Samyak Yoga",
      ]
    }
  ],
  C.darkgold
);

// Comparison Table
tableSlide(
  "Comparison: Aschyotana vs Seka vs Pindi vs Vidalaka", "TOPIC 3 — NLHT 2.1",
  ["Feature", "Aschyotana", "Seka", "Pindi", "Vidalaka"],
  [
    ["Form of Drug", "Drops (liquid)", "Continuous stream", "Solid bolus in cloth", "Paste (Kalka)"],
    ["Application Site", "Inside eye (canthus)", "Over open/closed eye", "Over closed lids", "Over closed lids (skin)"],
    ["Height / Contact", "2 Angulas", "2+ Angulas", "Direct contact", "Direct contact"],
    ["Quantity / Duration", "10–12 drops; short", "Continuous flow; moderate", "1 bolus; 15–30 min", "1 Angula thick; 20–30 min"],
    ["Contact with Globe", "Direct (cornea/conj.)", "Direct", "Indirect (via lids)", "Indirect (over skin)"],
    ["Tissue Contact Time", "LEAST", "Moderate", "Longer", "LONGEST"],
    ["Primary Action", "Samshodhana, Shamana", "Shamana, Seka", "Stambhana, Ropana", "Lekhana, Ropana"],
    ["Best Dosha", "All (1st line)", "Pittaja — burning", "Vataja — swelling", "Kaphaja — secretions"],
    ["Acharya mention", "All 5 texts", "Su, AH, BS, BP", "Su, BP only", "Su, CS, BP"],
  ],
  C.darkgold
);

// Research Updates
contentSlide(
  "Research Updates — Aschyotana & Pindi (2025)", "TOPIC 3 — NLHT 2.1",
  [
    { heading: "Study 1: Aschyotana in Meibomian Gland Dysfunction (PMID: 41647025)" },
    "Sreelekha PS et al., Frontiers in Medicine, 2025",
    "30 patients with MGD; Single-arm open-label study",
    "Protocol: Aschyotana with Moringa oleifera leaf drops + Pratimarsha Nasya (Anu oil) + Avagundana (Triphala fomentation)",
    "Results: OSDI, TBUT, Schirmer's all improved significantly (p < 0.001); Fluorescein staining → nil; No adverse effects",
    "Conclusion: Non-invasive, effective Ayurvedic approach for MGD in primary care",
    { heading: "Study 2: Shigru Pallava (Moringa) Aschyotana in Glaucoma (PMID: 40443906)" },
    "Devarajan D & Rajagopala M, F1000Research, 2025 — RCT Protocol",
    "Shigru Pallava Arka eye drops (1 drop 4×/day) as add-on to standard care in Primary Open-Angle Glaucoma",
    "Outcomes: Visual field indices, RNFL thickness, IOP; CTRI/2023/06/053681",
    "Status: Ongoing recruitment — results awaited",
    { heading: "Pindi / Avagundana Technique" },
    "The above MGD study used Avagundana (warm Triphala bolus application) — mirrors traditional Pindi technique",
    "Significant improvement in meibomian gland expressibility and TBUT with warm bolus fomentation",
  ],
  C.white, C.darkgold
);

// Quick Revision
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.gold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.515, w: 10, h: 0.1, fill: { color: C.gold } });
  s.addText("QUICK REVISION", { x: 0.4, y: 0.2, w: 9, h: 0.45, fontSize: 10, bold: true, color: C.gold, charSpacing: 5, align: "left", margin: 0 });
  s.addText("Key Points to Remember", { x: 0.4, y: 0.65, w: 9, h: 0.55, fontSize: 24, bold: true, color: C.white, align: "left", margin: 0 });

  const revRows = [
    ["ICHD-3", "3 Parts + Appendix | 14 categories | Published 2018 | IHS"],
    ["Migraine", "≥5 attacks | 4–72h | UPMA (2 of 4) | Nausea/Photo+Phono | Chronic = ≥15 days/month"],
    ["TTH", "Bilateral | Pressing | Mild-moderate | No nausea | Aggravated by activity — NO"],
    ["TAC", "Cluster = 15–180 min; Paroxysmal hemicrania = INDOMETHACIN; SUNCT = shortest; HC = continuous"],
    ["Shirorogas", "Sushruta = 11 types | Vataja most common | Bhringaraja, Pathya, Dashamula — key drugs"],
    ["Classical Rx", "Pathyadi Kwatha, Shirahshooladi Vajra Rasa, Sutashekhara Rasa, Godanti Bhasma"],
    ["Aschyotana", "Drops | 10–12 | 2 Angulas | Kaninika Sandhi | AADYA UPAKRAMA | All Netra Rogas"],
    ["Seka", "Stream | 2+ Angulas | Kaninika → Apanga | Pittaja | Burns, redness"],
    ["Pindi", "Bolus over closed lids | 15–30 min | Vataja | Swelling, Timira"],
    ["Vidalaka", "Paste on lids | 1 Angula thick | 20–30 min | Kaphaja | Lekhana action"],
  ];

  const tableData = [
    revRows.map((r, ri) => ({ text: r[0], options: { bold: true, color: C.gold, fill: "122040", fontSize: 10.5 } })),
  ];
  const tData = [
    revRows.map(r => ({ text: r[0], options: { bold: true, color: C.gold, fill: "122040", fontSize: 10.5, align: "center" } })),
    revRows.map(r => ({ text: r[1], options: { color: C.white, fill: "0D2B4E", fontSize: 10 } })),
  ];
  // Actually build as two-col list
  const leftItems = revRows.slice(0, 5).map((r, i) => ({
    text: `${r[0]}: ${r[1]}`, options: { breakLine: i < 4, fontSize: 10.5, color: C.white, paraSpaceBefore: 5 }
  }));
  const rightItems = revRows.slice(5).map((r, i) => ({
    text: `${r[0]}: ${r[1]}`, options: { breakLine: i < 4, fontSize: 10.5, color: C.white, paraSpaceBefore: 5 }
  }));
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.3, w: 4.5, h: 4.1, fill: { color: "122040" }, line: { color: C.gold, width: 0.7 } });
  s.addShape(pres.ShapeType.rect, { x: 5.2, y: 1.3, w: 4.5, h: 4.1, fill: { color: "122040" }, line: { color: C.gold, width: 0.7 } });
  s.addText(leftItems, { x: 0.45, y: 1.4, w: 4.2, h: 3.9, align: "left", valign: "top", margin: 6, wrap: true });
  s.addText(rightItems, { x: 5.35, y: 1.4, w: 4.2, h: 3.9, align: "left", valign: "top", margin: 6, wrap: true });
}

// ─── CLOSING SLIDE ────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.gold } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.515, w: 10, h: 0.1, fill: { color: C.gold } });
  s.addShape(pres.ShapeType.ellipse, { x: 6.0, y: 1.0, w: 4.5, h: 4.5, fill: { color: C.teal }, line: { color: C.teal } });
  s.addShape(pres.ShapeType.ellipse, { x: 6.5, y: 1.5, w: 3.5, h: 3.5, fill: { color: C.navy }, line: { color: C.navy } });
  s.addText("Thank You", { x: 0.5, y: 1.5, w: 6, h: 1.0, fontSize: 46, bold: true, color: C.gold, align: "left", margin: 0 });
  s.addText([
    { text: "References\n", options: { bold: true, color: C.gold, breakLine: true, fontSize: 13 } },
    { text: "• ICHD-3: Cephalalgia 38(1), 2018 — International Headache Society\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
    { text: "• Sushruta Samhita, Uttaratantra — Ch. 24, 26\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
    { text: "• Ashtanga Hridayam, Uttaratantra — Ch. 24\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
    { text: "• Bhavaprakasha, Madanapalagana\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
    { text: "• Bhaisajya Ratnavali, Shirorogadhikara\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
    { text: "• Sreelekha PS et al. Front Med. 2025 (PMID: 41647025)\n", options: { color: C.teallight, fontSize: 11, breakLine: true } },
    { text: "• Devarajan D et al. F1000Research. 2025 (PMID: 40443906)\n", options: { color: C.teallight, fontSize: 11, breakLine: true } },
    { text: "• WJPSR Vol 4(1), 2025 — Aaschyotana review\n", options: { color: C.offwhite, fontSize: 11, breakLine: true } },
  ], { x: 0.5, y: 2.8, w: 8.5, h: 2.6, align: "left", valign: "top", margin: 0, wrap: true });
}

// ─── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/bams-shalakya-ppt/BAMS_Shalakya_Shirorogas_NKK.pptx" })
  .then(() => console.log("SUCCESS: PPTX written"))
  .catch(e => { console.error("ERROR:", e); process.exit(1); });
Running Command

cd /home/daytona/workspace/bams-shalakya-ppt && node generate.js 2>&1

Running Command

ls -lh /home/daytona/workspace/bams-shalakya-ppt/BAMS_Shalakya_Shirorogas_NKK.pptx

Your presentation is ready. Download it here:

BAMS Shalakya Shirorogas NKK

Presentation · PPTX


What's in the presentation (892 KB, 25 slides):

Design: Deep navy/teal/gold academic theme - professional, medical, Ayurvedic warmth. Dark section dividers, white content slides, colored header bars, structured layout.
#SlideContent
1Title SlideAll 3 topics, course & year
2ContentsNumbered agenda with descriptions
3Section Divider 1ICHD-3
4-5ICHD-3 Intro + 3-Part StructureOverview, all 14 categories with Appendix
6-7MigraineDiagnostic criteria (1.1-1.4) + subtypes table
8TTHAll 4 types with Ayurvedic correlation
9TACsComparison table of all 4 TACs
10Other Primary HA4.1-4.10 table
11Secondary HA (5-12)Trauma, vascular, MOH, glaucoma headache
12Part III + Ayurvedic CorrelationNeuralgias + ICHD-3 ↔ Shiroroga mapping
13Section Divider 2Dravyas in Shirorogas
14-19Dravyas Topic11 Shirorogas, single drugs table, Lepa/Taila, Rasa Yoga table, Kwatha/Ghrita, Patent medicines, Pathyapathya
20Section Divider 3NLHT 2.1
21-22Kriya Kalpa overview + Ati/Ayoga7 kalpas, ati-yoga vs ayoga two-column
23Trividha KarmaPurva/Pradhana/Pashchat in 3 columns
24-25AschyotanaTheory + step-by-step procedure slide
26-27SekaTheory + steps
28-29PindiTheory + steps
30-31VidalakaTheory + steps
32Comparison TableAll 4 procedures vs 9 features
33Research Updates2025 MGD study + Glaucoma RCT (PMID cited)
34Quick RevisionAll key points in 2 columns
35Thank You / ReferencesComplete references
This is a shared conversation. Sign in to Orris to start your own chat.