Low cast nutrition of dm

Reading File
Finding Sources
Searching PubMed

"diabetes mellitus" AND "dietary management" AND "low cost"

Searching the Web

low cost nutrition for diabetes mellitus affordable diet plan

Finding Sources
Reading Web Page

https://www.cdc.gov/diabetes/healthy-eating/6-tips-eating-he…

Reading File
Finding Sources
Here is a practical, evidence-based guide to low-cost nutrition for Diabetes Mellitus (DM):

Low-Cost Nutrition for Diabetes Mellitus

Core Principles

According to the Washington Manual of Medical Therapeutics, Medical Nutrition Therapy (MNT) for DM includes:
  • A healthy, balanced diet to achieve adequate nutrition and maintain ideal body weight
  • Caloric restriction for overweight patients: 1,000-1,500 kcal/day (women), 1,200-1,800 kcal/day (men)
  • No single ideal macronutrient ratio - multiple eating patterns work: Mediterranean, plant-based, DASH, or low-carbohydrate diets
  • Avoid sugar-sweetened beverages
  • Optimize non-starchy vegetables and whole grain intake
  • Carbohydrate counting is useful for patients on insulin therapy

Affordable Food Choices for DM

Cheapest Carbohydrate Sources (Low Glycemic Index preferred)

FoodWhy it WorksCost Level
Lentils & beans (dal, rajma, chana)High fiber, low GI, slow glucose releaseVery cheap
Whole oatsBeta-glucan fiber, lowers post-meal glucoseCheap
Brown rice / millets (jowar, bajra, ragi)Lower GI than white rice, more fiberCheap
Whole wheat chapatiBetter GI than white breadCheap
Sweet potato (boiled)Moderate GI, filling, nutritiousCheap

Cheapest Protein Sources

FoodBenefitCost Level
EggsHigh quality protein, minimal glucose impactCheap
Lentils / dalsProtein + fiber comboVery cheap
Low-fat curd/yogurtProtein + probioticsCheap
Canned fish / dried fishOmega-3s, proteinCheap
Soy (tofu, soy milk)Plant protein, low GICheap

Cheapest Vegetables (Non-starchy preferred)

  • Spinach, methi, palak, cabbage, cauliflower, brinjal, bitter gourd (karela), tomatoes, onions - all affordable and excellent for blood sugar control
  • Frozen/canned vegetables (without added salt/sauce) are just as nutritious and cheaper than fresh out-of-season produce

Fruits (limit to 1-2 small portions/day)

  • Guava, papaya, amla (Indian gooseberry), jamun - low cost, low GI, high fiber
  • Avoid fruit juices - eat whole fruit instead

What to AVOID (Cheap but Harmful for DM)

AvoidWhy
White rice in large portionsHigh GI, rapid glucose spike
Maida (refined flour) productsHigh GI, low fiber
Sugary drinks, packaged juicesRapid sugar spikes
Deep-fried snacks (samosa, puri, bhujia)High calories, poor glycemic control
White bread, instant noodlesHigh GI

Budget-Smart Practical Tips (CDC Recommendations)

  1. Plan meals weekly - reduces impulse buys and food waste
  2. Buy in bulk - dry lentils, beans, oats, and whole grains are cheaper in bulk
  3. Buy frozen/canned vegetables - equally nutritious, last longer, cost less (choose water-packed, no added salt/sugar)
  4. Cook at home - restaurant and packaged foods are more expensive and harder to control
  5. One meatless meal daily - lentil-based meals are cheaper and lower in saturated fat
  6. Grow a small kitchen garden - herbs, methi, spinach, tomatoes are easy and nearly free
  7. Buy store/generic brands - saves 20-30% vs. branded items
  8. Stretch recipes - soups, dals, vegetable stews using the same base ingredients across days

Sample Low-Cost 1-Day Meal Plan for DM

MealOptionsApprox. Cost
BreakfastOatmeal with a few nuts + 1 egg (boiled)Low
Mid-morning1 guava or small fruitVery low
Lunch2 whole wheat chapatis + moong dal + spinach sabziVery low
Evening snackRoasted chana (chickpeas) + buttermilkVery low
DinnerBrown rice (small portion) + rajma or dal + salad (cucumber, tomato)Low
Target: ~1,500-1,800 kcal, high fiber, low GI, balanced macros.

