लाव, लाव, लाव। Latest guidelines for diabetes में latest type 2। लाव।

Reading File
Finding Sources
Searching PubMed

"type 2 diabetes" AND "management guidelines"

Searching the Web

ADA Standards of Care diabetes 2025 2026 type 2 guidelines latest

Reading Web Page

https://diabetesonthenet.com/diabetes-primary-care/factsheet…

Finding Sources
Searching PubMed

"type 2 diabetes" AND "GLP-1" AND "SGLT2"

Reading File
Searching the Web

ADA 2026 type 2 diabetes glucose lowering algorithm metformin GLP-1 SGLT2 HbA1c targets cardiovascular

काफी solid data मिल गया। Ab complete, detailed answer लिखता हूं।

🩺 Type 2 Diabetes - Latest Guidelines (ADA Standards of Care 2026 + AACE 2026)


📋 DIAGNOSTIC CRITERIA (Unchanged)

TestDiabetesPrediabetes
FPG≥126 mg/dL100-125 mg/dL
2h OGTT≥200 mg/dL140-199 mg/dL
HbA1c≥6.5%5.7-6.4%
Random PG + symptoms≥200 mg/dL-

🎯 GLYCEMIC TARGETS (ADA 2026 - Updated)

General Target:
  • HbA1c < 7.0% (most non-pregnant adults)
  • Less stringent: < 8.0% (elderly, frail, limited life expectancy, hypoglycemia-prone)
  • More stringent: < 6.5% (young, short duration, no CVD, low hypo risk)
CGM Metrics (2026 New):
  • Time in Range (TIR): >70% (70-180 mg/dL)
  • Time below range: <4%
  • GMI (Glucose Management Indicator) as HbA1c surrogate
2026 Update: CGM अब diabetes diagnosis के समय से ही recommend किया जाता है - insulin, oral agents जो hypoglycemia cause करें, या जहां CGM management में help करे।

💊 GLUCOSE-LOWERING THERAPY ALGORITHM (ADA 2026)

Foundation (सभी के लिए):

  • Healthy lifestyle + DSMES (Diabetes Self-Management Education)
  • Social determinants of health (SDOH) address करना
  • Weight loss target: 5-7% baseline body weight (2026 में more aggressive)

🔴 PRIORITY 1 - Cardiovascular & Kidney Risk Reduction (CONDITION-DRIVEN)

A. ASCVD (Established/High Risk):

  • 1st Choice: GLP-1 RA with proven CV benefit (semaglutide, liraglutide, dulaglutide)
  • Alternative/Add-on: SGLT2i with proven CV benefit (empagliflozin, canagliflozin, dapagliflozin)
  • Combination SGLT2i + GLP-1 RA: Consider for additive CV + kidney benefit (Grade B)
  • Independent of HbA1c / metformin use

B. Heart Failure (HFrEF + HFpEF):

  • SGLT2 inhibitor - recommended irrespective of A1C (Grade A)
  • HFpEF specifically: GIP/GLP-1 RA (tirzepatide) या GLP-1 RA जिनका HF benefit proven हो
  • 2026 NEW: Non-steroidal MRA (finerenone) recommended in symptomatic stage C HF with EF >40%

C. Chronic Kidney Disease (CKD):

  • SGLT2 inhibitor (canagliflozin, empagliflozin, dapagliflozin) - first-line, irrespective of A1C
  • Note: glucose-lowering effect कम हो जाता है eGFR <45 पर, but cardiorenal protection continues
  • GLP-1 RA (semaglutide) - अब CKD में भी consider कर सकते हैं (2026 new)
  • 2026 NEW: RAS blocker + SGLT2i + non-steroidal MRA का simultaneous initiation consider कर सकते हैं यदि uACR ≥100 mg/g + eGFR 30-90

🟡 PRIORITY 2 - Weight Management

  • Obesity/Overweight: GLP-1 RA या dual GIP/GLP-1 RA (tirzepatide) preferred
  • MASLD/MASH: GLP-1 RA with MASH benefit + pioglitazone या tirzepatide recommended
  • 2026 NEW: Semaglutide MASLD में proven benefit - recommended

🟢 PRIORITY 3 - Glycemic Control (Glucose-Centric Path)

जब कोई specific comorbidity नहीं है:
Step 1: Metformin (still preferred initial agent)
           ↓ (यदि HbA1c target नहीं मिला, 3 months में)
Step 2: Add second agent based on:
        • Hypoglycemia risk → SGLT2i, GLP-1 RA, DPP4i, TZD
        • Cost concern → SU (sulfonylurea), TZD
        • Weight → GLP-1 RA, SGLT2i (weight loss), avoid SU/insulin
