Hi can you make ppt on obesity defination pathophysiology grades in Indian context , complications slide then treatment options available in exact dosages and average weight loss over time period make extensive ppt for md doctors lecture

Reading File
Reading File
Reading File
Finding Sources
Searching PubMed

obesity pharmacotherapy weight loss drugs dosage

Searching the Web

obesity classification BMI Indian ICMR guidelines 2023 2024 treatment drugs dosage weight loss

Reading File
Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC9519829

Finding Sources
Reading File
Reading File
Finding Sources
Running Command

mkdir -p /tmp/workspace/obesity-ppt && ls /tmp/workspace/obesity-ppt/

Writing File

~/obesity-ppt/create_obesity_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy
from lxml import etree

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank_layout = prs.slide_layouts[6]

# ── Colour palette ──────────────────────────────────────────────
C_NAVY   = RGBColor(0x0D, 0x2B, 0x55)   # deep navy – title bg
C_TEAL   = RGBColor(0x00, 0x7A, 0x8A)   # teal accent
C_GOLD   = RGBColor(0xF0, 0xA5, 0x00)   # gold accent
C_RED    = RGBColor(0xC0, 0x39, 0x2B)   # warning red
C_GREEN  = RGBColor(0x1A, 0x7A, 0x40)   # success green
C_WHITE  = RGBColor(0xFF, 0xFF, 0xFF)
C_LIGHT  = RGBColor(0xF0, 0xF4, 0xF8)   # very light blue-grey bg
C_DARK   = RGBColor(0x1C, 0x1C, 0x2E)   # near-black text
C_GRAY   = RGBColor(0x5A, 0x5A, 0x6A)
C_ORANGE = RGBColor(0xE6, 0x7E, 0x22)
C_PURPLE = RGBColor(0x6C, 0x3A, 0x8A)
C_LTBLUE = RGBColor(0xD6, 0xEA, 0xF8)

# ── Helper: solid fill ──────────────────────────────────────────
def solid_fill(shape, rgb):
    shape.fill.solid()
    shape.fill.fore_color.rgb = rgb

# ── Helper: add rectangle ──────────────────────────────────────
def add_rect(slide, x, y, w, h, rgb):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    solid_fill(shape, rgb)
    shape.line.fill.background()
    return shape

# ── Helper: add textbox ────────────────────────────────────────
def add_text(slide, text, x, y, w, h, size, bold=False, color=C_DARK,
             align=PP_ALIGN.LEFT, italic=False, wrap=True, font="Calibri"):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = wrap
    tf.margin_left = Pt(0)
    tf.margin_right = Pt(0)
    tf.margin_top = Pt(0)
    tf.margin_bottom = Pt(0)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.name = font
    run.font.size = Pt(size)
    run.font.bold = bold
    run.font.italic = italic
    run.font.color.rgb = color
    return tb

# ── Helper: add bulleted text frame ───────────────────────────
def add_bullets(slide, items, x, y, w, h, size=16, color=C_DARK,
                bullet_char="▸ ", bold_first=False, indent=0, font="Calibri"):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left = Pt(2)
    tf.margin_right = Pt(2)
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    first = True
    for item in items:
        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()
        p.space_before = Pt(3)
        run = p.add_run()
        run.text = bullet_char + item
        run.font.name = font
        run.font.size = Pt(size)
        run.font.color.rgb = color
        if bold_first and p == tf.paragraphs[0]:
            run.font.bold = True
    return tb

# ── Helper: slide header bar ──────────────────────────────────
def slide_header(slide, title, subtitle=None):
    add_rect(slide, 0, 0, 13.333, 1.1, C_NAVY)
    add_text(slide, title, 0.3, 0.1, 12.5, 0.7, 32, bold=True,
             color=C_WHITE, align=PP_ALIGN.LEFT, font="Calibri")
    if subtitle:
        add_text(slide, subtitle, 0.3, 0.72, 12.5, 0.35, 14,
                 color=C_GOLD, align=PP_ALIGN.LEFT, font="Calibri")
    # bottom accent line
    add_rect(slide, 0, 1.05, 13.333, 0.06, C_TEAL)
    # slide background
    add_rect(slide, 0, 1.1, 13.333, 6.4, C_LIGHT)

# ── Helper: section card ──────────────────────────────────────
def section_card(slide, title, items, x, y, w, h, bg=C_WHITE,
                 title_color=C_NAVY, item_size=14, title_size=16):
    box = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    solid_fill(box, bg)
    box.line.color.rgb = C_TEAL
    box.line.width = Pt(1.5)
    # title strip inside card
    title_strip = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(0.38))
    solid_fill(title_strip, title_color)
    title_strip.line.fill.background()
    add_text(slide, title, x+0.12, y+0.04, w-0.2, 0.32, title_size,
             bold=True, color=C_WHITE, font="Calibri")
    tb = slide.shapes.add_textbox(
        Inches(x+0.1), Inches(y+0.44), Inches(w-0.2), Inches(h-0.52))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left = Pt(1)
    tf.margin_right = Pt(1)
    tf.margin_top = Pt(1)
    tf.margin_bottom = Pt(1)
    first = True
    for item in items:
        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()
        p.space_before = Pt(2)
        run = p.add_run()
        run.text = "• " + item
        run.font.name = "Calibri"
        run.font.size = Pt(item_size)
        run.font.color.rgb = C_DARK

# ────────────────────────────────────────────────────────────────
#  SLIDE 1 – TITLE SLIDE
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
add_rect(slide, 0, 0, 13.333, 7.5, C_NAVY)
# decorative gradient strip
add_rect(slide, 0, 5.5, 13.333, 2.0, C_TEAL)
add_rect(slide, 0, 6.8, 13.333, 0.7, C_GOLD)
# title text
add_text(slide, "OBESITY", 0.6, 0.6, 12.0, 1.4, 64, bold=True,
         color=C_WHITE, align=PP_ALIGN.CENTER, font="Calibri")
add_text(slide, "Definition  •  Pathophysiology  •  Classification  •  Complications  •  Management",
         0.6, 2.0, 12.0, 0.6, 20,
         color=C_GOLD, align=PP_ALIGN.CENTER, font="Calibri")
add_text(slide, "A Comprehensive CME Lecture for MD Physicians",
         0.6, 2.65, 12.0, 0.5, 17, italic=True,
         color=RGBColor(0xB0, 0xC8, 0xE8), align=PP_ALIGN.CENTER)
add_text(slide, "Based on ESI / ICMR / WHO / Harrison's Principles of Internal Medicine",
         0.6, 3.15, 12.0, 0.45, 14,
         color=RGBColor(0x80, 0xA8, 0xD0), align=PP_ALIGN.CENTER)
add_rect(slide, 3.5, 3.85, 6.333, 0.05, C_GOLD)
add_text(slide, "July 2026", 0.6, 6.2, 12.0, 0.45, 15, bold=True,
         color=C_WHITE, align=PP_ALIGN.CENTER)

# ────────────────────────────────────────────────────────────────
#  SLIDE 2 – AGENDA
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Lecture Outline", "Overview of today's CME session")
agenda = [
    ("01", "Definition & Epidemiology",      C_TEAL),
    ("02", "Pathophysiology",                 C_NAVY),
    ("03", "Classification & BMI – Indian Cut-offs", C_TEAL),
    ("04", "Complications & Comorbidities",   C_RED),
    ("05", "Non-Pharmacological Management",  C_GREEN),
    ("06", "Pharmacotherapy – Doses & Efficacy", C_NAVY),
    ("07", "GLP-1 Agonists & New Agents",     C_PURPLE),
    ("08", "Bariatric Surgery",               C_ORANGE),
    ("09", "Treatment Algorithm",             C_TEAL),
    ("10", "Key Take-Aways",                  C_GOLD),
]
cols = 5
col_w = 13.333 / cols
for i, (num, text, col) in enumerate(agenda):
    col_idx = i % cols
    row_idx = i // cols
    cx = col_idx * col_w + 0.05
    cy = 1.3 + row_idx * 2.8
    card = slide.shapes.add_shape(1, Inches(cx), Inches(cy),
                                   Inches(col_w - 0.1), Inches(2.6))
    solid_fill(card, col)
    card.line.fill.background()
    add_text(slide, num, cx + 0.1, cy + 0.15, col_w - 0.3, 0.6, 28,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, text, cx + 0.08, cy + 0.8, col_w - 0.18, 1.6, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 3 – DEFINITION & EPIDEMIOLOGY
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Definition & Global Epidemiology",
             "WHO, Harrison's Internal Medicine, ICMR-INDIAB data")

# Definition box
add_rect(slide, 0.25, 1.25, 8.5, 1.5, C_NAVY)
add_text(slide, "WHO Definition:", 0.45, 1.28, 8.1, 0.35, 13, bold=True, color=C_GOLD)
add_text(slide,
    '"Obesity is defined as abnormal or excessive fat accumulation that presents a risk to health.  '
    'A BMI ≥ 30 kg/m² is classified as obese by WHO. For Asian populations (including Indians), '
    'lower cut-offs are recommended: BMI ≥ 23 = overweight; BMI ≥ 25 = obese."',
    0.45, 1.62, 8.1, 1.0, 13, color=C_WHITE, italic=True, wrap=True)

