Low cast nutrition of dm

Reading File
Low-cost nutrition for diabetes (DM) centers on high-fiber, low-glycemic-index foods that are affordable: legumes (lentils, chickpeas, beans), whole grains (brown rice, oats, millets), non-starchy vegetables, and eggs. Avoid ultra-processed carbs and sugary drinks. Portion control matters more than exotic "diabetic" products.
Searching sources...
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.

What means high gi

GI = Glycemic Index
It measures how fast a food raises your blood glucose (sugar) after eating, compared to pure glucose (which is set at 100).
GI LevelScoreWhat Happens
Low GI≤ 55Slow, gradual glucose rise - good for DM
Medium GI56–69Moderate glucose rise
High GI≥ 70Rapid, sharp glucose spike - bad for DM

Why High GI is Bad in Diabetes

When you eat a high GI food:
  1. Carbohydrates digest very fast
  2. Glucose floods the bloodstream quickly
  3. Blood sugar spikes sharply
  4. Pancreas must release a large burst of insulin
  5. In DM, this system is impaired → glucose stays high → damage to organs

Common High GI Foods (Avoid in DM)

FoodGI Score
White bread75
White rice (cooked)72
Sugary drinks / soda65–80
Corn flakes / puffed rice80–87
Watermelon76
Instant noodles65–70
Potato (baked)85

Common Low GI Foods (Good for DM)

FoodGI Score
Lentils / dal29–45
Whole oats55
Apple36
Whole wheat chapati52
Brown rice50–55
Chickpeas28

Simple Rule

The more processed and refined a food is, the higher its GI. The more fiber it has, the lower its GI.
For DM patients, always prefer low GI foods - they keep blood sugar stable throughout the day.

What is glycemic index

The Glycemic Index (GI) is a numerical scale (0–100) that ranks how quickly a carbohydrate-containing food raises blood glucose levels after eating, compared to pure glucose (reference = 100).
Searching sources...
Finding Sources
Reading File
Reading File
Searching Images

glycemic index blood glucose curve comparison diagram

This composite figure presents a four-panel comparison (a-d) of continuous glucose monitoring (CGM) data and corresponding coronary intravascular ultrasound (IVUS) imaging. On the left side of each panel, line graphs illustrate blood glucose level fluctuations (mg/dl) over 24-hour cycles for five consecutive days. These graphs demonstrate varying degrees of glycemic variability, quantified by the mean amplitude of glycemic excursion (MAGE). On the right side of each panel, iMap-coronary IVUS cross-sectional images characterize plaque morphology and composition in the coronary artery. The iMap analysis utilizes color-coding to visualize tissue components: green represents fibrotic tissue, yellow indicates lipidic tissue, pink/red denotes necrotic tissue, and white signifies calcified tissue. The visual data highlights the clinical association between high glycemic excursion (seen in panels a and c) and increased necrotic or lipidic plaque components compared to patients with more stable glucose levels (panel b) or different inflammatory profiles (panel d). This educational material demonstrates the relationship between metabolic control and atherosclerosis progression.

This composite figure presents a four-panel comparison (a-d) of continuous glucose monitoring (CGM) data and corresponding coronary intravascular ultrasound (IVUS) imaging. On the left side of each panel, line graphs illustrate blood glucose level fluctuations (mg/dl) over 24-hour cycles for five consecutive days. These graphs demonstrate varying degrees of glycemic variability, quantified by the mean amplitude of glycemic excursion (MAGE). On the right side of each panel, iMap-coronary IVUS cross-sectional images characterize plaque morphology and composition in the coronary artery. The iMap analysis utilizes color-coding to visualize tissue components: green represents fibrotic tissue, yellow indicates lipidic tissue, pink/red denotes necrotic tissue, and white signifies calcified tissue. The visual data highlights the clinical association between high glycemic excursion (seen in panels a and c) and increased necrotic or lipidic plaque components compared to patients with more stable glucose levels (panel b) or different inflammatory profiles (panel d). This educational material demonstrates the relationship between metabolic control and atherosclerosis progression.

