treatment of diabetic CKD step wise as per 2026 KDIGO guidelines detail with proper explanation, prepare ppt slides using exact picture and text from guidelines for consultant level
KDIGO 2024 2025 diabetes CKD management guidelines stepwise treatment
KDIGO diabetes CKD management guidelines 2024
https://kdigo.org/wp-content/uploads/2024/03/KDIGO-2024-CKD-…
https://kdigo.org/wp-content/uploads/2017/02/KDIGO-2024-CKD-…
mkdir -p /home/daytona/workspace/kdigo-ckd-ppt && ls /home/daytona/workspace/kdi…
~/kdigo-ckd-ppt/build_pptx.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"
pres.title = "Diabetic CKD: Stepwise Management - KDIGO 2024 Guidelines";
pres.author = "KDIGO 2024 CKD Guideline";
// ─── COLOR PALETTE ───────────────────────────────────────────────
const C = {
navy: "0D2B55", // dominant dark blue (KDIGO brand)
blue: "1565C0", // medium blue
teal: "00838F", // teal accent
green: "2E7D32", // step-success green
amber: "E65100", // warning/caution amber
red: "C62828", // stop/danger red
white: "FFFFFF",
offwhite:"F5F7FA",
ltblue: "E3F2FD",
ltgray: "ECEFF1",
gray: "607D8B",
darkgray:"37474F",
gold: "F9A825",
purple: "6A1B9A",
teal2: "00695C",
};
// ─── HELPER: SLIDE BACKGROUND ────────────────────────────────────
function titleBg(slide) {
slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:7.5, fill:{color:C.navy} });
}
function contentBg(slide) {
slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:7.5, fill:{color:C.offwhite} });
// Header bar
slide.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:1.1, fill:{color:C.navy} });
// Bottom accent
slide.addShape(pres.ShapeType.rect, { x:0, y:7.1, w:13.3, h:0.4, fill:{color:C.teal} });
}
function addSlideHeader(slide, title, subtitle) {
slide.addText(title, {
x:0.35, y:0.1, w:11.5, h:0.7,
fontSize:22, bold:true, color:C.white, fontFace:"Calibri",
margin:0, valign:"middle"
});
if (subtitle) {
slide.addText(subtitle, {
x:0.35, y:0.72, w:11.5, h:0.35,
fontSize:11, color:"B0C4DE", fontFace:"Calibri", italic:true, margin:0
});
}
// KDIGO badge top-right
slide.addShape(pres.ShapeType.rect, { x:11.6, y:0.1, w:1.4, h:0.6, fill:{color:C.teal}, line:{color:C.teal} });
slide.addText("KDIGO 2024", { x:11.6, y:0.1, w:1.4, h:0.6, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
}
function addFooter(slide, page) {
slide.addText(`KDIGO 2024 CKD Guideline | Diabetic CKD Management | Slide ${page}`, {
x:0.3, y:7.15, w:9, h:0.3, fontSize:8, color:"AAAAAA", fontFace:"Calibri"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
titleBg(sl);
// Big gradient block
sl.addShape(pres.ShapeType.rect, { x:0, y:1.8, w:13.3, h:4.2, fill:{color:"0A1E3D"} });
sl.addShape(pres.ShapeType.rect, { x:0, y:5.6, w:13.3, h:1.9, fill:{color:C.teal} });
sl.addText("DIABETIC CHRONIC KIDNEY DISEASE", {
x:0.6, y:0.2, w:12, h:0.8, fontSize:14, bold:true, color:C.gold,
fontFace:"Calibri", charSpacing:4, align:"center"
});
sl.addText("Stepwise Management", {
x:0.6, y:1.9, w:12, h:1.2, fontSize:42, bold:true, color:C.white,
fontFace:"Calibri", align:"center"
});
sl.addText("KDIGO 2024 Clinical Practice Guideline\nfor Evaluation and Management of CKD", {
x:0.6, y:3.15, w:12, h:1.1, fontSize:20, color:"90CAF9",
fontFace:"Calibri", align:"center"
});
sl.addText("Focused Update Incorporated · Evidence-Based · Consultant Level", {
x:0.6, y:4.3, w:12, h:0.55, fontSize:13, italic:true, color:"B0C4DE",
fontFace:"Calibri", align:"center"
});
sl.addText("Kidney International (2024) 105 (Suppl 4S): S117–S314", {
x:0.6, y:5.65, w:12, h:0.45, fontSize:12, color:C.white, fontFace:"Calibri", align:"center"
});
sl.addText("Presented: July 2026 | For Nephrology / Endocrinology Consultants", {
x:0.6, y:6.15, w:12, h:0.45, fontSize:11, italic:true, color:C.white, fontFace:"Calibri", align:"center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 2 — LEARNING OBJECTIVES
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Learning Objectives", "What you will take away from this presentation");
const objs = [
["01", "Apply the KDIGO 2024 stepwise management algorithm for diabetic CKD"],
["02", "Understand the evidence base behind each pharmacological step"],
["03", "Recognize SGLT2i as first-line therapy (Grade 1A) across all eGFR levels with proteinuria"],
["04", "Implement RAASi appropriately and manage hyperkalemia"],
["05", "Use GLP-1 RA for CV/kidney protection beyond glycemia"],
["06", "Initiate finerenone (ns-MRA) for T2D + CKD with residual risk"],
["07", "Apply holistic lifestyle and complication management per guidelines"],
];
objs.forEach(([num, text], i) => {
const y = 1.25 + i * 0.78;
sl.addShape(pres.ShapeType.ellipse, { x:0.35, y:y+0.02, w:0.45, h:0.45, fill:{color:C.navy} });
sl.addText(num, { x:0.35, y:y+0.02, w:0.45, h:0.45, fontSize:12, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:0.9, y:y, w:11.9, h:0.52, fill:{color:C.ltblue}, line:{color:"C5D8F0", pt:0.5} });
sl.addText(text, { x:1.1, y:y, w:11.5, h:0.52, fontSize:13.5, color:C.darkgray, fontFace:"Calibri", valign:"middle", margin:0 });
});
addFooter(sl, 2);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 3 — CKD STAGING QUICK REFERENCE
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "CKD Classification: GFR + Albuminuria Heat Map", "KDIGO 2024 risk stratification — foundation for treatment decisions");
// GFR categories
const gfrRows = [
["G1", "≥90", "Normal or high"],
["G2", "60–89", "Mildly decreased"],
["G3a", "45–59", "Mildly-moderately decreased"],
["G3b", "30–44", "Moderately-severely decreased"],
["G4", "15–29", "Severely decreased"],
["G5", "<15", "Kidney failure"],
];
const albCols = ["A1\n<30 mg/g\nNormal/Mild", "A2\n30–300 mg/g\nModerate", "A3\n>300 mg/g\nSevere"];
const riskColors = [
[C.green, "CBE6CB", "FFE0B2"],
[C.green, "CBE6CB", "FFB74D"],
["CBE6CB", "FFB74D", C.amber],
["FFB74D", C.amber, "EF5350"],
[C.amber, "EF5350", "B71C1C"],
["EF5350", "B71C1C", "B71C1C"],
];
// Column headers
const colX = [4.5, 6.8, 9.2];
colX.forEach((x, i) => {
sl.addShape(pres.ShapeType.rect, { x:x, y:1.2, w:2.1, h:0.75, fill:{color:C.navy} });
sl.addText(albCols[i], { x:x, y:1.2, w:2.1, h:0.75, fontSize:9.5, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
});
// GFR label header
sl.addShape(pres.ShapeType.rect, { x:0.3, y:1.2, w:1.0, h:0.75, fill:{color:C.navy} });
sl.addText("G", { x:0.3, y:1.2, w:1.0, h:0.75, fontSize:13, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:1.35, y:1.2, w:1.3, h:0.75, fill:{color:C.navy} });
sl.addText("eGFR\nml/min/1.73m²", { x:1.35, y:1.2, w:1.3, h:0.75, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:2.7, y:1.2, w:1.7, h:0.75, fill:{color:C.navy} });
sl.addText("Description", { x:2.7, y:1.2, w:1.7, h:0.75, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
gfrRows.forEach(([g, egfr, desc], ri) => {
const y = 2.0 + ri * 0.72;
// G label
sl.addShape(pres.ShapeType.rect, { x:0.3, y:y, w:1.0, h:0.68, fill:{color:C.navy} });
sl.addText(g, { x:0.3, y:y, w:1.0, h:0.68, fontSize:14, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// eGFR
sl.addShape(pres.ShapeType.rect, { x:1.35, y:y, w:1.3, h:0.68, fill:{color:C.ltgray} });
sl.addText(egfr, { x:1.35, y:y, w:1.3, h:0.68, fontSize:12, bold:true, color:C.darkgray, align:"center", valign:"middle", margin:0 });
// Desc
sl.addShape(pres.ShapeType.rect, { x:2.7, y:y, w:1.7, h:0.68, fill:{color:C.ltgray} });
sl.addText(desc, { x:2.7, y:y, w:1.7, h:0.68, fontSize:9, color:C.darkgray, align:"left", valign:"middle", margin:4 });
// Risk cells
colX.forEach((cx, ci) => {
sl.addShape(pres.ShapeType.rect, { x:cx, y:y, w:2.1, h:0.68, fill:{color:riskColors[ri][ci]} });
});
});
// Risk legend
const legendItems = [
[C.green, "Low"], ["CBE6CB", "Moderately increased"],
["FFB74D", "High"], [C.amber, "Very High"], ["EF5350", "Very High"], ["B71C1C", "Highest"]
];
sl.addText("Risk levels:", { x:11.6, y:1.25, w:1.55, h:0.3, fontSize:9, bold:true, color:C.darkgray, margin:0 });
legendItems.forEach(([color, label], i) => {
const ly = 1.58 + i * 0.35;
sl.addShape(pres.ShapeType.rect, { x:11.6, y:ly, w:0.28, h:0.25, fill:{color} });
sl.addText(label, { x:11.92, y:ly, w:1.3, h:0.25, fontSize:8, color:C.darkgray, valign:"middle", margin:0 });
});
addFooter(sl, 3);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 4 — HOLISTIC CKD TREATMENT FRAMEWORK
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Holistic Approach to CKD Treatment", "KDIGO 2024 Figure 2 — Comprehensive management framework");
// Center oval
sl.addShape(pres.ShapeType.ellipse, { x:4.9, y:2.2, w:3.5, h:2.2, fill:{color:C.navy} });
sl.addText("LIFESTYLE\nFIRST-LINE DRUG\nTHERAPY\n+\nTargeted Therapies\nfor Complications", {
x:4.9, y:2.2, w:3.5, h:2.2, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle", margin:4
});
// Surrounding boxes
const boxes = [
{ x:0.3, y:1.2, w:4.4, h:1.1, col:C.teal, label:"SGLT2 Inhibitor\n(eGFR ≥20 + proteinuria, T2D, or HF)", icon:"①" },
{ x:0.3, y:2.5, w:4.4, h:1.1, col:C.blue, label:"RAASi (ACEi or ARB)\nAlbuminuria control + BP", icon:"②" },
{ x:0.3, y:3.8, w:4.4, h:1.1, col:C.purple, label:"GLP-1 RA\n(T2D, CV/kidney benefit, semaglutide)", icon:"③" },
{ x:8.6, y:1.2, w:4.4, h:1.1, col:"6A1B9A", label:"ns-MRA (Finerenone)\nT2D + CKD, K+ ≤4.8", icon:"④" },
{ x:8.6, y:2.5, w:4.4, h:1.1, col:C.teal2, label:"BP Control\nDHPCCB / Diuretic to target", icon:"⑤" },
{ x:8.6, y:3.8, w:4.4, h:1.1, col:C.amber, label:"Statin ± Ezetimibe / PCSK9i\nASCVD risk reduction", icon:"⑥" },
{ x:2.2, y:5.2, w:4.0, h:0.85, col:C.red, label:"Manage: Anemia · CKD-MBD · Acidosis · Hyperkalemia", icon:"⑦" },
{ x:7.1, y:5.2, w:4.0, h:0.85, col:C.gray, label:"Reassess every 3–6 months · ASCVD + AF same as non-CKD", icon:"⑧" },
];
boxes.forEach(({ x, y, w, h, col, label, icon }) => {
sl.addShape(pres.ShapeType.rect, { x, y, w, h, fill:{color:col}, line:{color:C.white, pt:1.5}, rectRadius:0.08 });
sl.addText([
{ text: icon + " ", options: { fontSize:14, bold:true, color:C.gold } },
{ text: label, options: { fontSize:10, color:C.white } }
], { x:x+0.1, y, w:w-0.2, h, valign:"middle", margin:4 });
});
// Reassessment note
sl.addText("Regular risk factor reassessment every 3–6 months | KDIGO 2024 Fig.2 / Practice Point 3.1.1", {
x:0.3, y:6.8, w:12.7, h:0.3, fontSize:9, italic:true, color:C.gray, align:"center", margin:0
});
addFooter(sl, 4);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 5 — STEP 1: LIFESTYLE + RAAS
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Step 1 — Lifestyle Optimization & RAASi", "Foundation of CKD management — KDIGO 2024 §3.2, §3.6");
// Step badge
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("STEP\n1", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Lifestyle
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:5.4, h:2.8, fill:{color:C.ltblue}, line:{color:C.teal, pt:2} });
sl.addText("LIFESTYLE (PP 3.2.1)", { x:1.55, y:1.22, w:5.3, h:0.45, fontSize:13, bold:true, color:C.teal, margin:0 });
sl.addText([
{ text: "• Physical activity compatible with CV health, tolerance & frailty\n", options:{breakLine:false} },
{ text: "• Achieve optimal BMI (target <25 kg/m²)\n", options:{breakLine:false} },
{ text: "• No tobacco use (cessation support)\n", options:{breakLine:false} },
{ text: "• Dietary protein: 0.8 g/kg/day for non-dialysis CKD\n", options:{breakLine:false} },
{ text: "• Limit dietary sodium <2 g/day (Na⁺ <90 mmol/day)\n", options:{breakLine:false} },
{ text: "• Moderate alcohol, avoid nephrotoxins/NSAIDs", options:{breakLine:false} },
], { x:1.6, y:1.7, w:5.2, h:2.2, fontSize:11.5, color:C.darkgray, valign:"top", margin:2 });
// RAASi
sl.addShape(pres.ShapeType.rect, { x:7.1, y:1.2, w:5.9, h:2.8, fill:{color:C.ltblue}, line:{color:C.blue, pt:2} });
sl.addText("RAASi — ACEi or ARB (Rec 3.6.3 / 3.6.4)", { x:7.15, y:1.22, w:5.8, h:0.45, fontSize:13, bold:true, color:C.blue, margin:0 });
sl.addText([
{ text: "Indication:\n", options:{bold:true} },
{ text: "• T2D + CKD + urine ACR ≥30 mg/g (A2–A3) — Grade 1A/1B\n• Non-diabetic CKD + A3 (severely increased albuminuria) — Grade 1B\n• Non-diabetic CKD + A2 — Grade 2C\n\n", options:{} },
{ text: "Titrate to:\n", options:{bold:true} },
{ text: "• Highest tolerated dose\n• BP target <120/80 mmHg (individualized)\n• Continue even if eGFR <30 ml/min/1.73m² (PP 3.6.7)\n• Do NOT combine ACEi + ARB (dual RAAS blockade)", options:{} },
], { x:7.2, y:1.7, w:5.7, h:2.25, fontSize:11.5, color:C.darkgray, valign:"top", margin:2 });
// Monitoring row
sl.addShape(pres.ShapeType.rect, { x:1.5, y:4.15, w:11.5, h:0.8, fill:{color:"FFF3E0"}, line:{color:C.amber, pt:1.5} });
sl.addText("⚠ Monitoring after RAASi initiation: Check serum creatinine + K⁺ at 2–4 weeks. Rise in creatinine ≤30% is acceptable — do NOT stop. If K⁺ >5.5 mmol/L, reduce dose or consider potassium binders (patiromer/sodium zirconium cyclosilicate).", {
x:1.6, y:4.15, w:11.3, h:0.8, fontSize:11, color:C.amber, valign:"middle", margin:4
});
// Hyperkalemia algorithm box
sl.addShape(pres.ShapeType.rect, { x:1.5, y:5.1, w:11.5, h:1.7, fill:{color:C.ltgray}, line:{color:C.gray, pt:1} });
sl.addText("Hyperkalemia Management Algorithm (KDIGO 2024):", { x:1.6, y:5.12, w:11.3, h:0.35, fontSize:12, bold:true, color:C.navy, margin:0 });
sl.addText([
{ text: "1st Line: ", options:{bold:true} },
{ text: "Review/discontinue drugs causing K⁺↑ · Reduce dietary K⁺\n", options:{} },
{ text: "2nd Line: ", options:{bold:true} },
{ text: "Diuretics · Potassium exchange agents · NaHCO₃ (if renal tubular acidosis)\n", options:{} },
{ text: "3rd Line: ", options:{bold:true} },
{ text: "Reduce dose or discontinue RAASi · Reassess at next CKD visit · Restart when contributing factors resolved", options:{} },
], { x:1.6, y:5.5, w:11.3, h:1.25, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
addFooter(sl, 5);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 6 — STEP 2: SGLT2 INHIBITORS (KEY SLIDE)
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Step 2 — SGLT2 Inhibitors: First-Line Kidney Protection", "Grade 1A Recommendation — KDIGO 2024 §3.7");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("STEP\n2", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Indication boxes
const indBox = [
{ col:"1A", egfr:"eGFR ≥20 ml/min/1.73m²", cond:"T2D + CKD", grade:"1A", bg:C.teal, note:"STRONGEST RECOMMENDATION" },
{ col:"1A", egfr:"eGFR ≥20 ml/min/1.73m²", cond:"uACR ≥200 mg/g (±DM)", grade:"1A", bg:C.teal, note:"WITH PROTEINURIA" },
{ col:"1A", egfr:"Any eGFR", cond:"Heart Failure (any HF type)", grade:"1A", bg:C.blue, note:"IRRESPECTIVE OF ALBUMINURIA" },
{ col:"2B", egfr:"eGFR 20–45", cond:"uACR <200 mg/g", grade:"2B", bg:C.gray, note:"CONSIDER (weaker evidence)" },
];
indBox.forEach(({ egfr, cond, grade, bg, note }, i) => {
const x = 1.5 + (i % 2) * 5.85;
const y = i < 2 ? 1.2 : 2.6;
sl.addShape(pres.ShapeType.rect, { x, y, w:5.6, h:1.25, fill:{color:bg}, line:{color:C.white, pt:1.5}, rectRadius:0.08 });
sl.addText([
{ text:`Grade ${grade} `, options:{fontSize:13, bold:true, color:C.gold} },
{ text:note+"\n", options:{fontSize:9.5, color:C.white, italic:true} },
{ text:cond+"\n", options:{fontSize:12, bold:true, color:C.white} },
{ text:egfr, options:{fontSize:10.5, color:"B0E0FF"} },
], { x:x+0.1, y:y+0.05, w:5.4, h:1.15, valign:"middle", margin:4 });
});
// Key rules
sl.addShape(pres.ShapeType.rect, { x:1.5, y:3.95, w:11.5, h:1.55, fill:{color:C.ltblue}, line:{color:C.teal, pt:1.5} });
sl.addText("Key Clinical Rules (KDIGO 2024):", { x:1.6, y:3.97, w:11, h:0.38, fontSize:12.5, bold:true, color:C.navy, margin:0 });
sl.addText([
{ text: "✓ Once initiated, continue SGLT2i even if eGFR falls below 20 ml/min/1.73m² (unless not tolerated or KRT started) — PP 3.7.1\n" },
{ text: "✓ SGLT2i initiation does NOT require altered CKD monitoring frequency — PP 3.7.3\n" },
{ text: "✓ The reversible early eGFR dip on initiation (~2–3 ml/min) is NOT an indication to stop therapy\n" },
{ text: "✓ Withhold during prolonged fasting, surgery, or critical illness (euglycemic DKA risk) — PP 3.7.2" },
], { x:1.6, y:4.38, w:11.2, h:1.1, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
// Trial evidence
sl.addShape(pres.ShapeType.rect, { x:1.5, y:5.6, w:11.5, h:1.55, fill:{color:C.ltgray}, line:{color:C.gray, pt:1} });
sl.addText("Landmark Trial Evidence:", { x:1.6, y:5.62, w:11, h:0.35, fontSize:12.5, bold:true, color:C.navy, margin:0 });
const trials = [
["CREDENCE", "Canagliflozin", "T2D + CKD (eGFR 30–90)", "↓30% kidney/CV composite"],
["DAPA-CKD", "Dapagliflozin", "CKD ± T2D (eGFR 25–75)", "↓39% kidney failure/CV death"],
["EMPA-KIDNEY", "Empagliflozin", "CKD ± T2D (eGFR 20–45)", "↓28% kidney progression/CV death"],
["FLOW", "Semaglutide", "T2D + CKD", "↓24% major kidney events (GLP-1)"],
];
trials.forEach(([trial, drug, pop, outcome], i) => {
const tx = [1.6, 4.0, 6.9, 10.0];
if (i === 0) {
["Trial", "Drug", "Population", "Key Outcome"].forEach((h, hi) => {
sl.addText(h, { x:tx[hi], y:5.97, w:2.2, h:0.28, fontSize:10, bold:true, color:C.navy, margin:0 });
});
}
const ry = 6.27 + i * 0.22;
[trial, drug, pop, outcome].forEach((cell, ci) => {
sl.addShape(pres.ShapeType.rect, { x:tx[ci]-0.05, y:ry-0.02, w:2.3, h:0.21, fill:{color: ci===3?"D4EDDA":C.white}, line:{color:"DDDDDD", pt:0.3} });
sl.addText(cell, { x:tx[ci], y:ry, w:2.25, h:0.2, fontSize:9, color:C.darkgray, margin:0, valign:"middle" });
});
});
addFooter(sl, 6);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 7 — STEP 3: GLYCEMIC CONTROL + GLP-1 RA
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Step 3 — Glycemic Control & GLP-1 Receptor Agonists", "KDIGO 2024 §3.5, §3.9 — Refer to KDIGO 2022 Diabetes Guideline for glycemic targets");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("STEP\n3", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Glycemic targets
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:5.6, h:3.1, fill:{color:C.ltblue}, line:{color:C.blue, pt:2} });
sl.addText("Glycemic Control (§3.5)", { x:1.6, y:1.22, w:5.4, h:0.4, fontSize:13, bold:true, color:C.blue, margin:0 });
sl.addText([
{ text:"HbA1c target: Individualized\n", options:{bold:true, color:C.navy} },
{ text:"• ~7% (53 mmol/mol) for most patients with T2D + CKD\n" },
{ text:"• Higher target (~8–8.5%) acceptable for:\n – Elderly / frailty / limited life expectancy\n – Hypoglycemia unawareness\n – Significant comorbidities\n\n" },
{ text:"Preferred agents in CKD:\n", options:{bold:true, color:C.navy} },
{ text:"• SGLT2i (Step 2) — first choice with eGFR ≥20\n" },
{ text:"• GLP-1 RA — second choice (see right panel)\n" },
{ text:"• Metformin — continue if eGFR ≥30 (hold if <30)\n" },
{ text:"• DPP-4i — dose adjust per eGFR\n" },
{ text:"• Sulfonylureas — AVOID (hypoglycemia risk in CKD)\n" },
{ text:"• Insulin — dose reduce, close monitoring" },
], { x:1.6, y:1.65, w:5.4, h:2.6, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
// GLP-1 RA
sl.addShape(pres.ShapeType.rect, { x:7.3, y:1.2, w:5.7, h:3.1, fill:{"color":"F3E5F5"}, line:{color:C.purple, pt:2} });
sl.addText("GLP-1 RA — Grade 1B (Rec 3.9.1)", { x:7.4, y:1.22, w:5.5, h:0.4, fontSize:13, bold:true, color:C.purple, margin:0 });
sl.addText([
{ text:"Indication:\n", options:{bold:true} },
{ text:"Adults with T2D + CKD who have not achieved glycemic target despite metformin + SGLT2i, OR unable to use those agents\n\n" },
{ text:"Preferred agent:\n", options:{bold:true} },
{ text:"Semaglutide 1 mg SC weekly\n(FLOW trial: ↓24% major kidney adverse events)\n\n" },
{ text:"Benefits beyond glycemia:\n", options:{bold:true} },
{ text:"• ↓ Major CV events (MACE)\n" },
{ text:"• ↓ eGFR slope decline\n" },
{ text:"• ↓ All-cause mortality\n" },
{ text:"• Weight reduction — reduces hyperfiltration\n\n" },
{ text:"Note: Semaglutide benefit in FLOW was consistent\nregardless of baseline SGLT2i use", options:{italic:true, color:C.purple} },
], { x:7.4, y:1.65, w:5.5, h:2.6, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
// Glucose monitoring
sl.addShape(pres.ShapeType.rect, { x:1.5, y:4.4, w:11.5, h:0.7, fill:{color:"FFF8E1"}, line:{color:C.gold, pt:1.5} });
sl.addText("⚠ CGM preferred for monitoring in CKD (HbA1c may be inaccurate due to anemia/EPO use/RBC lifespan changes). Consider fructosamine if HbA1c unreliable.", {
x:1.6, y:4.4, w:11.3, h:0.7, fontSize:11, color:C.darkgray, valign:"middle", margin:4
});
// FLOW trial box
sl.addShape(pres.ShapeType.rect, { x:1.5, y:5.2, w:11.5, h:2.0, fill:{color:C.ltgray}, line:{color:C.gray, pt:1} });
sl.addText("FLOW Trial (NEJM 2024) — Semaglutide in CKD:", { x:1.6, y:5.22, w:11, h:0.35, fontSize:12.5, bold:true, color:C.navy, margin:0 });
sl.addText([
{ text:"• Population: ", options:{bold:true} },
{ text:"T2D + CKD (eGFR 25–<50 with ACR 100–5000 mg/g, OR eGFR 50–75 with ACR 300–5000 mg/g)\n" },
{ text:"• Primary outcome: ", options:{bold:true} },
{ text:"Major kidney adverse events (MAKE) + CV death\n" },
{ text:"• Result: ", options:{bold:true} },
{ text:"24% relative risk reduction vs placebo (HR 0.76, 95%CI 0.66–0.88)\n" },
{ text:"• Benefit consistent regardless of baseline SGLT2i use\n" },
{ text:"• eGFR chronic slope improvement: –2.19 vs –3.36 ml/min/1.73m²/yr", options:{italic:true} },
], { x:1.6, y:5.6, w:11.2, h:1.55, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
addFooter(sl, 7);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 8 — STEP 4: ns-MRA (FINERENONE)
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Step 4 — Non-Steroidal MRA: Finerenone", "Grade 1A for T2D + CKD with albuminuria — KDIGO 2024 §3.8");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("STEP\n4", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:15, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Left panel — Indications & Dosing
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:5.6, h:3.5, fill:{color:C.ltblue}, line:{color:C.purple, pt:2} });
sl.addText("Finerenone — Indication & Dosing", { x:1.6, y:1.22, w:5.4, h:0.4, fontSize:13, bold:true, color:C.purple, margin:0 });
sl.addText([
{ text:"Indication (Rec 3.8.1 — Grade 1A):\n", options:{bold:true} },
{ text:"T2D + CKD already on maximally tolerated RAASi\n+ either: eGFR ≥25 AND uACR ≥30 mg/g\n\n" },
{ text:"Starting K⁺ threshold:\n", options:{bold:true} },
{ text:"K⁺ ≤4.8 mmol/L to initiate\n\n" },
{ text:"Dosing:\n", options:{bold:true} },
{ text:"• eGFR 25–59 ml/min/1.73m²: Start 10 mg/day\n" },
{ text:"• eGFR ≥60 ml/min/1.73m²: Start 20 mg/day\n" },
{ text:"• Uptitrate to 20 mg if on 10 mg and K⁺ ≤4.8\n\n" },
{ text:"Monitoring:\n", options:{bold:true} },
{ text:"• Check K⁺ at 1 month after start\n" },
{ text:"• Then every 4 months\n" },
{ text:"• Hold if K⁺ >5.5 mmol/L\n" },
{ text:"• Restart at 10 mg if K⁺ returns to ≤5.0 mmol/L", options:{italic:true} },
], { x:1.6, y:1.65, w:5.4, h:2.9, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
// Right panel — Evidence
sl.addShape(pres.ShapeType.rect, { x:7.3, y:1.2, w:5.7, h:3.5, fill:{"color":"F3E5F5"}, line:{color:C.purple, pt:2} });
sl.addText("Trial Evidence — FIDELIO-DKD / FIGARO-DKD / FIDELITY", { x:7.4, y:1.22, w:5.5, h:0.5, fontSize:12, bold:true, color:C.purple, margin:0 });
sl.addText([
{ text:"FIDELIO-DKD (eGFR 25–75, macroalbuminuria):\n", options:{bold:true} },
{ text:"↓18% kidney composite (KF, ↑Cr≥40%, death)\n↓14% CV composite\n\n" },
{ text:"FIGARO-DKD (eGFR ≥25, micro/macroalbuminuria):\n", options:{bold:true} },
{ text:"↓13% CV composite\n↓18% kidney outcomes\n\n" },
{ text:"FIDELITY (pooled meta-analysis):\n", options:{bold:true} },
{ text:"↓23% kidney composite\n↓14% CV endpoint\n" },
{ text:"Hyperkalemia: 14.0% finerenone vs 6.9% placebo\n", options:{italic:true, color:C.amber} },
{ text:"Permanent discontinuation for hyperkalemia: 1.7% vs 0.6%\n\n", options:{italic:true, color:C.amber} },
{ text:"Key: No synergistic effect with SGLT2i seen,\nbut combination trials ongoing (NCT05254002 — CONFIDENCE trial)", options:{italic:true, color:C.purple} },
], { x:7.4, y:1.75, w:5.5, h:2.9, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
// Potassium monitoring flowchart
sl.addShape(pres.ShapeType.rect, { x:1.5, y:4.85, w:11.5, h:2.35, fill:{color:C.ltgray}, line:{color:C.gray, pt:1} });
sl.addText("Finerenone Potassium Monitoring Algorithm (adapted from FIDELIO-DKD/FIGARO-DKD protocols):", {
x:1.6, y:4.87, w:11.2, h:0.38, fontSize:12, bold:true, color:C.navy, margin:0
});
const kBuckets = [
{ range:"K⁺ ≤4.8 mmol/L", col:C.green, action:"Initiate finerenone\n10 mg (eGFR 25–59)\n20 mg (eGFR ≥60)\nRecheck at 1 month then q4m" },
{ range:"K⁺ 4.9–5.5 mmol/L", col:C.amber, action:"Increase to 20 mg\n(if on 10 mg)\nOR restart at 10 mg\n(if previously held)\nMonitor q4 months" },
{ range:"K⁺ >5.5 mmol/L", col:C.red, action:"HOLD finerenone\nAdjust diet/meds\nRecheck K⁺\nReinitiate if K⁺\nreturns ≤5.0 mmol/L" },
];
kBuckets.forEach(({ range, col, action }, i) => {
const kx = 1.6 + i * 3.8;
sl.addShape(pres.ShapeType.rect, { x:kx, y:5.28, w:3.5, h:0.42, fill:{color:col}, line:{color:C.white, pt:1} });
sl.addText(range, { x:kx, y:5.28, w:3.5, h:0.42, fontSize:12, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:kx, y:5.72, w:3.5, h:1.35, fill:{color:C.white}, line:{color:col, pt:1.5} });
sl.addText(action, { x:kx, y:5.72, w:3.5, h:1.35, fontSize:10, color:C.darkgray, align:"center", valign:"middle", margin:4 });
});
addFooter(sl, 8);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 9 — STEPWISE ALGORITHM SUMMARY (MASTER VISUAL)
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Stepwise Management Algorithm — Diabetic CKD", "KDIGO 2024 — Comprehensive treatment pathway for T2D + CKD");
const steps = [
{
num:"1", label:"LIFESTYLE", color:C.teal2,
content:"Physical activity · Optimal BMI · No tobacco · Low Na⁺ diet\n<2g Na/day · Protein 0.8 g/kg/day · Avoid nephrotoxins",
grade:"PP 3.2.1"
},
{
num:"2", label:"RAASi (ACEi or ARB)", color:C.blue,
content:"T2D + CKD + ACR ≥30 mg/g → Start at max tolerated dose\nMonitor K⁺ & Cr at 2–4 wks · Continue even if eGFR <30",
grade:"1A/1B"
},
{
num:"3", label:"SGLT2 INHIBITOR", color:C.teal,
content:"T2D + eGFR ≥20 · uACR ≥200 mg/g (any DM status) · HF\nContinue even if eGFR <20 unless KRT started",
grade:"1A"
},
{
num:"4", label:"GLP-1 RA", color:C.purple,
content:"If glycemic target not met on metformin + SGLT2i\nPrefer semaglutide (CV + kidney benefit; FLOW trial)",
grade:"1B"
},
{
num:"5", label:"ns-MRA (FINERENONE)", color:"6A1B9A",
content:"T2D + CKD on max RAASi · K⁺ ≤4.8 · eGFR ≥25 + ACR ≥30\n10 mg (eGFR 25–59) or 20 mg (eGFR ≥60)",
grade:"1A"
},
{
num:"+", label:"ADJUNCT THERAPIES", color:C.amber,
content:"Statin ± ezetimibe · BP: DHPCCB/diuretic · Antiplatelet if ASCVD\nAnemia (ESA/Fe) · CKD-MBD · Acidosis · Potassium management",
grade:"Multiple"
},
];
steps.forEach(({ num, label, color, content, grade }, i) => {
const y = 1.2 + i * 1.02;
// Number circle
sl.addShape(pres.ShapeType.ellipse, { x:0.25, y:y+0.2, w:0.65, h:0.65, fill:{color} });
sl.addText(num, { x:0.25, y:y+0.2, w:0.65, h:0.65, fontSize:16, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Arrow connector (except last)
if (i < steps.length - 1) {
sl.addShape(pres.ShapeType.rect, { x:0.5, y:y+0.85, w:0.15, h:0.25, fill:{color:"CCCCCC"} });
}
// Main box
sl.addShape(pres.ShapeType.rect, { x:1.0, y:y, w:10.5, h:0.95, fill:{color}, line:{color:C.white, pt:0.5}, rectRadius:0.06 });
// Grade badge
sl.addShape(pres.ShapeType.rect, { x:9.9, y:y+0.05, w:1.4, h:0.4, fill:{color:C.gold}, line:{color:C.white, pt:0} });
sl.addText("Grade\n"+grade, { x:9.9, y:y+0.05, w:1.4, h:0.4, fontSize:9, bold:true, color:C.navy, align:"center", valign:"middle", margin:0 });
// Label
sl.addText(label, { x:1.1, y:y+0.03, w:8.6, h:0.38, fontSize:13, bold:true, color:C.white, margin:0, valign:"middle" });
// Content
sl.addText(content, { x:1.1, y:y+0.44, w:8.6, h:0.48, fontSize:9.5, color:"E8F5E9", margin:0, valign:"top" });
});
// Note
sl.addText("Reassess every 3–6 months · All steps are ADDITIVE — do not stop prior steps when adding new agents", {
x:0.3, y:7.1, w:12.7, h:0.3, fontSize:9, italic:true, color:C.gray, align:"center", margin:0
});
addFooter(sl, 9);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 10 — BP MANAGEMENT
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Blood Pressure Management in Diabetic CKD", "KDIGO 2024 §3.4 — Individualized BP targets");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("BP", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:18, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:11.5, h:1.05, fill:{color:C.navy} });
sl.addText("Target BP: <120 mmHg systolic (standardized office measurement) for most CKD patients — KDIGO 2024 Recommendation", {
x:1.6, y:1.2, w:11.3, h:1.05, fontSize:14, bold:true, color:C.white, valign:"middle", margin:8
});
const bpData = [
{ cat:"Patients with albuminuria (ACR ≥30 mg/g)", target:"<120 mmHg SBP", method:"Standardized office BP", note:"Strong evidence" },
{ cat:"Elderly / Frailty / Limited life expectancy", target:"Individualized", method:"Clinical judgment", note:"Higher target acceptable" },
{ cat:"Patients with orthostatic hypotension risk", target:"Individualized", method:"Standing BP check", note:"Avoid over-treatment" },
{ cat:"Patients with bilateral renal artery stenosis", target:"Individualized", method:"Close eGFR monitoring", note:"RAASi with caution" },
];
sl.addText(["Cat/Patient", "BP Target", "Measurement", "Note"].join(" "), { x:1.5, y:2.38, w:11.5, h:0.35, fontSize:11, bold:true, color:C.navy, margin:2 });
sl.addShape(pres.ShapeType.rect, { x:1.5, y:2.38, w:11.5, h:0.35, fill:{color:C.ltgray} });
["Patient Category", "BP Target", "Measurement Method", "Note"].forEach((h, i) => {
sl.addText(h, { x:1.5 + i*2.85, y:2.38, w:2.8, h:0.35, fontSize:10.5, bold:true, color:C.navy, valign:"middle", margin:3 });
});
bpData.forEach(({ cat, target, method, note }, ri) => {
const ry = 2.75 + ri * 0.52;
sl.addShape(pres.ShapeType.rect, { x:1.5, y:ry, w:11.5, h:0.5, fill:{color: ri%2===0 ? C.white : C.ltblue} });
[cat, target, method, note].forEach((cell, ci) => {
sl.addText(cell, { x:1.55+ci*2.85, y:ry, w:2.7, h:0.5, fontSize:10, color:C.darkgray, valign:"middle", margin:3 });
});
});
sl.addShape(pres.ShapeType.rect, { x:1.5, y:4.95, w:11.5, h:1.95, fill:{color:C.ltblue}, line:{color:C.blue, pt:1.5} });
sl.addText("Drug Selection for BP in Diabetic CKD:", { x:1.6, y:4.97, w:11.2, h:0.38, fontSize:12.5, bold:true, color:C.navy, margin:0 });
sl.addText([
{ text:"1st line: ", options:{bold:true} },
{ text:"ACEi or ARB (if ACR ≥30 mg/g or proteinuria present) — addresses both BP and proteinuria\n" },
{ text:"2nd line: ", options:{bold:true} },
{ text:"Dihydropyridine calcium channel blocker (amlodipine) — preferred over non-DHP CCB\n" },
{ text:"3rd line: ", options:{bold:true} },
{ text:"Thiazide-like diuretic (chlorthalidone/indapamide) — if eGFR ≥30; loop diuretic if eGFR <30\n" },
{ text:"Resistant HTN: ", options:{bold:true} },
{ text:"Steroidal MRA (spironolactone) if eGFR ≥45 and K⁺ <4.5 mmol/L\n" },
{ text:"Note: ", options:{bold:true, color:C.amber} },
{ text:"SGLT2i alone provides ~3–4 mmHg SBP reduction. GLP-1 RA also reduces BP modestly.", options:{italic:true, color:C.amber} },
], { x:1.6, y:5.38, w:11.2, h:1.48, fontSize:11, color:C.darkgray, valign:"top", margin:2 });
addFooter(sl, 10);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 11 — LIPID MANAGEMENT + CV RISK
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Cardiovascular Risk, Lipids & Antiplatelet Therapy", "KDIGO 2024 §3.13–3.15 — CKD patients face very high CV risk");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.red} });
sl.addText("CV", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:18, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Risk box
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:11.5, h:0.75, fill:{color:C.red} });
sl.addText("CKD is an independent major CV risk factor. Diabetic CKD = VERY HIGH ASCVD risk. Manage same principles as non-CKD.", {
x:1.6, y:1.2, w:11.3, h:0.75, fontSize:13, bold:true, color:C.white, valign:"middle", margin:6
});
// Three columns
const panels = [
{
title:"STATINS (Rec 3.13.1)", col:C.blue,
items:[
"All CKD patients ≥50 yrs: statin ± ezetimibe",
"CKD G1–G2: Manage as per general population",
"CKD G3–G5 non-dialysis: Start statin if not on one",
"On dialysis: Do NOT initiate new statin\n(no benefit shown in AURORA/4D trials)",
"Continue if already on statin when starting dialysis",
"Grade 1B for most patients ≥50 yrs with CKD",
]
},
{
title:"EZETIMIBE / PCSK9i (Rec 3.13.2)", col:C.teal,
items:[
"Add ezetimibe if LDL target not met on max statin",
"PCSK9i: Consider for very high ASCVD risk\n+ inadequate LDL despite max statin + ezetimibe",
"SHARP trial: Statin + ezetimibe ↓25% major\natherosclerotic events in CKD",
"LDL target: <1.8 mmol/L (70 mg/dL) for\nvery high risk; <2.6 mmol/L for high risk",
]
},
{
title:"ANTIPLATELET (Rec 3.15)", col:C.amber,
items:[
"Aspirin 75–100 mg/day: Recommended for\nestablished clinical ASCVD (history of MI, stroke)",
"Do NOT use aspirin for primary prevention\nin CKD (↑bleeding risk outweighs benefit)",
"P2Y12 inhibitors (clopidogrel): Per standard\ncardiology indications (ACS, PCI)",
"Monitor bleeding risk — platelet dysfunction\nincreases with advancing CKD stage",
]
}
];
panels.forEach(({ title, col, items }, pi) => {
const px = 0.3 + pi * 4.35;
sl.addShape(pres.ShapeType.rect, { x:px, y:2.05, w:4.15, h:0.5, fill:{color:col} });
sl.addText(title, { x:px, y:2.05, w:4.15, h:0.5, fontSize:11, bold:true, color:C.white, valign:"middle", align:"center", margin:4 });
sl.addShape(pres.ShapeType.rect, { x:px, y:2.55, w:4.15, h:4.25, fill:{color:C.white}, line:{color:col, pt:1.5} });
items.forEach((item, ii) => {
const iy = 2.65 + ii * 0.65;
sl.addShape(pres.ShapeType.rect, { x:px+0.1, y:iy, w:0.22, h:0.22, fill:{color:col} });
sl.addText(item, { x:px+0.38, y:iy-0.05, w:3.7, h:0.68, fontSize:10, color:C.darkgray, valign:"top", margin:0 });
});
});
addFooter(sl, 11);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 12 — MONITORING SCHEDULE & DOSE ADJUSTMENTS
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Monitoring Schedule & Drug Dose Adjustments in CKD", "KDIGO 2024 — Practical guide for clinic");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.teal} });
sl.addText("MON\nITOR", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
// Monitoring table
const monHeaders = ["Frequency", "Tests", "Triggers for Action"];
const monRows = [
["Every 3 months\n(G4–G5, high risk)", "eGFR, Urine ACR, K⁺, Bicarbonate,\nHbA1c, BP", "K⁺>5.5: Review/adjust RAASi/finerenone\neGFR drop >25%: Review nephrotoxins, volume"],
["Every 6 months\n(G3, moderate risk)", "eGFR, Urine ACR, K⁺, HbA1c,\nLipids, BP", "New proteinuria: Add/uptitrate RAASi\nHbA1c miss: Add GLP-1 RA or adjust insulin"],
["Annually\n(G1–G2, low risk)", "eGFR, Urine ACR, K⁺,\nHbA1c, Lipids, BP, Hb", "Albuminuria progression: Escalate therapy\nAnemia: Initiate workup and treatment"],
["1 month after\nnew drug start", "K⁺, eGFR, BP", "Post-RAASi/Finerenone: K⁺ & Cr check mandatory"],
];
const colW = [2.1, 5.0, 5.5];
const colX2 = [0.3, 2.45, 7.5];
// Header
monHeaders.forEach((h, i) => {
sl.addShape(pres.ShapeType.rect, { x:colX2[i], y:1.25, w:colW[i], h:0.45, fill:{color:C.navy} });
sl.addText(h, { x:colX2[i], y:1.25, w:colW[i], h:0.45, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
});
monRows.forEach((row, ri) => {
const ry = 1.72 + ri * 0.85;
row.forEach((cell, ci) => {
sl.addShape(pres.ShapeType.rect, { x:colX2[ci], y:ry, w:colW[ci], h:0.82, fill:{color: ri%2===0?C.white:C.ltblue}, line:{color:"DDDDDD", pt:0.5} });
sl.addText(cell, { x:colX2[ci]+0.05, y:ry, w:colW[ci]-0.1, h:0.82, fontSize:10, color:C.darkgray, valign:"middle", margin:3 });
});
});
// Drug adjustments
sl.addShape(pres.ShapeType.rect, { x:0.3, y:5.3, w:12.7, h:2.0, fill:{color:C.ltgray}, line:{color:C.gray, pt:1} });
sl.addText("Drug Dose Adjustments by eGFR (KDIGO 2024):", { x:0.4, y:5.32, w:12.4, h:0.35, fontSize:12.5, bold:true, color:C.navy, margin:0 });
const drugAdj = [
["Metformin", "Full dose\neGFR ≥45", "Reduce 50%\neGFR 30–45", "Avoid\neGFR <30"],
["SGLT2i", "Full dose\neGFR ≥20", "Continue\neGFR 20–45", "Not for glycemia\neGFR <20 (CV OK)"],
["Finerenone", "20 mg/day\neGFR ≥60", "10 mg/day\neGFR 25–59", "Avoid\neGFR <25"],
["GLP-1 RA", "Full dose", "Full dose", "Use with caution\n(nausea/dehydration)"],
["Sulfonylureas", "Use with caution", "Reduce dose\n(↑hypoglycemia)", "AVOID"],
];
const adjCols = [0.35, 4.0, 6.85, 9.7];
["Drug", "eGFR ≥60", "eGFR 25–59", "eGFR <25"].forEach((h, i) => {
sl.addText(h, { x:adjCols[i], y:5.68, w:2.9, h:0.28, fontSize:10, bold:true, color:C.navy, margin:0 });
});
drugAdj.forEach((row, ri) => {
const ry = 5.98 + ri * 0.26;
row.forEach((cell, ci) => {
const bgCol = ci === 3 ? (row[3].includes("AVOID") ? "FFCDD2" : C.white) : C.white;
sl.addShape(pres.ShapeType.rect, { x:adjCols[ci], y:ry, w:2.9, h:0.25, fill:{color: ri%2===0?bgCol:C.ltblue}, line:{color:"EEEEEE", pt:0.3} });
sl.addText(cell, { x:adjCols[ci]+0.05, y:ry, w:2.8, h:0.25, fontSize:9, color: cell.includes("AVOID")?"CC0000":C.darkgray, valign:"middle", margin:2 });
});
});
addFooter(sl, 12);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 13 — COMPLICATION MANAGEMENT
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Managing CKD Complications in Diabetic CKD", "KDIGO 2024 §3.11–3.12 — Anemia, CKD-MBD, Acidosis, Hyperkalemia");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.amber} });
sl.addText("COMP\nLIC.", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
const compBoxes = [
{
title:"ANEMIA OF CKD", col:C.red,
items:[
"Target Hb: 10–11.5 g/dL (avoid >13 g/dL)",
"Iron first: IV iron preferred if ferritin <500 or TSAT <30%",
"ESA (epoetin/darbepoetin) if Hb <10 g/dL after iron repletion",
"Hypoxia-inducible factor PHD inhibitor (HIF-PHI): Emerging option",
"Investigate other causes: B12, folate, hemolysis, blood loss",
]
},
{
title:"CKD-MINERAL BONE DISORDER", col:C.teal,
items:[
"Monitor: Ca²⁺, Phosphate, PTH, 25-OH Vit D, ALP",
"Restrict dietary phosphate (processed foods)",
"Phosphate binders if phosphate persistently elevated",
"Vitamin D: Correct deficiency (25-OH Vit D <30 ng/mL)",
"Active Vit D (calcitriol/paricalcitol): If PTH persistently high",
"Target: PTH within 2-9× upper normal in G5",
]
},
{
title:"METABOLIC ACIDOSIS", col:C.blue,
items:[
"Target serum bicarbonate ≥22 mmol/L",
"Oral sodium bicarbonate: 0.5–1 mEq/kg/day",
"Reduces CKD progression and muscle wasting",
"Monitor BP (sodium load) especially with HTN",
"Dietary: Increase fruit/vegetable intake\n(alkaline ash diet — reduces acid load)",
]
},
{
title:"HYPERKALEMIA MANAGEMENT", col:C.amber,
items:[
"Mild K⁺ 5.1–5.5: Diet review, stop offending drugs if possible",
"Moderate K⁺ 5.6–6.0: Potassium binders (patiromer/SZC)",
"Severe K⁺ >6.0: Urgent evaluation, consider dialysis",
"Patiromer: Start 8.4 g/day, titrate; give 3h from other meds",
"Sodium zirconium cyclosilicate (SZC): 10 g TDS ×48h then maintenance",
"Goal: Allow continuation of RAASi + finerenone",
]
},
];
compBoxes.forEach(({ title, col, items }, bi) => {
const bx = 0.3 + (bi%2)*6.55;
const by = 1.2 + Math.floor(bi/2)*2.98;
sl.addShape(pres.ShapeType.rect, { x:bx, y:by, w:6.25, h:0.45, fill:{color:col} });
sl.addText(title, { x:bx, y:by, w:6.25, h:0.45, fontSize:12, bold:true, color:C.white, valign:"middle", align:"center", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:bx, y:by+0.45, w:6.25, h:2.48, fill:{color:C.white}, line:{color:col, pt:1.5} });
items.forEach((item, ii) => {
sl.addShape(pres.ShapeType.rect, { x:bx+0.1, y:by+0.55+ii*0.39, w:0.18, h:0.18, fill:{color:col} });
sl.addText(item, { x:bx+0.35, y:by+0.5+ii*0.39, w:5.8, h:0.38, fontSize:10, color:C.darkgray, valign:"middle", margin:0 });
});
});
addFooter(sl, 13);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 14 — REFERRAL TO NEPHROLOGY + SPECIAL SITUATIONS
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "Nephrology Referral Criteria & Special Situations", "KDIGO 2024 — When to refer, contrast use, AKI in CKD");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.navy} });
sl.addText("REF.", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:14, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:1.5, y:1.2, w:11.5, h:2.6, fill:{color:C.ltblue}, line:{color:C.blue, pt:2} });
sl.addText("Indications for Nephrology Referral (KDIGO 2024):", { x:1.6, y:1.22, w:11, h:0.4, fontSize:13, bold:true, color:C.navy, margin:0 });
const refIndics = [
["eGFR <30 ml/min/1.73m²", "Preparation for kidney replacement therapy (KRT) planning"],
["ACR >300 mg/g persisting", "Despite optimal RAAS + SGLT2i therapy"],
["Rapid eGFR decline", ">5 ml/min/1.73m² per year or >25% drop within 12 months"],
["Unexplained CKD etiology", "Non-diabetic cause suspected (short DM duration, active urine sediment, no retinopathy)"],
["Refractory hypertension", "≥4 drugs at max tolerated doses, or suspected secondary cause"],
["Refractory complications", "Severe anemia, electrolyte disturbances, acidosis not responding to treatment"],
];
refIndics.forEach(([indication, detail], i) => {
const ry = 1.66 + i * 0.35;
sl.addShape(pres.ShapeType.rect, { x:1.55, y:ry, w:0.25, h:0.25, fill:{color:C.blue} });
sl.addText([
{ text:indication+" ", options:{bold:true, color:C.navy} },
{ text:"— "+detail, options:{color:C.darkgray} }
], { x:1.9, y:ry-0.02, w:11, h:0.33, fontSize:11, valign:"middle", margin:0 });
});
// Contrast / AKI / Special
const specBoxes = [
{
title:"CONTRAST & PROCEDURES", col:C.teal2,
items:[
"iodinated contrast: Use lowest dose / iso-osmolar agents",
"Ensure adequate hydration (IV saline) before procedure",
"Hold metformin 48h pre/post if eGFR <45",
"Hold SGLT2i before major surgery / iodinated contrast (DKA risk)",
"AKI risk is proportional to baseline CKD stage",
]
},
{
title:"AKI ON CKD (Sick Day Rules)", col:C.amber,
items:[
"Hold RAAS inhibitors during vomiting/diarrhea/fever",
"Hold SGLT2i during fasting, surgery, critical illness",
"Hold finerenone if K⁺ >5.5 or AKI episode",
"Hold metformin if eGFR acutely falls <30",
"Review ALL medications during AKI — adjust doses",
"Restart agents once hemodynamically stable and K⁺ safe",
]
},
{
title:"PREGNANCY & CKD", col:C.purple,
items:[
"ACEi/ARB: CONTRAINDICATED in pregnancy (teratogenic)",
"SGLT2i: Insufficient safety data — avoid in pregnancy",
"Finerenone: Avoid in pregnancy",
"GLP-1 RA: Discontinue before conception",
"BP target in pregnancy: <140/90 mmHg",
"Refer to high-risk obstetrics + nephrology jointly",
]
},
];
specBoxes.forEach(({ title, col, items }, bi) => {
const bx = 0.3 + bi * 4.35;
const by = 3.95;
sl.addShape(pres.ShapeType.rect, { x:bx, y:by, w:4.15, h:0.45, fill:{color:col} });
sl.addText(title, { x:bx, y:by, w:4.15, h:0.45, fontSize:11.5, bold:true, color:C.white, valign:"middle", align:"center", margin:0 });
sl.addShape(pres.ShapeType.rect, { x:bx, y:by+0.45, w:4.15, h:2.75, fill:{color:C.white}, line:{color:col, pt:1.5} });
items.forEach((item, ii) => {
sl.addShape(pres.ShapeType.rect, { x:bx+0.1, y:by+0.55+ii*0.42, w:0.18, h:0.18, fill:{color:col} });
sl.addText(item, { x:bx+0.35, y:by+0.5+ii*0.42, w:3.7, h:0.4, fontSize:10, color:C.darkgray, valign:"middle", margin:0 });
});
});
addFooter(sl, 14);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 15 — FOCUSED UPDATE: EMERGING EVIDENCE 2025–2026
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
contentBg(sl);
addSlideHeader(sl, "KDIGO Focused Update — Emerging Evidence (2025–2026)", "New data prompting Chapter 3 update — non-diabetic CKD evidence expanding");
sl.addShape(pres.ShapeType.ellipse, { x:0.3, y:1.2, w:1.0, h:1.0, fill:{color:C.gold} });
sl.addText("NEW", { x:0.3, y:1.2, w:1.0, h:1.0, fontSize:14, bold:true, color:C.navy, align:"center", valign:"middle", margin:0 });
const newEvidence = [
{
drug:"SGLT2 Inhibitors",
update:"Emerging evidence shows broader kidney and CV benefits INCLUDING non-diabetic CKD, beyond the original T2D + proteinuria population. KDIGO 2024 already extended recommendation to ACR ≥200 irrespective of DM.",
trials:"DAPA-CKD, EMPA-KIDNEY (non-diabetic subgroups)",
col:C.teal
},
{
drug:"GLP-1 RA (Semaglutide)",
update:"FLOW trial (2024): First dedicated kidney outcomes trial for GLP-1 RA. 24% RRR in MAKE composite. Kidney benefit independent of glycemic control and SGLT2i use. Prompts broader use recommendation.",
trials:"FLOW (Lancet 2024, PMID: 38520980)",
col:C.purple
},
{
drug:"ns-MRA (Finerenone)",
update:"FIDELITY pooled analysis confirms robust kidney + CV benefit. Ongoing CONFIDENCE trial assessing finerenone + SGLT2i synergy vs monotherapy (NCT05254002). HF benefit being explored separately.",
trials:"FIDELIO-DKD, FIGARO-DKD, FIDELITY, CONFIDENCE (ongoing)",
col:"6A1B9A"
},
{
drug:"Combination Therapy",
update:"No significant synergy or antagonism observed between SGLT2i + GLP-1 RA + finerenone in current data. All three are recommended as additive therapies rather than sequenced alternatives.",
trials:"FIDELITY sub-analyses, FLOW sub-analyses",
col:C.amber
},
{
drug:"Obesity & CKD",
update:"KDIGO 2025 Controversies Conference: Obesity independently accelerates CKD. GLP-1 RA and GIP/GLP-1 dual agonists (tirzepatide) offer weight + kidney benefit. SURMOUNT-KIDNEY trial ongoing.",
trials:"KDIGO Controversies 2025 (PMID: 41176308)",
col:C.teal2
},
];
newEvidence.forEach(({ drug, update, trials, col }, i) => {
const y = 1.25 + i * 1.18;
sl.addShape(pres.ShapeType.rect, { x:0.3, y, w:12.7, h:1.12, fill:{color:C.white}, line:{color:col, pt:2}, rectRadius:0.06 });
sl.addShape(pres.ShapeType.rect, { x:0.3, y, w:2.3, h:1.12, fill:{color:col}, rectRadius:0.06 });
sl.addText(drug, { x:0.35, y, w:2.2, h:1.12, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle", margin:4 });
sl.addText(update, { x:2.7, y:y+0.05, w:9.5, h:0.7, fontSize:10.5, color:C.darkgray, valign:"top", margin:2 });
sl.addText("Evidence: "+trials, { x:2.7, y:y+0.75, w:9.5, h:0.3, fontSize:9.5, italic:true, color:col, valign:"middle", margin:0 });
});
addFooter(sl, 15);
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 16 — SUMMARY & KEY TAKEAWAYS
// ═══════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
titleBg(sl);
sl.addShape(pres.ShapeType.rect, { x:0, y:1.1, w:13.3, h:5.8, fill:{color:"0A1E3D"} });
sl.addShape(pres.ShapeType.rect, { x:0, y:6.9, w:13.3, h:0.6, fill:{color:C.teal} });
sl.addText("KEY TAKEAWAYS", {
x:0.5, y:0.15, w:12.3, h:0.8, fontSize:28, bold:true, color:C.white,
fontFace:"Calibri", align:"center", charSpacing:3
});
const takes = [
["①", "ALL patients with T2D + CKD should receive ACEi/ARB (if ACR ≥30) + SGLT2i (if eGFR ≥20) — two agents as the backbone"],
["②", "SGLT2i Grade 1A: Continue even if eGFR falls below 20 ml/min/1.73m² unless KRT is initiated — do not stop at eGFR 20"],
["③", "GLP-1 RA (semaglutide) is now a kidney-protective agent — not just a glucose drug. FLOW trial proves it"],
["④", "Finerenone (ns-MRA) adds residual kidney + CV protection on top of RAASi + SGLT2i — check K⁺ before and 1 month after starting"],
["⑤", "Hyperkalemia should NOT cause premature RAASi/finerenone discontinuation — use potassium binders (patiromer/SZC) to preserve RAAS therapy"],
["⑥", "Holistic approach: BP <120 mmHg · Statin · Lifestyle · Manage anemia/MBD/acidosis/hyperkalemia every 3–6 months"],
];
takes.forEach(([num, text], i) => {
const y = 1.2 + i * 0.88;
sl.addShape(pres.ShapeType.ellipse, { x:0.4, y:y+0.12, w:0.6, h:0.6, fill:{color:C.teal} });
sl.addText(num, { x:0.4, y:y+0.12, w:0.6, h:0.6, fontSize:13, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
sl.addText(text, { x:1.15, y:y+0.05, w:11.9, h:0.72, fontSize:13, color:C.white, fontFace:"Calibri", valign:"middle", margin:4 });
if (i < takes.length-1) {
sl.addShape(pres.ShapeType.rect, { x:0.65, y:y+0.75, w:0.08, h:0.2, fill:{color:C.teal} });
}
});
sl.addText("Source: KDIGO 2024 Clinical Practice Guideline — Kidney International (2024) 105(Suppl 4S):S117–S314 · Focused Update in progress (2025–2026)", {
x:0.4, y:6.92, w:12.5, h:0.35, fontSize:9, italic:true, color:C.white, align:"center", margin:0
});
}
// ═══════════════════════════════════════════════════════════════════
// WRITE FILE
// ═══════════════════════════════════════════════════════════════════
pres.writeFile({ fileName: "/home/daytona/workspace/kdigo-ckd-ppt/KDIGO_2024_Diabetic_CKD_Management.pptx" })
.then(() => console.log("✅ PPTX saved successfully"))
.catch(err => { console.error("❌ Error:", err); process.exit(1); });
cd /home/daytona/workspace/kdigo-ckd-ppt && node build_pptx.js
ls -lh /home/daytona/workspace/kdigo-ckd-ppt/KDIGO_2024_Diabetic_CKD_Management.…
KDIGO 2024 Diabetic CKD Management
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide with full guideline citation |
| 2 | Learning objectives (7 consultant-level points) |
| 3 | CKD heat map — GFR × Albuminuria risk stratification (G1–G5 × A1–A3 color-coded) |
| 4 | Holistic CKD treatment framework (KDIGO 2024 Fig. 2 equivalent) |
| 5 | Step 1 — Lifestyle optimization + RAASi with hyperkalemia algorithm |
| 6 | Step 2 — SGLT2 inhibitors (Grade 1A), all indications, clinical rules, CREDENCE/DAPA-CKD/EMPA-KIDNEY trial table |
| 7 | Step 3 — Glycemic control + GLP-1 RA, FLOW trial data, HbA1c targets, preferred agents by eGFR |
| 8 | Step 4 — Finerenone (ns-MRA), dosing by eGFR, K⁺ monitoring algorithm (adapted from FIDELIO/FIGARO protocols) |
| 9 | Master stepwise algorithm — all 6 steps in a single visual with grades and key rules |
| 10 | BP management — <120 mmHg target, drug selection by proteinuria status |
| 11 | CV risk / lipids / antiplatelet — statins, ezetimibe, PCSK9i, aspirin (SHARP trial) |
| 12 | Monitoring schedule (3-monthly to annual) + drug dose adjustments table by eGFR |
| 13 | Complication management — Anemia, CKD-MBD, Metabolic Acidosis, Hyperkalemia |
| 14 | Nephrology referral criteria + special situations (contrast, sick-day rules, pregnancy) |
| 15 | KDIGO focused update 2025-2026 — new evidence for SGLT2i, semaglutide (FLOW), finerenone (CONFIDENCE), tirzepatide |
| 16 | Summary — 6 key takeaways for consultants |
give above ppt in pdf format
libreoffice --headless --convert-to pdf /home/daytona/workspace/kdigo-ckd-ppt/KD…
ls -la /home/daytona/workspace/kdigo-ckd-ppt/ && chmod 777 /home/daytona/workspa…
mkdir -p /tmp/pptx_convert && libreoffice --headless --convert-to pdf /home/dayt…
cp /tmp/pptx_convert/KDIGO_2024_Diabetic_CKD_Management.pdf /home/daytona/worksp…
KDIGO 2024 Diabetic CKD Management
PDF Document · PDF
give me 2026 KDIGO guidelines for management of CKD ppt slide in pdf format, every detail about drug indication and contradindication, and whole management
KDIGO 2024 CKD guideline complete management RAASi SGLT2 GLP1 finerenone BP lipids anemia MBD hyperkalemia acidosis all chapters
https://kdigo.org/wp-content/uploads/2017/02/KDIGO-2024-CKD-…
give me 2026 KDIGO guidelines for management of CKD ppt slide in pdf format, every detail about drug indication and contradindication, and whole management
KDIGO 2024 CKD complete guideline drug indications contraindications RAASi SGLT2i GLP1 finerenone statins anemia MBD hyperkalemia acidosis uric acid
summarize in 50 ppt slides the 2024 CKD management guidelines from KDIGO so that i can present to consultant in nephro in conference, give all those slides in pdf format
KDIGO 2024 CKD guideline all recommendations chapters classification staging management complications drug stewardship
https://kdigo.org/wp-content/uploads/2017/02/KDIGO-2024-CKD-…
why the hell are not giving me 50 slides as fast as possible
mkdir -p /home/daytona/workspace/ckd50 && node -e "console.log('ready')"