Prepare a presentation of 10 to 12 slides on acute hyponatremia evaluation,management n treatment guidelines n new updates
acute hyponatremia management treatment guidelines
hyponatremia treatment sodium correction
PMID: 39556338
mkdir -p /home/daytona/workspace/hyponatremia-ppt && ls /home/daytona/workspace/hyponatremia-ppt/
~/hyponatremia-ppt/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Acute Hyponatremia: Evaluation, Management & Treatment Guidelines";
pres.author = "Clinical Education";
// ─── COLOR PALETTE ───────────────────────────────────────────────
const C = {
darkNavy: "0D1F3C", // dominant background (title/section slides)
midBlue: "1A3A6C", // card backgrounds / header bars
accent: "2196F3", // accent lines, icons, highlights
teal: "00BCD4", // secondary accent
orange: "FF7043", // warning / danger callouts
white: "FFFFFF",
offWhite: "F0F4FA",
lightGray: "E8EDF5",
textDark: "1A1A2E",
textMid: "3A4A6A",
green: "43A047",
yellow: "FDD835",
};
// ─── HELPERS ─────────────────────────────────────────────────────
function titleSlide(slide, title, subtitle) {
// dark full background
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: C.darkNavy } });
// left accent bar
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: "100%", fill: { color: C.accent } });
// bottom teal bar
slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.05, w: "100%", h: 0.12, fill: { color: C.teal } });
// title
slide.addText(title, {
x: 0.45, y: 1.6, w: 9.1, h: 1.5,
fontSize: 34, bold: true, color: C.white, fontFace: "Calibri",
align: "left", wrap: true
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.45, y: 3.3, w: 8.5, h: 0.7,
fontSize: 16, color: C.teal, fontFace: "Calibri", align: "left", italic: true
});
}
// badge
slide.addShape(pres.ShapeType.rect, { x: 0.45, y: 4.5, w: 2.2, h: 0.42, fill: { color: C.accent }, line: { color: C.accent } });
slide.addText("ACUTE HYPONATREMIA", { x: 0.45, y: 4.5, w: 2.2, h: 0.42, fontSize: 9, bold: true, color: C.white, align: "center", margin: 0 });
}
function sectionHeader(slide, num, title, sub) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: C.darkNavy } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.1, fill: { color: C.accent } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.52, w: "100%", h: 0.1, fill: { color: C.teal } });
slide.addText(num, { x: 0.4, y: 1.5, w: 1.2, h: 1.2, fontSize: 56, bold: true, color: C.accent, align: "center" });
slide.addShape(pres.ShapeType.line, { x: 1.7, y: 1.8, w: 0, h: 0.9, line: { color: C.teal, width: 2 } });
slide.addText(title, { x: 2.0, y: 1.5, w: 7.5, h: 1.2, fontSize: 28, bold: true, color: C.white, wrap: true, align: "left" });
if (sub) slide.addText(sub, { x: 2.0, y: 2.9, w: 7.5, h: 0.55, fontSize: 14, color: C.teal, italic: true, align: "left" });
}
function contentBg(slide) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: C.offWhite } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.8, fill: { color: C.midBlue } });
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.8, w: "100%", h: 0.06, fill: { color: C.accent } });
}
function slideTitle(slide, title) {
slide.addText(title, {
x: 0.35, y: 0.1, w: 9.3, h: 0.65,
fontSize: 20, bold: true, color: C.white, fontFace: "Calibri", align: "left", margin: 0
});
}
function bulletBox(slide, x, y, w, h, title, bullets, titleColor) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color: C.white }, line: { color: C.lightGray, width: 1 }, shadow: { type: "outer", color: "C0C8D8", blur: 5, offset: 2, angle: 45 } });
if (title) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h: 0.38, fill: { color: titleColor || C.midBlue }, line: { color: titleColor || C.midBlue } });
slide.addText(title, { x: x + 0.12, y, w: w - 0.12, h: 0.38, fontSize: 11, bold: true, color: C.white, margin: 0 });
}
const bArr = bullets.map((b, i) => ({
text: b,
options: { bullet: { code: "25B6", indent: 15, color: C.accent }, fontSize: 10.5, color: C.textDark, breakLine: i < bullets.length - 1 }
}));
slide.addText(bArr, { x: x + 0.12, y: title ? y + 0.42 : y + 0.12, w: w - 0.24, h: h - (title ? 0.54 : 0.24), fontFace: "Calibri", valign: "top", wrap: true });
}
function calloutBox(slide, x, y, w, h, text, color, textColor) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color }, line: { color, width: 0 }, rounding: true });
slide.addText(text, { x: x + 0.12, y, w: w - 0.24, h, fontSize: 10.5, color: textColor || C.white, bold: true, valign: "middle", wrap: true });
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
titleSlide(s,
"Acute Hyponatremia:\nEvaluation, Management\n& Treatment Guidelines",
"Updated Evidence-Based Approach | 2025 - 2026"
);
s.addText("Serum Na⁺ < 135 mEq/L | Developed within 48 hours | Medical Emergency",
{ x: 0.45, y: 5.05, w: 9.1, h: 0.4, fontSize: 11, color: "A0B4C8", italic: true, align: "left" });
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 2 — DEFINITION & CLASSIFICATION
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Definition & Classification of Hyponatremia");
// Definition band
slide_text_box: {
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.95, w: 9.4, h: 0.55, fill: { color: C.darkNavy }, line: { color: C.accent } });
s.addText([
{ text: "Hyponatremia: ", options: { bold: true, color: C.yellow } },
{ text: "Serum Na⁺ < 135 mEq/L. ", options: { color: C.white } },
{ text: "Acute:", options: { bold: true, color: C.teal } },
{ text: " onset within 48 hours.", options: { color: C.white } },
{ text: " Chronic: ", options: { bold: true, color: C.teal } },
{ text: "> 48 hours (or unknown duration)", options: { color: C.white } }
], { x: 0.42, y: 0.95, w: 9.2, h: 0.55, fontSize: 11.5, valign: "middle" });
}
// Severity table
const sevData = [
["Severity", "Na⁺ Level", "Symptoms"],
["Mild", "130–134 mEq/L", "Often asymptomatic"],
["Moderate", "125–129 mEq/L", "Nausea, headache, confusion"],
["Severe", "< 125 mEq/L", "Seizures, coma, herniation"],
];
s.addTable(sevData, {
x: 0.3, y: 1.62, w: 4.6, h: 1.6,
fill: { color: C.white },
border: { color: C.lightGray, pt: 1 },
fontFace: "Calibri", fontSize: 10.5,
rowH: 0.35,
firstRowFill: { color: C.midBlue }, color: C.white
});
// Volume classification boxes
const volClasses = [
{ title: "Hypovolemic", color: C.orange, bullets: ["Vomiting / diarrhea", "Diuretics (thiazides)", "Adrenal insufficiency", "Salt-wasting nephropathy"] },
{ title: "Euvolemic", color: C.accent, bullets: ["SIADH (most common)", "Psychogenic polydipsia", "Hypothyroidism", "Exercise-associated"] },
{ title: "Hypervolemic", color: C.midBlue, bullets: ["Heart failure", "Cirrhosis", "Nephrotic syndrome", "Renal failure"] },
];
volClasses.forEach((vc, i) => {
const bx = 0.3 + i * 3.2;
bulletBox(s, bx, 3.35, 3.05, 2.05, vc.title, vc.bullets, vc.color);
});
s.addText("Volume classification drives diagnosis & treatment choice", {
x: 0.3, y: 5.42, w: 9.4, h: 0.2, fontSize: 9.5, italic: true, color: C.textMid, align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 3 — CAUSES & PATHOPHYSIOLOGY
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Causes & Pathophysiology of Acute Hyponatremia");
// Key causes boxes
bulletBox(s, 0.3, 0.92, 4.55, 2.15, "Common Causes of ACUTE Hyponatremia", [
"Postoperative hypotonic IV fluids (premenopausal women at risk)",
"MDMA/Ecstasy — induces both thirst and AVP",
"Exercise-associated hyponatremia (marathons, endurance events)",
"Psychogenic polydipsia / water intoxication",
"Iatrogenic: TURP glycine irrigation, tap water enemas",
"Intracranial pathology with elevated ICP"
], C.accent);
bulletBox(s, 5.15, 0.92, 4.55, 2.15, "Pathophysiologic Mechanism", [
"↓ Plasma tonicity → osmotic gradient → water enters brain cells",
"Cerebral edema within rigid skull → ↑ ICP",
"CNS initial response: efflux of Na⁺, K⁺, Cl⁻ from neurons",
"Overwhelmed → acute hyponatremic encephalopathy",
"Hypoxia amplifies injury (neurogenic pulmonary edema)",
"Brainstem herniation → death if untreated"
], C.midBlue);
// ADH/AVP pathway box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.2, w: 9.4, h: 0.4, fill: { color: C.midBlue }, line: { color: C.midBlue } });
s.addText("ADH / AVP Role", { x: 0.3, y: 3.2, w: 9.4, h: 0.4, fontSize: 12, bold: true, color: C.teal, align: "center" });
const avpItems = [
{ label: "Non-osmotic stimuli", text: "Pain, nausea, stress, hypoxia → ↑ ADH release" },
{ label: "SIADH", text: "Inappropriate ADH → free water retention → dilutional hyponatremia" },
{ label: "Acute onset", text: "< 48 h: brain has not adapted via organic osmolyte loss" },
{ label: "Risk", text: "Premenopausal women — estrogen sensitizes brain to osmotic injury" },
];
avpItems.forEach((item, i) => {
const bx = 0.3 + (i % 2) * 4.75;
const by = 3.7 + Math.floor(i / 2) * 0.65;
s.addShape(pres.ShapeType.rect, { x: bx, y: by, w: 4.5, h: 0.58, fill: { color: C.white }, line: { color: C.lightGray } });
s.addText([
{ text: item.label + ": ", options: { bold: true, color: C.accent } },
{ text: item.text, options: { color: C.textDark } }
], { x: bx + 0.12, y: by, w: 4.26, h: 0.58, fontSize: 10.5, valign: "middle" });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 4 — CLINICAL EVALUATION (SYMPTOMS & DIAGNOSIS)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Clinical Evaluation: Symptoms & Initial Work-up");
// Symptoms gradient severity
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.9, w: 4.5, h: 0.38, fill: { color: C.green }, line: { color: C.green } });
s.addText("MILD (Na⁺ 130–134)", { x: 0.3, y: 0.9, w: 4.5, h: 0.38, fontSize: 11, bold: true, color: C.white, align: "center" });
const mildSx = ["Nausea, headache", "Fatigue, malaise", "Often asymptomatic"];
mildSx.forEach((t, i) => {
s.addText("• " + t, { x: 0.42, y: 1.3 + i * 0.32, w: 4.2, h: 0.3, fontSize: 10.5, color: C.textDark });
});
s.addShape(pres.ShapeType.rect, { x: 5.1, y: 0.9, w: 4.5, h: 0.38, fill: { color: C.orange }, line: { color: C.orange } });
s.addText("SEVERE (Na⁺ < 125)", { x: 5.1, y: 0.9, w: 4.5, h: 0.38, fontSize: 11, bold: true, color: C.white, align: "center" });
const sevSx = ["Vomiting, confusion", "Seizures, stupor, coma", "Respiratory failure (neurogenic)", "Brainstem herniation", "Death"];
sevSx.forEach((t, i) => {
s.addText("• " + t, { x: 5.22, y: 1.3 + i * 0.32, w: 4.2, h: 0.3, fontSize: 10.5, color: C.textDark });
});
// Divider
s.addShape(pres.ShapeType.line, { x: 4.85, y: 0.9, w: 0, h: 1.9, line: { color: C.lightGray, width: 1.5, dashType: "dash" } });
// Diagnostic work-up table
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 2.98, w: 9.4, h: 0.36, fill: { color: C.midBlue }, line: { color: C.midBlue } });
s.addText("Diagnostic Work-Up", { x: 0.3, y: 2.98, w: 9.4, h: 0.36, fontSize: 12, bold: true, color: C.white, align: "center" });
const labData = [
["Test", "Finding in Hyponatremia", "Purpose"],
["Serum Na⁺, osmolality", "< 135 mEq/L; Posm < 275 mOsm/kg", "Confirm true vs pseudo-hyponatremia"],
["Urine osmolality", "> 100 mOsm/kg → ADH active", "Distinguish SIADH from polydipsia"],
["Urine Na⁺", "> 40 mEq/L = SIADH; < 20 = volume depletion", "Volume status assessment"],
["BUN, creatinine, glucose", "Elevated BUN/Cr → renal cause", "Exclude metabolic/renal causes"],
["Thyroid, cortisol, LFTs", "Rule out hypothyroid, Addison's, cirrhosis", "Identify treatable cause"],
];
s.addTable(labData, {
x: 0.3, y: 3.36, w: 9.4, h: 2.08,
fill: { color: C.white }, border: { color: C.lightGray, pt: 1 },
fontFace: "Calibri", fontSize: 9.5,
rowH: 0.36,
firstRowFill: { color: C.darkNavy }, color: C.white
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 5 — DIAGNOSTIC ALGORITHM
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Diagnostic Algorithm for Hyponatremia (European Guideline Approach)");
// Step-by-step algorithm
const steps = [
{ num: "1", title: "Confirm true hyponatremia", detail: "Serum Na⁺ < 135 mEq/L + Serum osmolality < 275 mOsm/kg\n(Exclude pseudo-hyponatremia: hyperlipidemia, hyperproteinemia, hyperglycemia)" },
{ num: "2", title: "Assess urine osmolality", detail: "Uosm < 100 mOsm/kg: primary polydipsia, low solute intake (beer potomania)\nUosm ≥ 100 mOsm/kg: ADH-dependent (proceed to step 3)" },
{ num: "3", title: "Assess volume status + urine Na⁺", detail: "Hypovolemic (UNa < 20): GI losses, burns | Euvolemic (UNa > 40): SIADH\nHypervolemic (UNa < 20): heart failure, cirrhosis | (UNa > 40): renal failure" },
{ num: "4", title: "SIADH: apply Bartter-Schwartz criteria", detail: "Hypo-osmolality + urine not maximally dilute (Uosm > 100) + euvolemic\n+ normal renal, adrenal, thyroid function + UNa > 40 mEq/L" },
];
steps.forEach((st, i) => {
const by = 0.92 + i * 1.12;
// number circle
s.addShape(pres.ShapeType.ellipse, { x: 0.3, y: by + 0.12, w: 0.62, h: 0.62, fill: { color: C.accent }, line: { color: C.accent } });
s.addText(st.num, { x: 0.3, y: by + 0.12, w: 0.62, h: 0.62, fontSize: 16, bold: true, color: C.white, align: "center" });
// connector arrow
if (i < 3) {
s.addShape(pres.ShapeType.line, { x: 0.61, y: by + 0.74, w: 0, h: 0.38, line: { color: C.accent, width: 1.5 } });
}
// title bar
s.addShape(pres.ShapeType.rect, { x: 1.05, y: by, w: 8.65, h: 0.38, fill: { color: i % 2 === 0 ? C.midBlue : C.darkNavy }, line: { color: "00000000" } });
s.addText(st.title, { x: 1.15, y: by, w: 8.45, h: 0.38, fontSize: 11.5, bold: true, color: C.white, valign: "middle" });
// detail
s.addShape(pres.ShapeType.rect, { x: 1.05, y: by + 0.39, w: 8.65, h: 0.66, fill: { color: C.white }, line: { color: C.lightGray } });
s.addText(st.detail, { x: 1.17, y: by + 0.39, w: 8.41, h: 0.66, fontSize: 10, color: C.textDark, valign: "middle", wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 6 — SIADH (Dedicated)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "SIADH — Most Common Cause of Euvolemic Hyponatremia");
bulletBox(s, 0.3, 0.92, 4.55, 2.45, "Bartter-Schwartz Diagnostic Criteria", [
"Serum hypo-osmolality (< 275 mOsm/kg)",
"Urine osmolality > 100 mOsm/kg (not maximally dilute)",
"Clinical euvolemia (no edema, orthostasis)",
"Urine Na⁺ > 40 mEq/L on normal sodium intake",
"Normal thyroid, adrenal, renal function",
"No recent diuretic use"
], C.midBlue);
bulletBox(s, 5.15, 0.92, 4.55, 2.45, "Common SIADH Causes", [
"CNS: meningitis, subarachnoid hemorrhage, stroke",
"Pulmonary: pneumonia, TB, mechanical ventilation",
"Malignancy: SCLC (10–15%), head & neck tumors",
"Drugs: SSRIs, carbamazepine, cyclophosphamide, vincristine, NSAIDs",
"Postoperative state (esp. premenopausal women)",
"MDMA/Ecstasy, pain, nausea, stress"
], C.accent);
// SIADH subtypes
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.5, w: 9.4, h: 0.36, fill: { color: C.midBlue }, line: { color: C.midBlue } });
s.addText("SIADH Subtypes (by ADH pattern)", { x: 0.3, y: 3.5, w: 9.4, h: 0.36, fontSize: 11, bold: true, color: C.white, align: "center" });
const subtypes = [
["Type A", "Erratic / autonomous ADH secretion"],
["Type B", "Reset osmostat — lower threshold for ADH release"],
["Type C", "Constant low-level ADH — flat response curve"],
["Type D", "SIADH without elevated ADH — AVP-independent mechanism"],
];
subtypes.forEach((st, i) => {
const bx = 0.3 + (i % 2) * 4.75;
const by = 3.9 + Math.floor(i / 2) * 0.62;
s.addShape(pres.ShapeType.rect, { x: bx, y: by, w: 4.5, h: 0.55, fill: { color: i % 2 === 0 ? C.lightGray : C.white }, line: { color: C.lightGray } });
s.addText([
{ text: st[0] + ": ", options: { bold: true, color: C.accent } },
{ text: st[1], options: { color: C.textDark } }
], { x: bx + 0.1, y: by, w: 4.3, h: 0.55, fontSize: 10.5, valign: "middle" });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 7 — ACUTE MANAGEMENT: PRINCIPLES & EMERGENT TREATMENT
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Acute Management: Emergency Treatment Protocol");
// Emergency banner
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.9, w: 9.4, h: 0.48, fill: { color: C.orange }, line: { color: C.orange } });
s.addText("EMERGENCY: Symptomatic Acute Hyponatremia (Seizures / Coma / Herniation) → START 3% NaCl IMMEDIATELY", {
x: 0.3, y: 0.9, w: 9.4, h: 0.48, fontSize: 12, bold: true, color: C.white, align: "center"
});
// 3 steps
const steps = [
{ label: "STEP 1 — Bolus", color: C.orange, text: "3% NaCl 150 mL IV bolus over 20 minutes\nRepeat up to 2× if symptoms persist (total 450 mL)\nTarget: raise Na⁺ by 4–6 mEq/L per bolus" },
{ label: "STEP 2 — Reassess", color: C.accent, text: "Re-check serum Na⁺ within 20–30 min\nExpect ~1–2 mEq/L rise per 100 mL 3% NaCl bolus\nMonitor neurologic status continuously" },
{ label: "STEP 3 — Continue/Switch", color: C.midBlue, text: "Once symptoms resolve: switch to continuous infusion\nTarget 24h correction: 4–8 mEq/L (max 10 mEq/L)\nNEVER exceed 10–12 mEq/L in 24h (ODS risk)" },
];
steps.forEach((st, i) => {
const bx = 0.3 + i * 3.18;
bulletBox(s, bx, 1.48, 3.0, 1.72, st.label, st.text.split("\n"), st.color);
});
// Correction rate table
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.3, w: 9.4, h: 0.36, fill: { color: C.darkNavy }, line: { color: C.darkNavy } });
s.addText("Safe Sodium Correction Rate Guidelines", { x: 0.3, y: 3.3, w: 9.4, h: 0.36, fontSize: 11.5, bold: true, color: C.white, align: "center" });
const rateData = [
["Scenario", "Target Rate", "24h Maximum", "Risk if Exceeded"],
["Acute symptomatic (< 48h)", "1–2 mEq/L/h initially", "4–8 mEq/L (up to 10)", "Generally safe to correct faster"],
["Chronic or unknown duration", "0.5–1 mEq/L/h", "Max 8 mEq/L/24h", "Osmotic Demyelination Syndrome (ODS)"],
["High ODS risk patients*", "< 0.5 mEq/L/h", "Max 6 mEq/L/24h", "Severe ODS with locked-in syndrome"],
];
s.addTable(rateData, {
x: 0.3, y: 3.68, w: 9.4, h: 1.75,
fill: { color: C.white }, border: { color: C.lightGray, pt: 1 },
fontFace: "Calibri", fontSize: 9.8,
rowH: 0.4,
firstRowFill: { color: C.midBlue }, color: C.white
});
s.addText("*High ODS risk: Na⁺ < 105, hypokalemia, alcohol use, malnutrition, advanced liver disease", {
x: 0.3, y: 5.45, w: 9.4, h: 0.2, fontSize: 9, color: C.textMid, italic: true
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 8 — SODIUM REPLACEMENT FORMULAS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Sodium Correction Formulas & Fluid Selection");
// Adrogue-Madias formula
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 9.4, h: 0.38, fill: { color: C.midBlue }, line: { color: C.midBlue } });
s.addText("Adrogue-Madias Formula (Estimated Change in Serum Na⁺ per 1L infusate)", {
x: 0.3, y: 0.92, w: 9.4, h: 0.38, fontSize: 11.5, bold: true, color: C.white, align: "center"
});
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.35, w: 9.4, h: 0.72, fill: { color: C.darkNavy }, line: { color: C.accent } });
s.addText([
{ text: "ΔNa⁺ = ", options: { color: C.yellow, bold: true } },
{ text: "(Infusate Na⁺ − Serum Na⁺)", options: { color: C.teal, bold: true } },
{ text: " ÷ ", options: { color: C.white } },
{ text: "(Total Body Water + 1)", options: { color: C.teal, bold: true } },
{ text: "\n", options: { breakLine: true } },
{ text: "TBW = Weight (kg) × 0.6 (men), 0.5 (women), 0.45 (elderly)", options: { color: C.offWhite, fontSize: 10 } }
], { x: 0.5, y: 1.35, w: 9.0, h: 0.72, fontSize: 14, align: "center", valign: "middle" });
// Fluid content table
const fluidData = [
["Fluid", "Na⁺ (mEq/L)", "Clinical Use", "3% NaCl Bolus: 150 mL raises Na⁺ by ~"],
["3% NaCl (hypertonic)", "513", "Acute symptomatic hyponatremia, seizures", "~1–2 mEq/L (100 mL bolus)"],
["0.9% NaCl (isotonic)", "154", "Hypovolemic hyponatremia", "Slower, unpredictable rise"],
["0.45% NaCl (hypotonic)", "77", "Avoid in hyponatremia — worsens it", "CONTRAINDICATED"],
["Lactated Ringer's", "130", "Hypovolemic states (near-isotonic)", "Slight Na⁺ rise"],
];
s.addTable(fluidData, {
x: 0.3, y: 2.15, w: 9.4, h: 1.9,
fill: { color: C.white }, border: { color: C.lightGray, pt: 1 },
fontFace: "Calibri", fontSize: 9.8, rowH: 0.42,
firstRowFill: { color: C.accent }, color: C.white
});
// Monitoring bullets
bulletBox(s, 0.3, 4.15, 9.4, 1.25, "Monitoring During Treatment", [
"Check serum Na⁺ every 2–4 h during active correction | Urine output and urine Na⁺/osmolality every 4–6 h",
"If overcorrection occurs: stop 3% NaCl | Give D5W 3 mL/kg/h + desmopressin 2–4 mcg IV to re-lower Na⁺",
"Supplemental O₂ and ventilatory support ready — respiratory failure common in acute hyponatremic encephalopathy"
], C.midBlue);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 9 — ODS: OSMOTIC DEMYELINATION SYNDROME
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Osmotic Demyelination Syndrome (ODS) — Formerly Central Pontine Myelinolysis");
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 9.4, h: 0.42, fill: { color: C.orange }, line: { color: C.orange } });
s.addText("ODS occurs when chronic hyponatremia is corrected too rapidly → brain cells dehydrate → myelin loss in pons", {
x: 0.3, y: 0.92, w: 9.4, h: 0.42, fontSize: 11, bold: true, color: C.white, align: "center"
});
bulletBox(s, 0.3, 1.45, 4.55, 2.1, "High-Risk Patients for ODS", [
"Serum Na⁺ < 105 mEq/L at presentation",
"Hypokalemia (K⁺ co-depletion worsens risk)",
"Alcohol use disorder / malnutrition",
"Advanced liver disease (esp. pre-transplant)",
"Correction > 10–12 mEq/L in first 24h",
"Vaptan use in high-risk patients"
], C.orange);
bulletBox(s, 5.15, 1.45, 4.55, 2.1, "Clinical Presentation of ODS", [
"Onset 2–6 days after rapid correction",
"Pseudobulbar palsy, dysarthria, dysphagia",
"Quadriparesis or tetraplegia",
"Movement disorders, behavioral changes",
"Locked-in syndrome (severe pons lesion)",
"MRI: T2 hyperintensity in central pons"
], C.midBlue);
// Prevention
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.66, w: 9.4, h: 0.36, fill: { color: C.green }, line: { color: C.green } });
s.addText("PREVENTION STRATEGY", { x: 0.3, y: 3.66, w: 9.4, h: 0.36, fontSize: 11, bold: true, color: C.white, align: "center" });
const preventItems = [
"Limit correction to ≤ 8 mEq/L in first 24h, ≤ 18 mEq/L in 48h",
"If overcorrection detected: immediately give desmopressin (DDAVP) 2–4 mcg IV + D5W to re-lower Na⁺",
"Proactive desmopressin strategy: give 1–2 mcg IV q6–8h to control correction rate while 3% NaCl infuses",
"High-risk patients: target 4–6 mEq/L in 24h; consider prophylactic desmopressin",
];
preventItems.forEach((pt, i) => {
s.addText("• " + pt, {
x: 0.45, y: 4.08 + i * 0.33, w: 9.1, h: 0.3,
fontSize: 10, color: C.textDark
});
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 10 — PHARMACOLOGICAL TREATMENT
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Pharmacological Treatment Options");
const drugs = [
{
name: "Hypertonic Saline (3% NaCl)", color: C.orange, x: 0.3, y: 0.92,
bullets: ["FIRST-LINE for acute symptomatic hyponatremia", "150 mL IV bolus over 20 min (repeat ×2 prn)", "Also: 0.5–1 mL/kg/h continuous for less severe cases", "Goal: rapid +4–6 mEq/L to abort cerebral edema"]
},
{
name: "Tolvaptan (Oral V2 Antagonist)", color: C.accent, x: 5.15, y: 0.92,
bullets: ["FDA-approved for euvolemic/hypervolemic hyponatremia (SIADH, HF, cirrhosis)", "Dose: 15 mg PO daily, may titrate to 30–60 mg", "NOT for acute/hypovolemic hyponatremia", "Must initiate in hospital; avoid in liver disease; max 30 days", "Generic available since 2020"]
},
{
name: "Conivaptan (IV V1a/V2 Antagonist)", color: C.midBlue, x: 0.3, y: 2.65,
bullets: ["IV only; hospital use for euvolemic/hypervolemic hyponatremia", "Loading: 20 mg IV over 30 min, then 20 mg/24h infusion", "Max 4 days; CYP3A4 inhibitor — multiple drug interactions", "Do not use in hypovolemic hyponatremia"]
},
{
name: "Demeclocycline / Urea", color: C.textMid, x: 5.15, y: 2.65,
bullets: ["Demeclocycline 300–600 mg BID: blocks ADH action at kidney (delayed 3–7 days)", "Urea (15–60 g/day PO): increases solute excretion; low-cost SIADH option", "Both used for chronic SIADH when fluid restriction fails", "Nephrotoxicity risk with demeclocycline in liver disease"]
},
];
drugs.forEach(d => {
bulletBox(s, d.x, d.y, 4.55, 1.62, d.name, d.bullets, d.color);
});
// Water restriction note
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 4.35, w: 9.4, h: 0.7, fill: { color: C.lightGray }, line: { color: C.accent } });
s.addText([
{ text: "Fluid Restriction: ", options: { bold: true, color: C.midBlue } },
{ text: "0.5–1 L/day for chronic SIADH. Most effective when Uosm < 500 mOsm/kg. Less effective for beer potomania/psychogenic polydipsia — diet correction is key there. ", options: { color: C.textDark } },
{ text: "Salt tablets (1–2 g TID):", options: { bold: true, color: C.midBlue } },
{ text: " oral adjunct for chronic hyponatremia management.", options: { color: C.textDark } }
], { x: 0.42, y: 4.35, w: 9.16, h: 0.7, fontSize: 10, valign: "middle", wrap: true });
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 11 — SPECIAL SCENARIOS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "Special Clinical Scenarios in Acute Hyponatremia");
const scenarios = [
{
title: "Exercise-Associated Hyponatremia (EAH)", color: C.green,
points: ["Develops during/after endurance events (4–6h exercise)", "Cause: excessive hypotonic fluid intake + non-osmotic AVP rise", "Mild: fluid restriction (allow autofluids to work)", "Severe (seizures): 3% NaCl 100 mL IV bolus × 3 over 1h — safe even when duration uncertain"]
},
{
title: "Postoperative Hyponatremia", color: C.accent,
points: ["Premenopausal women most vulnerable (estrogen effect)", "Often from hypotonic IV fluids + surgical stress AVP", "Prevention: use isotonic saline perioperatively", "Treatment: 3% NaCl for symptomatic cases; restrict free water input"]
},
{
title: "MDMA/Ecstasy-Induced", color: C.orange,
points: ["MDMA causes potent thirst + maximal ADH release", "Can develop to Na⁺ < 115 in hours — rapidly fatal", "Treatment: 3% NaCl urgently; ICU monitoring", "Women > men for encephalopathy risk"]
},
{
title: "Beer Potomania / Low Solute", color: C.midBlue,
points: ["Extreme dilution despite relatively small water intake", "Urine osmolality very low (< 100 mOsm/kg), Urine Na⁺ < 10", "Saline/diet correction → risk of RAPID overcorrection (osmotic release)", "Monitor Na⁺ q2h; have desmopressin ready to slow correction"]
},
];
scenarios.forEach((sc, i) => {
const bx = 0.3 + (i % 2) * 4.78;
const by = 0.92 + Math.floor(i / 2) * 2.28;
bulletBox(s, bx, by, 4.55, 2.12, sc.title, sc.points, sc.color);
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 12 — NEW EVIDENCE & UPDATES 2024–2026
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
contentBg(s);
slideTitle(s, "New Evidence & Guidelines Update 2024–2026");
// Top update box
s.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.92, w: 9.4, h: 0.52, fill: { color: C.darkNavy }, line: { color: C.teal } });
s.addText([
{ text: "KEY 2025 META-ANALYSIS (JAMA Intern Med 2025): ", options: { bold: true, color: C.yellow } },
{ text: "Rapid correction (≥8 mEq/L/24h) was associated with 32 fewer in-hospital deaths per 1000 patients vs slow correction — ", options: { color: C.white } },
{ text: "AND did NOT increase ODS risk (Ayus JC et al., PMID 39556338)", options: { color: C.teal, italic: true } }
], { x: 0.42, y: 0.92, w: 9.16, h: 0.52, fontSize: 10.5, valign: "middle", wrap: true });
const updates = [
{
icon: "1", title: "Reassessing the 10 mEq/L limit", color: C.accent,
text: "Current evidence challenges the strict < 10 mEq/L/24h rule for acute hyponatremia. In true acute onset (< 48h), faster correction appears safe — ODS risk is primarily a chronic hyponatremia concern. Guidelines are shifting toward symptom-based targets."
},
{
icon: "2", title: "Sodium Overcorrection Outcomes (2026)", color: C.orange,
text: "A 2026 systematic review (Schneider et al., J Gen Intern Med, PMID 41652262): Overcorrection in chronic hyponatremia remains harmful. Rescue with desmopressin + D5W is effective and should be standard protocol when Na⁺ rises > 10 mEq/L in 24h."
},
{
icon: "3", title: "Proactive Desmopressin Strategy (\"Clamp Method\")", color: C.midBlue,
text: "Administer desmopressin prophylactically in high-risk patients alongside 3% NaCl to clamp correction rate. Growing evidence supports this approach to prevent inadvertent overcorrection, especially in beer potomania, thiazide-induced, and adrenal insufficiency cases."
},
{
icon: "4", title: "Vaptans — Updated Role", color: C.green,
text: "Tolvaptan remains approved for chronic SIADH/HF. NOT for acute hyponatremia. Generic tolvaptan available since 2020. Relative contraindication in liver disease (hepatotoxicity signal from ADPKD trials at higher doses). Urea re-emerging as low-cost SIADH alternative."
},
];
updates.forEach((u, i) => {
const bx = 0.3 + (i % 2) * 4.78;
const by = 1.56 + Math.floor(i / 2) * 1.82;
s.addShape(pres.ShapeType.rect, { x: bx, y: by, w: 4.55, h: 1.65, fill: { color: C.white }, line: { color: C.lightGray }, shadow: { type: "outer", blur: 4, offset: 2, color: "C0C8D8" } });
s.addShape(pres.ShapeType.rect, { x: bx, y: by, w: 4.55, h: 0.38, fill: { color: u.color }, line: { color: u.color } });
s.addText([
{ text: u.icon + " ", options: { bold: true } },
{ text: u.title }
], { x: bx + 0.1, y: by, w: 4.35, h: 0.38, fontSize: 10.5, bold: true, color: C.white, valign: "middle" });
s.addText(u.text, { x: bx + 0.1, y: by + 0.42, w: 4.35, h: 1.18, fontSize: 9.5, color: C.textDark, valign: "top", wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 13 — SUMMARY / TAKE-HOME POINTS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// dark background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: C.darkNavy } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.08, fill: { color: C.accent } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.54, w: "100%", h: 0.08, fill: { color: C.teal } });
s.addText("Take-Home Points", {
x: 0.4, y: 0.18, w: 9.2, h: 0.6, fontSize: 24, bold: true, color: C.white, align: "left", fontFace: "Calibri"
});
s.addShape(pres.ShapeType.line, { x: 0.4, y: 0.82, w: 9.2, h: 0, line: { color: C.accent, width: 1.5 } });
const points = [
{ num: "01", text: "Acute hyponatremia (< 48h) is a medical emergency — cerebral edema risk before brain adaptation occurs" },
{ num: "02", text: "First step: confirm true hyponatremia → measure serum osmolality, urine Na⁺, urine osmolality, volume status" },
{ num: "03", text: "Symptomatic acute hyponatremia → 3% NaCl 150 mL IV bolus over 20 min (repeat ×2); target +4–6 mEq/L" },
{ num: "04", text: "Safe correction: ≤ 10–12 mEq/L in 24h (acute) | ≤ 8 mEq/L in 24h (chronic) to prevent ODS" },
{ num: "05", text: "ODS rescue: DDAVP 2–4 mcg IV + D5W 3 mL/kg/h — must respond within minutes of overcorrection" },
{ num: "06", text: "SIADH → fluid restriction + salt tablets; add tolvaptan or urea for refractory cases (not in liver disease)" },
{ num: "07", text: "2025 JAMA meta-analysis: faster correction associated with lower mortality without increased ODS — guidelines evolving" },
];
points.forEach((pt, i) => {
const by = 0.9 + i * 0.66;
// number badge
s.addShape(pres.ShapeType.rect, { x: 0.4, y: by, w: 0.52, h: 0.5, fill: { color: C.accent }, line: { color: C.accent } });
s.addText(pt.num, { x: 0.4, y: by, w: 0.52, h: 0.5, fontSize: 12, bold: true, color: C.white, align: "center" });
s.addText(pt.text, { x: 1.05, y: by, w: 8.6, h: 0.5, fontSize: 11.5, color: C.offWhite, valign: "middle", wrap: true });
});
}
// ─── WRITE FILE ──────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hyponatremia-ppt/Acute_Hyponatremia_Presentation.pptx" })
.then(() => console.log("DONE: Acute_Hyponatremia_Presentation.pptx created"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/hyponatremia-ppt && node build.js 2>&1
ls -lh /home/daytona/workspace/hyponatremia-ppt/Acute_Hyponatremia_Presentation.pptx
~/hyponatremia-ppt/build.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/hyponatremia-ppt/build.js'
~/hyponatremia-ppt/build.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/hyponatremia-ppt/build.js'
cd /home/daytona/workspace/hyponatremia-ppt && node build.js 2>&1
"shadow" in ~/hyponatremia-ppt
Acute Hyponatremia Presentation
Presentation · PPTX
| # | Slide | Key Content |
|---|---|---|
| 1 | Title | Full title, clinical definition banner |
| 2 | Definition & Classification | Severity table (mild/moderate/severe), volume classification (hypo/eu/hypervolemic) |
| 3 | Causes & Pathophysiology | Acute causes (MDMA, EAH, postop), ADH/cerebral edema mechanism |
| 4 | Clinical Evaluation | Symptom severity gradient, full diagnostic lab work-up table |
| 5 | Diagnostic Algorithm | 4-step European guideline algorithm (serum Posm → Uosm → UNa → SIADH criteria) |
| 6 | SIADH | Bartter-Schwartz criteria, causes, 4 subtypes (A-D) |
| 7 | Emergency Management | 3% NaCl bolus protocol (Step 1-3), safe correction rate table |
| 8 | Sodium Formulas | Adrogue-Madias formula, fluid comparison table, monitoring checklist |
| 9 | ODS Prevention | High-risk factors, clinical features, rescue desmopressin strategy |
| 10 | Pharmacological Tx | Hypertonic saline, tolvaptan, conivaptan, demeclocycline/urea, fluid restriction |
| 11 | Special Scenarios | EAH, postoperative, MDMA, beer potomania |
| 12 | New Evidence 2024-26 | 2025 JAMA meta-analysis (Ayus et al.), overcorrection outcomes (2026), desmopressin clamp, vaptans update |
| 13 | Take-Home Points | 7 numbered key clinical pearls |