Key Takeaways

  • Expensive "diabetic foods" or supplements are not necessary - affordable whole foods work equally well
  • Focus on fiber, portion control, and reducing refined carbs rather than costly specialty products
  • The CDC diabetes budget eating guide confirms frozen/canned whole foods and bulk buying are the two strongest cost-saving strategies
  • Exercise (150 min/week of moderate activity) enhances the effect of diet and is completely free - Washington Manual of Medical Therapeutics, p. 885

Give ppt

Reading File
Reading File
Running Command

mkdir -p /tmp/workspace/dm-nutrition-ppt && ls /tmp/workspace/dm-nutrition-ppt/

Writing File

~/dm-nutrition-ppt/create_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 io import BytesIO

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)

blank = prs.slide_layouts[6]

# ─── COLORS ───
GREEN_DARK   = RGBColor(0x1B, 0x5E, 0x20)   # deep green
GREEN_MID    = RGBColor(0x2E, 0x7D, 0x32)   # medium green
GREEN_LIGHT  = RGBColor(0xA5, 0xD6, 0xA7)   # light green accent
ORANGE       = RGBColor(0xE6, 0x5C, 0x00)   # accent orange
WHITE        = RGBColor(0xFF, 0xFF, 0xFF)
DARK_GRAY    = RGBColor(0x21, 0x21, 0x21)
LIGHT_BG     = RGBColor(0xF1, 0xF8, 0xE9)   # very light green bg
AMBER        = RGBColor(0xFF, 0x8F, 0x00)

def add_rect(slide, x, y, w, h, fill_rgb, line_rgb=None, line_width=0):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    shape.fill.solid()
    shape.fill.fore_color.rgb = fill_rgb
    if line_rgb:
        shape.line.color.rgb = line_rgb
        shape.line.width = Pt(line_width)
    else:
        shape.line.fill.background()
    return shape

def add_text(slide, text, x, y, w, h, size, bold=False, color=DARK_GRAY,
             align=PP_ALIGN.LEFT, italic=False, wrap=True):
    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(4)
    tf.margin_right = Pt(4)
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.size = Pt(size)
    run.font.bold = bold
    run.font.italic = italic
    run.font.color.rgb = color
    run.font.name = "Calibri"
    return tf

def add_multiline(slide, lines, x, y, w, h, size, color=DARK_GRAY, bold_first=False,
                   line_spacing=1.15, wrap=True):
    """lines: list of (text, bold, color_override_or_None)"""
    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(4)
    tf.margin_right = Pt(4)
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    for i, item in enumerate(lines):
        text, bold, col = item
        if i == 0:
            p = tf.paragraphs[0]
        else:
            p = tf.add_paragraph()
        p.space_after = Pt(2)
        run = p.add_run()
        run.text = text
        run.font.size = Pt(size)
        run.font.bold = bold
        run.font.color.rgb = col if col else color
        run.font.name = "Calibri"
    return tf

# ════════════════════════════════════════════════
# SLIDE 1 – TITLE
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
# Full background
add_rect(slide, 0, 0, 13.333, 7.5, GREEN_DARK)
# Bottom accent strip
add_rect(slide, 0, 6.5, 13.333, 1.0, GREEN_MID)
# Decorative box top right
add_rect(slide, 10.5, 0, 2.833, 2.5, GREEN_MID)
# Orange accent line
add_rect(slide, 0, 6.3, 13.333, 0.08, ORANGE)

add_text(slide, "Low-Cost Nutrition", 1, 1.5, 10, 1.5, 54, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_text(slide, "for Diabetes Mellitus (DM)", 1, 2.9, 10, 1.0, 36, bold=False, color=GREEN_LIGHT, align=PP_ALIGN.LEFT)
add_text(slide, "Practical, Affordable Dietary Strategies for Blood Sugar Control", 1, 4.1, 10, 0.7, 18, bold=False, color=WHITE, align=PP_ALIGN.LEFT, italic=True)
add_text(slide, "Medical Nutrition Therapy  |  Evidence-Based Guidelines", 1, 6.55, 11, 0.6, 14, bold=False, color=WHITE, align=PP_ALIGN.LEFT)

# ════════════════════════════════════════════════
# SLIDE 2 – WHAT IS MEDICAL NUTRITION THERAPY
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, GREEN_DARK)
add_rect(slide, 0, 1.15, 0.07, 6.35, ORANGE)

add_text(slide, "What is Medical Nutrition Therapy (MNT)?", 0.3, 0.15, 12, 0.85, 28, bold=True, color=WHITE)