Step 3: Triple therapy
Step 4: Injectable combo (GLP-1 RA + basal insulin, या AID)
Important 2026 Shift: Metformin अब "always first" नहीं है। यदि patient को ASCVD, HF, या CKD है तो SGLT2i या GLP-1 RA directly शुरू करो - metformin के बिना भी।

💉 INSULIN THERAPY (2026 Updates)

  • Automated Insulin Delivery (AID) अब T2D insulin patients के लिए preferred delivery method है (T1D + T2D दोनों के लिए highest-grade recommendation - यह पहली बार T2D में)
  • Basal insulin पर patients जो target नहीं reach कर रहे - AID consider करो
  • नया insulin management algorithm add हुआ

🏥 COMORBIDITY-SPECIFIC HIGHLIGHTS

Blood Pressure Targets (2026 New):

PopulationTarget
High CV/renal risk<120 mmHg systolic (New!)
Most older adults<130/80 mmHg
Frail/limited life expectancy<140/90 mmHg

Dyslipidemia:

  • High-intensity statin: ASCVD established cases
  • If LDL ≥70 mg/dL on max statin: add ezetimibe → PCSK9 inhibitor

Obesity/Overweight:

  • GLP-1 RA / GIP-GLP-1 RA (tirzepatide) strongly recommended
  • Weight loss target 5-7% (more aggressive than before)

👴 OLDER ADULTS (2026 New Framework):

  • Stepwise deintensification framework added
  • Specific protein intake recommendations added
  • Geriatric syndrome screening with validated tools recommended
  • Simplified treatment pathway

📊 DRUG CLASS QUICK REFERENCE

Drug ClassExamplesKey BenefitADA Grade
SGLT2iEmpagliflozin, Dapagliflozin, CanagliflozinCV + Kidney + HFA
GLP-1 RASemaglutide, Liraglutide, DulaglutideCV + Weight + MASHA
GIP/GLP-1 RATirzepatideWeight + HFpEF + MASHA/B
MetforminMetforminGlycemia, cost-effectiveA
DPP4iSitagliptin, VildagliptinGlucose, low hypo riskA
TZDPioglitazoneMASLD/MASHB
SUGlipizide, GliclazideGlycemia, cheapB
Non-steroidal MRAFinerenoneHF + CKDA (2026 new)

🔬 KEY EVIDENCE (Recent 2024-2026):


⚡ 2026 KE TOP 5 CHANGES (याद रखो):

  1. AID (Automated Insulin Delivery) T2D में preferred insulin method बना
  2. GLP-1 RA अब CKD में भी recommended
  3. Finerenone (non-steroidal MRA) HF + CKD में add हुआ
  4. BP target <120 mmHg high CV/renal risk वालों में
  5. Weight loss target 5-7% (पहले से aggressive)
  6. CGM अब diagnosis के समय से शुरू करो
  7. Tirzepatide (GIP/GLP-1 RA) HFpEF + MASH के algorithm में formally added

Source: ADA Standards of Care in Diabetes 2026 | Lippincott Pharmacology (Textbook) | AACE 2026 Algorithm | Circulation 2024 meta-analysis

क्या आप इन सबको latest version को जो आपने मुझे दिया है, इन सबको एक PDF बनाकर दे सकते हैं? और वो सब English में हो।

Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not foun…

Running Command

mkdir -p /home/daytona/workspace/diabetes-guidelines && python3 -c "from reportl…

Writing File

~/diabetes-guidelines/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import ListFlowable, ListItem
import datetime

OUTPUT_PATH = "/home/daytona/workspace/diabetes-guidelines/T2D_Guidelines_ADA_2026.pdf"

# --- Color Palette ---
DARK_BLUE   = colors.HexColor("#1A3A5C")
MED_BLUE    = colors.HexColor("#1E6FA0")
LIGHT_BLUE  = colors.HexColor("#D6EAF8")
ACCENT_RED  = colors.HexColor("#C0392B")
ACCENT_GREEN= colors.HexColor("#1E8449")
ACCENT_AMBER= colors.HexColor("#D4AC0D")
BG_GRAY     = colors.HexColor("#F4F6F7")
BG_YELLOW   = colors.HexColor("#FDFEFE")
WHITE       = colors.white
BLACK       = colors.HexColor("#1A1A1A")
BORDER_GRAY = colors.HexColor("#BDC3C7")

doc = SimpleDocTemplate(
    OUTPUT_PATH,
    pagesize=A4,
    rightMargin=2*cm,
    leftMargin=2*cm,
    topMargin=2.2*cm,
    bottomMargin=2*cm,
    title="Type 2 Diabetes - Latest Guidelines 2026",
    author="ADA Standards of Care 2026 | AACE 2026"
)

