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
ICHD 3 International Classification Headache Disorders 2018 criteria complete classification
Aschotana Seka Pindi Vidalaka Ayurveda eye drops clinical trial
Ayurveda Shirorogas dravyas classical formulations Pathyadi kwatha Shirahshoolahari rasa patent medicines
Aschotana eye drops Ayurveda clinical study
https://saudijournals.com/media/articles/SIJTCM_66_90-95_FT.…
Aschotana Seka Pindi Vidalaka Ayurveda netra chikitsa purva pradhana pashchat karma method
netra tarpana Ayurveda eye treatment seka vidalaka randomized clinical
https://wjpsronline.com/images/1b13562658cd964767cac251ba5a5…
PMID: 41647025
PMID: 40443906
Generate a PPT presentation on these 3 BAMS topics for class delivery
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /home/daytona/workspace/bams-shalakya-ppt
~/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); });
cd /home/daytona/workspace/bams-shalakya-ppt && node generate.js 2>&1
ls -lh /home/daytona/workspace/bams-shalakya-ppt/BAMS_Shalakya_Shirorogas_NKK.pptx
BAMS Shalakya Shirorogas NKK
Presentation · PPTX
| # | Slide | Content |
|---|---|---|
| 1 | Title Slide | All 3 topics, course & year |
| 2 | Contents | Numbered agenda with descriptions |
| 3 | Section Divider 1 | ICHD-3 |
| 4-5 | ICHD-3 Intro + 3-Part Structure | Overview, all 14 categories with Appendix |
| 6-7 | Migraine | Diagnostic criteria (1.1-1.4) + subtypes table |
| 8 | TTH | All 4 types with Ayurvedic correlation |
| 9 | TACs | Comparison table of all 4 TACs |
| 10 | Other Primary HA | 4.1-4.10 table |
| 11 | Secondary HA (5-12) | Trauma, vascular, MOH, glaucoma headache |
| 12 | Part III + Ayurvedic Correlation | Neuralgias + ICHD-3 ↔ Shiroroga mapping |
| 13 | Section Divider 2 | Dravyas in Shirorogas |
| 14-19 | Dravyas Topic | 11 Shirorogas, single drugs table, Lepa/Taila, Rasa Yoga table, Kwatha/Ghrita, Patent medicines, Pathyapathya |
| 20 | Section Divider 3 | NLHT 2.1 |
| 21-22 | Kriya Kalpa overview + Ati/Ayoga | 7 kalpas, ati-yoga vs ayoga two-column |
| 23 | Trividha Karma | Purva/Pradhana/Pashchat in 3 columns |
| 24-25 | Aschyotana | Theory + step-by-step procedure slide |
| 26-27 | Seka | Theory + steps |
| 28-29 | Pindi | Theory + steps |
| 30-31 | Vidalaka | Theory + steps |
| 32 | Comparison Table | All 4 procedures vs 9 features |
| 33 | Research Updates | 2025 MGD study + Glaucoma RCT (PMID cited) |
| 34 | Quick Revision | All key points in 2 columns |
| 35 | Thank You / References | Complete references |