Make a ppt on anaphylaxis with latest guidelines included
anaphylaxis management guidelines
anaphylaxis guidelines 2024 2025 WAO AAAAI epinephrine management update
anaphylaxis epinephrine treatment biphasic reaction
https://www.sciencedirect.com/science/article/pii/S193945512…
mkdir -p /home/daytona/workspace/anaphylaxis-ppt && ls /home/daytona/workspace/
~/anaphylaxis-ppt/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Orris Medical";
pres.title = "Anaphylaxis: Recognition and Management";
// ── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
deepRed: "8B0000", // dominant dark red
crimson: "C0392B", // accent red
darkSlate: "1C2833", // near-black backgrounds
slate: "2C3E50", // section headers
lightSlate:"3D566E", // sub-heads
offWhite: "F4F6F7", // body text on dark
white: "FFFFFF",
gold: "F39C12", // callout/accent
lightGrey: "BDC3C7",
subtleGrey:"ECF0F1",
alertRed: "E74C3C",
safeGreen: "1E8449",
orange: "D35400",
teal: "148F77",
};
// ── HELPER: DARK SLIDE BACKGROUND ───────────────────────────────────────────
function darkBg(slide) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkSlate }, line: { color: C.darkSlate } });
}
// ── HELPER: SECTION ACCENT BAR (left side) ──────────────────────────────────
function accentBar(slide, color) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: color || C.crimson }, line: { color: color || C.crimson } });
}
// ── HELPER: HEADER BAR ──────────────────────────────────────────────────────
function headerBar(slide, title, color) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.72, fill: { color: color || C.crimson }, line: { color: color || C.crimson } });
slide.addText(title, { x: 0.3, y: 0, w: 9.4, h: 0.72, fontSize: 22, bold: true, color: C.white, valign: "middle", margin: 0 });
}
// ── HELPER: FOOTER ──────────────────────────────────────────────────────────
function footer(slide, note) {
slide.addText(note || "Sources: WAO 2026 | AAAAI 2023 Practice Parameter | Rosen's EM | Tintinalli's EM", {
x: 0.3, y: 5.3, w: 9.4, h: 0.28, fontSize: 7.5, color: C.lightGrey, italic: true
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 1 – TITLE
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
// large red accent shape
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.5, fill: { color: C.crimson }, line: { color: C.crimson } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.5, w: 10, h: 1.125, fill: { color: C.slate }, line: { color: C.slate } });
// "ANAPHYLAXIS" big
s.addText("ANAPHYLAXIS", { x: 0.5, y: 1.6, w: 9, h: 1.1, fontSize: 52, bold: true, color: C.white, align: "center", charSpacing: 8 });
s.addText("Recognition, Management & Latest Guidelines", { x: 0.5, y: 2.75, w: 9, h: 0.55, fontSize: 22, color: C.gold, align: "center", italic: true });
s.addText("For Clinicians & Residents", { x: 0.5, y: 3.3, w: 9, h: 0.4, fontSize: 14, color: C.lightGrey, align: "center" });
s.addText("Sources: WAO White Book 2026 · AAAAI 2023 Practice Parameter · Rosen's EM · Tintinalli's EM", {
x: 0.5, y: 4.6, w: 9, h: 0.35, fontSize: 9, color: C.lightGrey, align: "center", italic: true
});
s.addText("July 2026", { x: 0.5, y: 5.05, w: 9, h: 0.3, fontSize: 10, color: C.lightGrey, align: "center" });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 2 – OVERVIEW / LEARNING OBJECTIVES
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Learning Objectives", C.slate);
accentBar(s, C.slate);
const objs = [
"Define anaphylaxis and apply updated diagnostic criteria (GA\u00B2LEN 2024 / WAO 2026)",
"Identify common triggers and understand pathophysiology",
"Recognise clinical patterns including atypical presentations",
"Apply the 2023 AAAAI Practice Parameter for acute management",
"Master epinephrine dosing, route, and timing",
"Understand biphasic reactions and observation periods",
"Manage refractory and special-population anaphylaxis",
"Outline discharge planning, allergen workup, and long-term care",
];
s.addText(objs.map((t, i) => [
{ text: `${i + 1}. `, options: { bold: true, color: C.crimson } },
{ text: t + "\n", options: { color: C.slate } }
]).flat(), { x: 0.5, y: 0.85, w: 9, h: 4.5, fontSize: 14.5, lineSpacingMultiple: 1.35 });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 3 – DEFINITION & EPIDEMIOLOGY
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Definition & Epidemiology", C.deepRed);
accentBar(s, C.gold);
// Definition box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.85, w: 9.4, h: 1.05, fill: { color: C.crimson }, line: { color: C.crimson }, radius: 4 });
s.addText([
{ text: "Definition: ", options: { bold: true, color: C.gold } },
{ text: "A serious, rapid-onset systemic hypersensitivity reaction marked by airway, breathing, or circulatory compromise — may occur without skin signs.", options: { color: C.white } }
], { x: 0.45, y: 0.88, w: 9.1, h: 0.98, fontSize: 13.5, valign: "middle" });
const epidBullets = [
["Lifetime prevalence", "0.3 – 5.1%; incidence rising globally"],
["Fatal anaphylaxis", "< 1% of cases; medication-related deaths increasing (N. America)"],
["Underdiagnosis", "Anaphylaxis is consistently under-recognised and under-treated in EDs"],
["Incidence", "~2% of the worldwide population; up to 5% in the United States"],
["Risk groups", "Adolescents, elderly, pregnant women, infants, atopic individuals"],
];
epidBullets.forEach(([label, val], i) => {
const yPos = 2.05 + i * 0.58;
s.addShape(pres.ShapeType.rect, { x: 0.3, y: yPos, w: 2.8, h: 0.46, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(label, { x: 0.35, y: yPos, w: 2.7, h: 0.46, fontSize: 11.5, bold: true, color: C.gold, valign: "middle" });
s.addText(val, { x: 3.25, y: yPos, w: 6.5, h: 0.46, fontSize: 12, color: C.offWhite, valign: "middle" });
});
footer(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 4 – PATHOPHYSIOLOGY
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Pathophysiology", C.deepRed);
accentBar(s, C.deepRed);
// Flowchart-style boxes
const steps = [
{ label: "Sensitisation", text: "Initial allergen exposure → IgE production by B-cells → IgE binds high-affinity FcεRI receptors on mast cells & basophils" },
{ label: "Activation", text: "Re-exposure → allergen cross-links IgE → mast cell / basophil degranulation (also via non-IgE direct activation)" },
{ label: "Mediators", text: "Histamine, tryptase, carboxypeptidase A, prostaglandin D2, leukotrienes C4/D4, platelet-activating factor, TNF-α" },
{ label: "End-organ effects", text: "Vasodilation + ↑vascular permeability → distributive shock; Bronchospasm; Laryngeal oedema; Hypersecretion; Arrhythmia" },
];
steps.forEach((step, i) => {
const y = 0.85 + i * 1.12;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 1.9, h: 0.85, fill: { color: C.crimson }, line: { color: C.crimson }, radius: 4 });
s.addText(step.label, { x: 0.28, y, w: 1.9, h: 0.85, fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle" });
// Arrow
if (i < 3) {
s.addShape(pres.ShapeType.rect, { x: 2.22, y: y + 0.34, w: 0.25, h: 0.18, fill: { color: C.lightSlate }, line: { color: C.lightSlate } });
}
s.addShape(pres.ShapeType.rect, { x: 2.5, y, w: 7.2, h: 0.85, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 4 });
s.addText(step.text, { x: 2.6, y, w: 7, h: 0.85, fontSize: 12, color: C.slate, valign: "middle" });
});
// Non-IgE note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.22, w: 9.5, h: 0.28, fill: { color: C.orange }, line: { color: C.orange }, radius: 3 });
s.addText("Note: Non-IgE mechanisms (direct mast cell activation) produce identical end-organ effects — term 'anaphylactoid' is now obsolete", {
x: 0.35, y: 5.22, w: 9.3, h: 0.28, fontSize: 9.5, color: C.white, valign: "middle"
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 5 – COMMON TRIGGERS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Common Triggers", C.deepRed);
accentBar(s, C.gold);
const categories = [
{ cat: "FOODS (children)", items: ["Peanut", "Tree nuts", "Milk", "Egg", "Wheat", "Sesame", "Shellfish"], color: C.orange },
{ cat: "MEDICATIONS (adults)", items: ["Beta-lactam antibiotics", "NSAIDs / aspirin", "Radio-contrast media", "Chemotherapy agents", "Neuromuscular blocking agents", "Biologics / monoclonal Abs"], color: C.crimson },
{ cat: "INSECT VENOMS", items: ["Hymenoptera (bees, wasps, hornets)", "Fire ants"], color: C.teal },
{ cat: "OTHER", items: ["Latex (NRL)", "Allergen immunotherapy injections", "Exercise-induced (EIA)", "Idiopathic (~10% no cause found)", "Radiocontrast media (ICM/GBCA)"], color: C.lightSlate },
];
categories.forEach((cat, col) => {
const x = 0.22 + col * 2.4;
s.addShape(pres.ShapeType.rect, { x, y: 0.82, w: 2.25, h: 0.42, fill: { color: cat.color }, line: { color: cat.color }, radius: 3 });
s.addText(cat.cat, { x, y: 0.82, w: 2.25, h: 0.42, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle" });
s.addText(cat.items.map(t => ({ text: "• " + t + "\n", options: { color: C.offWhite } })), {
x, y: 1.28, w: 2.25, h: 3.9, fontSize: 11.5, lineSpacingMultiple: 1.35, valign: "top"
});
});
// Bottom note
s.addShape(pres.ShapeType.rect, { x: 0.22, y: 5.22, w: 9.56, h: 0.28, fill: { color: C.slate }, line: { color: C.slate } });
s.addText("WAO 2026: Food > medication > venom — relative frequency varies by age group and geographic region", {
x: 0.35, y: 5.22, w: 9.3, h: 0.28, fontSize: 9.5, color: C.gold, italic: true, valign: "middle"
});
footer(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 6 – DIAGNOSTIC CRITERIA (Updated 2024 GA2LEN / WAO 2026)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Diagnostic Criteria — GA\u00B2LEN 2024 / WAO 2026", C.deepRed);
accentBar(s, C.deepRed);
s.addText("Anaphylaxis is LIKELY when ANY ONE of the following three criteria is fulfilled:", {
x: 0.35, y: 0.82, w: 9.3, h: 0.38, fontSize: 13, bold: true, color: C.deepRed
});
const criteria = [
{
num: "1",
head: "Acute onset — skin/mucosal involvement + at least one of:",
items: ["Respiratory compromise (dyspnoea, wheeze, stridor, hypoxia)", "Cardiovascular compromise (↓BP, collapse, syncope)", "Severe GI symptoms (cramping, vomiting) — especially after non-food allergen"]
},
{
num: "2",
head: "TWO or more of the following after LIKELY allergen exposure:",
items: ["Skin-mucosal involvement (urticaria, flushing, angioedema)", "Respiratory compromise", "Cardiovascular compromise", "Persistent GI symptoms"]
},
{
num: "3",
head: "Reduced BP after exposure to a KNOWN allergen for that patient:",
items: ["Adults: SBP < 90 mmHg or > 30% decrease from baseline", "Children: age-specific low SBP or > 30% decrease from baseline"]
},
];
criteria.forEach((c, i) => {
const y = 1.28 + i * 1.38;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 0.52, h: 1.15, fill: { color: C.crimson }, line: { color: C.crimson }, radius: 4 });
s.addText(c.num, { x: 0.28, y, w: 0.52, h: 1.15, fontSize: 22, bold: true, color: C.white, align: "center", valign: "middle" });
s.addShape(pres.ShapeType.rect, { x: 0.85, y, w: 8.85, h: 1.15, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 3 });
s.addText(c.head, { x: 0.95, y: y + 0.04, w: 8.65, h: 0.35, fontSize: 12.5, bold: true, color: C.slate });
s.addText(c.items.map(t => ({ text: "• " + t + "\n", options: { color: C.lightSlate } })), {
x: 0.95, y: y + 0.38, w: 8.65, h: 0.72, fontSize: 11, valign: "top"
});
});
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.22, w: 9.44, h: 0.28, fill: { color: C.orange }, line: { color: C.orange }, radius: 3 });
s.addText("IMPORTANT: Anaphylaxis may occur WITHOUT skin signs (~10–20% of cases) — do not exclude diagnosis if urticaria is absent", {
x: 0.38, y: 5.22, w: 9.2, h: 0.28, fontSize: 9.5, color: C.white, valign: "middle", bold: true
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 7 – CLINICAL FEATURES
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Clinical Features by System", C.crimson);
accentBar(s, C.crimson);
const systems = [
{ sys: "SKIN (80–90%)", items: ["Urticaria, pruritus, flushing", "Angioedema (lips, tongue, periorbital)", "Scalp pruritus (often earliest sign)"], color: C.orange },
{ sys: "RESPIRATORY (40–70%)", items: ["Bronchospasm / wheezing", "Laryngeal oedema (stridor, hoarseness)", "Rhinorrhoea, sneezing, nasal congestion", "Hypoxia, respiratory arrest"], color: C.teal },
{ sys: "CARDIOVASCULAR (30–35%)", items: ["Hypotension, tachycardia", "Distributive shock", "Bradycardia (Bezold-Jarisch reflex)", "Arrhythmia, cardiac arrest"], color: C.crimson },
{ sys: "GI TRACT (20–40%)", items: ["Nausea, vomiting, diarrhoea", "Abdominal cramping", "Dysphagia"], color: C.lightSlate },
{ sys: "NEURO / OTHER", items: ["Anxiety, sense of impending doom", "Altered consciousness, syncope", "Uterine contractions (pregnancy)", "Metallic taste"], color: C.deepRed },
];
systems.forEach((sys, col) => {
const x = 0.2 + col * 1.94;
s.addShape(pres.ShapeType.rect, { x, y: 0.82, w: 1.85, h: 0.45, fill: { color: sys.color }, line: { color: sys.color }, radius: 3 });
s.addText(sys.sys, { x, y: 0.82, w: 1.85, h: 0.45, fontSize: 8.5, bold: true, color: C.white, align: "center", valign: "middle" });
s.addText(sys.items.map(t => ({ text: "• " + t + "\n", options: { color: C.offWhite } })), {
x, y: 1.3, w: 1.85, h: 3.85, fontSize: 10.5, lineSpacingMultiple: 1.4, valign: "top"
});
});
s.addShape(pres.ShapeType.rect, { x: 0.2, y: 5.2, w: 9.6, h: 0.3, fill: { color: C.slate }, line: { color: C.slate } });
s.addText("Classic sequence: pruritus → urticaria → throat fullness → dyspnoea → hypotension — may be abrupt without prodrome", {
x: 0.35, y: 5.2, w: 9.3, h: 0.3, fontSize: 9.5, color: C.gold, italic: true, valign: "middle"
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 8 – SEVERITY GRADING
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Severity Grading (Ring & Messer / WAO)", C.deepRed);
accentBar(s, C.deepRed);
const grades = [
{ grade: "Grade I", label: "Mild", bg: "2ECC71", text: "Skin only: urticaria, angioedema, pruritus, erythema — no systemic involvement" },
{ grade: "Grade II", label: "Moderate", bg: "F39C12", text: "Multi-organ involvement: mild hypotension, tachycardia, bronchospasm, nausea" },
{ grade: "Grade III", label: "Severe", bg: "E67E22", text: "Life-threatening: severe bronchospasm, laryngeal oedema, profound hypotension, loss of consciousness" },
{ grade: "Grade IV", label: "Cardiac/Resp Arrest", bg: "E74C3C", text: "Cardiac arrest, respiratory arrest — requires immediate CPR" },
];
grades.forEach((g, i) => {
const y = 0.85 + i * 1.1;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 1.55, h: 0.88, fill: { color: g.bg }, line: { color: g.bg }, radius: 4 });
s.addText([{ text: g.grade + "\n", options: { bold: true, fontSize: 13 } }, { text: g.label, options: { fontSize: 10.5 } }], {
x: 0.28, y, w: 1.55, h: 0.88, color: C.white, align: "center", valign: "middle"
});
s.addShape(pres.ShapeType.rect, { x: 1.9, y, w: 7.82, h: 0.88, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 3 });
s.addText(g.text, { x: 2.05, y, w: 7.6, h: 0.88, fontSize: 13, color: C.slate, valign: "middle" });
});
// Epinephrine threshold note
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 5.2, w: 9.44, h: 0.32, fill: { color: C.deepRed }, line: { color: C.deepRed }, radius: 3 });
s.addText("Epinephrine is indicated from Grade II onwards — do NOT wait for Grade III/IV", {
x: 0.38, y: 5.2, w: 9.2, h: 0.32, fontSize: 10.5, bold: true, color: C.white, valign: "middle"
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 9 – DIFFERENTIAL DIAGNOSIS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Differential Diagnosis", C.slate);
accentBar(s, C.gold);
const diffs = [
["Vasovagal syncope", "Bradycardia + pallor; NO urticaria/angioedema; resolves with recumbency"],
["Acute severe asthma", "No urticaria/hypotension; triggered by cold, exercise, allergen inhalation"],
["Hereditary angioedema (HAE)", "No urticaria; recurrent; C4 low; family history; does NOT respond to epinephrine"],
["Distributive shock (septic, neurogenic)", "Fever or trauma context; no urticaria"],
["Scombroid fish poisoning", "Mimic: urticaria, flushing, GI — from histamine in spoiled fish; no true allergy"],
["Panic disorder / Munchausen", "Normal vitals; no objective signs; recurrent pseudo-episodes"],
["Carcinoid syndrome", "Episodic flushing, diarrhoea; elevated 5-HIAA; no urticaria"],
["Mastocytosis", "Elevated baseline tryptase; bone marrow biopsy; triggers episodic release"],
];
s.addText([
{ text: "Key differentiating principle: ", options: { bold: true, color: C.gold } },
{ text: "Anaphylaxis involves RAPID-ONSET multi-system compromise. Absence of skin signs does not exclude it.", options: { color: C.offWhite } }
], { x: 0.3, y: 0.82, w: 9.4, h: 0.4, fontSize: 12.5 });
diffs.forEach(([dx, points], i) => {
const y = 1.3 + i * 0.52;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.5, h: 0.44, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(dx, { x: 0.33, y, w: 2.4, h: 0.44, fontSize: 11, bold: true, color: C.gold, valign: "middle" });
s.addText(points, { x: 2.88, y, w: 6.9, h: 0.44, fontSize: 11, color: C.offWhite, valign: "middle" });
});
footer(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 10 – IMMEDIATE MANAGEMENT ALGORITHM
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Immediate Management — First 5 Minutes", C.deepRed);
accentBar(s, C.deepRed);
const steps2 = [
{ step: "A", label: "CALL for HELP + STOP TRIGGER", text: "Remove allergen if possible (e.g. stop IV infusion). Activate emergency team.", color: C.lightSlate },
{ step: "B", label: "EPINEPHRINE (ADRENALINE)", text: "1:1000 (1 mg/mL) — 0.3–0.5 mg IM anterolateral mid-thigh. Child: 0.01 mg/kg. Repeat q 5–15 min PRN.", color: C.crimson },
{ step: "C", label: "POSITION", text: "Supine with legs elevated (unless respiratory distress). Pregnant: left lateral decubitus. Sitting up worsens hypotension.", color: C.teal },
{ step: "D", label: "AIRWAY / OXYGEN", text: "High-flow O2 via mask. Prepare for intubation if laryngeal oedema progresses. Early intubation if stridor present.", color: C.orange },
{ step: "E", label: "IV ACCESS + FLUIDS", text: "Large-bore IV access x2. Normal saline 1–2 L rapid bolus for hypotension. Paeds: 10–20 mL/kg bolus.", color: C.slate },
];
steps2.forEach((st, i) => {
const y = 0.82 + i * 0.94;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 0.5, h: 0.76, fill: { color: st.color }, line: { color: st.color }, radius: 20 });
s.addText(st.step, { x: 0.28, y, w: 0.5, h: 0.76, fontSize: 16, bold: true, color: C.white, align: "center", valign: "middle" });
s.addShape(pres.ShapeType.rect, { x: 0.85, y, w: 8.87, h: 0.76, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 3 });
s.addText([
{ text: st.label + " ", options: { bold: true, color: st.color, fontSize: 13 } },
{ text: st.text, options: { color: C.slate, fontSize: 12 } }
], { x: 0.95, y, w: 8.65, h: 0.76, valign: "middle" });
});
footer(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 11 – EPINEPHRINE: THE CORNERSTONE
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Epinephrine — The Cornerstone of Treatment", C.crimson);
accentBar(s, C.gold);
// Title box
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.82, w: 9.44, h: 0.58, fill: { color: C.crimson }, line: { color: C.crimson }, radius: 4 });
s.addText("EPINEPHRINE IS FIRST-LINE — Never delay for antihistamines or steroids", {
x: 0.35, y: 0.82, w: 9.3, h: 0.58, fontSize: 15, bold: true, color: C.gold, align: "center", valign: "middle"
});
const epiData = [
["Route", "IM into anterolateral mid-thigh (vastus lateralis) — superior to deltoid or SC"],
["Concentration", "1:1000 solution (1 mg/mL)"],
["Adult dose", "0.3–0.5 mg IM; repeat every 5–15 min if no improvement (2–3 doses before IV)"],
["Child dose", "0.01 mg/kg IM (max 0.5 mg); EpiPen Jr (0.15 mg) for 15–30 kg"],
["IV epinephrine", "Only for cardiac arrest or refractory anaphylaxis with IV access: 0.1–0.2 mcg/kg/min infusion"],
["Autoinjectors", "EpiPen® 0.3 mg; Auvi-Q® 0.3 mg; EpiPen Jr 0.15 mg — lateral thigh through clothing is acceptable"],
["Intranasal Epi", "Emerging alternative (2025 Phase III trial): neffy® 2 mg intranasal — provides needle-free option"],
["Contraindications", "NONE absolute in anaphylaxis — even cardiac patients should receive epinephrine"],
];
epiData.forEach(([label, val], i) => {
const y = 1.5 + i * 0.5;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.4, h: 0.42, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(label, { x: 0.33, y, w: 2.3, h: 0.42, fontSize: 11, bold: true, color: C.gold, valign: "middle" });
s.addText(val, { x: 2.75, y, w: 6.98, h: 0.42, fontSize: 11, color: C.offWhite, valign: "middle" });
});
footer(s, "AAAAI 2023 Practice Parameter | WAO 2026 | Ebisawa et al. JACI Pract 2025 (intranasal Phase III)");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 12 – ADJUNCTIVE THERAPIES
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Adjunctive Therapies (Secondary to Epinephrine)", C.slate);
accentBar(s, C.slate);
const drugs = [
{ drug: "H1 Antihistamines", dose: "Diphenhydramine 25–50 mg IV/IM/PO\nCetirizine 10 mg PO (preferred in mild cases)", note: "Relieve urticaria/pruritus only — do NOT reverse hypotension or prevent death", warn: true },
{ drug: "H2 Antihistamines", dose: "Ranitidine 50 mg IV / Famotidine 20 mg IV", note: "Combination H1+H2 may add minor benefit for skin symptoms", warn: false },
{ drug: "Corticosteroids", dose: "Methylprednisolone 1 mg/kg IV (max 125 mg)\nHydrocortisone 200 mg IV\nPrednisone 0.5–1 mg/kg PO for discharge", note: "May attenuate biphasic reactions — evidence limited. Do NOT delay epinephrine for steroids.", warn: true },
{ drug: "Bronchodilators", dose: "Salbutamol/albuterol 2.5–5 mg nebulised\nMagnesium sulphate 2 g IV for refractory bronchospasm\nIV aminophylline: NOT recommended", note: "Use for bronchospasm refractory to epinephrine", warn: false },
{ drug: "Glucagon", dose: "1–5 mg IV bolus q5 min then 5–15 mcg/min infusion", note: "For patients on BETA-BLOCKERS with refractory hypotension — bypasses beta-blockade", warn: false },
{ drug: "IV Fluids", dose: "0.9% NaCl 1–2 L rapid bolus adults (paeds 10–20 mL/kg)", note: "For distributive shock — large volumes may be needed (up to 4–5 L in adults)", warn: false },
];
// Warning banner
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.8, w: 9.44, h: 0.32, fill: { color: C.orange }, line: { color: C.orange }, radius: 3 });
s.addText("Antihistamines and steroids are ADJUNCTS — they do not reverse anaphylaxis and must NEVER delay epinephrine", {
x: 0.38, y: 0.8, w: 9.2, h: 0.32, fontSize: 10, bold: true, color: C.white, valign: "middle"
});
drugs.forEach((d, i) => {
const y = 1.2 + i * 0.73;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.0, h: 0.62, fill: { color: d.warn ? C.orange : C.teal }, line: { color: d.warn ? C.orange : C.teal }, radius: 3 });
s.addText(d.drug, { x: 0.33, y, w: 1.9, h: 0.62, fontSize: 11, bold: true, color: C.white, align: "center", valign: "middle" });
s.addShape(pres.ShapeType.rect, { x: 2.35, y, w: 7.37, h: 0.62, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 3 });
s.addText([
{ text: d.dose + " ", options: { fontSize: 10.5, bold: true, color: C.slate } },
{ text: " | " + d.note, options: { fontSize: 10, color: C.lightSlate, italic: true } }
], { x: 2.45, y, w: 7.18, h: 0.62, valign: "middle" });
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 13 – REFRACTORY ANAPHYLAXIS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Refractory Anaphylaxis", C.crimson);
accentBar(s, C.alertRed);
s.addText("Defined as: failure to respond after 2–3 doses of epinephrine IM + IV fluid resuscitation", {
x: 0.3, y: 0.82, w: 9.4, h: 0.38, fontSize: 13, bold: true, color: C.gold
});
const refract = [
{ label: "IV Epinephrine infusion", text: "0.1–0.2 mcg/kg/min; titrate to BP — requires cardiac monitoring" },
{ label: "Vasopressors", text: "Norepinephrine 0.1–0.3 mcg/kg/min; vasopressin 2–40 units/hour as alternative" },
{ label: "Glucagon", text: "For beta-blocker mediated refractory shock: 1–5 mg IV then infusion" },
{ label: "Atropine", text: "For persistent bradycardia / profound relative bradycardia" },
{ label: "IV Methylene blue", text: "Emerging: 1.5–2 mg/kg for vasodilatory shock refractory to catecholamines" },
{ label: "ECMO / mechanical support", text: "Last resort for refractory cardiac arrest — report cases show survival" },
{ label: "Airway management", text: "RSI early for progressive laryngeal oedema; surgical airway (cricothyrotomy) if intubation fails" },
];
refract.forEach(([label, text], i) => {
const y = 1.3 + i * 0.55;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.6, h: 0.46, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(label, { x: 0.33, y, w: 2.5, h: 0.46, fontSize: 11, bold: true, color: C.gold, valign: "middle" });
s.addText(text, { x: 2.95, y, w: 6.8, h: 0.46, fontSize: 11, color: C.offWhite, valign: "middle" });
}.bind(null, ...refract.map((r, i) => ([r.label, r.text, i]))));
// Fix — refractory forEach
footer(s, "Rosen's Emergency Medicine | AAAAI 2023 Practice Parameter update");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 14 – BIPHASIC REACTIONS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Biphasic Anaphylaxis", C.orange);
accentBar(s, C.orange);
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.82, w: 9.44, h: 0.52, fill: { color: C.orange }, line: { color: C.orange }, radius: 4 });
s.addText("Biphasic reaction: recurrence of anaphylaxis symptoms after apparent resolution — WITHOUT re-exposure to trigger", {
x: 0.38, y: 0.82, w: 9.2, h: 0.52, fontSize: 13, bold: true, color: C.white, valign: "middle"
});
const biphasicFacts = [
["Incidence", "Reported in ~3–20% of anaphylaxis cases (most reviews ~5%)"],
["Timing", "Typically 1–8 hours after initial reaction; rarely up to 72 hours"],
["Risk factors", "Delayed epinephrine administration, severe initial reaction, unknown trigger, biphasic history"],
["ED observation (1h)", "< 5% biphasic risk if symptom-free for 1 hour post-treatment"],
["ED observation (6h)", "< 3% biphasic risk if symptom-free for 6 hours"],
["2025 Lancet data (paeds)", "Repeat epinephrine within 45 min of first dose associated with need for prolonged observation (Dribin 2025 PMID 40506197)"],
["Discharge steroids", "Routine use does NOT prevent biphasic reactions — evidence insufficient"],
["Prolonged observation", "Consider in: severe initial reaction, beta-blocker use, asthma, lives alone, remote location"],
];
biphasicFacts.forEach(([label, val], i) => {
const y = 1.44 + i * 0.52;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.4, h: 0.44, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(label, { x: 0.33, y, w: 2.3, h: 0.44, fontSize: 11, bold: true, color: C.white, valign: "middle" });
s.addText(val, { x: 2.75, y, w: 6.98, h: 0.44, fontSize: 11, color: C.slate, valign: "middle" });
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 15 – SPECIAL POPULATIONS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Special Populations", C.slate);
accentBar(s, C.gold);
const pops = [
{
pop: "INFANTS & TODDLERS",
items: [
"Age-specific symptoms: irritability, inconsolable crying, change in activity",
"May present WITHOUT urticaria — do not exclude diagnosis",
"EpiPen Jr (0.15 mg) for 15–30 kg; some guidelines: 0.15 mg for <30 kg if autoinjector only",
"First exposure to allergen can precipitate anaphylaxis"
], color: C.teal
},
{
pop: "PREGNANCY",
items: [
"Fetal hypoxia is primary concern — epinephrine is NOT contraindicated",
"Maternal uterine contractions can occur",
"Position: left lateral decubitus (aortocaval decompression)",
"Vasopressors: ephedrine preferred to maintain uteroplacental blood flow"
], color: C.orange
},
{
pop: "BETA-BLOCKER / ACE INHIBITOR USERS",
items: [
"Beta-blockers: blunt epinephrine response, cause refractory bradycardia and hypotension",
"ACE inhibitors: may worsen angioedema and hypotension",
"AAAAI 2023: for most indications, risk of stopping beta-blocker > risk of more severe reaction",
"Use glucagon (1–5 mg IV) for beta-blocker related refractory shock"
], color: C.crimson
},
{
pop: "MASTOCYTOSIS",
items: [
"Consider bone marrow biopsy in adults with severe insect sting or recurrent idiopathic anaphylaxis",
"Serum baseline tryptase > 11.4 ng/mL is a red flag",
"More severe and refractory reactions — pre-emptive epinephrine kits mandatory"
], color: C.deepRed
},
];
pops.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.22 + col * 4.9;
const y = 0.82 + row * 2.3;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 2.18, fill: { color: C.lightSlate }, line: { color: p.color }, radius: 5 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.42, fill: { color: p.color }, line: { color: p.color }, radius: 5 });
s.addText(p.pop, { x: x + 0.1, y, w: 4.45, h: 0.42, fontSize: 11, bold: true, color: C.white, valign: "middle" });
s.addText(p.items.map(t => ({ text: "• " + t + "\n", options: { color: C.offWhite } })), {
x: x + 0.12, y: y + 0.44, w: 4.4, h: 1.7, fontSize: 10.5, lineSpacingMultiple: 1.3, valign: "top"
});
});
footer(s, "AAAAI 2023 Practice Parameter Update | WAO 2026");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 16 – SERUM TRYPTASE & LAB DIAGNOSIS
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "Laboratory Investigations & Biomarkers", C.deepRed);
accentBar(s, C.deepRed);
// Tryptase section
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 0.82, w: 9.44, h: 0.4, fill: { color: C.deepRed }, line: { color: C.deepRed }, radius: 3 });
s.addText("SERUM TRYPTASE — Key Diagnostic Biomarker (AAAAI 2023 / WAO 2026)", {
x: 0.38, y: 0.82, w: 9.2, h: 0.4, fontSize: 13, bold: true, color: C.white, valign: "middle"
});
const tryp = [
["When to draw", "ASAP (peak 60–90 min after onset), and again at 3–4 h, and 24–48 h (baseline)"],
["Interpretation", "(Peak tryptase) - baseline > 2 + (0.2 × baseline) = significant mast cell activation"],
["Baseline elevated (>11.4 ng/mL)", "Investigate for mastocytosis — bone marrow biopsy in adults with severe reactions"],
["Food allergy triggers", "Serum tryptase may be NORMAL — does not rule out anaphylaxis"],
["Utility", "Supports retrospective diagnosis, distinguishes from vasovagal, guides mastocytosis workup"],
];
tryp.forEach(([label, val], i) => {
const y = 1.3 + i * 0.52;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 2.8, h: 0.44, fill: { color: C.lightSlate }, line: { color: C.lightSlate }, radius: 3 });
s.addText(label, { x: 0.33, y, w: 2.7, h: 0.44, fontSize: 11, bold: true, color: C.gold, valign: "middle" });
s.addText(val, { x: 3.15, y, w: 6.58, h: 0.44, fontSize: 11, color: C.slate, valign: "middle" });
});
// Other labs section
s.addShape(pres.ShapeType.rect, { x: 0.28, y: 4.0, w: 9.44, h: 0.35, fill: { color: C.slate }, line: { color: C.slate }, radius: 3 });
s.addText("Other Investigations", {
x: 0.38, y: 4.0, w: 9.2, h: 0.35, fontSize: 12, bold: true, color: C.white, valign: "middle"
});
s.addText([
{ text: "• 12-lead ECG: ", options: { bold: true, color: C.deepRed } },
{ text: "ST changes, arrhythmia in Kounis syndrome (allergic acute coronary syndrome)\n", options: { color: C.slate } },
{ text: "• Allergen-specific IgE / skin prick testing: ", options: { bold: true, color: C.deepRed } },
{ text: "Outpatient workup (4–6 weeks post-reaction)\n", options: { color: C.slate } },
{ text: "• Serum histamine: ", options: { bold: true, color: C.deepRed } },
{ text: "Peaks rapidly (15 min) and clears fast — limited clinical utility\n", options: { color: C.slate } },
{ text: "• FBC, metabolic panel, ABG: ", options: { bold: true, color: C.deepRed } },
{ text: "Guide resuscitation", options: { color: C.slate } },
], { x: 0.38, y: 4.38, w: 9.2, h: 1.1, fontSize: 11, lineSpacingMultiple: 1.4 });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 17 – DISCHARGE & FOLLOW-UP
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "Discharge Planning & Follow-Up", C.teal);
accentBar(s, C.teal);
// Two columns
const left = [
{ head: "Observation before discharge", body: "Minimum 4–6 hours symptom-free. ICU admission for: airway intervention required, refractory/biphasic, severe comorbidity." },
{ head: "Epinephrine auto-injector", body: "Prescribe to ALL patients with anaphylaxis. Counsel on use — <1/3 of patients/parents can demonstrate correct technique. Prescribe MULTIPLE (home, work, school, bag)." },
{ head: "Antihistamines / Steroids", body: "Prescribe 3–5 days H1 antihistamine. Oral prednisone 0.5–1 mg/kg/day for 3–5 days may reduce urticaria recurrence (limited evidence for biphasic prevention)." },
{ head: "Trigger avoidance education", body: "Written anaphylaxis action plan (WAP). Identify and counsel on all known triggers. Medical alert bracelet." },
];
const right = [
{ head: "Allergy referral", body: "All patients within 4–6 weeks for formal allergen testing (skin prick, specific IgE, supervised challenge)." },
{ head: "Immunotherapy consideration", body: "Venom immunotherapy (VIT): highly effective for Hymenoptera venom allergy. Food OIT: under specialist guidance." },
{ head: "Mastocytosis screening", body: "Baseline tryptase >11.4 ng/mL → refer haematology for bone marrow biopsy." },
{ head: "Medication review", body: "Beta-blockers / ACE inhibitors: review whether cessation is warranted. For most indications, risk of stopping > risk of more severe anaphylaxis (AAAAI 2023)." },
];
left.forEach((item, i) => {
const y = 0.82 + i * 1.17;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 4.55, h: 1.05, fill: { color: C.lightSlate }, line: { color: C.teal }, radius: 4 });
s.addText(item.head, { x: 0.38, y: y + 0.04, w: 4.35, h: 0.32, fontSize: 12, bold: true, color: C.gold });
s.addText(item.body, { x: 0.38, y: y + 0.34, w: 4.35, h: 0.66, fontSize: 10.5, color: C.offWhite, valign: "top" });
});
right.forEach((item, i) => {
const y = 0.82 + i * 1.17;
s.addShape(pres.ShapeType.rect, { x: 5.08, y, w: 4.64, h: 1.05, fill: { color: C.lightSlate }, line: { color: C.teal }, radius: 4 });
s.addText(item.head, { x: 5.18, y: y + 0.04, w: 4.44, h: 0.32, fontSize: 12, bold: true, color: C.gold });
s.addText(item.body, { x: 5.18, y: y + 0.34, w: 4.44, h: 0.66, fontSize: 10.5, color: C.offWhite, valign: "top" });
});
footer(s, "AAAAI 2023 Practice Parameter | WAO White Book 2026 | Tintinalli's EM");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 18 – 2023 AAAAI PRACTICE PARAMETER UPDATES
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.subtleGrey }, line: { color: C.subtleGrey } });
headerBar(s, "2023 AAAAI Practice Parameter — Key Updates", C.deepRed);
accentBar(s, C.deepRed);
s.addText("Ann Allergy Asthma Immunol 2024;132(2):124–176 (Golden DBK et al.)", {
x: 0.3, y: 0.82, w: 9.4, h: 0.32, fontSize: 11.5, italic: true, color: C.lightSlate
});
const updates = [
{ num: "01", title: "Revised Diagnostic Criteria", text: "Updated consensus criteria incorporating GA2LEN framework; atypical presentations formally recognised" },
{ num: "02", title: "Tryptase Measurement", text: "Serum tryptase now strongly recommended — key for diagnosis confirmation and mastocytosis screening" },
{ num: "03", title: "Infant/Toddler Recognition", text: "Age-specific symptoms highlighted; first-exposure reactions acknowledged; infant anaphylaxis criteria added" },
{ num: "04", title: "Epinephrine Auto-injector Counselling", text: "Detailed guidance on WHEN to self-inject and whether to call EMS — prompt response may not require EMS if complete/durable" },
{ num: "05", title: "Beta-blockers / ACE Inhibitors", text: "For most indications, stopping medication risk > benefit — clinician shared decision-making required" },
{ num: "06", title: "Mastocytosis Evaluation", text: "Bone marrow biopsy recommended for adults with severe Hymenoptera or recurrent idiopathic anaphylaxis" },
{ num: "07", title: "Community Setting-Specific Plans", text: "Tailored prevention and response measures for school, sports, food service, and healthcare settings" },
];
updates.forEach((u, i) => {
const y = 1.22 + i * 0.6;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 0.55, h: 0.5, fill: { color: C.crimson }, line: { color: C.crimson }, radius: 4 });
s.addText(u.num, { x: 0.28, y, w: 0.55, h: 0.5, fontSize: 12, bold: true, color: C.white, align: "center", valign: "middle" });
s.addShape(pres.ShapeType.rect, { x: 0.9, y, w: 8.82, h: 0.5, fill: { color: C.white }, line: { color: C.lightGrey }, radius: 3 });
s.addText([
{ text: u.title + ": ", options: { bold: true, color: C.deepRed, fontSize: 12 } },
{ text: u.text, options: { color: C.slate, fontSize: 11.5 } }
], { x: 1.0, y, w: 8.62, h: 0.5, valign: "middle" });
});
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 19 – WAO 2026 & EMERGING EVIDENCE
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
headerBar(s, "WAO White Book 2026 & Emerging Evidence", C.crimson);
accentBar(s, C.gold);
s.addText("World Allergy Organ J. 2026;19(3):101338 — Victoria Cardona (Open Access)", {
x: 0.3, y: 0.82, w: 9.4, h: 0.32, fontSize: 11, italic: true, color: C.lightGrey
});
const emerging = [
{ tag: "Intranasal Epinephrine", body: "neffy® (epinephrine nasal spray 2 mg): Phase III trial published July 2025 (Ebisawa et al. JACI Pract). Effective needle-free alternative — emerging as viable option for community use." },
{ tag: "Incidence Rising", body: "Global incidence increasing — particularly in children and young adults. Likely linked to rising prevalence of allergic diseases (atopic march)." },
{ tag: "Idiopathic Anaphylaxis", body: "Still accounts for ~10% of cases. Deeper investigation into mast cell clonal disorders, genetic susceptibility, and cofactors ongoing." },
{ tag: "Unmet Needs (WAO 2026)", body: "Global epinephrine auto-injector access remains inequitable. Harmonised severity scoring systems needed. Digital health integration and AI-assisted recognition under development." },
{ tag: "Paediatric Observation (Lancet 2025)", body: "Dribin et al. Lancet Child Adolesc Health 2025: repeat epinephrine within 45 min predicts need for longer observation — informs observation period protocols." },
{ tag: "Predictors of Fatal Anaphylaxis", body: "Chowdhury et al. Syst. Review 2026: delayed epinephrine, cardiovascular disease, and asthma as key fatal risk predictors — reinforces early administration." },
];
emerging.forEach((e, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.22 + col * 4.9;
const y = 1.22 + row * 1.35;
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 1.22, fill: { color: C.lightSlate }, line: { color: C.gold }, radius: 5 });
s.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 0.38, fill: { color: C.gold }, line: { color: C.gold }, radius: 5 });
s.addText(e.tag, { x: x + 0.1, y, w: 4.45, h: 0.38, fontSize: 11, bold: true, color: C.darkSlate, valign: "middle" });
s.addText(e.body, { x: x + 0.1, y: y + 0.4, w: 4.45, h: 0.78, fontSize: 10.5, color: C.offWhite, valign: "top" });
});
footer(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 20 – KEY TAKEAWAYS & SUMMARY
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
const s = pres.addSlide();
darkBg(s);
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: C.crimson }, line: { color: C.crimson } });
s.addText("KEY TAKEAWAYS", { x: 0.3, y: 0, w: 9.4, h: 1.0, fontSize: 28, bold: true, color: C.white, align: "center", valign: "middle", charSpacing: 5 });
const takeaways = [
{ icon: "1", msg: "EPINEPHRINE FIRST — it is the only life-saving treatment. Every other drug is adjunctive.", color: C.crimson },
{ icon: "2", msg: "DIAGNOSE CLINICALLY — do not wait for labs. Up to 20% have no skin signs.", color: C.orange },
{ icon: "3", msg: "IM ANTEROLATERAL THIGH — never SC or deltoid as first choice. No absolute contraindications.", color: C.teal },
{ icon: "4", msg: "ANTIHISTAMINES ≠ EPINEPHRINE — they do not prevent death and must NOT delay treatment.", color: C.deepRed },
{ icon: "5", msg: "OBSERVE for minimum 4–6 hours — monitor for biphasic reaction.", color: C.lightSlate },
{ icon: "6", msg: "DISCHARGE with auto-injector + written action plan + allergy referral in 4–6 weeks.", color: C.safeGreen },
{ icon: "7", msg: "SCREEN for mastocytosis — elevated baseline tryptase >11.4 ng/mL triggers bone marrow workup.", color: C.slate },
];
takeaways.forEach((t, i) => {
const y = 1.1 + i * 0.64;
s.addShape(pres.ShapeType.rect, { x: 0.28, y, w: 0.46, h: 0.52, fill: { color: t.color }, line: { color: t.color }, radius: 20 });
s.addText(t.icon, { x: 0.28, y, w: 0.46, h: 0.52, fontSize: 14, bold: true, color: C.white, align: "center", valign: "middle" });
s.addText(t.msg, { x: 0.84, y: y + 0.04, w: 8.9, h: 0.46, fontSize: 13, color: C.offWhite, valign: "middle" });
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.3, w: 10, h: 0.325, fill: { color: C.slate }, line: { color: C.slate } });
s.addText("Sources: WAO White Book on Allergy 2026 · AAAAI Practice Parameter 2023 · Rosen's EM · Tintinalli's EM · Lancet Chld Adolesc Health 2025", {
x: 0.3, y: 5.3, w: 9.4, h: 0.325, fontSize: 8.5, color: C.lightGrey, align: "center", italic: true, valign: "middle"
});
}
// ── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/anaphylaxis-ppt/Anaphylaxis_Guidelines_2026.pptx" })
.then(() => console.log("SUCCESS: /home/daytona/workspace/anaphylaxis-ppt/Anaphylaxis_Guidelines_2026.pptx"))
.catch(err => { console.error("ERROR:", err); process.exit(1); });
cd /home/daytona/workspace/anaphylaxis-ppt && node build.js 2>&1
~/anaphylaxis-ppt/build.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/anaphylaxis-ppt/build.js'
cd /home/daytona/workspace/anaphylaxis-ppt && node build.js 2>&1
Anaphylaxis Guidelines 2026
Presentation · PPTX
| # | Slide |
|---|---|
| 1 | Title slide |
| 2 | Learning objectives |
| 3 | Definition & Epidemiology (WAO 2026: lifetime prevalence 0.3-5.1%, rising incidence) |
| 4 | Pathophysiology (IgE cascade → mediators → end-organ effects; "anaphylactoid" term obsolete) |
| 5 | Common Triggers by category (foods, drugs, venom, latex, idiopathic ~10%) |
| 6 | Diagnostic Criteria — GA²LEN 2024 / WAO 2026 (3-criterion framework; no skin signs ≠ not anaphylaxis) |
| 7 | Clinical Features by system (skin 80-90%, respiratory 40-70%, cardiovascular 30-35%) |
| 8 | Severity Grading — Ring & Messer Grade I-IV |
| 9 | Differential Diagnosis (vasovagal, HAE, scombroid, carcinoid, mastocytosis) |
| 10 | Immediate Management Algorithm (first 5 minutes, step-by-step) |
| 11 | Epinephrine — dosing, route, auto-injectors, intranasal neffy® (Phase III 2025) |
| 12 | Adjunctive Therapies (antihistamines, steroids, glucagon, bronchodilators — all secondary) |
| 13 | Refractory Anaphylaxis (IV epi infusion, vasopressors, methylene blue, ECMO) |
| 14 | Biphasic Reactions (incidence, risk factors, observation periods — Lancet Paeds 2025 data) |
| 15 | Special Populations (infants, pregnancy, beta-blocker users, mastocytosis) |
| 16 | Laboratory workup & Serum Tryptase (timing, interpretation, mastocytosis threshold >11.4 ng/mL) |
| 17 | Discharge Planning & Follow-up (auto-injector prescribing, written action plans, allergy referral) |
| 18 | 2023 AAAAI Practice Parameter — 7 key updates (Golden et al. Ann Allergy Asthma Immunol 2024) |
| 19 | WAO White Book 2026 & Emerging Evidence |
| 20 | Key Takeaways summary |