A multi-panel line graph and bar chart illustrating glycemic control (GC) results for a single virtual patient ('Patient C') over a 70-hour period. The top panel displays blood glucose (BG) levels in mmol/L, comparing two treatment protocols: STAR-6H (blue) and STAR-ULC-6H (red). A target glycemic band of 4.4–8.0 mmol/L is indicated by horizontal dashed lines, with an upper limit of 8.5 mmol/L. Both protocols maintain the patient within the target band for the majority of the duration, though excursions are noted initially and toward the end of the simulation. The middle panel shows insulin administration rates in Units per hour (U/h), with STAR-6H generally requiring higher, more frequent doses (blue bars) compared to the conservative dosing of STAR-ULC-6H (red bars). The bottom panel tracks enteral nutrition rates (solid lines) as a percentage of goal feed (%GF) and dextrose boluses (bars) in grams. This comparison highlights the trade-offs in clinical workload, insulin sensitivity modeling, and glycemic variability between standard and modified stochastic glycemic control algorithms in an intensive care context.

A multi-panel line graph and bar chart illustrating glycemic control (GC) results for a single virtual patient ('Patient C') over a 70-hour period. The top panel displays blood glucose (BG) levels in mmol/L, comparing two treatment protocols: STAR-6H (blue) and STAR-ULC-6H (red). A target glycemic band of 4.4–8.0 mmol/L is indicated by horizontal dashed lines, with an upper limit of 8.5 mmol/L. Both protocols maintain the patient within the target band for the majority of the duration, though excursions are noted initially and toward the end of the simulation. The middle panel shows insulin administration rates in Units per hour (U/h), with STAR-6H generally requiring higher, more frequent doses (blue bars) compared to the conservative dosing of STAR-ULC-6H (red bars). The bottom panel tracks enteral nutrition rates (solid lines) as a percentage of goal feed (%GF) and dextrose boluses (bars) in grams. This comparison highlights the trade-offs in clinical workload, insulin sensitivity modeling, and glycemic variability between standard and modified stochastic glycemic control algorithms in an intensive care context.

This Comparison Chart displays nine sequential time-series records (labeled Record 1 to 9) representing continuous blood glucose monitoring (CGM) data from patients ten months post-implantation of a Duodenal-Jejunal Bypass Liner (DJBL). The records are arranged vertically as individual line graphs against a horizontal 'Sample' axis ranging from 0 to over 1500 units, representing a minimum duration of six days. Each graph illustrates the dynamic fluctuations, amplitude, and frequency of glucose levels over time. Distinctive visual features include varying degrees of complexity and volatility across the records; for instance, Records 1 and 6 show pronounced spikes and oscillations, whereas Records 7 and 8 demonstrate more stable physiological trends. This visual dataset is used in endocrine research to evaluate glucose variability and metabolic control through entropy-based metrics (SampEn and FuzzyEn). The image serves as a clinical reference for physiological signal processing and the longitudinal assessment of glycemic regulation following metabolic surgical interventions in obese, diabetic populations.

This Comparison Chart displays nine sequential time-series records (labeled Record 1 to 9) representing continuous blood glucose monitoring (CGM) data from patients ten months post-implantation of a Duodenal-Jejunal Bypass Liner (DJBL). The records are arranged vertically as individual line graphs against a horizontal 'Sample' axis ranging from 0 to over 1500 units, representing a minimum duration of six days. Each graph illustrates the dynamic fluctuations, amplitude, and frequency of glucose levels over time. Distinctive visual features include varying degrees of complexity and volatility across the records; for instance, Records 1 and 6 show pronounced spikes and oscillations, whereas Records 7 and 8 demonstrate more stable physiological trends. This visual dataset is used in endocrine research to evaluate glucose variability and metabolic control through entropy-based metrics (SampEn and FuzzyEn). The image serves as a clinical reference for physiological signal processing and the longitudinal assessment of glycemic regulation following metabolic surgical interventions in obese, diabetic populations.

Glycemic Index (GI) - Complete Explanation

Definition

The Glycemic Index (GI) is a numerical scale from 0 to 100 that measures how quickly a carbohydrate-containing food raises blood glucose levels after eating, compared to pure glucose (which is set as the reference = 100).
"Glycemic index provides an assessment of the carbohydrate content of a food in terms of its effect on postprandial (after-meal) glucose levels in the blood." - Sleisenger & Fordtran's Gastrointestinal and Liver Disease, p.2002