# ABCD concept
add_rect(slide, 0.25, 2.85, 8.5, 0.75, C_TEAL)
add_text(slide, "Adiposity-Based Chronic Disease (ABCD) — Fuster & Hurst 2024:",
         0.45, 2.88, 8.1, 0.28, 12, bold=True, color=C_WHITE)
add_text(slide,
    "A new diagnostic term encoding pathophysiology & treatment goals beyond BMI alone.",
    0.45, 3.15, 8.1, 0.38, 12, color=C_WHITE, italic=True)

# Stats cards right column
stats = [
    ("1 in 8", "adults globally is obese (WHO 2024)", C_ORANGE),
    ("27%",    "Indians have abdominal obesity (ICMR-INDIAB)", C_RED),
    ("135 M+", "Indians meet obesity criteria (BMI ≥25)", C_PURPLE),
]
for i, (val, label, col) in enumerate(stats):
    rx = 9.05
    ry = 1.25 + i * 1.8
    r = slide.shapes.add_shape(1, Inches(rx), Inches(ry), Inches(4.0), Inches(1.6))
    solid_fill(r, col)
    r.line.fill.background()
    add_text(slide, val, rx + 0.1, ry + 0.12, 3.7, 0.75, 36, bold=True,
             color=C_WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, label, rx + 0.1, ry + 0.88, 3.7, 0.6, 12,
             color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)

# Indian context
section_card(slide, "Indian-Specific Context", [
    "Metabolically Obese Normal Weight (MONW): BMI <25 but ≥2 metabolic risk factors",
    "Waist circ: ≥90 cm men, ≥80 cm women = abdominal obesity (ICMR)",
    "Indians accumulate visceral fat at lower BMI vs. Caucasians",
    "ICMR-INDIAB 2024: MONO + MOO phenotypes predict T2DM, CAD, CKD risk",
], 0.25, 3.72, 8.5, 2.65, bg=C_WHITE, title_color=C_NAVY, item_size=13)

# ────────────────────────────────────────────────────────────────
#  SLIDE 4 – PATHOPHYSIOLOGY (OVERVIEW)
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Pathophysiology of Obesity",
             "Mulholland & Greenfield Surgery; Harrison's IM 22e; Fuster & Hurst 2024")

# Central box
add_rect(slide, 5.4, 2.8, 2.5, 1.0, C_GOLD)
add_text(slide, "CHRONIC\nNUTRIENT\nEXCESS", 5.4, 2.82, 2.5, 0.95, 14,
         bold=True, color=C_DARK, align=PP_ALIGN.CENTER, wrap=True)

cells = [
    ("Adipose Tissue\nDysfunction",
     "• Adipocyte hypertrophy & hyperplasia\n• ↑ Leptin; Leptin resistance\n• ↓ Adiponectin\n• Macrophage infiltration (M1 polarisation)",
     0.2, 1.2, C_TEAL),
    ("Hypothalamus\n& Appetite",
     "• Leptin resistance → lost satiety signal\n• ↑ Ghrelin → hunger\n• Melanocortin pathway dysregulation\n• Reward pathway (dopamine) hijacking",
     4.4, 1.2, C_NAVY),
    ("Gut Microbiome",
     "• Dysbiosis promotes energy harvest\n• ↓ Short-chain fatty acids\n• Increased intestinal permeability\n• ↑ LPS → low-grade endotoxemia",
     8.6, 1.2, C_PURPLE),
    ("Endoplasmic Reticulum\n& Oxidative Stress",
     "• Chronic nutrient excess → ER stress\n• Unfolded protein response (UPR)\n• Mitochondrial dysfunction\n• ↑ ROS, NF-κB activation → inflammation",
     0.2, 4.1, C_ORANGE),
    ("Insulin Resistance\n& Lipotoxicity",
     "• Ectopic fat: liver, muscle, pancreas\n• Ceramides & DAG → IRS-1 inhibition\n• Hepatic glucose overproduction\n• β-cell exhaustion → T2DM",
     4.4, 4.1, C_RED),
    ("Adipokines &\nInflammation",
     "• ↑ TNF-α, IL-6, MCP-1, CRP\n• ↓ Adiponectin (anti-inflammatory)\n• Systemic low-grade inflammation\n• Atherosclerosis acceleration",
     8.6, 4.1, C_TEAL),
]
for (title, body, bx, by, col) in cells:
    card = slide.shapes.add_shape(1, Inches(bx), Inches(by),
                                   Inches(3.9), Inches(2.75))
    solid_fill(card, col)
    card.line.fill.background()
    add_text(slide, title, bx+0.1, by+0.08, 3.7, 0.55, 14,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, bx+0.05, by+0.6, 3.8, 0.03, RGBColor(0xFF,0xFF,0xAA))
    add_text(slide, body, bx+0.12, by+0.68, 3.7, 1.9, 12,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 5 – PATHOPHYSIOLOGY HORMONAL AXIS
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Hormonal Regulation of Body Weight",
             "Gut-brain axis, adipokines & energy balance")

hormones = [
    ("LEPTIN", "Adipocyte-derived\nAnorexigenic\n(satiety hormone)",
     "In obesity:\n↑ Levels but resistance develops\nLoss of satiety signalling",
     C_TEAL, 0.2, 1.3),
    ("GHRELIN", "Stomach-derived\nOrexigenic\n(hunger hormone)",
     "In obesity:\n↑ After weight loss → rebound\nDrives weight regain",
     C_RED, 3.4, 1.3),
    ("GLP-1 / PYY", "L-cell derived (gut)\nAnorexigenic\nIncretin effect",
     "In obesity:\n↓ Post-meal secretion\nTherapeutic target for GLP-1 agonists",
     C_GREEN, 6.6, 1.3),
    ("INSULIN", "Pancreas (β-cell)\nAnorexigenic\nCentral & peripheral",
     "In obesity:\nResistance develops (IRS-1 ↓)\nCompensatory hypersecretion",
     C_ORANGE, 9.8, 1.3),
    ("ADIPONECTIN", "Adipocyte-derived\nAnti-inflammatory\nInsulin sensitiser",
     "In obesity:\n↓↓ Low levels\nInversely correlates with BMI",
     C_PURPLE, 0.2, 4.3),
    ("CORTISOL", "HPA axis\nCatabolic, orexigenic\nCentral fat deposition",
     "In obesity:\n↑ HPA axis activation\nVisceral fat accumulation",
     C_NAVY, 3.4, 4.3),
    ("THYROID (T3/T4)", "Thermogenic\nMetabolic rate regulator",
     "In obesity:\nHypothyroidism common\nCheck TSH in all obese patients",
     C_TEAL, 6.6, 4.3),
    ("SEX HORMONES", "Estrogen / Testosterone\nFat distribution",
     "In obesity:\n↓ Testosterone in men (hypogonadism)\n↑ Estrogen (aromatisation in fat)",
     C_GOLD, 9.8, 4.3),
]
for (hname, role, effect, col, hx, hy) in hormones:
    card = slide.shapes.add_shape(1, Inches(hx), Inches(hy),
                                   Inches(3.0), Inches(2.85))
    solid_fill(card, col)
    card.line.fill.background()
    add_text(slide, hname, hx+0.1, hy+0.06, 2.8, 0.42, 15,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, role, hx+0.1, hy+0.5, 2.8, 0.72, 11,
             color=RGBColor(0xFF,0xFF,0xCC), align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, hx+0.1, hy+1.22, 2.8, 0.03, RGBColor(0xFF,0xFF,0xAA))
    add_text(slide, effect, hx+0.1, hy+1.28, 2.8, 1.4, 11,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 6 – CLASSIFICATION (INDIAN CONTEXT)
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Classification of Obesity – Indian Context",
             "ESI Guidelines 2022 | ICMR | WHO Asian cut-offs")

# Table header
add_rect(slide, 0.25, 1.2, 12.8, 0.5, C_NAVY)
headers = ["Category", "WHO BMI (kg/m²)", "Indian BMI (kg/m²)", "Waist (Men)", "Waist (Women)", "Risk Level"]
col_widths = [2.1, 2.1, 2.2, 1.8, 1.8, 2.8]
x_pos = 0.3
for i, (hdr, cw) in enumerate(zip(headers, col_widths)):
    add_text(slide, hdr, x_pos, 1.22, cw, 0.45, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER)
    x_pos += cw