cards = [
    ("🎯 Goal", "Achieve adequate nutrition, maintain ideal body weight, and control blood glucose.", GREEN_DARK),
    ("📉 Caloric Restriction", "1,000–1,500 kcal/day (women)\n1,200–1,800 kcal/day (men)\nTarget ≥5% weight loss if overweight.", GREEN_MID),
    ("🥗 Eating Patterns", "Mediterranean, Plant-based, DASH, or Low-Carbohydrate diets all achieve similar glycemic goals.", GREEN_DARK),
    ("🚫 Key Avoidance", "Avoid sugar-sweetened beverages.\nOptimize non-starchy vegetables & whole grains.", ORANGE),
]
col_x = [0.25, 3.55, 6.85, 10.15]
for i, (title, body, col) in enumerate(cards):
    add_rect(slide, col_x[i], 1.5, 2.9, 5.0, col)
    add_rect(slide, col_x[i], 1.5, 2.9, 0.7, RGBColor(0,0,0))  # darker header strip
    add_text(slide, title, col_x[i]+0.1, 1.55, 2.7, 0.6, 15, bold=True, color=WHITE)
    add_text(slide, body, col_x[i]+0.1, 2.3, 2.7, 3.9, 13, color=WHITE, wrap=True)

add_text(slide, "Source: Washington Manual of Medical Therapeutics, p.885", 0.25, 7.1, 12, 0.35, 10, italic=True, color=GREEN_MID)

# ════════════════════════════════════════════════
# SLIDE 3 – LOW-COST CARBOHYDRATE CHOICES
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, GREEN_DARK)
add_rect(slide, 0, 1.15, 0.07, 6.35, GREEN_LIGHT)

add_text(slide, "Affordable Carbohydrate Sources (Low Glycemic Index)", 0.3, 0.15, 12, 0.85, 26, bold=True, color=WHITE)
add_text(slide, "Choose slow-digesting carbs that cause gradual glucose rise", 0.3, 1.25, 12, 0.5, 15, italic=True, color=GREEN_DARK)

headers = ["Food", "Why It Helps", "GI Level", "Cost"]
rows = [
    ("Lentils & Beans\n(Dal, Rajma, Chana)", "High fiber + protein;\nslow glucose release", "Low (29–45)", "Very Cheap"),
    ("Whole Oats", "Beta-glucan fiber;\nlowers post-meal glucose", "Low (55)", "Cheap"),
    ("Millets\n(Jowar, Bajra, Ragi)", "Higher fiber than white rice;\nmicronutrient-rich", "Low–Medium", "Very Cheap"),
    ("Whole Wheat Chapati", "Better GI than white bread;\nlow cost staple", "Medium (52)", "Cheap"),
    ("Sweet Potato (boiled)", "Filling, nutritious;\nmoderate GI", "Medium (63)", "Cheap"),
]
col_widths = [2.8, 3.5, 2.2, 2.0]
col_xs = [0.3, 3.1, 6.65, 8.9]
row_ys = [2.0, 2.85, 3.65, 4.5, 5.35]

# Header row
for j, (hdr, cx, cw) in enumerate(zip(headers, col_xs, col_widths)):
    add_rect(slide, cx, 1.85, cw-0.07, 0.55, GREEN_MID)
    add_text(slide, hdr, cx+0.05, 1.87, cw-0.1, 0.5, 13, bold=True, color=WHITE)

# Data rows
for i, row in enumerate(rows):
    bg = LIGHT_BG if i % 2 == 0 else RGBColor(0xC8, 0xE6, 0xC9)
    for j, (cell, cx, cw) in enumerate(zip(row, col_xs, col_widths)):
        add_rect(slide, cx, row_ys[i], cw-0.07, 0.77, bg, line_rgb=GREEN_LIGHT, line_width=0.5)
        add_text(slide, cell, cx+0.06, row_ys[i]+0.04, cw-0.12, 0.7, 11.5, color=DARK_GRAY, wrap=True)

add_rect(slide, 0.3, 6.3, 11.0, 0.65, GREEN_DARK)
add_text(slide, "💡 Tip: Boiling/steaming lowers GI further compared to frying or pressure cooking at high heat.", 0.4, 6.33, 10.8, 0.6, 12, color=WHITE)

# ════════════════════════════════════════════════
# SLIDE 4 – PROTEIN & VEGETABLES
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, GREEN_DARK)
add_rect(slide, 0, 1.15, 0.07, 6.35, ORANGE)

