I want a ppt on adhd..mention etiology, neurobiology, epidemiology, criteria and clinical features of each age group in short mainly mention the pharmacological and nonpharmacological management in detail ..make a ppt of it
mkdir -p /home/daytona/workspace/adhd-ppt && ls /home/daytona/workspace/adhd-ppt…
~/adhd-ppt/adhd_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";
pres.title = "ADHD: A Comprehensive Overview";
// ─── Color Palette ───────────────────────────────────────────
const C = {
navy: "0D1B4B", // dominant dark
teal: "1A7A8A", // supporting
cyan: "2EC4B6", // accent
white: "FFFFFF",
offwhite: "F0F4F8",
yellow: "FFD166",
lightBg: "E8F0FE",
text: "1A1A2E",
muted: "4A5568",
red: "E63946",
green: "06A77D",
purple: "7B2FBE",
};
const W = 13.33; // slide width inches
const H = 7.5; // slide height
// ─── Helper: Section Divider Slide ──────────────────────────
function addDividerSlide(title, subtitle, iconChar) {
const sl = pres.addSlide();
// gradient-like background using shapes
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W * 0.55, h: H, fill: { color: C.teal }, line: { type: "none" } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W * 0.55, h: H, fill: { color: C.navy, transparency: 30 }, line: { type: "none" } });
// Accent bar
sl.addShape(pres.ShapeType.rect, { x: 0.7, y: H / 2 - 0.05, w: 4, h: 0.1, fill: { color: C.cyan }, line: { type: "none" } });
sl.addText(title, {
x: 0.7, y: H / 2 - 1.3, w: 7.5, h: 1.1,
fontSize: 38, bold: true, color: C.white, fontFace: "Calibri", align: "left", margin: 0,
});
if (subtitle) {
sl.addText(subtitle, {
x: 0.7, y: H / 2 + 0.3, w: 7.5, h: 0.8,
fontSize: 18, color: C.yellow, fontFace: "Calibri", align: "left", italic: true, margin: 0,
});
}
return sl;
}
// ─── Helper: Content Slide (title bar + bullets) ────────────
function addContentSlide(title, bulletGroups, opts = {}) {
const sl = pres.addSlide();
// Background
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
// Title bar
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText(title, {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", align: "left", valign: "middle", margin: 0,
});
// Content area
const colCount = opts.cols || 1;
const colW = (W - 0.6) / colCount;
const colX = (i) => 0.3 + i * colW;
if (colCount === 1) {
const items = bulletGroups.flat();
const textItems = [];
items.forEach((item, idx) => {
if (item.header) {
if (idx > 0) textItems.push({ text: "", options: { breakLine: true } });
textItems.push({ text: item.header, options: { bold: true, color: C.teal, fontSize: 14, breakLine: true } });
} else {
textItems.push({
text: (item.sub ? " " : " ") + (item.sub ? "▸ " : "• ") + item.text,
options: {
color: item.sub ? C.muted : C.text,
fontSize: item.sub ? 11 : 12.5,
breakLine: true,
},
});
}
});
if (textItems.length > 0 && textItems[textItems.length - 1].options.breakLine) {
textItems[textItems.length - 1].options.breakLine = false;
}
sl.addText(textItems, {
x: 0.3, y: 1.15, w: W - 0.6, h: H - 1.3,
fontFace: "Calibri", valign: "top", margin: [4, 8, 4, 8],
});
} else {
bulletGroups.forEach((group, ci) => {
const textItems = [];
group.forEach((item, idx) => {
if (item.header) {
if (idx > 0) textItems.push({ text: "", options: { breakLine: true } });
textItems.push({ text: item.header, options: { bold: true, color: C.teal, fontSize: 14, breakLine: true } });
} else {
textItems.push({
text: (item.sub ? " ▸ " : " • ") + item.text,
options: {
color: item.sub ? C.muted : C.text,
fontSize: item.sub ? 11 : 12.5,
breakLine: true,
},
});
}
});
if (textItems.length > 0) {
textItems[textItems.length - 1].options.breakLine = false;
}
// column card
sl.addShape(pres.ShapeType.roundRect, {
x: colX(ci) + 0.05, y: 1.15, w: colW - 0.15, h: H - 1.35,
fill: { color: C.white }, line: { color: C.teal, width: 1.2 }, rectRadius: 0.08,
});
sl.addText(textItems, {
x: colX(ci) + 0.12, y: 1.2, w: colW - 0.3, h: H - 1.45,
fontFace: "Calibri", valign: "top", margin: [4, 6, 4, 6],
});
});
}
return sl;
}
// ─── Helper: Two-col card with heading ───────────────────────
function addTwoColCard(slide, x, y, w, h, heading, items, headColor) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: C.white }, line: { color: headColor || C.teal, width: 1.5 }, rectRadius: 0.1,
});
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h: 0.36,
fill: { color: headColor || C.teal }, line: { type: "none" }, rectRadius: 0.1,
});
slide.addText(heading, {
x: x + 0.08, y: y + 0.04, w: w - 0.16, h: 0.28,
fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0,
});
const textItems = items.map((item, idx) => ({
text: "• " + item,
options: { color: C.text, fontSize: 11, breakLine: idx < items.length - 1 },
}));
slide.addText(textItems, {
x: x + 0.1, y: y + 0.42, w: w - 0.2, h: h - 0.5,
fontFace: "Calibri", valign: "top", margin: [2, 4, 2, 4],
});
}
// ══════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ══════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.navy } });
// teal band
sl.addShape(pres.ShapeType.rect, { x: 0, y: H * 0.62, w: W, h: H * 0.38, fill: { color: C.teal } });
// accent bar
sl.addShape(pres.ShapeType.rect, { x: 1, y: H * 0.62 - 0.06, w: W - 2, h: 0.12, fill: { color: C.yellow } });
sl.addText("ADHD", {
x: 0.8, y: 0.7, w: W - 1.6, h: 2.2,
fontSize: 80, bold: true, color: C.white, fontFace: "Calibri", align: "center", charSpacing: 18,
});
sl.addText("Attention-Deficit / Hyperactivity Disorder", {
x: 0.8, y: 2.7, w: W - 1.6, h: 0.8,
fontSize: 22, color: C.cyan, fontFace: "Calibri", align: "center", italic: false, bold: false,
});
sl.addText("A Comprehensive Clinical Overview", {
x: 0.8, y: H * 0.66, w: W - 1.6, h: 0.6,
fontSize: 18, color: C.white, fontFace: "Calibri", align: "center", italic: true,
});
sl.addText("Etiology • Neurobiology • Epidemiology • Diagnosis • Management", {
x: 0.8, y: H * 0.74, w: W - 1.6, h: 0.55,
fontSize: 13, color: C.yellow, fontFace: "Calibri", align: "center",
});
sl.addText("Sources: Kaplan & Sadock's Psychiatry | Maudsley Prescribing Guidelines | Harriet Lane Handbook", {
x: 0.5, y: H - 0.45, w: W - 1, h: 0.35,
fontSize: 10, color: C.white, fontFace: "Calibri", align: "center", italic: true,
});
}
// ══════════════════════════════════════════════════════════════
// SLIDE 2 – OVERVIEW / AGENDA
// ══════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("Agenda", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 26, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
const topics = [
{ n: "01", label: "Epidemiology", color: C.teal },
{ n: "02", label: "Etiology", color: C.purple },
{ n: "03", label: "Neurobiology", color: C.red },
{ n: "04", label: "DSM-5 Diagnostic Criteria", color: C.teal },
{ n: "05", label: "Clinical Features by Age Group", color: C.navy },
{ n: "06", label: "Pharmacological Management", color: C.teal },
{ n: "07", label: "Non-Pharmacological Management", color: C.green },
{ n: "08", label: "Monitoring & Special Populations", color: C.purple },
];
const cols = 4;
const cardW = (W - 0.5) / cols - 0.18;
const cardH = 2.3;
topics.forEach((t, i) => {
const row = Math.floor(i / cols);
const col = i % cols;
const x = 0.25 + col * (cardW + 0.2);
const y = 1.2 + row * (cardH + 0.2);
sl.addShape(pres.ShapeType.roundRect, {
x, y, w: cardW, h: cardH,
fill: { color: t.color }, line: { type: "none" }, rectRadius: 0.12,
});
sl.addText(t.n, {
x, y: y + 0.15, w: cardW, h: 0.8,
fontSize: 28, bold: true, color: "FFFFFF30", fontFace: "Calibri", align: "center",
});
sl.addText(t.label, {
x: x + 0.1, y: y + 0.7, w: cardW - 0.2, h: 1.4,
fontSize: 13.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle",
});
});
}
// ══════════════════════════════════════════════════════════════
// ── SECTION 1: EPIDEMIOLOGY ───────────────────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("01 Epidemiology", "How common is ADHD?");
addContentSlide("Epidemiology of ADHD", [
[
{ header: "Global Prevalence" },
{ text: "6–9% of children and adolescents worldwide" },
{ text: "2.5–5% prevalence in adults globally" },
{ text: "Persists into adulthood in ~50% of childhood cases" },
{ text: "Rates of diagnosis and treatment rising over past 2 decades" },
{ header: "Sex Differences" },
{ text: "M:F ratio ≈ 3:1 in children (clinic-based); 1.5:1 in community samples" },
{ text: "Boys more often diagnosed with hyperactive/combined type" },
{ text: "Girls more often inattentive type — frequently under-diagnosed" },
{ header: "Age of Onset" },
{ text: "Symptoms must be present before age 12 (DSM-5)" },
{ text: "Often first noticed at school entry (age 6–7)" },
{ text: "Preschool hyperactivity often predicts later ADHD" },
{ header: "Comorbidity" },
{ text: "50–80% have ≥1 psychiatric comorbidity" },
{ text: "Common: ODD, CD, anxiety, depression, learning disabilities, tics, ASD" },
{ text: "Adults: higher rates of substance use disorder, mood/anxiety disorders" },
]
]);
// ══════════════════════════════════════════════════════════════
// ── SECTION 2: ETIOLOGY ──────────────────────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("02 Etiology", "Genetic, neurological & environmental factors");
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("Etiology of ADHD", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.15, 4.0, 2.8, "Genetic Factors", [
"Heritability 70–80% (twin & family studies)",
"Polygenic — hundreds of common variants",
"Key genes: DAT1 (dopamine transporter), DRD4/DRD5 (dopamine receptors), SNAP25, LPHN3",
"Copy number variants (CNVs) — duplications/deletions",
"First-degree relatives: 4–5× increased risk",
], C.purple);
addTwoColCard(sl, 4.5, 1.15, 4.0, 2.8, "Neurological Factors", [
"Delayed cortical maturation (3–5 yr lag in prefrontal regions)",
"Reduced total brain volume (caudate, cerebellum, prefrontal cortex)",
"Abnormal fronto-striatal-cerebellar circuits",
"Dysregulation of dopaminergic and noradrenergic pathways",
"Deficient executive function & response inhibition",
], C.teal);
addTwoColCard(sl, 8.75, 1.15, 4.3, 2.8, "Environmental / Prenatal", [
"Prenatal tobacco/alcohol/drug exposure",
"Premature birth, low birth weight",
"Lead exposure in early childhood",
"Severe early deprivation / psychosocial adversity",
"Prenatal maternal stress",
"NOT caused by diet, poor parenting, or screen time alone",
], C.red);
addTwoColCard(sl, 0.25, 4.15, 12.8, 2.1, "Pathophysiology Summary", [
"Core deficit: impaired inhibitory control of behaviour, emotion and cognition",
"Dopamine hypofunction in striatum → reward dysregulation, impulsivity",
"Norepinephrine deficit in PFC → poor working memory & sustained attention",
"Medications act by increasing DA/NE availability in these circuits",
], C.navy);
}
// ══════════════════════════════════════════════════════════════
// ── SECTION 3: NEUROBIOLOGY ──────────────────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("03 Neurobiology", "Brain circuits, neurotransmitters & mechanisms");
addContentSlide("Neurobiology of ADHD", [
[
{ header: "Key Brain Regions" },
{ text: "Prefrontal Cortex (PFC) — executive function, working memory, impulse control" },
{ text: "Striatum (caudate nucleus) — motivation, reward, motor control" },
{ text: "Cerebellum — timing, attention regulation" },
{ text: "Anterior Cingulate Cortex — error detection, conflict monitoring" },
{ text: "Default Mode Network — abnormal deactivation during tasks" },
{ header: "Neurotransmitter Dysregulation" },
{ text: "DOPAMINE: reduced signalling in fronto-striatal circuits → impulsivity, reward insensitivity" },
{ text: "NOREPINEPHRINE: reduced PFC tone → poor sustained attention, distractibility" },
{ text: "Stimulants block DAT/NET, increase synaptic DA & NE" },
{ text: "Atomoxetine: selective NE reuptake inhibitor → improves PFC function" },
{ text: "Guanfacine/Clonidine: α2A agonists → strengthen PFC network connections" },
{ header: "Neuroimaging Findings" },
{ text: "fMRI: hypoactivation in frontal-striatal circuits during inhibition tasks" },
{ text: "Structural MRI: smaller caudate, PFC, cerebellum volumes (normalise with age)" },
{ text: "qEEG: excess theta, reduced beta activity in frontal regions" },
]
]);
// ══════════════════════════════════════════════════════════════
// ── SECTION 4: DIAGNOSTIC CRITERIA ──────────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("04 Diagnostic Criteria", "DSM-5 criteria for ADHD");
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("DSM-5 Diagnostic Criteria", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Inattention box
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 1.1, w: 6.1, h: 5.2, fill: { color: C.white }, line: { color: C.teal, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 1.1, w: 6.1, h: 0.4, fill: { color: C.teal }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText("A1 — INATTENTION (≥6 of 9 symptoms; ≥5 in adults)", {
x: 0.35, y: 1.12, w: 5.9, h: 0.36, fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", margin: 0,
});
const inattItems = [
"Fails to give close attention / makes careless mistakes",
"Difficulty sustaining attention in tasks or play",
"Does not seem to listen when spoken to directly",
"Does not follow through on instructions / fails to finish",
"Difficulty organising tasks & activities",
"Avoids tasks requiring sustained mental effort",
"Loses things necessary for tasks",
"Easily distracted by extraneous stimuli",
"Forgetful in daily activities",
];
sl.addText(inattItems.map((t, i) => ({ text: `${i + 1}. ${t}`, options: { color: C.text, fontSize: 11.5, breakLine: i < inattItems.length - 1 } })), {
x: 0.35, y: 1.58, w: 5.9, h: 4.6, fontFace: "Calibri", valign: "top", margin: [4, 6, 4, 6],
});
// Hyperactivity/Impulsivity box
sl.addShape(pres.ShapeType.roundRect, { x: 6.6, y: 1.1, w: 6.48, h: 5.2, fill: { color: C.white }, line: { color: C.purple, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: 6.6, y: 1.1, w: 6.48, h: 0.4, fill: { color: C.purple }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText("A2 — HYPERACTIVITY/IMPULSIVITY (≥6 of 9; ≥5 in adults)", {
x: 6.72, y: 1.12, w: 6.24, h: 0.36, fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", margin: 0,
});
const hyperItems = [
"Fidgets with or taps hands/feet or squirms in seat",
"Leaves seat in situations when remaining seated expected",
"Runs about or climbs in inappropriate situations",
"Unable to play or engage in leisure quietly",
'"On the go," acting as if driven by a motor',
"Talks excessively",
"Blurts out answers before question completed",
"Difficulty waiting turn",
"Interrupts or intrudes on others",
];
sl.addText(hyperItems.map((t, i) => ({ text: `${i + 1}. ${t}`, options: { color: C.text, fontSize: 11.5, breakLine: i < hyperItems.length - 1 } })), {
x: 6.72, y: 1.58, w: 6.24, h: 4.6, fontFace: "Calibri", valign: "top", margin: [4, 6, 4, 6],
});
}
// Criteria part 2
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("DSM-5 Criteria — Additional Requirements & Presentations", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
const reqCards = [
{ x: 0.25, y: 1.15, w: 3.8, h: 2.5, title: "Criterion B", color: C.teal, items: ["Symptoms present BEFORE age 12"] },
{ x: 4.25, y: 1.15, w: 3.8, h: 2.5, title: "Criterion C", color: C.teal, items: ["Symptoms present in ≥2 settings", "(e.g., home, school, work)"] },
{ x: 8.25, y: 1.15, w: 4.8, h: 2.5, title: "Criterion D", color: C.teal, items: ["Clear evidence of interference with / reduction in quality of social, academic, or occupational functioning"] },
];
reqCards.forEach(c => {
sl.addShape(pres.ShapeType.roundRect, { x: c.x, y: c.y, w: c.w, h: c.h, fill: { color: C.white }, line: { color: c.color, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: c.x, y: c.y, w: c.w, h: 0.38, fill: { color: c.color }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText(c.title, { x: c.x + 0.08, y: c.y + 0.05, w: c.w - 0.16, h: 0.28, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0 });
sl.addText(c.items.join("\n"), { x: c.x + 0.12, y: c.y + 0.5, w: c.w - 0.24, h: c.h - 0.62, fontSize: 13, color: C.text, fontFace: "Calibri", align: "center", valign: "middle" });
});
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 3.85, w: 3.8, h: 2.9, fill: { color: C.white }, line: { color: C.red, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 3.85, w: 3.8, h: 0.38, fill: { color: C.red }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText("Criterion E", { x: 0.33, y: 3.87, w: 3.64, h: 0.3, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0 });
sl.addText("Symptoms NOT better explained by:\nSchizophrenia or psychotic disorder\nMood, anxiety, dissociative, or personality disorder\nSubstance intoxication / withdrawal", { x: 0.37, y: 4.3, w: 3.56, h: 2.3, fontSize: 12, color: C.text, fontFace: "Calibri", valign: "top" });
// Presentations
sl.addShape(pres.ShapeType.roundRect, { x: 4.25, y: 3.85, w: 8.8, h: 2.9, fill: { color: C.white }, line: { color: C.purple, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: 4.25, y: 3.85, w: 8.8, h: 0.38, fill: { color: C.purple }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText("DSM-5 Presentations (Specifiers)", { x: 4.33, y: 3.87, w: 8.64, h: 0.3, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0 });
const presItems = [
["314.01 (F90.2)", "Combined Presentation", "≥6 inattention AND ≥6 hyperactivity/impulsivity symptoms in last 6 months"],
["314.00 (F90.0)", "Predominantly Inattentive", "≥6 inattention symptoms but <6 hyperactivity/impulsivity"],
["314.01 (F90.1)", "Predominantly Hyperactive-Impulsive", "≥6 hyperactivity/impulsivity but <6 inattention symptoms"],
];
presItems.forEach(([code, name, desc], i) => {
sl.addText([
{ text: code + " ", options: { bold: true, color: C.teal, fontSize: 11 } },
{ text: name + ": ", options: { bold: true, color: C.text, fontSize: 12 } },
{ text: desc, options: { color: C.muted, fontSize: 11 } },
], { x: 4.37, y: 4.32 + i * 0.75, w: 8.56, h: 0.65, fontFace: "Calibri", valign: "middle" });
});
}
// ══════════════════════════════════════════════════════════════
// ── SECTION 5: CLINICAL FEATURES BY AGE ──────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("05 Clinical Features", "Presentation across the lifespan");
addContentSlide("Clinical Features — Preschool & School-Age Children", [
[
{ header: "Preschool (3–5 years)" },
{ text: "Extreme hyperactivity — running, climbing, always on the move" },
{ text: "Marked impulsivity — acts before thinking, no danger awareness" },
{ text: "Difficulty following even simple instructions" },
{ text: "Short attention span for structured activities" },
{ text: "Temper tantrums, emotional dysregulation" },
{ text: "Note: ADHD diagnosis requires symptoms causing impairment in multiple settings; use parent/teacher history" },
],
[
{ header: "School-Age (6–12 years)" },
{ text: "Inattention: daydreaming, careless mistakes, losing things, forgetfulness" },
{ text: "Hyperactivity: fidgeting, leaving seat, excessive talking" },
{ text: "Impulsivity: blurting out, difficulty waiting, interrupting" },
{ text: "Academic underachievement disproportionate to IQ" },
{ text: "Peer relationship problems, low self-esteem" },
{ text: "Oppositional behaviour, emotional lability" },
{ text: "Morning/homework routines particularly challenging" },
{ text: "Most diagnosed during this period" },
],
], { cols: 2 });
addContentSlide("Clinical Features — Adolescents & Adults", [
[
{ header: "Adolescents (13–17 years)" },
{ text: "Hyperactivity becomes more internal (restlessness, sense of urgency)" },
{ text: "Inattention and disorganisation more prominent — academic decline" },
{ text: "Risk-taking behaviour, reckless driving, substance use" },
{ text: "Emotional dysregulation — irritability, mood swings, low frustration tolerance" },
{ text: "Social impairment — relationships, peer rejection" },
{ text: "Poor time management, procrastination" },
{ text: "Comorbid anxiety and depression increasingly common" },
{ text: "Identity confusion regarding the diagnosis" },
],
[
{ header: "Adults (18+ years)" },
{ text: "Predominantly inattentive symptoms (hyperactivity often diminishes)" },
{ text: "Chronic disorganisation, poor time management, forgetfulness" },
{ text: "Occupational dysfunction — job instability, underperformance" },
{ text: "Relationship difficulties — marital conflict, parenting stress" },
{ text: "Mood instability, low self-esteem, anxiety" },
{ text: "Higher rates of substance use, accidents, financial problems" },
{ text: "Often diagnosed late, after a child or family member is diagnosed" },
{ text: "DIVA-5 interview recommended for structured adult assessment" },
],
], { cols: 2 });
// ══════════════════════════════════════════════════════════════
// ── SECTION 6: PHARMACOLOGICAL MANAGEMENT ────────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("06 Pharmacological Management", "Stimulants, non-stimulants & special considerations");
// Overview
addContentSlide("Pharmacological Management — Overview", [
[
{ header: "General Principles" },
{ text: "Drug treatment is only part of the overall management plan" },
{ text: "Indicated when symptoms cause impairment despite environmental modifications" },
{ text: "Initiated only by a specialist after comprehensive assessment" },
{ text: "Review at least annually; consider medication holidays" },
{ text: "Monitor: height, weight, BP, HR at every visit" },
{ header: "Mechanism of Action" },
{ text: "Stimulants: block dopamine (DAT) and norepinephrine (NET) transporters → increase synaptic DA & NE in PFC and striatum" },
{ text: "Atomoxetine: selective norepinephrine reuptake inhibitor (sNRI)" },
{ text: "Guanfacine/Clonidine: α2A adrenoceptor agonists → enhance PFC network connectivity" },
{ header: "Response Rates" },
{ text: "65–75% of children respond to stimulant monotherapy" },
{ text: "Response rates similar for methylphenidate and amphetamine" },
{ text: "If first stimulant fails: switch to other stimulant class before non-stimulant" },
]
]);
// Methylphenidate slide
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.teal } });
sl.addText("Stimulants — Methylphenidate (MPH)", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.1, 4.1, 3.0, "Preparations & Dosing", [
"IR (Ritalin): BID–TID; onset 30 min, duration 4–6 hr",
"ER (Concerta OROS): once daily; 22% IR, 78% ER",
"Extended bead capsules (Ritalin LA, Aptensio): once daily",
"Patch (Daytrana): 9-hr wear; useful for swallowing issues",
"ODT (Cotempla XR): once daily for children 6–17 yr",
"Dose: adequate trial ≥0.8 mg/kg/day",
"First-line for children & adults (NICE, Maudsley)",
], C.teal);
addTwoColCard(sl, 4.55, 1.1, 4.1, 3.0, "Adverse Effects", [
"Appetite suppression / weight loss",
"Insomnia (especially IR taken late in day)",
"Growth deceleration with long-term use",
"Raised BP and heart rate (monitor closely)",
"Headache, stomach ache, irritability",
"Rebound effect (afternoon/evening irritability)",
"Rarely: tics, psychosis, mood dysregulation",
], C.red);
addTwoColCard(sl, 8.85, 1.1, 4.23, 3.0, "Clinical Tips", [
"Prefer ER formulations for adherence & abuse-resistance",
'Afternoon "booster" IR dose may extend coverage',
"Medication holidays (weekends/summer) for growth monitoring",
"ECG not routinely required unless cardiac risk factors present",
"Controlled Drug — strict prescribing regulations apply",
"Reassess annually; consider dose reduction/cessation trials",
], C.cyan);
// Contraindications
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 4.25, w: 12.83, h: 2.05, fill: { color: "FFF3E0" }, line: { color: C.yellow, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: 0.25, y: 4.25, w: 12.83, h: 0.36, fill: { color: C.yellow }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText("⚠ Key Contraindications & Cautions", { x: 0.35, y: 4.27, w: 12.63, h: 0.3, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", margin: 0, align: "center" });
sl.addText("Structural cardiac abnormalities • Symptomatic CV disease • Current psychosis • Hyperthyroidism • Concomitant MAOIs\nCaution in: uncontrolled bipolar disorder, anxiety disorders, substance misuse, pregnancy", {
x: 0.37, y: 4.67, w: 12.59, h: 1.5, fontSize: 12, color: C.navy, fontFace: "Calibri", align: "center", valign: "middle",
});
}
// Amphetamines
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.purple } });
sl.addText("Stimulants — Amphetamines", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.1, 6.0, 3.8, "Lisdexamfetamine (LDX) — Pro-drug", [
"Pro-drug: complexed with lysine → activated in RBCs",
"Gradual release → lower abuse potential",
"Superior to methylphenidate in network meta-analyses",
"First-line for adults in most guidelines",
"Approved for children ≥6 years (Vyvanse)",
"Efficacy demonstrated in children, adolescents, and adults",
"Useful in ADHD + co-occurring stimulant use disorder",
"Dose: 20–70 mg/day (adults); 20–70 mg (children 6+)",
], C.purple);
addTwoColCard(sl, 6.5, 1.1, 6.58, 3.8, "Dexamfetamine / Mixed Amphetamine Salts", [
"Alternative to LDX when shorter duration preferred",
"Similar efficacy and adverse effect profile to MPH",
"Mixed amphetamine salts (Adderall): IR 4–6 hr, XR ~12 hr",
"More likely to be diverted/misused than MPH or LDX",
"Adequate trial dose: ≥0.5 mg/kg/day",
"Both amphetamines and MPH: Controlled Drugs in most countries",
"Amphetamines preferred in adults by some guidelines",
], C.red);
sl.addText([
{ text: "Mechanism: ", options: { bold: true, color: C.navy, fontSize: 13 } },
{ text: "Amphetamines not only block DAT/NET but also reverse transporters, causing active DA/NE efflux → stronger catecholaminergic effect than MPH", options: { color: C.text, fontSize: 13 } },
], { x: 0.3, y: 5.1, w: W - 0.6, h: 0.6, fontFace: "Calibri", valign: "middle" });
sl.addShape(pres.ShapeType.rect, { x: 0.25, y: 5.0, w: W - 0.5, h: 0.02, fill: { color: C.purple } });
}
// Non-stimulants
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.green } });
sl.addText("Non-Stimulant Medications", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.1, 4.1, 5.7, "Atomoxetine (ATX)", [
"Selective norepinephrine reuptake inhibitor",
"Not a controlled substance — preferred when misuse is a concern",
"Useful when stimulants are not tolerated, contraindicated, or ineffective",
"Effective for inattentive and hyperactive symptoms",
"Therapeutic effect develops over 4–8 weeks",
"Advantages: covers 24 hours; may benefit comorbid anxiety",
"Adverse effects: GI upset, insomnia, reduced appetite, sexual dysfunction in adults, urinary hesitancy",
"Black box warning: suicidal ideation in children and adolescents — monitor closely",
"Monitor liver function (rare hepatotoxicity)",
"Dose (adults): 40 mg/day → titrate to 80–100 mg/day",
"Less effective than stimulants overall",
], C.green);
addTwoColCard(sl, 4.55, 1.1, 4.1, 2.7, "Guanfacine (α2A agonist)", [
"Extended-release approved for children with ADHD",
"Broadly as effective as atomoxetine",
"Strengthens PFC network connectivity",
"Useful adjunct when stimulants cause tics or anxiety",
"Adverse: sedation, hypotension, bradycardia",
"Not widely licensed for adults",
], C.teal);
addTwoColCard(sl, 8.85, 1.1, 4.23, 2.7, "Clonidine (α2 agonist)", [
"Extended-release widely used in USA",
"Not licensed in most other countries",
"Useful for tics, insomnia, aggression with ADHD",
"Side effects: sedation, hypotension, rebound hypertension on abrupt withdrawal",
], C.cyan);
addTwoColCard(sl, 4.55, 4.0, 8.53, 2.8, "Second-Line & Emerging Agents", [
"Bupropion: dopamine & NE reuptake inhibitor; limited evidence; useful with comorbid depression",
"Viloxazine: NE reuptake inhibitor; FDA-approved in USA; data emerging",
"Modafinil: some evidence in children, not adults; not licensed for ADHD",
"Venlafaxine / Duloxetine (SNRI): emerging data; not first-line",
"Tricyclic antidepressants: evidence exists but NOT recommended (cardiac risks)",
"Second-generation antipsychotics: NOT recommended for ADHD",
], C.muted);
}
// Stimulant treatment algorithm
addContentSlide("Pharmacotherapy Algorithm — Children & Adolescents (NICE)", [
[
{ header: "Step 1 — Confirm Diagnosis & Baseline Assessment" },
{ text: "Specialist assessment: psychiatry, paediatrics, or CAMHS" },
{ text: "Baseline: HR, BP, weight/height (plot on growth chart), ECG if indicated" },
{ text: "Implement environmental modifications & parent-training first" },
{ header: "Step 2 — First-Line Medication" },
{ text: "Methylphenidate (IR or ER) — first choice for children ≥6 yr and adolescents" },
{ text: "Children under 5 yr: parent-training ± tertiary specialist opinion before medication" },
{ header: "Step 3 — Inadequate Response to MPH (after 6-week adequate trial)" },
{ text: "Switch to Lisdexamfetamine (for children ≥5 yr)" },
{ header: "Step 4 — Cannot Tolerate LDX Duration" },
{ text: "Switch to Dexamfetamine" },
{ header: "Step 5 — Failed Both Stimulant Trials" },
{ text: "Offer Atomoxetine OR Guanfacine (children ≥5 yr)" },
{ header: "Step 6 — Ongoing Monitoring" },
{ text: "Annual specialist review; monitor growth, BP, HR" },
{ text: "Repeat prescriptions can be managed by GP once stable" },
{ text: "Consider annual medication-free period to assess ongoing need" },
]
]);
addContentSlide("Pharmacotherapy — Adults (Maudsley / NICE Guidelines)", [
[
{ header: "First-Line Choices" },
{ text: "Lisdexamfetamine (Vyvanse) — preferred first choice in many guidelines" },
{ text: "Methylphenidate MR — alternative first-line; broad evidence base" },
{ text: "Modified-release preparations preferred for adherence and abuse prevention" },
{ header: "Second-Line / Alternatives" },
{ text: "Atomoxetine — if stimulants not tolerated, contraindicated, or concern about misuse" },
{ text: "Dexamfetamine — if shorter duration needed" },
{ text: "Bupropion, venlafaxine — limited evidence; used if stimulants fail" },
{ header: "Special Considerations in Adults" },
{ text: "Bipolar disorder or psychosis: ADHD medication may worsen — use caution" },
{ text: "Substance use disorders: prefer LDX or atomoxetine (lower abuse potential)" },
{ text: "Cardiovascular: doubts remain about long-term CV effects; monitor regularly" },
{ text: "Pregnancy: individual risk-benefit discussion; generally suspend stimulants" },
{ text: "Annual review: discuss continuation; consider medication-free trial periods" },
{ header: "Monitoring in Adults" },
{ text: "BP, HR before and after each dose change; ECG if clinical concern" },
{ text: "Weight at every visit; mental state review for mood/psychosis" },
{ text: "Reassess for substance misuse, diversion; use MR forms when concerned" },
]
]);
// ══════════════════════════════════════════════════════════════
// ── SECTION 7: NON-PHARMACOLOGICAL MANAGEMENT ────────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("07 Non-Pharmacological Management", "Behavioural, educational & psychosocial interventions");
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.green } });
sl.addText("Non-Pharmacological: Behavioural & Parent-Based Interventions", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.1, 6.3, 2.7, "Behaviour Therapy (BT) — Core Principles", [
"Operant conditioning: positive reinforcement for desired behaviour",
"Token economy systems: earn points/stickers → rewards",
"Response cost: remove earned tokens for disruptive behaviour",
"Time-out: brief removal from reinforcing environment",
"Functional behaviour analysis to identify antecedents and consequences",
"Applied at home, school, and clinic settings",
], C.green);
addTwoColCard(sl, 6.78, 1.1, 6.3, 2.7, "Parent Training (PT) — ADHD Focus", [
"First-line for preschool children (age <5) before medication",
"ADHD-focused group parent training recommended (NICE)",
"Teaches: consistent routines, positive attention, ignoring minor behaviours",
"Programmes: Triple P, Incredible Years, New Forest Parenting (NFPP)",
"Improves child behaviour AND reduces parental stress",
"Family sessions address systemic patterns and communication",
], C.teal);
addTwoColCard(sl, 0.25, 3.98, 6.3, 2.8, "Behavioural Parent Training Strategies", [
"Clear, brief, one-at-a-time instructions",
"Immediate, consistent consequences",
"Daily report card (home-school communication)",
"Predictable schedules reduce transition difficulties",
"Visual timers and cues for transitions",
"Avoid lengthy lectures — short, direct feedback",
"Praise effort and process, not only outcome",
], C.purple);
addTwoColCard(sl, 6.78, 3.98, 6.3, 2.8, "Social Skills Training (SST)", [
"Direct coaching in peer interaction, turn-taking, listening",
"Role-play and practice of social scenarios",
"Summer treatment programs (STP): intensive structured settings",
"Peer generalisation — most effective when practised in real settings",
"Combined with BT for maximum impact",
"Benefits emotional regulation and frustration tolerance",
], C.cyan);
}
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.green } });
sl.addText("Non-Pharmacological: Educational & Cognitive Interventions", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
addTwoColCard(sl, 0.25, 1.1, 4.1, 5.7, "Educational Accommodations", [
"Individualised Education Program (IEP) or 504 Plan",
"Preferential seating (front, near teacher, away from distractions)",
"Extended time on tests and assignments",
"Reduce length of written assignments where appropriate",
"Frequent check-ins and brief feedback from teacher",
"Break complex tasks into small, structured steps",
"Visual aids, checklists, graphic organisers",
"Frequent movement breaks (every 20 min)",
"Minimise transitions and environmental stimulation",
"Daily report card linking school and home contingencies",
"Liaison between school, parents, and clinician",
"Special educational needs support for comorbid learning disabilities",
], C.teal);
addTwoColCard(sl, 4.55, 1.1, 4.1, 2.8, "Cognitive Behavioural Therapy (CBT)", [
"For adolescents and adults with ADHD",
"Targets: negative self-talk, procrastination, disorganisation",
"Skills: planning, time management, problem-solving, emotional regulation",
"Addresses comorbid anxiety/depression",
"Individual or group-based delivery",
"ADHD-specific CBT manuals available (Safren, Solanto)",
], C.purple);
addTwoColCard(sl, 8.85, 1.1, 4.23, 2.8, "Cognitive Training & Neurofeedback", [
"Working memory training (e.g., Cogmed) — limited generalisation",
"Neurofeedback (EEG biofeedback): trains theta/beta ratios",
"Some evidence of benefit but unclear specificity",
"Not yet recommended as standalone first-line treatment",
"May be adjunctive for motivated families",
], C.cyan);
addTwoColCard(sl, 4.55, 4.05, 8.53, 2.75, "Lifestyle & Organisational Interventions", [
"Regular aerobic exercise — reduces ADHD symptoms, improves executive function",
"Consistent sleep schedule — sleep problems worsen ADHD symptoms",
"Reduce screen time, particularly before bed",
"Diet: limited evidence for elimination diets; omega-3 supplementation has modest benefit",
"Structured daily routines with visual schedules (especially for children)",
"Organisational coaching: calendar use, task lists, phone reminders — essential for adults",
"Mindfulness-based interventions: growing evidence in adults; can reduce emotional dysregulation",
], C.green);
}
// Adult-specific psychosocial
addContentSlide("Non-Pharmacological Management — Adults", [
[
{ header: "Psychoeducation (All Ages — ESSENTIAL First Step)" },
{ text: "Explain nature of ADHD, neurobiology, and expected course" },
{ text: "Reduce blame and shame; reframe difficulties as neurobiological" },
{ text: "Educate family members, teachers, employers as appropriate" },
{ text: "Discuss strengths as well as difficulties" },
{ header: "ADHD Coaching" },
{ text: "Goal-focused approach: prioritisation, planning, accountability" },
{ text: "Different from therapy — action-oriented and skills-based" },
{ text: "Can complement medication and CBT" },
{ text: "Helpful for work performance, relationships, finances" },
{ header: "CBT & Psychotherapy for Adults" },
{ text: "Address executive dysfunction: planning, time blindness, procrastination" },
{ text: "Group CBT may be particularly effective (peer validation)" },
{ text: "Treat comorbid depression, anxiety, low self-esteem" },
{ text: "Dialectical Behaviour Therapy (DBT): benefits emotional dysregulation" },
{ header: "Mindfulness-Based Cognitive Therapy (MBCT)" },
{ text: "Improves attention, self-regulation, and emotional reactivity" },
{ text: "Growing RCT evidence in adults with ADHD" },
{ text: "Can be used alone or combined with medication" },
]
]);
// ══════════════════════════════════════════════════════════════
// ── SECTION 8: MONITORING & SPECIAL POPULATIONS ──────────────
// ══════════════════════════════════════════════════════════════
addDividerSlide("08 Monitoring & Special Populations", "Surveillance, comorbidities & pregnancy");
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 1.0, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.92, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("Monitoring During Treatment", {
x: 0.35, y: 0.08, w: W - 0.7, h: 0.84,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
const monCards = [
{ x: 0.25, y: 1.1, w: 3.0, h: 5.65, title: "Growth & Weight", color: C.teal, items: [
"Measure height & weight at every visit",
"Plot on growth charts",
"Long-term stimulant use → lower height & weight",
"Growth deceleration may normalise after stopping medication",
"Consider medication holidays (summer) to allow catch-up growth",
"BMI monitoring especially in younger children",
]},
{ x: 3.45, y: 1.1, w: 3.0, h: 5.65, title: "Cardiovascular", color: C.red, items: [
"HR and BP at baseline and each dose change",
"ECG only if: structural heart disease, family Hx of sudden death, cardiac symptoms",
"Stimulants may increase HR by 3–8 bpm, SBP by 2–4 mmHg",
"2024 population data: dose-related CV risk signal with long-term use",
"Refer to cardiology if concerns arise",
"Do not prescribe if symptomatic CV disease",
]},
{ x: 6.65, y: 1.1, w: 3.0, h: 5.65, title: "Mental State", color: C.purple, items: [
"Screen for emerging mania or psychosis",
"Monitor mood, suicidal ideation (esp. atomoxetine)",
"Screen for substance use disorder annually",
"Assess for worsening anxiety or emotional blunting",
"Reassess comorbid diagnosis at each review",
"Patients with bipolar disorder: extreme caution with stimulants",
]},
{ x: 9.85, y: 1.1, w: 3.23, h: 5.65, title: "Special Populations", color: C.navy, items: [
"PREGNANCY: generally discontinue stimulants; individual benefit-risk discussion; atomoxetine — not recommended",
"PRESCHOOL: parent training first; medication only after tertiary review",
"COMORBID TICS: prefer atomoxetine or guanfacine; stimulants may worsen tics",
"SUBSTANCE MISUSE: prefer atomoxetine or LDX; use MR forms only",
"ASD+ADHD: lower stimulant doses; watch for worsening behaviour",
"22q11.2DS: theoretical CV risk with stimulants — specialist monitoring",
]},
];
monCards.forEach(c => {
sl.addShape(pres.ShapeType.roundRect, { x: c.x, y: c.y, w: c.w, h: c.h, fill: { color: C.white }, line: { color: c.color, width: 1.5 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.roundRect, { x: c.x, y: c.y, w: c.w, h: 0.38, fill: { color: c.color }, line: { type: "none" }, rectRadius: 0.1 });
sl.addText(c.title, { x: c.x + 0.06, y: c.y + 0.05, w: c.w - 0.12, h: 0.28, fontSize: 12.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0 });
const items = c.items.map((t, i) => ({ text: "• " + t, options: { color: C.text, fontSize: 11, breakLine: i < c.items.length - 1 } }));
sl.addText(items, { x: c.x + 0.1, y: c.y + 0.46, w: c.w - 0.2, h: c.h - 0.56, fontFace: "Calibri", valign: "top", margin: [2, 3, 2, 3] });
});
}
// ══════════════════════════════════════════════════════════════
// FINAL SLIDE – KEY TAKEAWAYS
// ══════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: H - 1.1, w: W, h: 1.1, fill: { color: C.teal } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: H - 1.12, w: W, h: 0.08, fill: { color: C.yellow } });
sl.addText("Key Takeaways", {
x: 0.6, y: 0.2, w: W - 1.2, h: 0.75,
fontSize: 30, bold: true, color: C.white, fontFace: "Calibri", align: "center",
});
const takeaways = [
{ icon: "①", text: "ADHD is a neurodevelopmental disorder affecting 6–9% of children; persists into adulthood in ~50%" },
{ icon: "②", text: "Core deficit: impaired DA/NE signalling in fronto-striatal circuits → deficient inhibitory control" },
{ icon: "③", text: "Diagnosis requires ≥6 symptoms in ≥2 settings, onset before age 12, with functional impairment (DSM-5)" },
{ icon: "④", text: "Pharmacotherapy: Methylphenidate (children) or Lisdexamfetamine (adults) is first-line; atomoxetine/guanfacine if stimulants fail or contraindicated" },
{ icon: "⑤", text: "Non-pharmacological: Behaviour therapy + parent training = essential, especially for preschool children" },
{ icon: "⑥", text: "Multi-modal treatment: medication + CBT + educational accommodations + coaching = best outcomes" },
{ icon: "⑦", text: "Monitor: growth, BP/HR, mental state at every visit; annual specialist review throughout treatment" },
];
takeaways.forEach((t, i) => {
const x = i < 4 ? 0.4 : 6.8;
const y = i < 4 ? 1.1 + i * 0.98 : 1.1 + (i - 4) * 0.98;
sl.addText([
{ text: t.icon + " ", options: { fontSize: 18, bold: true, color: C.yellow } },
{ text: t.text, options: { fontSize: 13, color: C.white } },
], { x, y, w: 6.0, h: 0.85, fontFace: "Calibri", valign: "middle" });
});
sl.addText("Kaplan & Sadock's Psychiatry • Maudsley Prescribing Guidelines 15th Ed • Harriet Lane Handbook 23rd Ed", {
x: 0.4, y: H - 0.85, w: W - 0.8, h: 0.6,
fontSize: 11, color: C.white, fontFace: "Calibri", align: "center", italic: true,
});
}
// ─── Write file ───────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/adhd-ppt/ADHD_Comprehensive.pptx" })
.then(() => console.log("DONE: /home/daytona/workspace/adhd-ppt/ADHD_Comprehensive.pptx"))
.catch(e => { console.error("ERROR:", e); process.exit(1); });
cd /home/daytona/workspace/adhd-ppt && node adhd_ppt.js
Where is ppt?
Now make
ADHD Comprehensive
Presentation · PPTX
Generate a comparison chart: MPH vs amphetamines vs atomoxetine
ls /home/daytona/workspace/adhd-ppt/
~/adhd-ppt/comparison_slide.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";
pres.title = "ADHD Medication Comparison";
const W = 13.33;
const H = 7.5;
const C = {
navy: "0D1B4B",
teal: "1A7A8A",
cyan: "2EC4B6",
white: "FFFFFF",
offwhite:"F0F4F8",
yellow: "FFD166",
text: "1A1A2E",
muted: "4A5568",
red: "E63946",
green: "06A77D",
purple: "7B2FBE",
mph: "1A7A8A", // teal for MPH column
amph: "7B2FBE", // purple for amphetamines
atx: "06A77D", // green for atomoxetine
rowEven: "EFF6F7",
rowOdd: "FFFFFF",
};
// ──────────────────────────────────────────────────────────────
// SLIDE 1 — COMPARISON TABLE (full-width)
// ──────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
// Title bar
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 0.95, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.87, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("ADHD Medications: Comparison Chart", {
x: 0.3, y: 0.08, w: W - 0.6, h: 0.79,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Column layout
const col0x = 0.18; // row label col
const col0w = 2.55;
const colW = 3.3;
const col1x = col0x + col0w + 0.06;
const col2x = col1x + colW + 0.06;
const col3x = col2x + colW + 0.06;
const tableTop = 1.02;
const headerH = 0.55;
const rowH = 0.63;
// ── Column headers ────────────────────────────────────────
// MPH
sl.addShape(pres.ShapeType.roundRect, {
x: col1x, y: tableTop, w: colW, h: headerH,
fill: { color: C.mph }, line: { type: "none" }, rectRadius: 0.08,
});
sl.addText("Methylphenidate (MPH)", {
x: col1x, y: tableTop + 0.04, w: colW, h: headerH - 0.08,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle",
});
// Amphetamines
sl.addShape(pres.ShapeType.roundRect, {
x: col2x, y: tableTop, w: colW, h: headerH,
fill: { color: C.amph }, line: { type: "none" }, rectRadius: 0.08,
});
sl.addText("Amphetamines\n(LDX / Dexamfetamine)", {
x: col2x, y: tableTop + 0.02, w: colW, h: headerH - 0.04,
fontSize: 13.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle",
});
// Atomoxetine
sl.addShape(pres.ShapeType.roundRect, {
x: col3x, y: tableTop, w: colW, h: headerH,
fill: { color: C.atx }, line: { type: "none" }, rectRadius: 0.08,
});
sl.addText("Atomoxetine (ATX)", {
x: col3x, y: tableTop + 0.04, w: colW, h: headerH - 0.08,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle",
});
// ── Row data ──────────────────────────────────────────────
const rows = [
{
label: "Drug Class",
mph: "CNS Stimulant\n(DA/NE reuptake inhibitor)",
amph: "CNS Stimulant\n(DA/NE reuptake inhibitor + efflux)",
atx: "Non-Stimulant\n(Selective NE reuptake inhibitor)",
},
{
label: "Mechanism",
mph: "Blocks DAT & NET → ↑ synaptic DA & NE in PFC & striatum",
amph: "Blocks DAT/NET AND reverses transporters → active DA/NE efflux; stronger catecholaminergic effect",
atx: "Selectively blocks NET → ↑ NE in PFC; secondary ↑ DA in PFC (not striatum)",
},
{
label: "Controlled Drug?",
mph: "✔ Yes — Schedule II / CD",
amph: "✔ Yes — Schedule II / CD\n(higher abuse potential than MPH)",
atx: "✗ No — not a controlled substance",
},
{
label: "Onset of Effect",
mph: "Rapid: 30–60 min (IR)\nSame day",
amph: "Rapid: 30–60 min (IR)\nSame day",
atx: "Delayed: 4–8 weeks for full effect",
},
{
label: "Duration of Action",
mph: "IR: 3–6 hr\nER: 8–12 hr\n(once-daily ER preferred)",
amph: "IR: 4–6 hr\nER/LDX: 10–14 hr\n(LDX longest duration)",
atx: "24 hr continuous coverage\n(once or twice daily dosing)",
},
{
label: "Efficacy (vs placebo)",
mph: "High: effect size ~0.8–1.0\n65–75% response rate in children",
amph: "High: effect size ~0.9–1.1\nSlightly superior to MPH in network meta-analyses",
atx: "Moderate: effect size ~0.6–0.7\nLess effective than stimulants",
},
{
label: "First-Line Status",
mph: "1st line (children & adolescents)\nNICE / Maudsley",
amph: "1st line (adults — LDX preferred)\nAlternative for children after MPH trial",
atx: "2nd line — if stimulants fail, not tolerated, or contraindicated",
},
{
label: "Key Adverse Effects",
mph: "Appetite ↓, insomnia, ↑ HR/BP, headache, growth ↓, rebound irritability",
amph: "Similar to MPH: appetite ↓, insomnia, ↑ HR/BP; possibly more anxiety/irritability",
atx: "GI upset, nausea, fatigue, ↑ HR/BP, sexual dysfunction, suicidal ideation (BBW)",
},
{
label: "Cardiovascular Risk",
mph: "↑ HR 3–8 bpm\n↑ SBP 2–4 mmHg\nMonitor at each visit",
amph: "Similar to MPH\n2024 data: dose-related CV risk signal with long-term use",
atx: "↑ HR & BP possible\nNo stimulant-type CV pattern\nMonitor regularly",
},
{
label: "Use in Substance Misuse",
mph: "Caution — diversion risk\nUse ER forms only",
amph: "LDX preferred (pro-drug, lower abuse)\nDexamfetamine: higher diversion risk",
atx: "Preferred — no abuse potential\nSafe in substance use disorders",
},
];
rows.forEach((row, i) => {
const y = tableTop + headerH + 0.04 + i * rowH;
const bg = i % 2 === 0 ? C.rowEven : C.rowOdd;
// Row label cell
sl.addShape(pres.ShapeType.rect, {
x: col0x, y: y, w: col0w, h: rowH - 0.04,
fill: { color: C.navy }, line: { type: "none" },
});
sl.addText(row.label, {
x: col0x + 0.08, y: y + 0.02, w: col0w - 0.16, h: rowH - 0.08,
fontSize: 11.5, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
// MPH cell
sl.addShape(pres.ShapeType.rect, {
x: col1x, y: y, w: colW, h: rowH - 0.04,
fill: { color: bg }, line: { color: C.mph, width: 0.5 },
});
sl.addText(row.mph, {
x: col1x + 0.08, y: y + 0.02, w: colW - 0.16, h: rowH - 0.08,
fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Amphetamine cell
sl.addShape(pres.ShapeType.rect, {
x: col2x, y: y, w: colW, h: rowH - 0.04,
fill: { color: bg }, line: { color: C.amph, width: 0.5 },
});
sl.addText(row.amph, {
x: col2x + 0.08, y: y + 0.02, w: colW - 0.16, h: rowH - 0.08,
fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Atomoxetine cell
sl.addShape(pres.ShapeType.rect, {
x: col3x, y: y, w: colW, h: rowH - 0.04,
fill: { color: bg }, line: { color: C.atx, width: 0.5 },
});
sl.addText(row.atx, {
x: col3x + 0.08, y: y + 0.02, w: colW - 0.16, h: rowH - 0.08,
fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle", margin: 0,
});
});
// Source footer
sl.addText("Sources: Maudsley Prescribing Guidelines 15th Ed | Kaplan & Sadock's Comprehensive Psychiatry | Harriet Lane Handbook 23rd Ed", {
x: 0.18, y: H - 0.32, w: W - 0.36, h: 0.28,
fontSize: 9, color: C.muted, fontFace: "Calibri", italic: true, align: "center",
});
}
// ──────────────────────────────────────────────────────────────
// SLIDE 2 — CLINICAL SELECTION GUIDE (visual decision aid)
// ──────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 0.95, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.87, w: W, h: 0.08, fill: { color: C.cyan } });
sl.addText("When to Choose Which Medication?", {
x: 0.3, y: 0.08, w: W - 0.6, h: 0.79,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Three large cards
const cardY = 1.05;
const cardH = 5.6;
const cardW = 4.0;
const gap = 0.26;
const startX = (W - 3 * cardW - 2 * gap) / 2;
const cards = [
{
color: C.mph,
title: "Choose MPH when…",
items: [
"Child or adolescent, first medication trial",
"Rapid onset needed (same-day effect)",
"Flexibility in duration (IR for short days, ER for school)",
"Multiple formulations available (capsule, tablet, patch, ODT)",
"Cost or formulary constraints (generics widely available)",
"Cardiac history — slightly better studied short-term CV profile",
"NICE Step 1 for children ≥6 years",
"Preschool children (after specialist review)",
],
avoid: "Avoid if: symptomatic cardiac disease, uncontrolled anxiety, active psychosis, concurrent MAOIs",
},
{
color: C.amph,
title: "Choose Amphetamines when…",
items: [
"Adult patient — LDX preferred first-line (many guidelines)",
"Inadequate response to MPH trial (6-week adequate dose)",
"Longer duration needed — LDX lasts 10–14 hr",
"Abuse/diversion concern — LDX pro-drug, lower risk",
"Co-occurring amphetamine/meth use disorder (LDX evidence)",
"Patient cannot tolerate MPH side-effect profile",
"Dexamfetamine: when shorter duration than LDX is preferred",
"Network meta-analysis: slightly superior efficacy to MPH",
],
avoid: "Avoid if: uncontrolled hypertension, psychosis, bipolar disorder, concurrent MAOIs",
},
{
color: C.atx,
title: "Choose Atomoxetine when…",
items: [
"Stimulant failure — inadequate response to both MPH & amphetamines",
"Stimulant intolerance — significant adverse effects",
"Substance use disorder — not a controlled substance",
"Comorbid anxiety — may benefit anxiety symptoms",
"Comorbid tics — less likely to worsen tics than stimulants",
"Diversion concern — cannot be misused for recreational high",
"24-hour coverage needed (including mornings & evenings)",
"Patient/family preference for non-stimulant",
],
avoid: "Avoid if: narrow-angle glaucoma, use of MAOIs; caution in hepatic impairment; monitor for suicidal ideation (BBW)",
},
];
cards.forEach((card, i) => {
const x = startX + i * (cardW + gap);
// Card background
sl.addShape(pres.ShapeType.roundRect, {
x, y: cardY, w: cardW, h: cardH,
fill: { color: C.white }, line: { color: card.color, width: 2 }, rectRadius: 0.12,
});
// Header band
sl.addShape(pres.ShapeType.roundRect, {
x, y: cardY, w: cardW, h: 0.52,
fill: { color: card.color }, line: { type: "none" }, rectRadius: 0.12,
});
sl.addText(card.title, {
x: x + 0.1, y: cardY + 0.06, w: cardW - 0.2, h: 0.4,
fontSize: 13.5, bold: true, color: C.white, fontFace: "Calibri", align: "center", margin: 0,
});
// Bullet items
const bulletItems = card.items.map((t, idx) => ({
text: "✔ " + t,
options: { color: C.text, fontSize: 11, breakLine: idx < card.items.length - 1 },
}));
sl.addText(bulletItems, {
x: x + 0.14, y: cardY + 0.6, w: cardW - 0.28, h: 4.1,
fontFace: "Calibri", valign: "top", margin: [3, 4, 3, 4],
});
// Avoid band at bottom
sl.addShape(pres.ShapeType.roundRect, {
x: x + 0.1, y: cardY + 4.78, w: cardW - 0.2, h: 0.72,
fill: { color: "FFF0F0" }, line: { color: C.red, width: 1 }, rectRadius: 0.08,
});
sl.addText([
{ text: "⚠ ", options: { fontSize: 11, color: C.red, bold: true } },
{ text: card.avoid, options: { fontSize: 10, color: C.red } },
], {
x: x + 0.18, y: cardY + 4.82, w: cardW - 0.36, h: 0.64,
fontFace: "Calibri", valign: "middle", margin: [2, 3, 2, 3],
});
});
sl.addText("Sources: Maudsley Prescribing Guidelines 15th Ed | Kaplan & Sadock's Comprehensive Psychiatry | NICE NG87", {
x: 0.18, y: H - 0.32, w: W - 0.36, h: 0.28,
fontSize: 9, color: C.muted, fontFace: "Calibri", italic: true, align: "center",
});
}
// ──────────────────────────────────────────────────────────────
// SLIDE 3 — SIDE-BY-SIDE ADVERSE EFFECT PROFILE
// ──────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: H, fill: { color: C.offwhite } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: W, h: 0.95, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0.87, w: W, h: 0.08, fill: { color: C.yellow } });
sl.addText("Adverse Effect Profiles at a Glance", {
x: 0.3, y: 0.08, w: W - 0.6, h: 0.79,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0,
});
// Legend
const legend = [
{ label: "Common (>10%)", color: C.red },
{ label: "Uncommon (1–10%)", color: C.yellow },
{ label: "Rare / Specific concern", color: C.teal },
];
legend.forEach((l, i) => {
sl.addShape(pres.ShapeType.rect, { x: 0.4 + i * 3.2, y: 1.05, w: 0.25, h: 0.22, fill: { color: l.color }, line: { type: "none" } });
sl.addText(l.label, { x: 0.72 + i * 3.2, y: 1.04, w: 2.6, h: 0.24, fontSize: 11, color: C.text, fontFace: "Calibri" });
});
const aeData = [
{ effect: "Appetite Suppression / Weight Loss", mph: "red", amph: "red", atx: "yellow" },
{ effect: "Insomnia / Sleep Disturbance", mph: "red", amph: "red", atx: "yellow" },
{ effect: "↑ Heart Rate", mph: "yellow", amph: "yellow", atx: "yellow" },
{ effect: "↑ Blood Pressure", mph: "yellow", amph: "yellow", atx: "yellow" },
{ effect: "Headache", mph: "red", amph: "yellow", atx: "yellow" },
{ effect: "GI Upset / Nausea", mph: "yellow", amph: "yellow", atx: "red" },
{ effect: "Irritability / Emotional Lability", mph: "yellow", amph: "yellow", atx: "none" },
{ effect: "Rebound Effect (afternoon)", mph: "yellow", amph: "none", atx: "none" },
{ effect: "Growth Deceleration (children)", mph: "yellow", amph: "yellow", atx: "rare" },
{ effect: "Tics (worsening)", mph: "rare", amph: "rare", atx: "none" },
{ effect: "Sexual Dysfunction", mph: "none", amph: "none", atx: "yellow" },
{ effect: "Suicidal Ideation (BBW)", mph: "none", amph: "none", atx: "rare" },
{ effect: "Hepatotoxicity", mph: "none", amph: "none", atx: "rare" },
{ effect: "Psychosis / Mania", mph: "rare", amph: "rare", atx: "none" },
{ effect: "Abuse / Diversion Potential", mph: "yellow", amph: "red", atx: "none" },
];
const colorMap = {
red: { fill: "FFDDE1", dot: C.red, label: "●" },
yellow: { fill: "FFF8E1", dot: "D4AA00", label: "●" },
rare: { fill: "E8F5F6", dot: C.teal, label: "●" },
none: { fill: C.rowOdd, dot: "CCCCCC", label: "○" },
};
const colLabel = 0.2;
const colLW = 4.8;
const colMx = colLabel + colLW + 0.1;
const colAx = colMx + 2.8 + 0.1;
const colAtx = colAx + 2.8 + 0.1;
const colCW = 2.7;
const rowStart = 1.38;
const rH = 0.36;
// Column sub-headers
[
{ x: colMx, label: "MPH", color: C.mph },
{ x: colAx, label: "Amphetamines", color: C.amph },
{ x: colAtx, label: "Atomoxetine", color: C.atx },
].forEach(h => {
sl.addShape(pres.ShapeType.roundRect, { x: h.x, y: rowStart - 0.38, w: colCW, h: 0.34, fill: { color: h.color }, line: { type: "none" }, rectRadius: 0.06 });
sl.addText(h.label, { x: h.x, y: rowStart - 0.36, w: colCW, h: 0.3, fontSize: 12, bold: true, color: C.white, fontFace: "Calibri", align: "center" });
});
aeData.forEach((row, i) => {
const y = rowStart + i * rH;
const bg = i % 2 === 0 ? C.rowEven : C.rowOdd;
// Label cell
sl.addShape(pres.ShapeType.rect, { x: colLabel, y, w: colLW, h: rH - 0.03, fill: { color: C.navy }, line: { type: "none" } });
sl.addText(row.effect, { x: colLabel + 0.1, y: y + 0.02, w: colLW - 0.2, h: rH - 0.07, fontSize: 11.5, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0 });
// Data cells
[
{ x: colMx, key: row.mph },
{ x: colAx, key: row.amph },
{ x: colAtx, key: row.atx },
].forEach(cell => {
const cm = colorMap[cell.key] || colorMap.none;
sl.addShape(pres.ShapeType.rect, { x: cell.x, y, w: colCW, h: rH - 0.03, fill: { color: cm.fill }, line: { color: "DDDDDD", width: 0.4 } });
const legItem = legend.find(l => l.color === cm.dot);
const labelText = cell.key === "none" ? "—" :
cell.key === "red" ? "Common" :
cell.key === "yellow" ? "Uncommon" : "Rare";
sl.addText([
{ text: cm.label + " ", options: { fontSize: 14, color: cm.dot, bold: true } },
{ text: labelText, options: { fontSize: 10, color: C.text } },
], { x: cell.x + 0.1, y: y + 0.02, w: colCW - 0.2, h: rH - 0.07, fontFace: "Calibri", valign: "middle" });
});
});
sl.addText("BBW = Black Box Warning | Sources: Maudsley Prescribing Guidelines 15th Ed | Kaplan & Sadock's Comprehensive Psychiatry", {
x: 0.2, y: H - 0.32, w: W - 0.4, h: 0.28,
fontSize: 9, color: C.muted, fontFace: "Calibri", italic: true, align: "center",
});
}
// ─── Write ────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/adhd-ppt/ADHD_Medication_Comparison.pptx" })
.then(() => console.log("DONE"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/adhd-ppt && node comparison_slide.js
ADHD Medication Comparison
Presentation · PPTX