styles = getSampleStyleSheet()
W = A4[0] - 4*cm  # usable width

# Custom styles
def make_style(name, parent='Normal', **kwargs):
    s = ParagraphStyle(name, parent=styles[parent], **kwargs)
    return s

title_style = make_style('DocTitle', fontSize=22, fontName='Helvetica-Bold',
    textColor=WHITE, alignment=TA_CENTER, spaceAfter=4, spaceBefore=4)
subtitle_style = make_style('DocSubtitle', fontSize=11, fontName='Helvetica',
    textColor=colors.HexColor("#D6EAF8"), alignment=TA_CENTER, spaceAfter=2)
datestamp_style = make_style('DateStamp', fontSize=9, fontName='Helvetica',
    textColor=colors.HexColor("#AED6F1"), alignment=TA_CENTER, spaceAfter=2)

h1_style = make_style('H1', fontSize=14, fontName='Helvetica-Bold',
    textColor=WHITE, spaceBefore=14, spaceAfter=4, leftIndent=0)
h2_style = make_style('H2', fontSize=11, fontName='Helvetica-Bold',
    textColor=DARK_BLUE, spaceBefore=10, spaceAfter=4, leftIndent=0)
h3_style = make_style('H3', fontSize=10, fontName='Helvetica-Bold',
    textColor=MED_BLUE, spaceBefore=7, spaceAfter=3, leftIndent=0)

body_style = make_style('Body', fontSize=9.5, fontName='Helvetica',
    textColor=BLACK, spaceBefore=3, spaceAfter=3, leading=14, alignment=TA_JUSTIFY)
bullet_style = make_style('Bullet', fontSize=9.5, fontName='Helvetica',
    textColor=BLACK, spaceBefore=2, spaceAfter=2, leading=13,
    leftIndent=14, firstLineIndent=-10)
bold_bullet = make_style('BoldBullet', fontSize=9.5, fontName='Helvetica-Bold',
    textColor=DARK_BLUE, spaceBefore=2, spaceAfter=2, leading=13,
    leftIndent=14, firstLineIndent=-10)
note_style = make_style('Note', fontSize=8.5, fontName='Helvetica-Oblique',
    textColor=colors.HexColor("#555555"), spaceBefore=3, spaceAfter=3, leading=12)
source_style = make_style('Source', fontSize=8, fontName='Helvetica',
    textColor=colors.HexColor("#777777"), spaceBefore=2, spaceAfter=2)
highlight_style = make_style('Highlight', fontSize=9.5, fontName='Helvetica-Bold',
    textColor=ACCENT_RED, spaceBefore=3, spaceAfter=3)

def header_block(title, color=DARK_BLUE):
    """Returns a colored header paragraph in a table for full-width background."""
    data = [[Paragraph(title, h1_style)]]
    t = Table(data, colWidths=[W])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), color),
        ('ROUNDEDCORNERS', [4]),
        ('TOPPADDING', (0,0), (-1,-1), 7),
        ('BOTTOMPADDING', (0,0), (-1,-1), 7),
        ('LEFTPADDING', (0,0), (-1,-1), 10),
        ('RIGHTPADDING', (0,0), (-1,-1), 10),
    ]))
    return t

def subheader_block(title):
    data = [[Paragraph(title, ParagraphStyle('SH', fontName='Helvetica-Bold',
        fontSize=11, textColor=WHITE, spaceBefore=0, spaceAfter=0))]]
    t = Table(data, colWidths=[W])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), MED_BLUE),
        ('TOPPADDING', (0,0), (-1,-1), 5),
        ('BOTTOMPADDING', (0,0), (-1,-1), 5),
        ('LEFTPADDING', (0,0), (-1,-1), 8),
        ('RIGHTPADDING', (0,0), (-1,-1), 8),
    ]))
    return t

def highlight_box(text, bg=LIGHT_BLUE, text_color=DARK_BLUE, bold=True):
    font = 'Helvetica-Bold' if bold else 'Helvetica'
    st = ParagraphStyle('HB', fontName=font, fontSize=9.5, textColor=text_color,
                        leading=13, spaceBefore=0, spaceAfter=0)
    data = [[Paragraph(text, st)]]
    t = Table(data, colWidths=[W])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), bg),
        ('TOPPADDING', (0,0), (-1,-1), 7),
        ('BOTTOMPADDING', (0,0), (-1,-1), 7),
        ('LEFTPADDING', (0,0), (-1,-1), 10),
        ('RIGHTPADDING', (0,0), (-1,-1), 10),
        ('BOX', (0,0), (-1,-1), 0.5, MED_BLUE),
    ]))
    return t