add_text(slide, "Cheap Protein & Vegetable Sources for DM", 0.3, 0.15, 12, 0.85, 26, bold=True, color=WHITE)

# LEFT – Proteins
add_rect(slide, 0.25, 1.3, 6.1, 5.7, WHITE, line_rgb=GREEN_LIGHT, line_width=1)
add_rect(slide, 0.25, 1.3, 6.1, 0.55, GREEN_MID)
add_text(slide, "💪 Cheap Protein Sources", 0.35, 1.32, 5.9, 0.5, 16, bold=True, color=WHITE)

protein_items = [
    "🥚 Eggs – high quality protein, minimal glucose impact",
    "🫘 Lentils/Dal – protein + fiber combined; very cheap",
    "🥛 Low-fat curd / yogurt – protein + probiotics",
    "🐟 Canned/dried fish – omega-3 fatty acids + protein",
    "🌱 Soy / Tofu – plant protein, low GI",
    "🥜 Groundnuts (peanuts) – protein + healthy fats; cheap",
]
for i, item in enumerate(protein_items):
    add_text(slide, item, 0.4, 2.0 + i * 0.72, 5.8, 0.65, 12.5, color=DARK_GRAY, wrap=True)

# RIGHT – Vegetables
add_rect(slide, 6.85, 1.3, 6.1, 5.7, WHITE, line_rgb=GREEN_LIGHT, line_width=1)
add_rect(slide, 6.85, 1.3, 6.1, 0.55, GREEN_DARK)
add_text(slide, "🥦 Best Non-Starchy Vegetables", 6.95, 1.32, 5.9, 0.5, 16, bold=True, color=WHITE)

veg_items = [
    "Spinach, Methi (fenugreek), Palak",
    "Cabbage, Cauliflower, Brinjal",
    "Bitter gourd (Karela) – lowers glucose",
    "Tomatoes, Onions, Cucumber",
    "Bottle gourd (Lauki), Ridge gourd (Turai)",
    "✅ All are affordable & blood-sugar friendly",
]
for i, item in enumerate(veg_items):
    bold = (i == 5)
    col = GREEN_DARK if i == 5 else DARK_GRAY
    add_text(slide, item, 7.0, 2.0 + i * 0.72, 5.8, 0.65, 12.5, color=col, bold=bold, wrap=True)

add_text(slide, "Aim: 1 meatless meal/day → lower cost + less saturated fat", 0.3, 7.1, 12, 0.35, 11, italic=True, color=GREEN_MID)

# ════════════════════════════════════════════════
# SLIDE 5 – FOODS TO AVOID
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, RGBColor(0xB7, 0x1C, 0x1C))
add_rect(slide, 0, 1.15, 0.07, 6.35, ORANGE)

add_text(slide, "Foods to AVOID in Diabetes", 0.3, 0.15, 12, 0.85, 28, bold=True, color=WHITE)

avoid_data = [
    ("🥤 Sugar-Sweetened\nBeverages", "Rapid blood glucose spike;\nzero nutritional value", "Very High GI"),
    ("🍞 White Bread &\nRefined Flour (Maida)", "High GI; stripped of fiber;\nrapid glucose rise", "High GI (75+)"),
    ("🍚 Large portions of\nWhite Rice", "High GI when eaten alone;\nportion control is key", "High GI (72)"),
    ("🍟 Deep-Fried Snacks\n(Samosa, Puri, Bhujia)", "High calorie, poor glycemic\ncontrol, promotes weight gain", "High GI + fat"),
    ("🍜 Instant Noodles &\nProcessed Snacks", "Refined carbs + sodium;\nno fiber", "High GI"),
    ("🧃 Packaged Fruit Juices", "No fiber; rapid sugar\nabsorption same as soda", "Very High GI"),
]
red_bg   = RGBColor(0xFF, 0xEB, 0xEB)
red_hdr  = RGBColor(0xB7, 0x1C, 0x1C)
col_xs   = [0.25, 2.5, 4.75, 7.0, 9.25, 11.5]
cw = 2.1
for i, (food, reason, gi) in enumerate(avoid_data):
    cx = col_xs[i]
    add_rect(slide, cx, 1.4, cw, 5.5, red_bg, line_rgb=RGBColor(0xFF, 0xCC, 0xCC), line_width=0.8)
    add_rect(slide, cx, 1.4, cw, 0.9, red_hdr)
    add_text(slide, food, cx+0.08, 1.42, cw-0.12, 0.85, 12.5, bold=True, color=WHITE, wrap=True)
    add_text(slide, reason, cx+0.08, 2.38, cw-0.12, 2.2, 11.5, color=DARK_GRAY, wrap=True)
    add_rect(slide, cx, 4.65, cw, 0.5, RGBColor(0xFF, 0xCC, 0xBC))
    add_text(slide, gi, cx+0.08, 4.67, cw-0.12, 0.45, 11, bold=True, color=ORANGE, align=PP_ALIGN.CENTER)