rows = [
    ("Underweight",   "< 18.5",   "< 18.5",   "—",        "—",        "↑ Nutritional risk",   C_LTBLUE,   C_DARK),
    ("Normal Weight", "18.5–24.9","18.5–22.9", "< 90 cm",  "< 80 cm",  "Low",                  C_WHITE,    C_DARK),
    ("Overweight",    "25–29.9",  "23–24.9",   "90–94 cm", "80–84 cm", "Moderate",              RGBColor(0xFF,0xF0,0xD0), C_DARK),
    ("Obesity Gr. 1", "30–34.9",  "25–29.9",   "95–99 cm", "85–89 cm", "High – Treat",          RGBColor(0xFF,0xE0,0xC0), C_ORANGE),
    ("Obesity Gr. 2", "35–39.9",  "30–34.9",   "≥100 cm",  "≥90 cm",   "Very High – Pharmacotherapy", RGBColor(0xFF,0xCC,0xAA), C_RED),
    ("Obesity Gr. 3", "≥ 40",     "≥ 35",      "≥100 cm",  "≥90 cm",   "Extreme – Consider Surgery",  RGBColor(0xFF,0xAA,0xAA), C_RED),
]
for ri, (cat, who_bmi, ind_bmi, wm, wf, risk, bg, fc) in enumerate(rows):
    ry = 1.74 + ri * 0.74
    add_rect(slide, 0.25, ry, 12.8, 0.72, bg)
    vals = [cat, who_bmi, ind_bmi, wm, wf, risk]
    xp = 0.3
    for vi, (val, cw) in enumerate(zip(vals, col_widths)):
        bold = (vi == 0)
        fc2 = fc if (vi == 0 or vi == 5) else C_DARK
        add_text(slide, val, xp, ry+0.06, cw, 0.6, 13,
                 bold=bold, color=fc2, align=PP_ALIGN.CENTER, wrap=True)
        xp += cw
    # row divider
    add_rect(slide, 0.25, ry+0.7, 12.8, 0.02, C_GRAY)

# Note box
add_rect(slide, 0.25, 6.22, 12.8, 0.85, C_NAVY)
add_text(slide,
    "★  Indian (Asian) cut-offs are ~2.5 kg/m² lower than WHO due to higher body fat % at same BMI.\n"
    "   ESI 2022: Pharmacotherapy indicated at BMI >27 kg/m², OR >25 kg/m² with ≥1 comorbidity.\n"
    "   New 2-Stage AIIMS/ICMR Model (2024): Stage 1 = excess adiposity (no organ dysfunction) | Stage 2 = excess adiposity + organ/functional impairment",
    0.4, 6.26, 12.5, 0.75, 11, color=C_GOLD, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 7 – WAIST-BASED CLASSIFICATION & ADIPOSITY PHENOTYPES
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Beyond BMI – Adiposity Phenotypes & Abdominal Obesity",
             "ICMR-INDIAB 2024 | ESI Guidelines | AIIMS New Delhi")

phenotypes = [
    ("MHNO", "Metabolically Healthy\nNon-Obese",
     "BMI < 25 kg/m²\nNo metabolic abnormalities\nIdeal metabolic state",
     C_GREEN, 0.2, 1.3),
    ("MHO", "Metabolically Healthy\nObese",
     "BMI ≥ 25 kg/m²\nNo / minimal metabolic risk\n'Fat but fit' – watch carefully",
     RGBColor(0x28, 0x9E, 0x58), 3.4, 1.3),
    ("MONO", "Metabolically Obese\nNormal Weight",
     "BMI < 25 kg/m²\n≥2 metabolic risk factors\nHigh risk of T2DM, CAD, CKD",
     C_ORANGE, 6.6, 1.3),
    ("MOO", "Metabolically Obese\nObese",
     "BMI ≥ 25 kg/m²\n≥2 metabolic risk factors\nHighest morbidity & mortality",
     C_RED, 9.8, 1.3),
]
for (abbr, full, desc, col, px, py) in phenotypes:
    c = slide.shapes.add_shape(1, Inches(px), Inches(py),
                                Inches(3.0), Inches(2.2))
    solid_fill(c, col)
    c.line.fill.background()
    add_text(slide, abbr, px+0.05, py+0.08, 2.9, 0.5, 24,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, full, px+0.05, py+0.58, 2.9, 0.5, 12,
             bold=True, color=RGBColor(0xFF,0xFF,0xCC), align=PP_ALIGN.CENTER, wrap=True)
    add_text(slide, desc, px+0.1, py+1.12, 2.8, 0.95, 11,
             color=C_WHITE, wrap=True)

# abdominal obesity box
section_card(slide, "Abdominal Obesity Criteria (Indian / ICMR)",
    ["Waist circumference: MEN ≥ 90 cm | WOMEN ≥ 80 cm",
     "Waist-to-hip ratio: Men > 0.90 | Women > 0.80",
     "Waist-to-height ratio: > 0.50 (universal cut-off)",
     "Body fat %: Men > 25% | Women > 30% (by DXA)",
     "Clinical implication: Abdominal obesity is the primary driver of cardiometabolic risk in Indians",
     ],
    0.2, 3.65, 12.9, 3.55, bg=C_WHITE, title_color=C_TEAL, item_size=14)

# ────────────────────────────────────────────────────────────────
#  SLIDE 8 – COMPLICATIONS (COMPREHENSIVE)
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Complications & Comorbidities of Obesity",
             "Harrison's IM 22e | Mulholland Surgery | Fuster & Hurst Cardiology")

comps = [
    ("🫀 CARDIOVASCULAR", C_RED,
     ["Hypertension (↑ CO + RAAS activation)",
      "Coronary artery disease & ACS",
      "Heart failure (both HFpEF & HFrEF)",
      "Atrial fibrillation",
      "Dyslipidaemia (↑ TG, ↓ HDL, small dense LDL)",
      "Stroke (ischaemic & haemorrhagic)"],
     0.2, 1.2),
    ("🩺 METABOLIC", C_ORANGE,
     ["Type 2 diabetes mellitus",
      "Metabolic syndrome",
      "Non-alcoholic fatty liver (NAFLD/NASH)",
      "Hyperuricaemia & gout",
      "Polycystic ovarian syndrome (PCOS)",
      "Hypogonadism (men)"],
     4.45, 1.2),
    ("🫁 RESPIRATORY", C_NAVY,
     ["Obstructive sleep apnoea (OSA)",
      "Obesity hypoventilation syndrome",
      "Pickwickian syndrome",
      "Asthma (worsening control)",
      "Pulmonary hypertension",
      "Restrictive lung disease"],
     8.7, 1.2),
    ("🦴 MUSCULOSKELETAL", C_TEAL,
     ["Osteoarthritis (knee, hip, ankle)",
      "Low back pain",
      "Plantar fasciitis",
      "Carpal tunnel syndrome",
      "Gout & pseudogout",
      "Reduced mobility & falls"],
     0.2, 4.35),
    ("🧠 NEUROPSYCH", C_PURPLE,
     ["Depression & anxiety",
      "Pseudo-tumour cerebri (IIH)",
      "Dementia risk ↑",
      "Peripheral neuropathy",
      "Poor self-esteem, social stigma",
      "Sleep disturbance, fatigue"],
     4.45, 4.35),
    ("🩻 ONCOLOGY &\nOTHERS", C_DARK,
     ["Cancers: breast, endometrial, colon,\n  oesophageal, renal, gallbladder",
      "Cholelithiasis & cholecystitis",
      "GERD & hiatal hernia",
      "Chronic kidney disease",
      "Venous thromboembolism (DVT/PE)",
      "Skin: acanthosis nigricans, intertrigo"],
     8.7, 4.35),
]
for (title, col, items, cx, cy) in comps:
    card = slide.shapes.add_shape(1, Inches(cx), Inches(cy),
                                   Inches(4.1), Inches(2.95))
    solid_fill(card, col)
    card.line.fill.background()
    add_text(slide, title, cx+0.1, cy+0.06, 3.9, 0.45, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, cx+0.05, cy+0.5, 4.0, 0.03, RGBColor(0xFF,0xFF,0xAA))
    body = "\n".join("• " + i for i in items)
    add_text(slide, body, cx+0.12, cy+0.56, 3.9, 2.25, 11,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 9 – NON-PHARMACOLOGICAL TREATMENT
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Non-Pharmacological Management",
             "Lifestyle Intervention – The Foundation of All Obesity Treatment")