def make_table(headers, rows, col_widths=None, header_bg=DARK_BLUE):
    if col_widths is None:
        col_widths = [W/len(headers)] * len(headers)
    header_st = ParagraphStyle('TH', fontName='Helvetica-Bold', fontSize=9,
                               textColor=WHITE, alignment=TA_CENTER, leading=12)
    cell_st   = ParagraphStyle('TD', fontName='Helvetica', fontSize=8.8,
                               textColor=BLACK, alignment=TA_LEFT, leading=12)
    table_data = [[Paragraph(h, header_st) for h in headers]]
    for row in rows:
        table_data.append([Paragraph(str(c), cell_st) for c in row])
    t = Table(table_data, colWidths=col_widths, repeatRows=1)
    style = [
        ('BACKGROUND', (0,0), (-1,0), header_bg),
        ('GRID', (0,0), (-1,-1), 0.4, BORDER_GRAY),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, BG_GRAY]),
        ('TOPPADDING', (0,0), (-1,-1), 5),
        ('BOTTOMPADDING', (0,0), (-1,-1), 5),
        ('LEFTPADDING', (0,0), (-1,-1), 6),
        ('RIGHTPADDING', (0,0), (-1,-1), 6),
        ('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
    ]
    t.setStyle(TableStyle(style))
    return t

def bp(text):
    return Paragraph(f"&#x2022;  {text}", bullet_style)

def bb(text):
    return Paragraph(f"&#x2022;  <b>{text}</b>", bullet_style)

def bpn(label, text):
    return Paragraph(f"&#x2022;  <b>{label}:</b> {text}", bullet_style)

# ============================
# Build Story
# ============================
story = []

# ---- COVER HEADER ----
cover_data = [[
    Paragraph("TYPE 2 DIABETES MELLITUS", title_style),
    Paragraph("Latest Clinical Management Guidelines", subtitle_style),
    Paragraph("ADA Standards of Care 2026 | AACE 2026 | Evidence-Based", subtitle_style),
    Paragraph(f"Compiled: {datetime.date.today().strftime('%B %d, %Y')}", datestamp_style),
]]
cover_table = Table([[
    Paragraph("TYPE 2 DIABETES MELLITUS", title_style),
]], colWidths=[W])
# Use a multi-row header
header_rows = [
    [Paragraph("TYPE 2 DIABETES MELLITUS", title_style)],
    [Paragraph("Latest Clinical Management Guidelines", subtitle_style)],
    [Paragraph("Based on: ADA Standards of Care 2026 | AACE 2026 | Recent Evidence", subtitle_style)],
    [Paragraph(f"Compiled: {datetime.date.today().strftime('%B %d, %Y')}", datestamp_style)],
]
cover_t = Table(header_rows, colWidths=[W])
cover_t.setStyle(TableStyle([
    ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE),
    ('TOPPADDING', (0,0), (-1,-1), 6),
    ('BOTTOMPADDING', (0,0), (-1,-1), 6),
    ('LEFTPADDING', (0,0), (-1,-1), 16),
    ('RIGHTPADDING', (0,0), (-1,-1), 16),
]))
story.append(cover_t)
story.append(Spacer(1, 0.4*cm))

# ---- SECTION 1: DIAGNOSTIC CRITERIA ----
story.append(header_block("1. DIAGNOSTIC CRITERIA"))
story.append(Spacer(1, 0.2*cm))

diag_headers = ["Test", "Diabetes", "Prediabetes"]
diag_rows = [
    ["Fasting Plasma Glucose (FPG)", "≥ 126 mg/dL", "100–125 mg/dL"],
    ["2-hour OGTT", "≥ 200 mg/dL", "140–199 mg/dL"],
    ["HbA1c", "≥ 6.5%", "5.7–6.4%"],
    ["Random PG + symptoms", "≥ 200 mg/dL", "—"],
]
story.append(make_table(diag_headers, diag_rows, col_widths=[W*0.45, W*0.28, W*0.27]))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("Note: Diagnosis requires confirmation with repeat testing on a different day (except random PG with symptoms).", note_style))

# ---- SECTION 2: GLYCEMIC TARGETS ----
story.append(Spacer(1, 0.3*cm))
story.append(header_block("2. GLYCEMIC TARGETS (ADA 2026)"))
story.append(Spacer(1, 0.2*cm))