How GI is Measured

  1. A person eats a test food containing 50 g of carbohydrate
  2. Blood glucose is measured every 30 minutes for 2 hours
  3. The area under the curve (AUC) of blood glucose over 2 hours is calculated
  4. This is compared to eating 50 g of pure glucose (reference = 100)
  5. The ratio gives the GI score
Formula:
GI = (AUC of test food ÷ AUC of glucose) × 100

GI Classification

CategoryGI ScoreEffect on Blood Sugar
Low GI≤ 55Slow, gradual rise - GOOD for DM
Medium GI56–69Moderate rise
High GI≥ 70Rapid, sharp spike - BAD for DM

What Affects GI?

According to the textbooks, several factors determine a food's GI:
FactorLower GIHigher GI
Starch typeMore amyloseMore amylopectin
ProcessingWhole grain, rawRefined flour, cooked/mashed
Fiber contentHigh fiberLow fiber
Fruit ripenessUnripeVery ripe
Food formWhole foodLiquid/juice form

GI vs Glycemic Load (GL)

  • GI = how fast a food raises glucose
  • Glycemic Load (GL) = GI × actual amount of carbohydrate eaten ÷ 100
  • GL is more practical because it accounts for portion size
Example: Watermelon has a high GI (76) but low GL (4) because it has very little actual carbohydrate per serving.

Clinical Importance in Diabetes

  • Foods with low GI are digested and absorbed slowly - gentle, steady glucose rise
  • Foods with high GI are digested rapidly - sudden glucose flood into blood
  • In diabetes, the insulin response is impaired, so high-GI foods cause persistent hyperglycemia and increase risk of complications (kidney disease, neuropathy, retinopathy)
  • Low-GI diets have been shown to improve glycemic control in Type 2 DM
"The ability to control blood glucose levels after a carbohydrate meal... is better achieved with foods having a low glycemic index." - Sleisenger & Fordtran's GI & Liver Disease, p.2002

Quick Examples

Low GI (Good)High GI (Avoid in DM)
Lentils (29)White bread (75)
Chickpeas (28)White rice (72)
Whole oats (55)Cornflakes (81)
Apple (36)Baked potato (85)
Brown rice (50)Watermelon (76)

One-Line Summary

High GI = fast glucose spike = bad for diabetes. Low GI = slow glucose rise = blood sugar stays controlled.

Give affordable carbohydrate sources headlines

Here are the Affordable Carbohydrate Sources headlines for DM:

🫘 1. Lentils & Beans (Dal, Rajma, Chana)

High fiber + protein — slowest glucose release

🌾 2. Whole Oats

Beta-glucan fiber — lowers post-meal blood sugar

🌿 3. Millets (Jowar, Bajra, Ragi)

More fiber than white rice — micronutrient-rich

🫓 4. Whole Wheat Chapati

Better GI than white bread — everyday staple

🍠 5. Sweet Potato (Boiled)

Filling & nutritious — moderate GI when boiled

🍚 6. Brown Rice (Small Portion)

Lower GI than white rice — switch gradually

🌽 7. Corn (Boiled, not Fried)

Natural fiber — avoid packaged/fried corn snacks

🍌 8. Raw Banana (Unripe)

High resistant starch — acts like fiber, very low GI

Golden Rule: The less processed, the lower the GI, the better for DM. Always pair carbs with fiber or protein to slow glucose absorption further.

Give low cost nutrition based on park community medicine

Reading File
Searching the medical library for Park's Community Medicine nutrition content...
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Here is the Low-Cost Nutrition content directly from Park's Textbook of Preventive and Social Medicine:

Low-Cost Nutrition for Diabetes — Based on Park's Community Medicine


Park's Classification of Foods by Nutritive Value