cards_np = [
    ("DIETARY THERAPY", C_GREEN, [
        "Caloric deficit: 500–750 kcal/day below TDEE",
        "Target: 0.5–1 kg weight loss per week",
        "Low-calorie diet: 1200–1500 kcal/day (women) | 1500–1800 (men)",
        "Very-low-calorie diet (VLCD): 800 kcal/day – supervised only",
        "Indian diet: ↓ refined carbs by 10–15%; ↑ protein to 1 g/kg/day",
        "Mediterranean / DASH patterns recommended",
        "Avoid sugar-sweetened beverages & ultra-processed foods",
    ], 0.2, 1.2),
    ("PHYSICAL ACTIVITY", C_TEAL, [
        "Min. 150 min/week moderate aerobic (WHO; AHA; ESI)",
        "Ideal: 200–300 min/week for weight maintenance",
        "Resistance training: ≥2 sessions/week (preserve lean mass)",
        "NEAT (non-exercise activity thermogenesis) – walk, stairs",
        "Start low, go slow: 30 min/day of brisk walking",
        "Combined aerobic + resistance superior to either alone",
        "Yoga & swimming – beneficial for MSK co-morbidities",
    ], 4.45, 1.2),
    ("BEHAVIOURAL &\nPSYCHOLOGICAL", C_PURPLE, [
        "Cognitive Behavioural Therapy (CBT) – gold standard",
        "Motivational interviewing",
        "Self-monitoring: food diary, step count, weight log",
        "Address binge-eating disorder (BED) before pharmacotherapy",
        "Mindful eating techniques",
        "Sleep optimisation (< 7 h sleep → weight gain)",
        "Stress management (cortisol → visceral fat)",
    ], 8.7, 1.2),
    ("EXPECTED OUTCOMES\nLIFESTYLE ALONE", C_NAVY, [
        "5–10% body weight loss in 6 months with intensive intervention",
        "5% weight loss reduces: HbA1c 0.5%, BP 3–8 mmHg, TG 15–30%",
        "10% loss reduces: OSA severity, joint pain, fatty liver",
        "Maintenance requires long-term behavioural support",
        "Weight regain is common without pharmacotherapy",
        "Multidisciplinary team essential: dietician + physician + psychologist",
    ], 0.2, 4.38),
    ("MEDICAL NUTRITION\nTHERAPY (MNT)", C_ORANGE, [
        "Protein: ≥ 1 g/kg ideal body weight/day (preserve lean mass)",
        "Fat: < 30% total calories; ↓ saturated fat < 10%",
        "Fibre: ≥ 25–30 g/day (increases satiety)",
        "Low glycaemic index foods preferred",
        "Meal timing: avoid late-night eating",
        "Hydration: 2–3 L water/day; avoid caloric beverages",
    ], 4.45, 4.38),
    ("DIGITAL HEALTH &\nINDIAN CONTEXT", C_TEAL, [
        "Calorie-tracking apps (MyFitnessPal, HealthifyMe)",
        "Step trackers / smartwatches",
        "Telehealth for rural access",
        "Group-based counselling (cost-effective in India)",
        "Barriers: cost, lack of safe exercise spaces, cultural food norms",
        "Traditional Indian foods can be adapted: millets, legumes, greens",
    ], 8.7, 4.38),
]
for (title, col, items, cx, cy) in cards_np:
    card = slide.shapes.add_shape(1, Inches(cx), Inches(cy),
                                   Inches(4.1), Inches(2.95))
    solid_fill(card, col)
    card.line.fill.background()
    add_text(slide, title, cx+0.1, cy+0.06, 3.9, 0.45, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, cx+0.05, cy+0.5, 4.0, 0.03, RGBColor(0xFF,0xFF,0xAA))
    body = "\n".join("• " + i for i in items)
    add_text(slide, body, cx+0.12, cy+0.56, 3.9, 2.25, 11,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 10 – PHARMACOTHERAPY OVERVIEW & INDICATIONS
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Pharmacotherapy of Obesity – Overview & Indications",
             "ESI 2022 | FDA | CDSCO | Harrison's 22e | Katzung 16e")

# Indications
add_rect(slide, 0.25, 1.2, 6.2, 2.4, C_NAVY)
add_text(slide, "INDICATIONS (ESI / ICMR Guidelines – India):", 0.4, 1.22, 5.9, 0.4, 14,
         bold=True, color=C_GOLD)
ind_text = (
    "• BMI > 27 kg/m² (Indian cut-off) OR\n"
    "• BMI > 25 kg/m² + ≥1 comorbidity (T2DM, HTN, dyslipidaemia, OSA)\n"
    "• Used alongside lifestyle modification – never monotherapy\n"
    "• Reassess at 12–16 weeks: ≥5% weight loss = continue; <5% = switch\n"
    "• Western cut-off: BMI ≥30, or ≥27 + comorbidity"
)
add_text(slide, ind_text, 0.4, 1.65, 5.9, 1.85, 13, color=C_WHITE, wrap=True)

# Status in India box
add_rect(slide, 6.6, 1.2, 6.5, 2.4, C_TEAL)
add_text(slide, "APPROVAL STATUS IN INDIA (CDSCO 2024):", 6.75, 1.22, 6.2, 0.4, 14,
         bold=True, color=C_GOLD)
india_text = (
    "✓  Orlistat 120 mg TID – Only licensed anti-obesity drug in India (CDSCO)\n"
    "✓  Metformin – Diabesity; weight-neutral to mildly reducing\n"
    "✓  Liraglutide 3 mg/day – Approved for obesity in India (Saxenda)\n"
    "✓  Semaglutide 2.4 mg/week – Approved (Wegovy, Ozempic off-label)\n"
    "⚠  Phentermine/Topiramate, Naltrexone/Bupropion – NOT approved in India\n"
    "⚠  Tirzepatide – GIP/GLP-1 dual agonist – Phase III data; pending India approval"
)
add_text(slide, india_text, 6.75, 1.65, 6.2, 1.85, 12, color=C_WHITE, wrap=True)