add_rect(slide, 0.3, 5.35, 12.7, 0.75, RGBColor(0xB7, 0x1C, 0x1C))
add_text(slide, "💡 Eat whole fruit INSTEAD of fruit juice — fiber slows sugar absorption significantly.", 0.5, 5.38, 12.3, 0.65, 13, color=WHITE)

# ════════════════════════════════════════════════
# SLIDE 6 – SAMPLE MEAL PLAN
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, GREEN_DARK)
add_rect(slide, 0, 1.15, 0.07, 6.35, GREEN_LIGHT)

add_text(slide, "Sample Low-Cost 1-Day Meal Plan (~1,500 kcal)", 0.3, 0.15, 12, 0.85, 26, bold=True, color=WHITE)

meals = [
    ("🌅 Breakfast", "Oatmeal (½ cup oats) with a few nuts\n+ 1 boiled egg\n+ Unsweetened tea/coffee"),
    ("🍎 Mid-Morning", "1 whole guava OR small seasonal fruit\n(No fruit juice)"),
    ("🍱 Lunch", "2 whole wheat chapatis\n+ 1 cup moong dal\n+ Spinach/methi sabzi\n+ Salad (cucumber, tomato)"),
    ("🌤 Evening Snack", "Roasted chana (¼ cup)\n+ Buttermilk (low-fat)\nOR handful of peanuts"),
    ("🌙 Dinner", "¾ cup brown rice OR 2 chapatis\n+ Rajma / dal\n+ Mixed vegetable sabzi"),
]

meal_xs = [0.25, 2.85, 5.45, 8.05, 10.65]
for i, (title, content) in enumerate(meals):
    cx = meal_xs[i]
    add_rect(slide, cx, 1.4, 2.45, 5.4, WHITE, line_rgb=GREEN_LIGHT, line_width=0.8)
    add_rect(slide, cx, 1.4, 2.45, 0.6, GREEN_MID)
    add_text(slide, title, cx+0.08, 1.42, 2.28, 0.55, 13, bold=True, color=WHITE)
    add_text(slide, content, cx+0.08, 2.1, 2.28, 4.5, 12, color=DARK_GRAY, wrap=True)

add_rect(slide, 0.25, 7.0, 12.7, 0.4, GREEN_DARK)
add_text(slide, "Target: High fiber | Low GI | Balanced macros | No added sugar | ~₹60–₹100/day (approx.)", 0.4, 7.02, 12.3, 0.35, 12, color=WHITE, bold=True)

# ════════════════════════════════════════════════
# SLIDE 7 – BUDGET SMART TIPS
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(slide, 0, 0, 13.333, 1.15, GREEN_DARK)
add_rect(slide, 0, 1.15, 0.07, 6.35, AMBER)

add_text(slide, "Budget-Smart Practical Tips", 0.3, 0.15, 12, 0.85, 28, bold=True, color=WHITE)

tips = [
    ("1", "Plan Weekly Meals", "Reduces impulse buys, cuts waste, saves 15–25% of food cost."),
    ("2", "Buy in Bulk", "Dry lentils, oats, whole grains — much cheaper per kg when bought in bulk."),
    ("3", "Buy Frozen/Canned Veggies", "Equally nutritious as fresh; choose water-packed, no added salt or sugar."),
    ("4", "Cook at Home", "Restaurant & packaged foods cost more and are harder to control for diabetes."),
    ("5", "One Meatless Meal Daily", "Dal-based meals cut cost AND reduce saturated fat intake."),
    ("6", "Grow Kitchen Garden", "Methi, spinach, tomatoes, chilli — easy to grow; nearly free nutrition."),
    ("7", "Buy Generic Brands", "Store/generic brands save 20–30% vs. branded; same nutritional quality."),
    ("8", "Stretch Recipes", "Large batch soups, dals, vegetable stews last multiple days; cost-effective."),
]