story.append(subheader_block("HbA1c Targets"))
story.append(Spacer(1, 0.1*cm))
glyc_headers = ["Population", "HbA1c Target", "Rationale"]
glyc_rows = [
    ["Most non-pregnant adults (general)", "< 7.0%", "Reduces microvascular complications"],
    ["Young, short duration, no CVD, low hypo risk", "< 6.5%", "Tighter control beneficial"],
    ["Elderly, frail, limited life expectancy", "< 8.0%", "Avoid hypoglycemia risk"],
    ["Hypoglycemia-prone patients", "< 8.0%", "Safety-first approach"],
]
story.append(make_table(glyc_headers, glyc_rows, col_widths=[W*0.38, W*0.22, W*0.40]))
story.append(Spacer(1, 0.2*cm))

story.append(subheader_block("CGM Metrics (2026 Update)"))
story.append(Spacer(1, 0.1*cm))
cgm_headers = ["CGM Metric", "Target"]
cgm_rows = [
    ["Time in Range (TIR) — 70–180 mg/dL", "> 70%"],
    ["Time Below Range (< 70 mg/dL)", "< 4%"],
    ["Glucose Management Indicator (GMI)", "Used as HbA1c surrogate"],
]
story.append(make_table(cgm_headers, cgm_rows, col_widths=[W*0.60, W*0.40]))
story.append(Spacer(1, 0.15*cm))
story.append(highlight_box(
    "2026 KEY UPDATE: CGM is now recommended from diabetes onset and any time thereafter "
    "for adults on insulin, oral agents that cause hypoglycemia, or where CGM aids management.",
    bg=LIGHT_BLUE, text_color=DARK_BLUE
))

# ---- SECTION 3: TREATMENT ALGORITHM ----
story.append(Spacer(1, 0.35*cm))
story.append(header_block("3. GLUCOSE-LOWERING THERAPY ALGORITHM (ADA 2026)"))
story.append(Spacer(1, 0.2*cm))
story.append(highlight_box(
    "FOUNDATION FOR ALL PATIENTS: Healthy lifestyle + DSMES (Diabetes Self-Management Education & Support) "
    "+ Address Social Determinants of Health (SDOH)  |  Weight loss target: 5–7% baseline body weight",
    bg=colors.HexColor("#EBF5FB"), text_color=DARK_BLUE
))
story.append(Spacer(1, 0.2*cm))

# Priority 1
story.append(subheader_block("PRIORITY 1 — Cardiovascular & Kidney Risk Reduction (Condition-Driven)"))
story.append(Spacer(1, 0.1*cm))

story.append(Paragraph("<b><font color='#C0392B'>A. Established ASCVD or High CVD Risk:</font></b>", body_style))
story.append(bpn("1st Choice", "GLP-1 RA with proven CV benefit (semaglutide, liraglutide, dulaglutide)"))
story.append(bpn("Alternative / Add-on", "SGLT2i with proven CV benefit (empagliflozin, canagliflozin, dapagliflozin)"))
story.append(bpn("Combination Therapy", "SGLT2i + GLP-1 RA — additive CV + kidney benefit (Grade B)"))
story.append(bp("Recommended INDEPENDENT of HbA1c level and metformin use (Grade A)"))
story.append(Spacer(1, 0.15*cm))

story.append(Paragraph("<b><font color='#C0392B'>B. Heart Failure (HFrEF + HFpEF):</font></b>", body_style))
story.append(bpn("SGLT2 inhibitor", "Recommended irrespective of A1C (Grade A) — empagliflozin, dapagliflozin"))
story.append(bpn("HFpEF specifically", "GIP/GLP-1 RA (tirzepatide) or GLP-1 RA with proven HF benefit"))
story.append(bpn("2026 NEW", "Non-steroidal MRA (finerenone) recommended in symptomatic Stage C HF with EF > 40%"))
story.append(Spacer(1, 0.15*cm))

story.append(Paragraph("<b><font color='#C0392B'>C. Chronic Kidney Disease (CKD):</font></b>", body_style))
story.append(bpn("1st Line", "SGLT2 inhibitor (canagliflozin, empagliflozin, dapagliflozin) — irrespective of A1C"))
story.append(bp("Note: Glucose-lowering effect reduced at eGFR < 45, but cardiorenal protection continues"))
story.append(bpn("2026 NEW", "GLP-1 RA (semaglutide) can now be considered in patients with CKD"))
story.append(bpn("2026 NEW", "Simultaneous initiation of RAS blocker + SGLT2i + non-steroidal MRA can be considered if uACR ≥ 100 mg/g + eGFR 30–90"))
story.append(Spacer(1, 0.2*cm))

# Priority 2
story.append(subheader_block("PRIORITY 2 — Weight Management"))
story.append(Spacer(1, 0.1*cm))
story.append(bpn("Obesity / Overweight", "GLP-1 RA or dual GIP/GLP-1 RA (tirzepatide) strongly preferred"))
story.append(bpn("MASLD / MASH", "GLP-1 RA with MASH benefit + pioglitazone or tirzepatide recommended"))
story.append(bpn("2026 NEW", "Semaglutide has demonstrated proven benefit in MASLD — now formally recommended"))
story.append(Spacer(1, 0.2*cm))