(The 10 food groups — the foundation of low-cost Indian nutrition)
#Food GroupRoleAffordable Examples
1Cereals & MilletsEnergy-giving (carbohydrates)Rice, wheat, jowar, bajra, ragi
2Pulses (Legumes)Body-building (protein)Moong, masoor, chana, rajma, arhar dal
3VegetablesProtective (vitamins, minerals, fiber)Spinach, methi, cabbage, lauki, karela
4Nuts & OilseedsEnergy + essential fatsGroundnuts, til (sesame), flaxseed
5FruitsProtectiveGuava, amla, papaya, banana
6Animal FoodsBody-buildingEggs, fish, chicken, milk
7Fats & OilsEnergyMustard oil, groundnut oil
8Sugar & JaggeryEnergy (use minimally in DM)Jaggery (lower GI than sugar)
9Condiments & SpicesFlavor + medicinalTurmeric, methi seeds, cinnamon
10MiscellaneousVariesCurd, buttermilk
"Energy-giving foods: cereals, sugars, roots and tubers, fats and oils. Body-building foods: milk, meat, poultry, fish, eggs, pulses, nuts. Protective foods: vegetables, fruits, milk." - Park's, Classification by Predominant Function

Park's Macronutrient Distribution for the Indian Diet

Macronutrient% of Total Energy (Indian Dietary)
Carbohydrates50–80%
Fats15–30%
Proteins10–15%
In Indian diets, carbohydrates contribute 50–80% of total energy — making the choice of LOW-GI carbs especially important in DM.

Park's Glycaemic Index Table (Directly from the Textbook)

GI CategoryGI RangeAffordable Low-Cost Examples
Low GI≤ 55Most fruits & vegetables, whole grains, pasta, beans, lentils
Medium GI ⚠️56–69Sucrose, basmati rice, brown rice
High GI≥ 70Corn flakes, baked potato, jasmine white rice, white bread, candy
"Low GI foods favour slow release of sugar into the small intestine... The concept has practical utility in management of diabetes and control of obesity." - Park's, p. 710

Park's Key Carbohydrate Principles (Directly Quoted)

  • Carbohydrate is the main source of energy — 4 kcal per gram
  • Starch (from cereals, roots, tubers) is basic to the human diet
  • Cellulose (indigestible) = dietary fibre — slows glucose absorption
  • If dietary carbohydrates are insufficient, the body breaks down protein and fat to maintain glucose — dangerous in DM

Park's Dietary Fibre — Why It Matters for DM

"Dietary fibre... exhibits blood glucose attenuation." - Park's
Fibre-Rich Affordable FoodsWhy Good for DM
Whole cereals (jowar, bajra, oats)Slows starch digestion
Pulses/legumes (all dals)Soluble fibre lowers post-meal glucose
Vegetables (methi, lauki, karela)Insoluble + soluble fibre
Fruits (guava, amla)Pectin slows glucose rise

Park's Overnutrition Warning — Relevant to DM

"The high incidence of obesity, atheroma and diabetes in western societies is attributed to overnutrition." - Park's, Social Aspects of Nutrition
This directly explains why low-cost, fiber-rich, minimally processed Indian foods are actually protective against DM compared to high-calorie western diets.

Park's Community Nutrition Programmes (Government Schemes)

Park lists these national programmes providing low-cost/free nutrition support:
ProgrammeBenefit
ICDS (Integrated Child Development Services)Supplementary feeding for children & mothers
Mid-Day Meal SchemeSchool children nutrition
Special Nutrition ProgrammeVulnerable populations
Balwadi Nutrition ProgrammePre-school children

Summary: Low-Cost DM Nutrition per Park's Principles

FoodPark's CategoryGICost
Moong/masoor dalPulses (body-building)LowVery cheap
Jowar/bajra rotiCereals & millets (energy)LowVery cheap
Methi/spinachVegetables (protective)Very LowCheap
EggsAnimal foods (body-building)Very LowCheap
GroundnutsNuts & oilseedsLowCheap
Guava/amlaFruits (protective)LowVery cheap
ButtermilkMiscellaneousLowVery cheap
Source: Park's Textbook of Preventive and Social Medicine - Classification of Foods (p. 709), Carbohydrates & Glycaemic Index (p. 710), Social Aspects of Nutrition (p. 747)
This is a shared conversation. Sign in to Orris to start your own chat.