tip_xs = [0.25, 4.6, 8.95]
tip_ys = [1.4, 2.9, 4.4, 5.9]
for i, (num, title, desc) in enumerate(tips):
    row = i % 3   # actually 3 per row, 3 columns
    col = i // 3
    # rearrange as 3 cols x 3 rows (last cell empty)
    pass

# Lay out as 2 columns x 4 rows
lx = [0.25, 6.85]
ly = [1.4, 2.75, 4.1, 5.45]
for i, (num, title, desc) in enumerate(tips):
    cx = lx[i % 2]
    ry = ly[i // 2]
    add_rect(slide, cx, ry, 6.2, 1.1, WHITE, line_rgb=GREEN_LIGHT, line_width=0.6)
    add_rect(slide, cx, ry, 0.55, 1.1, AMBER)
    add_text(slide, num, cx+0.05, ry+0.2, 0.45, 0.7, 20, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, title, cx+0.65, ry+0.06, 5.4, 0.4, 13, bold=True, color=GREEN_DARK)
    add_text(slide, desc, cx+0.65, ry+0.5, 5.4, 0.55, 11.5, color=DARK_GRAY, wrap=True)

add_text(slide, "Source: CDC Diabetes Healthy Eating on a Budget Guidelines", 0.25, 7.1, 12, 0.35, 10, italic=True, color=GREEN_MID)

# ════════════════════════════════════════════════
# SLIDE 8 – KEY TAKEAWAYS
# ════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, GREEN_DARK)
add_rect(slide, 0, 6.3, 13.333, 1.2, GREEN_MID)
add_rect(slide, 0, 6.28, 13.333, 0.08, ORANGE)

add_text(slide, "Key Takeaways", 0.5, 0.25, 12, 0.85, 32, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_rect(slide, 0.5, 1.05, 12.3, 0.06, GREEN_LIGHT)

takeaways = [
    ("✅", "Expensive 'diabetic foods' are NOT required — affordable whole foods work equally well."),
    ("✅", "Focus on fiber, portion control, and reducing refined carbs above all else."),
    ("✅", "Lentils, millets, oats, eggs, and non-starchy vegetables are the cheapest diabetes-friendly staples."),
    ("✅", "Avoid sugar-sweetened beverages — this single change has the highest impact on blood glucose."),
    ("✅", "Carbohydrate counting helps patients on insulin therapy adjust doses accurately."),
    ("🏃", "Exercise (150 min/week moderate activity) enhances diet effects and is completely FREE."),
]
for i, (icon, text) in enumerate(takeaways):
    ry = 1.3 + i * 0.88
    add_rect(slide, 0.5, ry, 0.55, 0.72, GREEN_MID)
    add_text(slide, icon, 0.52, ry+0.06, 0.5, 0.6, 18, align=PP_ALIGN.CENTER, color=WHITE)
    add_text(slide, text, 1.15, ry+0.07, 11.5, 0.6, 14, color=WHITE, wrap=True)

add_text(slide, "Washington Manual of Medical Therapeutics  |  CDC Diabetes  |  Harrison's Principles of Internal Medicine 22E", 0.5, 6.38, 12.3, 0.6, 11, italic=True, color=WHITE, align=PP_ALIGN.CENTER)

# ─── SAVE ───
out_path = "/tmp/workspace/dm-nutrition-ppt/LowCost_Nutrition_DM.pptx"
buf = BytesIO()
prs.save(buf)
with open(out_path, "wb") as f:
    f.write(buf.getvalue())

print(f"Saved: {out_path}")
Running Command

python /tmp/workspace/dm-nutrition-ppt/create_ppt.py

Your presentation is ready! Here's your download link:

LowCost Nutrition DM

Presentation · PPTX


The PPT has 8 professionally designed slides in a green medical theme:
SlideContent
1Title Slide
2What is Medical Nutrition Therapy (MNT)?
3Affordable Carbohydrate Sources (Low GI table)
4Cheap Protein & Vegetable Sources
5Foods to AVOID in Diabetes
6Sample Low-Cost 1-Day Meal Plan
7Budget-Smart Practical Tips (8 tips)
8Key Takeaways
All content is sourced from the Washington Manual of Medical Therapeutics, Harrison's Principles, and CDC Diabetes guidelines.
This is a shared conversation. Sign in to Orris to start your own chat.