# Priority 3
story.append(subheader_block("PRIORITY 3 — Glycemic Control (Glucose-Centric Path)"))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph("For patients without specific cardiorenal or metabolic comorbidities:", body_style))

glyc_algo_headers = ["Step", "Agent", "Notes"]
glyc_algo_rows = [
    ["Step 1", "Metformin (preferred initial agent)", "Cost-effective, weight-neutral, well-tolerated"],
    ["Step 2", "Add 2nd agent (if HbA1c not at target at 3 months)", "Choose based on hypoglycemia risk, weight, cost"],
    ["Step 3", "Triple therapy", "SGLT2i + GLP-1 RA + Metformin most evidence-based combo"],
    ["Step 4", "Injectable combination or AID", "GLP-1 RA + Basal Insulin, or Automated Insulin Delivery"],
]
story.append(make_table(glyc_algo_headers, glyc_algo_rows, col_widths=[W*0.12, W*0.38, W*0.50]))
story.append(Spacer(1, 0.15*cm))
story.append(highlight_box(
    "IMPORTANT 2026 SHIFT: Metformin is no longer mandatory as first step for ALL patients. "
    "If patient has ASCVD, HF, or CKD — start SGLT2i or GLP-1 RA DIRECTLY, with or without metformin.",
    bg=colors.HexColor("#FDEDEC"), text_color=ACCENT_RED
))

# ---- SECTION 4: INSULIN THERAPY ----
story.append(Spacer(1, 0.35*cm))
story.append(header_block("4. INSULIN THERAPY (ADA 2026 Updates)"))
story.append(Spacer(1, 0.2*cm))
story.append(bpn("Automated Insulin Delivery (AID)", "Now the PREFERRED insulin delivery method for T2D on insulin — highest-grade recommendation (first-ever for T2D)"))
story.append(bpn("Basal insulin patients", "Consider AID if individualized glycemic goals are not being met"))
story.append(bpn("New Algorithm", "A dedicated insulin management algorithm for T1D has been added; T2D insulin guidance also updated"))
story.append(bp("AID recommendation applies to BOTH T1D and T2D patients on insulin"))

# ---- SECTION 5: DRUG CLASS REFERENCE ----
story.append(PageBreak())
story.append(header_block("5. DRUG CLASS QUICK REFERENCE"))
story.append(Spacer(1, 0.2*cm))

drug_headers = ["Drug Class", "Examples", "Key Benefit", "ADA Grade"]
drug_rows = [
    ["SGLT2 Inhibitors", "Empagliflozin\nDapagliflozin\nCanagliflozin", "CV protection + Kidney + Heart Failure", "A"],
    ["GLP-1 Receptor Agonists", "Semaglutide\nLiraglutide\nDulaglutide", "CV benefit + Weight loss + MASH", "A"],
    ["Dual GIP/GLP-1 RA", "Tirzepatide", "Weight + HFpEF + MASH + CV", "A/B"],
    ["Metformin", "Metformin IR/XR", "Glycemia, cost-effective, established safety", "A"],
    ["DPP-4 Inhibitors", "Sitagliptin\nVildagliptin\nSaxagliptin", "Glycemia, low hypoglycemia risk, CV-neutral", "A"],
    ["Thiazolidinediones (TZD)", "Pioglitazone", "MASLD/MASH benefit, insulin sensitizer", "B"],
    ["Sulfonylureas (SU)", "Glipizide\nGliclazide\nGlimepiride", "Glycemia, cost-effective", "B"],
    ["Non-steroidal MRA", "Finerenone", "Heart Failure + CKD protection (2026 NEW)", "A"],
    ["Insulin (Basal)", "Glargine\nDetemir\nDegludec", "Glucose lowering, progressive disease", "A"],
]
story.append(make_table(drug_headers, drug_rows,
    col_widths=[W*0.22, W*0.25, W*0.38, W*0.15]))

# ---- SECTION 6: COMORBIDITY MANAGEMENT ----
story.append(Spacer(1, 0.35*cm))
story.append(header_block("6. COMORBIDITY MANAGEMENT"))
story.append(Spacer(1, 0.2*cm))