# Drug classes
classes = [
    ("Lipase\nInhibitor", "Orlistat", "Only ↓ fat\nabsorption",     C_GREEN,  0.2,  3.78),
    ("GLP-1 RA",          "Liraglutide\nSemaglutide", "Appetite &\nincretin",  C_TEAL,  2.85, 3.78),
    ("GIP+GLP-1",         "Tirzepatide", "Dual agonist\nbest efficacy",   C_PURPLE,5.5,  3.78),
    ("SGLT2\nInhibitor",  "Empagliflozin\nDapagliflozin", "Glucosuria\n~2–4 kg",  C_NAVY, 8.15, 3.78),
    ("Sympatho-\nMimetic", "Phentermine\n(off-label)", "Appetite\nsuppressant",   C_ORANGE,10.8, 3.78),
]
for (drug_class, drug, mech, col, dx, dy) in classes:
    dc = slide.shapes.add_shape(1, Inches(dx), Inches(dy),
                                 Inches(2.45), Inches(1.5))
    solid_fill(dc, col)
    dc.line.fill.background()
    add_text(slide, drug_class, dx+0.05, dy+0.05, 2.35, 0.35, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_text(slide, drug, dx+0.05, dy+0.4, 2.35, 0.45, 12,
             color=RGBColor(0xFF,0xFF,0xCC), align=PP_ALIGN.CENTER, wrap=True)
    add_text(slide, mech, dx+0.05, dy+0.88, 2.35, 0.55, 11,
             color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)

# Adjunct drugs
add_rect(slide, 0.2, 5.42, 12.9, 1.82, C_LIGHT)
add_rect(slide, 0.2, 5.42, 12.9, 0.38, C_DARK)
add_text(slide, "Adjunct Medications for Weight-Related Comorbidities (choose weight-friendly agents):",
         0.35, 5.44, 12.6, 0.32, 13, bold=True, color=C_GOLD)
adj_text = (
    "T2DM: Metformin (↓ 1–3 kg) | SGLT2-i: Empa/Dapa (↓ 2–4 kg) | Semaglutide 1 mg or 2.4 mg | Avoid glimepiride/insulin unless needed\n"
    "HTN: ACEI/ARB preferred (RAAS active in obesity) | CCB for peripheral oedema caution\n"
    "Dyslipidaemia: High-intensity statin | Fenofibrate for ↑TG | Avoid weight-gaining agents like thiazolidinediones, sulfonylureas, tricyclics, valproate, steroids"
)
add_text(slide, adj_text, 0.35, 5.84, 12.6, 1.35, 12, color=C_DARK, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 11 – PHARMACOTHERAPY DETAILED TABLE
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Anti-Obesity Drug Reference Table",
             "Exact dosages, mechanisms, efficacy & side-effect profile")

# Table
col_headers = ["Drug", "Dose", "Mechanism", "Avg. Weight Loss", "Key Side Effects", "Contraindications"]
col_w2 = [1.8, 2.1, 2.1, 1.7, 2.5, 2.8]

add_rect(slide, 0.2, 1.2, 13.0, 0.52, C_NAVY)
xp2 = 0.25
for hdr, cw in zip(col_headers, col_w2):
    add_text(slide, hdr, xp2, 1.22, cw, 0.48, 12, bold=True,
             color=C_WHITE, align=PP_ALIGN.CENTER)
    xp2 += cw

drug_rows = [
    ("Orlistat\n(Xenical)", "120 mg TID\n(before meals)\n60 mg OTC",
     "GI lipase inhibitor\n↓ fat absorption 30%",
     "2–3 kg over placebo\nat 12 months",
     "Steatorrhea, faecal urgency, flatus, fat-soluble vit deficiency (A,D,E,K)",
     "Chronic malabsorption, cholestasis",
     C_GREEN),
    ("Liraglutide\n(Saxenda)", "0.6→3 mg SC/day\n(escalate weekly,\ntarget 3 mg/day)",
     "GLP-1 receptor agonist\n↑ satiety, ↓ gastric emptying, ↓ appetite",
     "~5–6% at 1 year\n(5.8 kg vs 1.9 kg placebo – SCALE trial)",
     "Nausea, vomiting, diarrhoea, injection-site reactions, ↑ HR",
     "MEN2, medullary thyroid carcinoma, pancreatitis history, IBD",
     C_TEAL),
    ("Semaglutide\n(Wegovy / Ozempic)", "0.25 mg/wk → 2.4 mg/wk SC\n(escalate over 16 wks)",
     "GLP-1 receptor agonist\n(more potent than liraglutide)\nCentral appetite suppression",
     "~15–16% at 68 weeks\n(STEP-1 trial: 15.3% vs 2.4%)\nMeta-analysis 2024: 12.4% mean",
     "Nausea (44%), vomiting, diarrhoea, constipation, headache",
     "MEN2, medullary thyroid Ca, pancreatitis, gastroparesis",
     C_TEAL),
    ("Tirzepatide\n(Mounjaro/Zepbound)", "2.5 mg/wk → 15 mg/wk SC\n(escalate monthly)",
     "Dual GIP + GLP-1 agonist\nMost potent current agent",
     "~20–22% at 72 weeks\n(SURMOUNT-1: 20.9% at 15 mg)\n2024 meta-analysis confirmed",
     "Nausea (33%), vomiting, diarrhoea, constipation, ↑ amylase",
     "MEN2, medullary thyroid Ca; Not yet approved for obesity in India",
     C_PURPLE),
    ("Phentermine/\nTopiramate-ER\n(Qsymia)", "3.75/23 mg → 15/92 mg oral daily",
     "Sympathomimetic amine + GABA agonist\nAppetite suppression + ↑ satiety",
     "~7–8% at 1 year\n(CONQUER trial: 8.1–10.2%)",
     "Tachycardia, dry mouth, constipation, cognitive impairment, teratogenicity",
     "Hyperthyroidism, MAOIs, glaucoma, pregnancy; NOT approved India",
     C_ORANGE),
    ("Naltrexone/\nBupropion SR\n(Contrave)", "8/90 mg BD → 16/180 mg BD\n(titrate over 4 weeks)",
     "Opioid antagonist + dopamine/NE\nreuptake inhibitor; ↓ appetite & craving",
     "~3–5% at 1 year\n(COR-1 trial: 4.8% vs 1.8%)",
     "Nausea (31%), headache, constipation, ↑ BP/HR, seizure risk",
     "Seizure disorder, uncontrolled HTN, opioid use, MAOIs; NOT approved India",
     C_ORANGE),
    ("Orlistat 60 mg\n(OTC – Alli)", "60 mg TID\n(before meals)",
     "Same as Orlistat 120 mg\nLower dose",
     "~3% vs placebo\nat 6 months",
     "Same GI side effects but milder; Requires low-fat diet",
     "Same as Orlistat 120 mg",
     C_GREEN),
]

for ri, (dname, dose, mech, efficacy, se, ci, col) in enumerate(drug_rows):
    ry = 1.75 + ri * 0.77
    bg_color = C_WHITE if ri % 2 == 0 else C_LTBLUE
    add_rect(slide, 0.2, ry, 13.0, 0.74, bg_color)
    vals = [dname, dose, mech, efficacy, se, ci]
    xp3 = 0.25
    for vi, (val, cw) in enumerate(zip(vals, col_w2)):
        fc3 = col if vi == 0 else C_DARK
        is_bold = (vi == 0)
        add_text(slide, val, xp3, ry+0.04, cw, 0.66, 10,
                 bold=is_bold, color=fc3, align=PP_ALIGN.LEFT, wrap=True)
        xp3 += cw
    add_rect(slide, 0.2, ry+0.72, 13.0, 0.02, C_GRAY)

# footer note
add_rect(slide, 0.2, 7.1, 13.0, 0.32, C_NAVY)
add_text(slide,
    "Note: Only Orlistat 120 mg and GLP-1 agonists (Liraglutide/Semaglutide) are currently approved for obesity in India (CDSCO). "
    "Tirzepatide: FDA-approved (Zepbound) 2023; India approval pending.",
    0.35, 7.12, 12.7, 0.26, 10, color=C_GOLD, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 12 – WEIGHT LOSS OVER TIME (DRUGS COMPARISON)
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Comparative Weight Loss Over Time – Drug vs. Intervention",
             "Systematic Reviews & RCT data 2023–2024 | NEJM | Lancet")

# Timeline chart (visual bar representation)
drugs_tl = [
    ("Lifestyle Only",      2,  5,  5,  C_GRAY,   "5% at 1 yr"),
    ("Orlistat 120 mg TID", 3,  8,  9,  C_GREEN,  "8% at 1 yr"),
    ("Liraglutide 3 mg/d",  6, 12, 13,  C_TEAL,   "~6% at 1 yr"),
    ("Semaglutide 2.4 mg/w",10,18, 16,  C_NAVY,   "~15% at 68 wks"),
    ("Tirzepatide 15 mg/w", 12,22, 21,  C_PURPLE, "~21% at 72 wks"),
    ("Bariatric Surgery",   25,35, 30,  C_RED,    "~25–35% at 1 yr"),
]

add_rect(slide, 0.2, 1.2, 12.9, 0.4, C_DARK)
time_labels = ["6 months", "12 months", "18–24 months", "Notes"]
tl_widths = [2.4, 2.4, 2.4, 5.7]
txp = 0.3
for tl, tw in zip(time_labels, tl_widths):
    add_text(slide, tl, txp, 1.22, tw, 0.36, 12, bold=True,
             color=C_GOLD, align=PP_ALIGN.CENTER)
    txp += tw

for ri, (dname, wl6, wl12, wl18, col, note) in enumerate(drugs_tl):
    ry = 1.65 + ri * 0.84
    bg = C_WHITE if ri % 2 == 0 else C_LTBLUE
    add_rect(slide, 0.2, ry, 12.9, 0.82, bg)
    # Drug name
    add_rect(slide, 0.22, ry+0.04, 2.35, 0.74, col)
    add_text(slide, dname, 0.28, ry+0.12, 2.25, 0.58, 11,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    # Bar at 6 months
    bar_w6 = max(0.1, wl6 / 35.0 * 2.0)
    add_rect(slide, 2.65, ry+0.2, bar_w6, 0.42, col)
    add_text(slide, f"↓{wl6}%", 2.65+bar_w6+0.05, ry+0.24, 0.7, 0.32, 12,
             bold=True, color=col)
    # Bar at 12 months
    bar_w12 = max(0.1, wl12 / 35.0 * 2.0)
    add_rect(slide, 5.05, ry+0.2, bar_w12, 0.42, col)
    add_text(slide, f"↓{wl12}%", 5.05+bar_w12+0.05, ry+0.24, 0.7, 0.32, 12,
             bold=True, color=col)
    # Bar at 18+ months
    bar_w18 = max(0.1, wl18 / 35.0 * 2.0)
    add_rect(slide, 7.45, ry+0.2, bar_w18, 0.42, col)
    add_text(slide, f"↓{wl18}%", 7.45+bar_w18+0.05, ry+0.24, 0.7, 0.32, 12,
             bold=True, color=col)
    # Note
    add_text(slide, note, 9.85, ry+0.22, 3.2, 0.38, 11, color=C_GRAY, italic=True)

add_rect(slide, 0.2, 7.08, 12.9, 0.34, C_NAVY)
add_text(slide,
    "Sources: STEP-1 (Wilding 2021 NEJM), SURMOUNT-1 (Jastreboff 2022 NEJM), SCALE (Pi-Sunyer 2015 NEJM), "
    "Meta-analysis: Moiz A et al. Am J Cardiol 2024 (PMID 38679221) | Qin W et al. Diabetes Obes Metab 2024 (PMID 38016699) | Qin W et al. Endocrine 2024 (PMID 38850440)",
    0.35, 7.1, 12.6, 0.28, 9, color=C_GOLD, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 13 – GLP-1 RA DEEP DIVE
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "GLP-1 Receptor Agonists – Deep Dive",
             "The New Standard of Care | STEP Trials | SURMOUNT Trials | 2024 Updates")

# Mechanism box
add_rect(slide, 0.2, 1.2, 5.8, 5.8, C_NAVY)
add_text(slide, "MECHANISM OF ACTION", 0.35, 1.22, 5.5, 0.4, 15,
         bold=True, color=C_GOLD)
mech_items = [
    "GLP-1 = incretin hormone from L-cells (ileum/colon)",
    "GLP-1 receptors in: hypothalamus (appetite ↓), brainstem, GI tract, pancreas, heart",
    "Central action: ↓ NPY/AgRP (hunger) | ↑ POMC/CART (satiety)",
    "Peripheral action: ↓ gastric emptying → prolonged satiety",
    "Pancreatic: ↑ glucose-dependent insulin secretion",
    "Hepatic: ↓ glucagon → ↓ hepatic glucose output",
    "CV benefits: ↓ MACE in LEADER (liraglutide) and SUSTAIN-6/SELECT (semaglutide) trials",
    "GIP + GLP-1 (tirzepatide): additive fat metabolism & superior weight loss",
]
for i, item in enumerate(mech_items):
    add_text(slide, "▸ " + item, 0.35, 1.7 + i*0.58, 5.5, 0.55, 12,
             color=C_WHITE, wrap=True)

# Titration protocols
add_rect(slide, 6.2, 1.2, 6.9, 2.6, C_TEAL)
add_text(slide, "LIRAGLUTIDE DOSE TITRATION (Saxenda 6 mg/mL)", 6.35, 1.22, 6.6, 0.4, 13,
         bold=True, color=C_GOLD)
lira_steps = [
    "Week 1–2: 0.6 mg SC daily",
    "Week 3–4: 1.2 mg SC daily",
    "Week 5–6: 1.8 mg SC daily",
    "Week 7–8: 2.4 mg SC daily",
    "Week 9+:  3.0 mg SC daily (maintenance)",
    "Inject: abdomen, thigh, upper arm (rotate)",
    "Efficacy: ↓ 5–8% body weight at 56 weeks (SCALE trial)",
]
for i, step in enumerate(lira_steps):
    add_text(slide, "• " + step, 6.35, 1.72 + i*0.3, 6.6, 0.28, 11,
             color=C_WHITE, wrap=True)

add_rect(slide, 6.2, 3.88, 6.9, 3.12, C_PURPLE)
add_text(slide, "SEMAGLUTIDE DOSE TITRATION (Wegovy 2.4 mg/0.75 mL)", 6.35, 3.9, 6.6, 0.4, 13,
         bold=True, color=C_GOLD)
sema_steps = [
    "Weeks 1–4:   0.25 mg SC weekly",
    "Weeks 5–8:   0.5 mg SC weekly",
    "Weeks 9–12:  1.0 mg SC weekly",
    "Weeks 13–16: 1.7 mg SC weekly",
    "Week 17+:    2.4 mg SC weekly (maintenance)",
    "Efficacy: ↓15.3% body weight vs ↓2.4% placebo at 68 wks",
    "SELECT trial 2023: ↓20% MACE risk in CVD+obesity (non-diabetic)",
    "STEP-5: Sustained 15% at 2 years",
]
for i, step in enumerate(sema_steps):
    add_text(slide, "• " + step, 6.35, 4.4 + i*0.31, 6.6, 0.29, 11,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 14 – TIRZEPATIDE & EMERGING AGENTS
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Tirzepatide & Emerging Pharmacotherapy",
             "GIP + GLP-1 Dual Agonism | SURMOUNT Trials | Pipeline Agents 2024–2026")

# Tirzepatide card
add_rect(slide, 0.2, 1.2, 6.0, 5.85, C_PURPLE)
add_text(slide, "TIRZEPATIDE (Mounjaro / Zepbound)", 0.35, 1.22, 5.7, 0.42, 16,
         bold=True, color=C_GOLD)
tiz_content = [
    ("Mechanism:", "Dual GIP + GLP-1 receptor agonist (novel twincretin)"),
    ("Dose titration:", "2.5 mg/wk × 4 wks → 5 mg → 7.5 mg → 10 mg → 12.5 mg → 15 mg SC weekly"),
    ("SURMOUNT-1:", "20.9% weight loss at 72 wks (15 mg dose) vs 3.1% placebo – NEJM 2022"),
    ("SURMOUNT-2:", "~15% in T2DM patients – Lancet 2023"),
    ("2024 Meta-analysis:", "Confirmed 19–21% weight loss, superior to semaglutide 2.4 mg"),
    ("FDA approval:", "Zepbound (tirzepatide) approved Nov 2023 for obesity"),
    ("India status:", "Not yet CDSCO approved for obesity (2024); available off-label as Mounjaro for T2DM"),
    ("Adverse effects:", "Nausea 33%, vomiting 25%, diarrhoea 23%, constipation 19%"),
    ("Contraindications:", "MEN2, medullary thyroid carcinoma, pancreatitis"),
    ("CV data:", "SURMOUNT-MMO 2024: ↓18% MACE in obesity without T2DM"),
]
for i, (label, val) in enumerate(tiz_content):
    add_text(slide, label, 0.35, 1.73 + i*0.52, 1.5, 0.48, 11,
             bold=True, color=C_GOLD, wrap=True)
    add_text(slide, val, 1.88, 1.73 + i*0.52, 4.1, 0.48, 11,
             color=C_WHITE, wrap=True)

# Pipeline agents
add_rect(slide, 6.4, 1.2, 6.7, 5.85, C_NAVY)
add_text(slide, "PIPELINE AGENTS (2024–2026)", 6.55, 1.22, 6.4, 0.42, 16,
         bold=True, color=C_GOLD)
pipeline = [
    ("Retatrutide", "Triple agonist (GLP-1+GIP+Glucagon)\nPhase 3 2024: ~24% weight loss at 48 wks\nHighest weight loss seen so far"),
    ("Cagrilintide +\nSemaglutide (CagriSema)", "Amylin + GLP-1 combination\nCagriSema: ~22% at 32 wks (Phase 2)\nPhase 3 (REDEFINE) ongoing"),
    ("Orforglipron", "Oral GLP-1 RA (non-peptide; daily tablet)\nPhase 3: ~14.7% at 36 wks\nGame changer: no injection required"),
    ("Danuglipron", "Another oral GLP-1 RA (Pfizer)\nPhase 2: modest, GI intolerance\nDevelopment paused 2024"),
    ("Amycretin", "Oral amylin + GLP-1 agonist\n~13% at 12 wks – early data only\nClinical use not established"),
    ("Bimagrumab\n(anti-ActRII)", "Selective fat loss + muscle gain\nPhase 2: ↓21% fat mass, ↑3.6% LBM\nIdeal for sarcopenic obesity"),
]
for i, (name, desc) in enumerate(pipeline):
    add_rect(slide, 6.5, 1.75 + i*0.9, 6.5, 0.85, RGBColor(0x1A,0x1A,0x3A))
    add_text(slide, name, 6.6, 1.77 + i*0.9, 1.8, 0.38, 12,
             bold=True, color=C_GOLD, wrap=True)
    add_text(slide, desc, 8.42, 1.77 + i*0.9, 4.45, 0.72, 10,
             color=C_WHITE, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 15 – BARIATRIC SURGERY
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Bariatric & Metabolic Surgery",
             "Indications | Procedures | Outcomes | Indian Context")

# Indications
section_card(slide, "Indications (Western + Indian Guidelines)",
    ["BMI ≥ 40 kg/m² without comorbidities (Western)",
     "BMI ≥ 35 kg/m² with ≥1 comorbidity (T2DM, HTN, OSA)",
     "Indian: BMI ≥ 37.5 kg/m² OR ≥ 32.5 kg/m² with comorbidities (ADA/IDF for Asians)",
     "Failed ≥6 months of intensive lifestyle + pharmacotherapy",
     "Age 18–65 years (relative; can consider outside range)",
     "Psychological evaluation mandatory pre-surgery",
     "Not suitable: uncontrolled psychiatric illness, active substance abuse, non-compliance"],
    0.2, 1.2, 6.2, 5.95, bg=C_WHITE, title_color=C_NAVY, item_size=13)

# Procedures column
procs = [
    ("Sleeve Gastrectomy\n(LSG)", "Most common globally & India\n~25–30% EWL at 1 yr\nRemoves ~80% of stomach (fundus)\nNo malabsorption\nIrreversible", C_TEAL),
    ("Roux-en-Y Gastric\nBypass (RYGB)", "Gold standard; T2DM remission 60–80%\n~30–35% EWL; malabsorptive\nVitamin B12, iron, calcium monitoring essential", C_NAVY),
    ("Mini-Gastric Bypass\n(OAGB)", "Simpler; 1 anastomosis\n~28–32% EWL; ↑ bile reflux risk\nGrowing popularity in India", C_PURPLE),
    ("Adjustable Gastric\nBand (AGB)", "Reversible; being phased out\n>40% require removal\n~15–20% EWL; lower efficacy", C_GRAY),
]
for i, (pname, pdesc, pcol) in enumerate(procs):
    pc = slide.shapes.add_shape(1, Inches(6.55), Inches(1.2 + i*1.55),
                                 Inches(6.6), Inches(1.48))
    solid_fill(pc, pcol)
    pc.line.fill.background()
    add_text(slide, pname, 6.65, 1.24 + i*1.55, 2.0, 0.45, 12,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, 8.65, 1.24 + i*1.55, 0.04, 1.38, RGBColor(0xFF,0xFF,0xAA))
    add_text(slide, pdesc, 8.75, 1.24 + i*1.55, 4.3, 1.38, 11,
             color=C_WHITE, wrap=True)

add_rect(slide, 0.2, 7.08, 12.9, 0.34, C_NAVY)
add_text(slide,
    "Post-op monitoring: Vitamin B12 (6 monthly), iron, calcium, vitamin D, folate; DEXA for bone density.\n"
    "T2DM remission: RYGB 60–80% | LSG 50–60% | Hormonal mechanism (not just weight loss – ↑ GLP-1, bile acids)",
    0.35, 7.1, 12.6, 0.28, 10, color=C_GOLD, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 16 – TREATMENT ALGORITHM
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Obesity Management Algorithm – Indian Context",
             "ESI 2022 | ICMR | ADA | Endocrine Society")

# Algorithm flow
steps_algo = [
    ("STEP 1\nSCREEN ALL PATIENTS",
     "BMI at every visit | Waist circumference | Blood pressure | Fasting glucose, lipids, LFT, TFT",
     C_TEAL, 0.2, 1.2, 12.9),
    ("STEP 2\nCLASSIFY",
     "BMI < 23: Normal (Asian) | 23–24.9: Overweight | 25–29.9: Grade 1 Obesity | 30–34.9: Grade 2 | ≥35: Grade 3",
     C_NAVY, 0.2, 2.25, 12.9),
    ("STEP 3\nLIFESTYLE INTERVENTION (ALL)",
     "Dietary modification (500–750 kcal deficit) + ≥150 min/week physical activity + CBT/behavioural therapy → REASSESS at 3 months",
     C_GREEN, 0.2, 3.3, 12.9),
]
for (title, body, col, ax, ay, aw) in steps_algo:
    add_rect(slide, ax, ay, aw, 0.95, col)
    add_text(slide, title, ax+0.12, ay+0.06, 2.0, 0.82, 13,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER, wrap=True)
    add_rect(slide, ax+2.18, ay+0.12, 0.04, 0.7, C_GOLD)
    add_text(slide, body, ax+2.28, ay+0.12, aw-2.4, 0.8, 12,
             color=C_WHITE, wrap=True)

# Branch decisions
add_rect(slide, 0.2, 4.35, 6.25, 0.45, C_ORANGE)
add_text(slide, "BMI >27 (Indian) OR BMI >25 + comorbidity → ADD PHARMACOTHERAPY",
         0.35, 4.37, 5.9, 0.38, 12, bold=True, color=C_WHITE, wrap=True)
add_rect(slide, 6.6, 4.35, 6.5, 0.45, C_RED)
add_text(slide, "BMI ≥35 (Indian) + comorbidity → CONSIDER BARIATRIC SURGERY",
         6.75, 4.37, 6.2, 0.38, 12, bold=True, color=C_WHITE, wrap=True)

# Pharmacotherapy pathway
add_rect(slide, 0.2, 4.9, 6.25, 2.05, C_LIGHT)
pharma_steps = [
    "1st line: Orlistat 120 mg TID (only CDSCO approved)",
    "If obese + T2DM: Semaglutide 1–2.4 mg/wk (preferred) OR Liraglutide 3 mg/day",
    "T2DM: Add SGLT2-i (Empagliflozin 10–25 mg/day) + Metformin 500–2000 mg/day",
    "Reassess at 12–16 weeks: ≥5% loss = continue | <5% = switch drug",
    "Consider combination: Orlistat + GLP-1 RA if incomplete response",
    "Tirzepatide: use off-label (Mounjaro 5–15 mg/wk) with informed consent",
]
add_rect(slide, 0.2, 4.9, 6.25, 0.38, C_ORANGE)
add_text(slide, "PHARMACOTHERAPY PATHWAY", 0.35, 4.92, 5.9, 0.32, 13,
         bold=True, color=C_WHITE)
for i, s in enumerate(pharma_steps):
    add_text(slide, "• " + s, 0.3, 5.35 + i*0.24, 6.0, 0.22, 11,
             color=C_DARK, wrap=True)

# Surgery pathway
add_rect(slide, 6.6, 4.9, 6.5, 2.05, C_LIGHT)
surg_steps = [
    "Pre-op: PSY evaluation, dietician assessment, stop smoking 6 wks",
    "Preferred: Laparoscopic sleeve gastrectomy (LSG) – India",
    "T2DM + BMI ≥30 (Indian): RYGB or OAGB for metabolic surgery",
    "Post-op: Protein ≥60–80 g/day; vitamins lifelong",
    "Follow-up: 1, 3, 6, 12 months then annually",
    "GLP-1 RA may be added for insufficient weight loss post-surgery",
]
add_rect(slide, 6.6, 4.9, 6.5, 0.38, C_RED)
add_text(slide, "SURGICAL PATHWAY", 6.75, 4.92, 6.2, 0.32, 13,
         bold=True, color=C_WHITE)
for i, s in enumerate(surg_steps):
    add_text(slide, "• " + s, 6.7, 5.35 + i*0.24, 6.3, 0.22, 11,
             color=C_DARK, wrap=True)

# Reassessment
add_rect(slide, 0.2, 7.05, 12.9, 0.38, C_NAVY)
add_text(slide,
    "REASSESSMENT: Every 3 months in year 1. Target: ≥5–10% weight loss. Treat underlying T2DM, HTN, dyslipidaemia concurrently with weight-friendly agents.",
    0.35, 7.07, 12.6, 0.3, 11, color=C_GOLD, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 17 – MONITORING & SPECIAL POPULATIONS
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Monitoring, Special Populations & Barriers",
             "Pregnancy | Elderly | PCOS | CKD | Indian Healthcare Barriers")

sp_cards = [
    ("PREGNANCY & OBESITY", C_ORANGE, [
        "Target: Weight loss BEFORE conception (pre-conception counselling)",
        "During pregnancy: Do NOT prescribe anti-obesity drugs (all category X/C)",
        "GLP-1 RAs: Discontinue ≥2 months before planned conception",
        "Monitor: GDM (OGTT 24–28 wks), pre-eclampsia, fetal macrosomia",
        "Post-partum: Safe to restart pharmacotherapy after stopping breastfeeding",
    ]),
    ("ELDERLY (>65 yrs)", C_TEAL, [
        "BMI cut-offs may not apply: use waist circumference + functional assessment",
        "Sarcopenic obesity common – preserve lean mass with protein + resistance training",
        "Caution with orlistat (vitamin deficiency risk)",
        "GLP-1 RAs: Effective, but GI side effects more pronounced",
        "Bariatric surgery: Increased perioperative risk; careful patient selection",
    ]),
    ("PCOS & OBESITY", C_PURPLE, [
        "Weight loss of 5–10% restores ovulation in ~55% of women",
        "1st line: Lifestyle intervention + Metformin 1500–2000 mg/day",
        "GLP-1 agonists (Liraglutide/Semaglutide): Emerging evidence for PCOS",
        "Bariatric surgery normalises androgen levels and restores fertility",
        "Monitor: LH/FSH, testosterone, HOMA-IR, lipid profile",
    ]),
    ("OBESITY + CKD", C_NAVY, [
        "Obesity accelerates CKD progression via glomerular hyperfiltration",
        "Metformin: OK if eGFR >30; STOP if eGFR <30",
        "SGLT2-i (Empagliflozin): Renoprotective + weight loss benefit",
        "Orlistat: Caution – fat-soluble vitamin absorption already impaired in CKD",
        "GLP-1 RA: Safe in CKD; dose adjust if severe impairment",
        "Bariatric surgery: Can reduce albuminuria and slow CKD progression",
    ]),
    ("DIABESITY\n(T2DM + Obesity)", C_RED, [
        "Dual benefit: Treat both T2DM and obesity simultaneously",
        "Priority drug: Semaglutide 2.4 mg/wk (STEP-2 trial: 9.6% weight loss in T2DM)",
        "Add: SGLT2-i for cardiac/renal protection",
        "Target: HbA1c <7% AND ≥5–10% weight loss",
        "Avoid: Sulphonylureas, TZDs, insulin (weight-gaining)",
        "Metabolic surgery: RYGB achieves T2DM remission in 60–80%",
    ]),
    ("INDIAN BARRIERS &\nSOLUTIONS", C_DARK, [
        "High cost: Semaglutide ~₹15,000–25,000/month; generics awaited",
        "Lack of awareness among patients and primary care physicians",
        "Injectable-phobia: Oral agents (Orforglipron) promising",
        "Cultural food norms: Adapt – millets, dal, sabzi over maida",
        "Fear of surgery: Need for counselling + video-assisted thoracoscopic coverage",
        "ESI recommendation: Multidisciplinary Obesity Clinics in all tertiary centres",
    ]),
]
for i, (title, col, items) in enumerate(sp_cards):
    ci = i % 3
    ri = i // 3
    sx = 0.2 + ci * 4.35
    sy = 1.2 + ri * 3.1
    section_card(slide, title, items, sx, sy, 4.3, 2.97,
                 bg=C_WHITE, title_color=col, item_size=12)

# ────────────────────────────────────────────────────────────────
#  SLIDE 18 – KEY TAKEAWAYS
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "Key Clinical Take-Aways for MD Physicians",
             "Summary | Practice Points | Clinical Pearls")

takeaways = [
    ("1", "Use Indian Cut-offs",
     "Overweight ≥23 | Obese ≥25 kg/m² | Start pharmacotherapy at BMI >27, not 30",
     C_TEAL),
    ("2", "Screen Beyond BMI",
     "Waist circumference ≥90/80 cm predicts cardiometabolic risk independently of BMI in Indians",
     C_NAVY),
    ("3", "Lifestyle First – Always",
     "500–750 kcal deficit + 150–300 min/week exercise + CBT is mandatory with all pharmacotherapy",
     C_GREEN),
    ("4", "Orlistat = Only Approved Drug in India",
     "120 mg TID with meals; 8–9% weight loss; supplement fat-soluble vitamins",
     C_ORANGE),
    ("5", "GLP-1 RAs Are the New Standard",
     "Semaglutide 2.4 mg/wk: 15% weight loss + CV protection (SELECT trial 2023); escalate slowly to reduce GI SE",
     C_PURPLE),
    ("6", "Tirzepatide = Best Efficacy Available",
     "20–22% weight loss at 72 wks; FDA-approved (Zepbound); India approval pending – use with informed consent",
     C_RED),
    ("7", "Reassess at 12–16 Weeks",
     "If <5% weight loss = switch / escalate drug; If ≥5% = continue; BMI ≥35 + comorbidity = surgery referral",
     C_TEAL),
    ("8", "Treat Comorbidities Weight-Consciously",
     "Choose: SGLT2-i, GLP-1 RA, metformin, ACEi/ARB; Avoid: SU, TZD, insulin, steroids, valproate, atypical antipsychotics",
     C_NAVY),
    ("9", "Bariatric Surgery = Most Effective Tool",
     "T2DM remission 60–80%; 25–35% weight loss; consider in BMI ≥35+comorbidity after failed pharmacotherapy",
     C_GREEN),
    ("10", "Address Barriers",
     "Cost, cultural factors, injection phobia, fear of surgery; Oral GLP-1 agents on horizon; Multidisciplinary team essential",
     C_ORANGE),
]
cols = 2
col_w_tk = 13.333 / cols
for i, (num, title, body, col) in enumerate(takeaways):
    ci = i % cols
    ri = i // cols
    tx = ci * col_w_tk + 0.15
    ty = 1.25 + ri * 1.18
    add_rect(slide, tx, ty, col_w_tk - 0.3, 1.1, C_WHITE)
    add_rect(slide, tx, ty, 0.6, 1.1, col)
    add_text(slide, num, tx+0.08, ty+0.28, 0.44, 0.55, 20,
             bold=True, color=C_WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, title, tx+0.72, ty+0.05, col_w_tk-1.15, 0.35, 13,
             bold=True, color=col)
    add_text(slide, body, tx+0.72, ty+0.42, col_w_tk-1.15, 0.62, 11,
             color=C_DARK, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SLIDE 19 – REFERENCES
# ────────────────────────────────────────────────────────────────
slide = prs.slides.add_slide(blank_layout)
slide_header(slide, "References & Evidence Base",
             "Peer-reviewed sources, textbooks & national guidelines used in this lecture")

refs = [
    "1.  Harrison's Principles of Internal Medicine, 22nd Edition (2025). McGraw-Hill Medical.",
    "2.  Mulholland & Greenfield's Surgery: Scientific Principles & Practice, 7e. Lippincott.",
    "3.  Katzung's Basic & Clinical Pharmacology, 16e. McGraw-Hill.",
    "4.  Fuster & Hurst's The Heart, 15th Edition. McGraw-Hill.",
    "5.  ESI Clinical Practice Guidelines for Evaluation & Management of Obesity in India. JAPI 2022. PMC9519829.",
    "6.  ICMR-INDIAB 2024. High prevalence of metabolic obesity in India. PMC12550443.",
    "7.  Wilding JPH et al. Once-Weekly Semaglutide in Adults with Overweight or Obesity (STEP 1). NEJM 2021;384:989.",
    "8.  Jastreboff AM et al. Tirzepatide Once Weekly for the Treatment of Obesity (SURMOUNT-1). NEJM 2022;387:205.",
    "9.  Moiz A et al. Long-Term Efficacy & Safety of Once-Weekly Semaglutide for Weight Loss. Am J Cardiol 2024. PMID 38679221.",
    "10. Qin W et al. Efficacy & safety of semaglutide 2.4 mg – Meta-analysis incl. STEP 5. Diabetes Obes Metab 2024. PMID 38016699.",
    "11. Qin W et al. Once-weekly tirzepatide meta-analysis incl. SURMOUNT-2. Endocrine 2024. PMID 38850440.",
    "12. Esparham A et al. GLP-1 RA after bariatric surgery – Meta-analysis. Obes Rev 2024. PMID 39134066.",
    "13. Pi-Sunyer X et al. A Randomized, Controlled Trial of 3.0 mg of Liraglutide (SCALE). NEJM 2015;373:11.",
    "14. Lincoff AM et al. Semaglutide & Cardiovascular Outcomes in Obesity without Diabetes (SELECT). NEJM 2023;389:2221.",
    "15. IAP Obesity Guidelines 2023. Indian Pediatrics 2023;60:1026–1080.",
    "16. Vikram NK et al. Updated Obesity Guidelines for Indians – Moving Beyond BMI. AIIMS New Delhi 2024.",
]
for i, ref in enumerate(refs):
    ry = 1.2 + i * 0.35
    bg = C_LTBLUE if i % 2 == 0 else C_WHITE
    add_rect(slide, 0.2, ry, 12.9, 0.33, bg)
    add_text(slide, ref, 0.35, ry+0.03, 12.6, 0.28, 10, color=C_DARK, wrap=True)

add_rect(slide, 0.2, 6.9, 12.9, 0.55, C_NAVY)
add_text(slide,
    "Disclaimer: This presentation is intended for postgraduate medical education. Drug doses should be cross-verified with current product information and local regulatory approvals (CDSCO) before clinical use.",
    0.35, 6.93, 12.6, 0.45, 11, color=C_GOLD, italic=True, wrap=True)

# ────────────────────────────────────────────────────────────────
#  SAVE
# ────────────────────────────────────────────────────────────────
out = "/tmp/workspace/obesity-ppt/Obesity_MD_Lecture_Comprehensive.pptx"
prs.save(out)
print(f"Saved: {out}")
print(f"Slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/obesity-ppt && python create_obesity_ppt.py 2>&1

Running Command

ls -lh /tmp/workspace/obesity-ppt/

Your 19-slide comprehensive CME presentation is ready for download:

Obesity MD Lecture Comprehensive

Presentation · PPTX


What's Inside (Slide-by-Slide)

#Slide TitleKey Content
1Title SlideProfessional navy/gold design for lecture hall
2Lecture Outline10-topic colour-coded agenda
3Definition & EpidemiologyWHO, ABCD concept, Indian stats (ICMR-INDIAB 2024 data: 27% abdominal obesity)
4Pathophysiology6-cell diagram: adipose dysfunction, hypothalamus, gut microbiome, ER stress, insulin resistance, adipokines/inflammation
5Hormonal Regulation8 hormones: leptin, ghrelin, GLP-1/PYY, insulin, adiponectin, cortisol, thyroid, sex hormones – in-obesity states
6Classification – Indian ContextFull WHO vs. Indian BMI table (ESI 2022): Grades 1–3 with waist circumference cut-offs
7Beyond BMI: Adiposity PhenotypesMHNO/MHO/MONO/MOO cards; abdominal obesity criteria (ICMR)
8Complications6 system cards: CVS, metabolic, respiratory (OSA), MSK, neuropsych, oncology
9Non-Pharmacological TreatmentDietary therapy, physical activity targets, CBT, MNT, digital health; expected % outcomes
10Pharmacotherapy OverviewIndian indications (BMI >27), CDSCO approval status, drug classes
11Anti-Obesity Drug Reference TableExact doses, mechanisms, avg. weight loss, side effects, contraindications for all major agents
12Weight Loss Over Time – ComparisonVisual bar chart: Lifestyle → Orlistat → Liraglutide → Semaglutide → Tirzepatide → Bariatric surgery with % at 6, 12, 18+ months
13GLP-1 RA Deep DiveFull titration protocols for Liraglutide (0.6→3 mg) and Semaglutide (0.25→2.4 mg/wk); SELECT trial; CV data
14Tirzepatide & Emerging AgentsSURMOUNT data (21%); pipeline: Retatrutide, Orforglipron (oral), Cagrilintide, Bimagrumab
15Bariatric SurgeryIndications (Indian BMI cut-offs), LSG vs RYGB vs OAGB vs AGB; T2DM remission rates; post-op monitoring
16Treatment AlgorithmStep-by-step Indian decision tree: screen → classify → lifestyle → pharmacotherapy vs surgery
17Special Populations & BarriersPregnancy, elderly, PCOS, CKD, diabesity, Indian healthcare barriers & solutions
18Key Take-Aways10 clinical pearls in visual card format
19References16 citations incl. STEP-1, SURMOUNT-1, SELECT trial, ESI guidelines, ICMR-INDIAB, Harrison's 22e

Evidence base used:
  • ESI Clinical Practice Guidelines for Obesity in India (PMC9519829)
  • ICMR-INDIAB 2024 metabolic obesity study
  • Semaglutide meta-analysis (Moiz et al., Am J Cardiol 2024; PMID 38679221)
  • Tirzepatide meta-analysis (Qin et al., Endocrine 2024; PMID 38850440)
  • Harrison's Internal Medicine 22e, Katzung 16e, Mulholland Surgery 7e
This is a shared conversation. Sign in to Orris to start your own chat.