story.append(subheader_block("Blood Pressure Targets (ADA 2026 — Updated)"))
story.append(Spacer(1, 0.1*cm))
bp_headers = ["Population", "BP Target"]
bp_rows = [
    ["High cardiovascular or renal risk", "< 120 mmHg systolic (2026 NEW)"],
    ["Most older adults", "< 130/80 mmHg"],
    ["Frail / Limited life expectancy / High adverse effect risk", "< 140/90 mmHg"],
]
story.append(make_table(bp_headers, bp_rows, col_widths=[W*0.55, W*0.45]))
story.append(Spacer(1, 0.2*cm))

story.append(subheader_block("Dyslipidemia Management"))
story.append(Spacer(1, 0.1*cm))
story.append(bpn("Step 1", "High-intensity statin in all patients with established ASCVD"))
story.append(bpn("Step 2 (if LDL ≥ 70 mg/dL on max statin)", "Add ezetimibe"))
story.append(bpn("Step 3 (if LDL still not at goal)", "Add PCSK9 inhibitor"))
story.append(Spacer(1, 0.15*cm))

story.append(subheader_block("MASH / MASLD (2026 Update)"))
story.append(Spacer(1, 0.1*cm))
story.append(bp("In T2D + MASLD + obesity/overweight: Consider GLP-1 RA with demonstrated MASH benefit"))
story.append(bpn("For biopsy-proven MASH or high fibrosis risk", "GLP-1 RA + pioglitazone or tirzepatide (GIP/GLP-1 RA)"))
story.append(bpn("Semaglutide", "Now formally recommended for MASLD based on proven trial data"))

# ---- SECTION 7: OLDER ADULTS ----
story.append(Spacer(1, 0.3*cm))
story.append(header_block("7. OLDER ADULTS (ADA 2026 — New Framework)"))
story.append(Spacer(1, 0.2*cm))
story.append(bpn("New stepwise framework", "Includes specific guidance on deintensifying and simplifying treatment"))
story.append(bpn("Protein intake", "Specific protein intake recommendations added for older adults with diabetes"))
story.append(bpn("Geriatric syndromes screening", "Validated screening tools and sample questions now included"))
story.append(bpn("BP targets", "Population-specific targets clearly defined (see Section 6)"))
story.append(bpn("HbA1c target", "< 8.0% acceptable; individualize based on frailty, life expectancy, and hypoglycemia risk"))

# ---- SECTION 8: TOP 7 CHANGES 2026 ----
story.append(Spacer(1, 0.3*cm))
story.append(header_block("8. TOP 7 KEY CHANGES IN ADA 2026", color=ACCENT_GREEN))
story.append(Spacer(1, 0.15*cm))

changes = [
    ("1", "Automated Insulin Delivery (AID)", "Now the preferred insulin delivery method in T2D on insulin — first-ever highest-grade recommendation for T2D."),
    ("2", "GLP-1 RA in CKD", "GLP-1 receptor agonists (especially semaglutide) can now be considered even in patients with chronic kidney disease."),
    ("3", "Finerenone (Non-steroidal MRA)", "New recommendation for symptomatic Stage C HF with EF > 40%, and in CKD with high proteinuria alongside SGLT2i."),
    ("4", "BP Target < 120 mmHg", "Aggressive new systolic BP target for patients with high cardiovascular or renal risk."),
    ("5", "Weight Loss Target 5–7%", "More aggressive lifestyle weight loss target than previous guidelines."),
    ("6", "CGM at Diagnosis", "CGM recommended from the time of diagnosis, not just when insulin is initiated."),
    ("7", "Tirzepatide in Algorithm", "GIP/GLP-1 RA (tirzepatide) formally added to the treatment algorithm for HFpEF, MASH, and obesity."),
]
change_headers = ["#", "Change", "Detail"]
change_rows = [(c[0], f"<b>{c[1]}</b>", c[2]) for c in changes]

# Rebuild with bold for 2nd column
ch_style_b = ParagraphStyle('CHB', fontName='Helvetica-Bold', fontSize=8.8, textColor=DARK_BLUE, leading=12)
ch_style_n = ParagraphStyle('CHN', fontName='Helvetica', fontSize=8.8, textColor=BLACK, leading=12)
ch_style_h = ParagraphStyle('CHH', fontName='Helvetica-Bold', fontSize=9, textColor=WHITE, alignment=TA_CENTER, leading=12)

change_table_data = [[Paragraph(h, ch_style_h) for h in ["#", "Key Change", "Detail / Impact"]]]
for i, c in enumerate(changes):
    bg = LIGHT_BLUE if i % 2 == 0 else WHITE
    change_table_data.append([
        Paragraph(c[0], ch_style_b),
        Paragraph(c[1], ch_style_b),
        Paragraph(c[2], ch_style_n),
    ])
ct = Table(change_table_data, colWidths=[W*0.06, W*0.28, W*0.66], repeatRows=1)
ct.setStyle(TableStyle([
    ('BACKGROUND', (0,0), (-1,0), ACCENT_GREEN),
    ('GRID', (0,0), (-1,-1), 0.4, BORDER_GRAY),
    ('ROWBACKGROUNDS', (0,1), (-1,-1), [LIGHT_BLUE, WHITE]),
    ('TOPPADDING', (0,0), (-1,-1), 5),
    ('BOTTOMPADDING', (0,0), (-1,-1), 5),
    ('LEFTPADDING', (0,0), (-1,-1), 6),
    ('RIGHTPADDING', (0,0), (-1,-1), 6),
    ('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(ct)

# ---- SECTION 9: KEY EVIDENCE ----
story.append(Spacer(1, 0.3*cm))
story.append(header_block("9. KEY SUPPORTING EVIDENCE (2024–2026)"))
story.append(Spacer(1, 0.15*cm))

ev_headers = ["Study / Source", "Finding", "PMID / Reference"]
ev_rows = [
    ["Neuen et al., Circulation 2024\n(Systematic Review + Meta-Analysis)",
     "GLP-1 RA + SGLT2i combination provides ADDITIVE cardiovascular and kidney benefit in T2D",
     "PMID: 39210781"],
    ["Hespanhol et al., Diabetes Care 2026\n(Systematic Review + Meta-Analysis)",
     "Automated Insulin Delivery (AID) systems demonstrate meaningful benefit in T2D — supports ADA recommendation",
     "PMID: 41940799"],
    ["ADA Standards of Care 2026\n(Diabetes Care, Jan 2026 Supplement)",
     "Comprehensive annual update: new algorithms for HFpEF, MASH, CKD, older adults, CGM, AID",
     "PMID: 41358893"],
    ["AACE Consensus Algorithm 2026",
     "Condition-centric approach: SGLT2i (dapagliflozin/empagliflozin) first-line in HF; GLP-1 RA first-line in ASCVD",
     "Endocrinol Advisor 2026"],
]
story.append(make_table(ev_headers, ev_rows, col_widths=[W*0.28, W*0.45, W*0.27]))

# ---- FOOTER / DISCLAIMER ----
story.append(Spacer(1, 0.4*cm))
story.append(HRFlowable(width=W, thickness=0.5, color=BORDER_GRAY))
story.append(Spacer(1, 0.1*cm))
disclaimer_st = ParagraphStyle('Disc', fontName='Helvetica-Oblique', fontSize=7.5,
    textColor=colors.HexColor("#888888"), leading=11, alignment=TA_CENTER)
story.append(Paragraph(
    "Sources: ADA Standards of Care in Diabetes 2026 (Diabetes Care, January 2026 Supplement) | "
    "AACE Type 2 Diabetes Algorithm 2026 | PubMed evidence (PMIDs cited above) | "
    "Lippincott Illustrated Reviews Pharmacology | Goodman & Gilman's Pharmacological Basis of Therapeutics",
    disclaimer_st))
story.append(Paragraph(
    "This document is compiled for educational and clinical reference purposes. "
    "Always verify dosing and recommendations against current institutional guidelines and individual patient factors.",
    disclaimer_st))

# ---- BUILD ----
doc.build(story)
print(f"PDF generated: {OUTPUT_PATH}")
Running Command

cd /home/daytona/workspace/diabetes-guidelines && python3 generate_pdf.py

Running Command

ls -lh /home/daytona/workspace/diabetes-guidelines/T2D_Guidelines_ADA_2026.pdf

PDF successfully generated! यहाँ download करें:

T2D Guidelines ADA 2026

PDF Document · PDF


PDF में यह सब included है (सब English में):
  1. Diagnostic Criteria - FPG, OGTT, HbA1c, Random PG table
  2. Glycemic Targets - HbA1c + CGM metrics (TIR, TBR) with population-specific targets
  3. Treatment Algorithm - Priority 1 (CV/Kidney), Priority 2 (Weight), Priority 3 (Glucose-centric) - complete with drug choices
  4. Insulin Therapy - AID as preferred method (2026 new)
  5. Drug Class Quick Reference - Full table: SGLT2i, GLP-1 RA, Tirzepatide, Metformin, DPP-4i, TZD, SU, Finerenone, Insulin
  6. Comorbidity Management - BP targets, Dyslipidemia steps, MASH/MASLD
  7. Older Adults Framework - 2026 new stepwise approach
  8. Top 7 Key Changes in ADA 2026 - Highlighted summary
  9. Key Evidence Table - PMIDs cited (Neuen 2024, Hespanhol 2026, ADA 2026)
  10. Sources & Disclaimer - Full references
This is a shared conversation. Sign in to Orris to start your own chat.