Act as a Professor of Community Medicine, Medical Education Specialist, and Scientific Presentation Expert. Create a professional MBBS -level PowerPoint presentation based on the attached PBL case scenario. The presentation should be suitable for presentation before professors and examiners, with emphasis on clinical reasoning, public health approach, evidence-based medicine, and problem-solving rather than simple textbook content. Presentation Requirements 25–35 slides Minimal, elegant design (white background with blue accents) Professional fonts (Calibri/Aptos) Very little animation High-quality icons, flowcharts, algorithms, tables, and infographics Avoid decorative elements Every slide should contain only key points, while speaker notes should contain detailed explanations. Presentation Structure Title slide Learning objectives Clinical case scenario Important facts extracted from the case Identification of problems Root cause analysis (Fishbone/5 Why analysis) Clinical reasoning and differential diagnosis (if applicable) Pathophysiology with flowchart Epidemiology (Global, India, State) Risk factors Social determinants of health National Programme involved Relevant WHO and Government of India guidelines Diagnostic approach Management (Individual, Family, Community, Health System) Counselling strategy Role of ASHA, ANM, PHC, UPHC and referral system Ethical issues Communication barriers Behaviour Change Communication (BCC/IEC) SWOT analysis Community intervention plan Monitoring and Evaluation indicators Recent evidence and guidelines (2024–2026 if available) Key take-home messages Conclusion References (Park's PSM, WHO, MoHFW, ICMR, relevant guidelines) Content Style Explain every concept in detail. Include the reasoning behind every management decision. Compare ideal management versus real-world challenges. Explain "Why?" and "How?" for every important point. Include clinical pearls and viva questions wherever appropriate. Highlight examiner's favorite points. Mention common mistakes made by students. Add practical examples from Indian healthcare settings. Integrate public health with clinical medicine. Visual Requirements Include: Flowcharts Algorithms Decision trees Comparison tables Timeline diagrams Pyramid diagrams Mind maps Infographics Clinical pathways National programme flow diagrams Presentation Notes For every slide, provide speaker notes (100–200 words) explaining: What to say Why the point is important Clinical significance Public health importance Possible questions professors may ask Suggested answers to those questions References Base the presentation on: Park's Textbook of Preventive & Social Medicine WHO Guidelines MoHFW Government of India ICMR Latest National Programme Guidelines Recent peer-reviewed evidence where applicable The final presentation should look like a medical conference presentation, suitable for MBBS final-year seminars and professor evaluation, with strong analytical depth, clear explanations, and a clean minimal design

Reading File
Reading File
Reading File
Reading File
Running Command

cd /tmp/workspace && python3 -c " from docx import Document doc = Document('/tmp/workspace/attachments/00cee1f0-6b19-494f-bc97-e862d5e3ff42/PBL_Case_Scenarios_All_Groups.docx') for i, para in enumerate(doc.paragraphs): if para.text.strip(): print(f'{i}: [{para.style.name}] {para.text}') "

Asking for Preferences
Finding Sources
Finding Sources
Searching PubMed

"severe acute malnutrition" AND "management" AND "India"

Searching the Web

POSHAN Abhiyaan 2024 2025 India child malnutrition statistics progress report

Reading File
Reading File
Finding Sources
Finding Sources
Running Command

mkdir -p /tmp/workspace/pem-pbl-pptx && ls /tmp/workspace/pem-pbl-pptx/

Create

Writing File

~/pem-pbl-pptx/build_pptx.py

"""
PBL Presentation: Under-5 Child Nutrition / Protein-Energy Malnutrition
Group 5 – Case of Ravi (2.5-year-old boy)
Community Medicine – MBBS Final Year
"""

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.oxml.ns import qn
from pptx.oxml import parse_xml
from lxml import etree
import copy

# ─── Colour palette ────────────────────────────────────────────────────────────
NAVY       = RGBColor(0x00, 0x33, 0x6B)   # deep navy blue  (headings/accent)
BLUE       = RGBColor(0x00, 0x5B, 0xB5)   # medium blue     (sub-headings / borders)
LIGHT_BLUE = RGBColor(0xD6, 0xE8, 0xFF)   # pale blue       (row shading)
SKY        = RGBColor(0xEB, 0xF4, 0xFF)   # very light blue (section bg strip)
WHITE      = RGBColor(0xFF, 0xFF, 0xFF)
BLACK      = RGBColor(0x1A, 0x1A, 0x1A)
GRAY_TEXT  = RGBColor(0x44, 0x44, 0x44)
GOLD       = RGBColor(0xE6, 0x9A, 0x00)   # gold accent for pearls
RED        = RGBColor(0xC0, 0x39, 0x2B)
GREEN      = RGBColor(0x1A, 0x7A, 0x3C)
ORANGE     = RGBColor(0xD6, 0x63, 0x00)

W = Inches(13.333)
H = Inches(7.5)

prs = Presentation()
prs.slide_width  = W
prs.slide_height = H
blank_layout = prs.slide_layouts[6]   # fully blank – place everything ourselves

# ═══════════════════════════════════════════════════════════════════════════════
# HELPER FUNCTIONS
# ═══════════════════════════════════════════════════════════════════════════════

def add_rect(slide, l, t, w, h, fill=None, line_color=None, line_width=Pt(0)):
    shape = slide.shapes.add_shape(1, l, t, w, h)   # 1 = MSO_SHAPE_TYPE.RECTANGLE
    shape.line.width = line_width
    if fill:
        shape.fill.solid()
        shape.fill.fore_color.rgb = fill
    else:
        shape.fill.background()
    if line_color:
        shape.line.color.rgb = line_color
        shape.line.width = line_width if line_width else Pt(1)
    else:
        shape.line.fill.background()
    return shape

def add_tb(slide, l, t, w, h, text, font_name="Aptos", font_size=Pt(14),
           bold=False, italic=False, color=BLACK, align=PP_ALIGN.LEFT,
           word_wrap=True, v_anchor=MSO_ANCHOR.TOP):
    tb = slide.shapes.add_textbox(l, t, w, h)
    tf = tb.text_frame
    tf.word_wrap = word_wrap
    tf.vertical_anchor = v_anchor
    tf.margin_left  = Inches(0.04)
    tf.margin_right = Inches(0.04)
    tf.margin_top   = Inches(0.02)
    tf.margin_bottom= Inches(0.02)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.name  = font_name
    run.font.size  = font_size
    run.font.bold  = bold
    run.font.italic= italic
    run.font.color.rgb = color
    return tb

def add_multi_para_tb(slide, l, t, w, h, paras, font_name="Aptos",
                      font_size=Pt(13), bold=False, color=BLACK,
                      align=PP_ALIGN.LEFT, spacing_after=Pt(4),
                      line_spacing=1.15, word_wrap=True):
    """paras: list of (text, bold_override, color_override, size_override, indent_level)"""
    tb = slide.shapes.add_textbox(l, t, w, h)
    tf = tb.text_frame
    tf.word_wrap = word_wrap
    tf.margin_left  = Inches(0.06)
    tf.margin_right = Inches(0.06)
    tf.margin_top   = Inches(0.04)
    tf.margin_bottom= Inches(0.04)

    first = True
    for item in paras:
        if isinstance(item, str):
            text = item; b = bold; c = color; sz = font_size; lvl = 0
        else:
            text = item[0]
            b    = item[1] if len(item) > 1 else bold
            c    = item[2] if len(item) > 2 else color
            sz   = item[3] if len(item) > 3 else font_size
            lvl  = item[4] if len(item) > 4 else 0

        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()

        p.alignment = align
        p.level = lvl
        p.space_after = spacing_after
        # line spacing
        from pptx.oxml.ns import qn
        from lxml import etree
        pPr = p._pPr
        if pPr is None:
            pPr = p._p.get_or_add_pPr()
        lnSpc = etree.SubElement(pPr, qn('a:lnSpc'))
        spcPct = etree.SubElement(lnSpc, qn('a:spcPct'))
        spcPct.set('val', str(int(line_spacing * 100000)))

        run = p.add_run()
        run.text = text
        run.font.name  = font_name
        run.font.size  = sz
        run.font.bold  = b
        run.font.color.rgb = c
    return tb

def add_notes(slide, text):
    notes_slide = slide.notes_slide
    tf = notes_slide.notes_text_frame
    tf.text = text

def header_bar(slide, title, subtitle=None):
    """Top blue bar with title"""
    add_rect(slide, 0, 0, W, Inches(1.1), fill=NAVY)
    add_tb(slide, Inches(0.3), Inches(0.08), Inches(12.0), Inches(0.6),
           title, font_name="Aptos", font_size=Pt(24), bold=True,
           color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
    if subtitle:
        add_tb(slide, Inches(0.3), Inches(0.65), Inches(12.0), Inches(0.38),
               subtitle, font_name="Aptos", font_size=Pt(13), bold=False,
               color=LIGHT_BLUE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

def footer_bar(slide, text="Community Medicine PBL | Group 5 – Under-5 Nutrition/PEM"):
    add_rect(slide, 0, Inches(7.2), W, Inches(0.3), fill=NAVY)
    add_tb(slide, Inches(0.2), Inches(7.21), Inches(13.0), Inches(0.28),
           text, font_name="Aptos", font_size=Pt(9), bold=False,
           color=LIGHT_BLUE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

def slide_num_label(slide, n):
    add_tb(slide, Inches(12.9), Inches(7.22), Inches(0.4), Inches(0.25),
           str(n), font_size=Pt(9), color=LIGHT_BLUE, bold=False,
           align=PP_ALIGN.RIGHT, v_anchor=MSO_ANCHOR.MIDDLE)

def section_strip(slide, text):
    """Thin coloured strip under the header bar as a section label"""
    add_rect(slide, 0, Inches(1.1), W, Inches(0.28), fill=LIGHT_BLUE)
    add_tb(slide, Inches(0.3), Inches(1.1), Inches(12.0), Inches(0.28),
           text, font_name="Aptos", font_size=Pt(10.5), bold=True,
           color=NAVY, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

def blue_bullet(slide, l, t, w, h, items, font_size=Pt(13.5), bold_first=False):
    """Renders a list of items with a blue square bullet"""
    line_h = Inches(0.32)
    for i, item in enumerate(items):
        yy = t + i * line_h
        if yy + line_h > t + h:
            break
        # bullet square
        add_rect(slide, l, yy + Inches(0.09), Inches(0.13), Inches(0.13), fill=BLUE)
        b = (bold_first and i == 0)
        add_tb(slide, l + Inches(0.22), yy, w - Inches(0.22), line_h,
               item, font_size=font_size, bold=b, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

def two_col_bullets(slide, l, t, w, h, left_items, right_items,
                    left_title=None, right_title=None, font_size=Pt(13)):
    half = w / 2 - Inches(0.1)
    # vertical divider
    add_rect(slide, l + half + Inches(0.05), t, Inches(0.02), h, fill=LIGHT_BLUE)
    if left_title:
        add_rect(slide, l, t, half, Inches(0.3), fill=BLUE)
        add_tb(slide, l + Inches(0.05), t, half, Inches(0.3),
               left_title, font_size=Pt(12), bold=True, color=WHITE,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
        t_left = t + Inches(0.32)
        t_right = t + Inches(0.32)
    else:
        t_left = t
        t_right = t
    if right_title:
        add_rect(slide, l + half + Inches(0.12), t, half, Inches(0.3), fill=BLUE)
        add_tb(slide, l + half + Inches(0.17), t, half, Inches(0.3),
               right_title, font_size=Pt(12), bold=True, color=WHITE,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
    blue_bullet(slide, l + Inches(0.05), t_left, half - Inches(0.05),
                h - (t_left - t), left_items, font_size=font_size)
    blue_bullet(slide, l + half + Inches(0.15), t_right, half - Inches(0.05),
                h - (t_right - t), right_items, font_size=font_size)

def box_item(slide, l, t, w, h, title, body, title_color=NAVY, body_color=GRAY_TEXT,
             box_fill=SKY, border_color=BLUE):
    add_rect(slide, l, t, w, h, fill=box_fill, line_color=border_color, line_width=Pt(1.2))
    add_tb(slide, l + Inches(0.08), t + Inches(0.04), w - Inches(0.16), Inches(0.28),
           title, font_size=Pt(12), bold=True, color=title_color,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP)
    add_tb(slide, l + Inches(0.08), t + Inches(0.32), w - Inches(0.16),
           h - Inches(0.36), body, font_size=Pt(11.5), bold=False, color=body_color,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

def arrow_right(slide, l, t, size=Inches(0.22), color=BLUE):
    """Simple right-pointing triangle as arrow"""
    from pptx.util import Emu
    shape = slide.shapes.add_shape(5, l, t, size, size)  # 5 = right arrow
    shape.fill.solid()
    shape.fill.fore_color.rgb = color
    shape.line.fill.background()
    return shape

def flow_box(slide, l, t, w, h, text, fill=LIGHT_BLUE, border=BLUE,
             font_size=Pt(12), bold=False, text_color=NAVY):
    add_rect(slide, l, t, w, h, fill=fill, line_color=border, line_width=Pt(1.5))
    add_tb(slide, l + Inches(0.06), t + Inches(0.04), w - Inches(0.12),
           h - Inches(0.08), text, font_size=font_size, bold=bold,
           color=text_color, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE,
           word_wrap=True)

def flow_arrow_down(slide, l, t, arrow_h=Inches(0.22)):
    """Draw a small downward arrow"""
    cx = l
    cy = t
    shape = slide.shapes.add_connector(1, cx, cy, cx, cy + arrow_h)  # 1=straight
    shape.line.color.rgb = BLUE
    shape.line.width = Pt(1.8)

def draw_table(slide, l, t, w, headers, rows,
               header_fill=NAVY, alt_fill=LIGHT_BLUE,
               row_h=Inches(0.34), font_size=Pt(11.5)):
    """Draw a table using rectangles"""
    n_cols = len(headers)
    col_w = w / n_cols
    hdr_h = Inches(0.36)
    # Header row
    for ci, hdr in enumerate(headers):
        add_rect(slide, l + ci*col_w, t, col_w, hdr_h, fill=header_fill,
                 line_color=WHITE, line_width=Pt(0.8))
        add_tb(slide, l + ci*col_w + Inches(0.04), t, col_w - Inches(0.04), hdr_h,
               hdr, font_size=Pt(11.5), bold=True, color=WHITE,
               align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    # Data rows
    for ri, row in enumerate(rows):
        row_fill = LIGHT_BLUE if ri % 2 == 0 else WHITE
        for ci, cell in enumerate(row):
            add_rect(slide, l + ci*col_w, t + hdr_h + ri*row_h, col_w, row_h,
                     fill=row_fill, line_color=RGBColor(0xCC,0xDD,0xEE), line_width=Pt(0.5))
            is_bold = (ci == 0)
            add_tb(slide, l + ci*col_w + Inches(0.04),
                   t + hdr_h + ri*row_h, col_w - Inches(0.04), row_h,
                   cell, font_size=font_size, bold=is_bold, color=BLACK,
                   align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 1 – TITLE SLIDE
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
# Full background
add_rect(s, 0, 0, W, H, fill=WHITE)
# Top dark band
add_rect(s, 0, 0, W, Inches(0.6), fill=NAVY)
# Bottom band
add_rect(s, 0, Inches(6.9), W, Inches(0.6), fill=NAVY)
# Left blue accent bar
add_rect(s, 0, Inches(0.6), Inches(0.12), Inches(6.3), fill=BLUE)
# Central content box border accent
add_rect(s, Inches(0.3), Inches(1.0), Inches(12.73), Inches(5.7),
         fill=None, line_color=LIGHT_BLUE, line_width=Pt(1.5))

# Institution label
add_tb(s, Inches(0.5), Inches(0.1), Inches(12.0), Inches(0.4),
       "Department of Community Medicine  |  RHTC Clinical Postings  |  PBL Seminar – Group 5",
       font_name="Aptos", font_size=Pt(11), bold=False, color=LIGHT_BLUE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

# Main title
add_tb(s, Inches(0.5), Inches(1.2), Inches(12.33), Inches(1.3),
       "UNDER-5 CHILD NUTRITION &\nPROTEIN-ENERGY MALNUTRITION",
       font_name="Aptos", font_size=Pt(36), bold=True, color=NAVY,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

# Horizontal rule
add_rect(s, Inches(1.5), Inches(2.62), Inches(10.33), Inches(0.04), fill=BLUE)
add_rect(s, Inches(3.0), Inches(2.7), Inches(7.33), Inches(0.04), fill=GOLD)

# Subtitle
add_tb(s, Inches(0.5), Inches(2.8), Inches(12.33), Inches(0.5),
       "A Community Medicine Problem-Based Learning Case Analysis",
       font_name="Aptos", font_size=Pt(16), bold=False, color=BLUE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

# Case tag
add_rect(s, Inches(3.5), Inches(3.4), Inches(6.33), Inches(0.52), fill=LIGHT_BLUE,
         line_color=BLUE, line_width=Pt(1))
add_tb(s, Inches(3.5), Inches(3.4), Inches(6.33), Inches(0.52),
       "Case: Ravi | 2½-year-old boy | Anganwadi Centre / UPHC",
       font_name="Aptos", font_size=Pt(13.5), bold=True, color=NAVY,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

# Info grid
info = [
    ("Topic", "Severe Underweight, Wasting & PEM"),
    ("Programme", "POSHAN Abhiyaan / ICDS / NTEP-Nutrition"),
    ("Framework", "Clinical + Public Health + Social Determinants"),
    ("Guidelines", "WHO, MoHFW, ICMR, NFHS-5 (2019–21)"),
    ("Date", "August 2026"),
]
for i,(lbl,val) in enumerate(info):
    yy = Inches(4.05) + i * Inches(0.46)
    add_rect(s, Inches(1.5), yy, Inches(2.2), Inches(0.38), fill=NAVY)
    add_tb(s, Inches(1.5), yy, Inches(2.2), Inches(0.38),
           lbl, font_size=Pt(11.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, Inches(3.72), yy, Inches(8.1), Inches(0.38), fill=SKY,
             line_color=LIGHT_BLUE, line_width=Pt(0.5))
    add_tb(s, Inches(3.78), yy, Inches(8.0), Inches(0.38),
           val, font_size=Pt(11.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

add_tb(s, Inches(0.5), Inches(6.92), Inches(12.33), Inches(0.38),
       "\"Every child deserves the right to grow, learn, and thrive — free from malnutrition.\"  — SDG 2",
       font_size=Pt(10.5), bold=False, italic=True, color=LIGHT_BLUE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 1 (TITLE)

Start with this impactful opening: 'Today we present a case of Ravi, a 2.5-year-old child whose story is not unique — it represents millions of under-five children in India suffering silently from malnutrition.' 

Why this topic matters: India has the highest absolute burden of child undernutrition in the world. Despite NFHS-5 showing modest improvements, India still has 35.5% stunted children and 19.3% wasting — among the highest globally. This is not merely a nutrition problem; it is a failure of health systems, food systems, governance, and social equity.

Key message to convey: Malnutrition is not just about food. It results from a complex interplay of dietary inadequacy, infections, poverty, poor WASH, gender inequality, and weak health service delivery. This PBL will train students to think at multiple levels — from bedside to community to policy.

Examiner's favourite point: 'What is the relationship between malnutrition and infection?' Answer: Bidirectional — malnutrition increases susceptibility to infection; infections worsen nutritional status. This vicious cycle is the crux of child mortality.

Reference: Park's PSM 27th ed., Chapter on Nutrition; NFHS-5 (2019-21); WHO Global Nutrition Report 2024.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 2 – LEARNING OBJECTIVES
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Learning Objectives",
           "After this PBL session, students will be able to:")
section_strip(s, "Cognitive  |  Analytical  |  Skill-Based  |  Attitudinal")
footer_bar(s)
slide_num_label(s, 2)

objs = [
    "Define and classify Protein-Energy Malnutrition (PEM) using WHO Z-score standards",
    "Interpret growth monitoring charts and identify growth faltering patterns",
    "Describe recommended Infant and Young Child Feeding (IYCF) practices",
    "Identify and manage Severe Acute Malnutrition (SAM) and Moderate Acute Malnutrition (MAM)",
    "Explain criteria for referral to Nutrition Rehabilitation Centre (NRC)",
    "Describe roles of ICDS, Anganwadi, ASHA, ANM, PHC, and UPHC in nutrition services",
    "Discuss social and household determinants of child malnutrition",
    "Outline national nutrition programmes: POSHAN Abhiyaan, ICDS, Anemia Mukt Bharat",
    "Apply Behaviour Change Communication (BCC) strategies to address feeding myths",
    "Enumerate M&E indicators: prevalence of stunting, wasting, underweight, NRC admission rate",
    "Formulate a community intervention plan for reduction of under-5 malnutrition",
]
ystart = Inches(1.5)
for i, obj in enumerate(objs):
    yy = ystart + i * Inches(0.46)
    num_box_w = Inches(0.34)
    add_rect(s, Inches(0.25), yy + Inches(0.04), num_box_w, Inches(0.34),
             fill=BLUE if i % 2 == 0 else NAVY)
    add_tb(s, Inches(0.25), yy + Inches(0.04), num_box_w, Inches(0.34),
           str(i+1), font_size=Pt(12), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_tb(s, Inches(0.68), yy, Inches(12.4), Inches(0.44),
           obj, font_size=Pt(12.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 2 (LEARNING OBJECTIVES)

These learning objectives are designed to align with the MBBS final year Community Medicine curriculum and competency-based medical education (CBME) framework of NMC.

Emphasis areas for examiners: 
• Classification of malnutrition (objective 1): Examiners frequently ask to classify Ravi's case. Answer: Weight-for-age below -3SD = Severe Underweight; wasting present = likely SAM. MUAC <115mm confirms SAM.
• IYCF (objective 3): Common exam question — 'What are the WHO IYCF recommendations?' Answer: Exclusive breastfeeding for 6 months, followed by timely, adequate, safe, and appropriately-fed complementary foods from 6 months with continued breastfeeding up to 2 years or beyond.
• NRC referral (objective 5): NRC = Nutrition Rehabilitation Centre, a facility-based care unit under NHM for SAM children with complications.

Common student mistakes: Confusing stunting (chronic) with wasting (acute); treating malnutrition only as a dietary problem and not addressing WASH, infections, and social determinants.

Teaching strategy: Use Ravi's case to demonstrate how each objective connects to real-world clinical decisions.

Reference: NMC CBME curriculum 2019; Park's PSM Chapter 11 (Nutrition).""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 3 – CLINICAL CASE SCENARIO
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Clinical Case Scenario",
           "Group 5 — Under-5 Nutrition / Protein-Energy Malnutrition")
footer_bar(s)
slide_num_label(s, 3)

# Case photo placeholder - child icon box
add_rect(s, Inches(0.25), Inches(1.2), Inches(2.6), Inches(5.8),
         fill=LIGHT_BLUE, line_color=BLUE, line_width=Pt(1.5))
add_tb(s, Inches(0.3), Inches(1.2), Inches(2.5), Inches(0.5),
       "👦 PATIENT", font_size=Pt(13), bold=True, color=NAVY,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
vitals = [
    ("Name", "Ravi"),
    ("Age", "2½ years (30 months)"),
    ("Sex", "Male"),
    ("Setting", "Anganwadi / UPHC"),
    ("W-for-age", "< −3 SD  [SAM]"),
    ("Wasting", "Visible present"),
    ("Pallor", "Mild"),
    ("Growth", "Smaller than peers"),
    ("Appetite", "Poor"),
    ("Infections", "Freq. diarrhoea +\nURTI last 3 months"),
]
for i,(k,v) in enumerate(vitals):
    yy = Inches(1.75) + i * Inches(0.47)
    add_rect(s, Inches(0.3), yy, Inches(1.2), Inches(0.38), fill=NAVY)
    add_tb(s, Inches(0.3), yy, Inches(1.2), Inches(0.38),
           k, font_size=Pt(10), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, Inches(1.52), yy, Inches(1.25), Inches(0.38), fill=SKY,
             line_color=LIGHT_BLUE, line_width=Pt(0.5))
    add_tb(s, Inches(1.55), yy, Inches(1.2), Inches(0.38),
           v, font_size=Pt(10), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

# Case narrative boxes
box_data = [
    (Inches(3.1), Inches(1.2), Inches(5.0), Inches(2.3), "📋 PRESENTING COMPLAINT",
     "Ravi, a 2½-year-old boy, brought by his mother to the growth monitoring session at the Anganwadi centre linked to the UPHC.\n\n• Weight-for-age below −3SD (severely underweight)\n• Visible wasting present, mild pallor\n• Appears smaller than same-age peers"),
    (Inches(8.3), Inches(1.2), Inches(4.8), Inches(2.3), "🍼 FEEDING HISTORY",
     "• Exclusively breastfed for 6 months ✓\n• Complementary feeding started LATE at 10 months ✗\n• Diet: mainly rice water and thin gruel\n• Little dietary diversity — no proteins/vegetables\n• Frequent episodes of diarrhea and URTI\n• Poor appetite reported"),
    (Inches(3.1), Inches(3.6), Inches(5.0), Inches(2.2), "👨‍👩‍👦 FAMILY CONTEXT",
     "• Father: alcohol dependence + irregular income\n• Household food insecurity (especially month-end)\n• Mother: limited awareness of feeding practices\n• Mother: 'Thought he was just a lean child'\n• Family relies only on Anganwadi take-home ration"),
    (Inches(8.3), Inches(3.6), Inches(4.8), Inches(2.2), "🏥 HEALTH SYSTEM GAPS",
     "• Missed several Anganwadi growth monitoring sessions\n• Immunization INCOMPLETE for age\n• Anganwadi: poor attendance across community\n• Referral to NRC: weak linkage\n• ICDS–health system convergence: inadequate"),
]
for (l,t,w,h,title,body) in box_data:
    add_rect(s, l, t, w, h, fill=SKY, line_color=BLUE, line_width=Pt(1.5))
    add_tb(s, l+Inches(0.1), t+Inches(0.06), w-Inches(0.2), Inches(0.34),
           title, font_size=Pt(12), bold=True, color=NAVY,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, l, t+Inches(0.38), w, Inches(0.025), fill=BLUE)
    add_tb(s, l+Inches(0.1), t+Inches(0.44), w-Inches(0.2), h-Inches(0.5),
           body, font_size=Pt(11.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

# Problem statement banner
add_rect(s, Inches(0.25), Inches(5.92), Inches(12.83), Inches(0.7),
         fill=NAVY, line_color=GOLD, line_width=Pt(1.5))
add_tb(s, Inches(0.35), Inches(5.92), Inches(12.6), Inches(0.7),
       "PROBLEM STATEMENT: A young child with severe underweight and wasting arising from delayed and inadequate complementary feeding, recurrent infections, and household food insecurity, reflects multi-level determinants of child undernutrition and weak convergence between ICDS and health services.",
       font_size=Pt(11), bold=False, italic=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 3 (CASE SCENARIO)

Introduce the patient: 'Ravi is not just a malnourished child — he is a mirror of systemic failure.'

Key clinical points to discuss:
1. Complementary feeding started at 10 months — should have started at 6 months. This 4-month delay is critical because 6–24 months is the 'window of opportunity' for nutrition. After age 2, damage from stunting is largely irreversible.
2. Diet of rice water and thin gruel — zero protein, zero dietary diversity. Emphasize: the family is not 'negligent' — they are limited by knowledge and poverty.
3. Recurrent diarrhoea + URTI: classic malnutrition-infection cycle. Each infection causes appetite loss, nutrient losses, and inflammation — worsening malnutrition, which then reduces immune function.
4. Incomplete immunization: in families with poor Anganwadi attendance, immunization defaulting follows.

Examiner question: 'What is the significance of Weight-for-Age below -3SD?' 
Answer: It classifies as Severe Underweight (WHO). In context of visible wasting, this is likely Severe Acute Malnutrition (SAM), requiring MUAC measurement (<115mm) and assessment for bilateral pitting oedema to confirm.

Public health lens: This single case represents a community-level failure — poor VHND attendance, weak growth monitoring promotion, inadequate ICDS-health system convergence, and food insecurity.

Reference: Park's PSM; WHO Child Growth Standards; IYCF National Guidelines MoHFW.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 4 – KEY FACTS FROM THE CASE
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Key Facts Extracted from the Case",
           "Structured Analysis across Individual · Family · Community · Health System Levels")
footer_bar(s)
slide_num_label(s, 4)

levels = [
    (Inches(0.25), "👤 INDIVIDUAL (Ravi)", NAVY,
     ["Age: 2½ years — critical developmental window",
      "Weight-for-age: < −3SD → Severe Underweight",
      "Visible wasting: muscle mass depletion",
      "Mild pallor: concurrent micronutrient deficiency",
      "Complementary feeding started late (10 months, not 6)",
      "Diet: rice water/gruel — low protein, zero diversity",
      "Recurrent diarrhea + URTI → infection-malnutrition cycle",
      "Incomplete immunization for age",
      "Missed multiple growth monitoring sessions"]),
    (Inches(3.55), "👨‍👩‍👦 FAMILY LEVEL", BLUE,
     ["Father: alcohol dependence → irregular income",
      "Household food insecurity, especially month-end",
      "Mother: low awareness of complementary feeding",
      "Perception: 'just a lean child, will improve'",
      "Family relies solely on Anganwadi take-home ration",
      "No dietary diversity at home despite THR",
      "Absent father engagement in child nutrition"]),
    (Inches(6.85), "🌍 COMMUNITY LEVEL", GREEN,
     ["Multiple children showing growth faltering (AWW report)",
      "Inconsistent Anganwadi/growth monitoring attendance",
      "Families rely only on THR without dietary diversity",
      "Immunization defaulting in same households",
      "Food insecurity widespread in the area"]),
    (Inches(10.15), "🏥 HEALTH SYSTEM", RED,
     ["No systematic screening for SAM in community",
      "Weak NRC referral linkage from Anganwadi",
      "Poor ICDS–health system convergence",
      "Inadequate IYCF counselling at Anganwadi level",
      "VHND: irregular and poorly attended",
      "Immunization: no defaulter tracking"]),
]

col_w = Inches(2.9)
for (l, title, col, items) in levels:
    add_rect(s, l, Inches(1.25), col_w, Inches(0.4), fill=col)
    add_tb(s, l + Inches(0.05), Inches(1.25), col_w - Inches(0.1), Inches(0.4),
           title, font_size=Pt(11.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for i, item in enumerate(items):
        yy = Inches(1.72) + i * Inches(0.51)
        if yy > Inches(6.9): break
        add_rect(s, l + Inches(0.05), yy + Inches(0.12), Inches(0.12), Inches(0.12), fill=col)
        add_tb(s, l + Inches(0.22), yy, col_w - Inches(0.28), Inches(0.48),
               item, font_size=Pt(11), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)
    # vertical divider
    if l < Inches(10.15):
        add_rect(s, l + col_w + Inches(0.02), Inches(1.25),
                 Inches(0.03), Inches(5.7), fill=LIGHT_BLUE)

add_notes(s, """SPEAKER NOTES – SLIDE 4 (KEY FACTS)

This structured extraction of facts is a critical PBL skill — it trains students to move from a narrative case to an analytical framework.

Individual level key point: The co-existence of severe underweight + visible wasting + pallor + recurrent infections in a 2.5-year-old tells us this is not isolated — it is a multi-deficiency state. SAM + micronutrient deficiency (iron causing pallor) = compounded mortality risk.

Family level key point: Alcohol dependence of the father is a social determinant that creates income irregularity → food insecurity → malnutrition. This is an examiner favourite: 'What is the role of social determinants in child malnutrition?' Answer: Poverty, food insecurity, maternal education, paternal substance abuse, and household WASH are all upstream determinants.

Community level: Inconsistent Anganwadi attendance is a systemic problem — it reflects poor demand generation, lack of community trust, and inadequate outreach by AWW/ASHA.

Health system level: The critical gap is the NRC referral linkage. Most SAM children in India are NOT referred to NRC because Anganwadi workers and ANMs are not trained/empowered to initiate referral.

Examiner question: 'What is the CONVERGENCE between ICDS and NHM?' Answer: ICDS provides nutrition services (supplementary nutrition, growth monitoring, nutrition counselling) while NHM provides health services (immunization, treatment). Their convergence at Village Health and Nutrition Day (VHND) is the operational platform — but it remains weak in many areas.

Reference: Park's PSM; ICDS scheme guidelines MoHFW; POSHAN Abhiyaan Progress Report.""")

print("Slides 1-4 done")
Writing File

~/pem-pbl-pptx/build_slides5to15.py

"""Slides 5-15 for PEM PBL Presentation"""
# This file is exec'd after build_pptx.py has set up prs and helpers

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 5 – IDENTIFICATION OF PROBLEMS (Problem Tree)
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Identification of Problems",
           "Structured Problem Analysis — Individual · Family · Community · Health System")
footer_bar(s)
slide_num_label(s, 5)

# Central problem box
cx = Inches(4.5)
add_rect(s, cx, Inches(1.2), Inches(4.33), Inches(0.65), fill=RED,
         line_color=GOLD, line_width=Pt(2))
add_tb(s, cx + Inches(0.1), Inches(1.2), Inches(4.1), Inches(0.65),
       "CORE PROBLEM: Child Malnutrition (SAM + Micronutrient Deficiency)",
       font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

prob_groups = [
    (Inches(0.2), Inches(2.0), "INDIVIDUAL PROBLEMS", NAVY, [
        "Severe underweight (W/A < −3SD)",
        "Visible wasting (W/H < −3SD)",
        "Recurrent diarrhea & URTI",
        "Incomplete immunization",
        "Late complementary feeding",
        "Poor dietary diversity",
        "Micronutrient deficiency (pallor)",
    ]),
    (Inches(3.55), Inches(2.0), "FAMILY PROBLEMS", BLUE, [
        "Household food insecurity",
        "Father's alcohol dependence",
        "Maternal knowledge gap on IYCF",
        "Misconception: 'lean = normal'",
        "Over-reliance on Anganwadi THR",
        "No dietary diversification at home",
    ]),
    (Inches(6.9), Inches(2.0), "COMMUNITY PROBLEMS", GREEN, [
        "Growth monitoring non-attendance",
        "Immunization defaulting",
        "Widespread food insecurity",
        "Poor demand for ICDS services",
        "No community-level SAM screening",
    ]),
    (Inches(10.25), Inches(2.0), "HEALTH SYSTEM GAPS", RED, [
        "No NRC referral protocol followed",
        "Weak ICDS–NHM convergence",
        "No IYCF counselling system",
        "Irregular VHND sessions",
        "No SAM defaulter tracking",
        "AWW/ASHA not trained for SAM ID",
    ]),
]

col_w = Inches(2.9)
for (l, t, title, col, items) in prob_groups:
    add_rect(s, l, t, col_w, Inches(0.35), fill=col)
    add_tb(s, l+Inches(0.05), t, col_w-Inches(0.1), Inches(0.35),
           title, font_size=Pt(10.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for i, item in enumerate(items):
        yy = t + Inches(0.38) + i * Inches(0.46)
        if yy > Inches(6.9): break
        add_rect(s, l+Inches(0.08), yy+Inches(0.1), Inches(0.11), Inches(0.11), fill=col)
        add_tb(s, l+Inches(0.24), yy, col_w-Inches(0.3), Inches(0.43),
               item, font_size=Pt(11), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 5 (PROBLEM IDENTIFICATION)

This is a critical PBL skill — identifying ALL problems, not just the clinical one. Examiners look for students who see beyond 'malnutrition' to the root causes.

How to present: 'At the individual level, Ravi has SAM with micronutrient deficiency. But if we only treat Ravi medically and send him home to the same environment, he will relapse — which is why we must address problems at all 4 levels simultaneously.'

Common mistake: Students only list the clinical problem. The examiner will ask about community and health system problems — be ready.

Key examiner question: 'What is the difference between Severe Underweight and SAM?'
Answer: Severe Underweight = Weight-for-Age < −3SD (reflects both acute and chronic malnutrition). SAM = defined by Weight-for-Height < −3SD OR MUAC <115mm OR bilateral pitting oedema. A child can be severely underweight without meeting SAM criteria.

Another key question: 'Why is household food insecurity a health problem and not just an economic problem?' Answer: Food insecurity directly causes inadequate caloric and protein intake; it forces families to choose cheap, low-nutrient staples (rice water, gruel); it creates chronic stress which affects child development even beyond nutrition.

Reference: UNICEF Malnutrition Conceptual Framework; Park's PSM Chapter 11.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 6 – ROOT CAUSE ANALYSIS (Fishbone Diagram)
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Root Cause Analysis — Fishbone (Ishikawa) Diagram",
           "Why does child malnutrition persist? Analysing causes across 6 domains")
footer_bar(s)
slide_num_label(s, 6)

# Spine (horizontal arrow)
add_rect(s, Inches(0.5), Inches(3.9), Inches(11.5), Inches(0.12), fill=NAVY)
# Arrowhead
add_rect(s, Inches(11.7), Inches(3.72), Inches(0.4), Inches(0.48), fill=NAVY)

# Effect box (right)
add_rect(s, Inches(11.8), Inches(3.55), Inches(1.3), Inches(0.82), fill=RED,
         line_color=GOLD, line_width=Pt(2))
add_tb(s, Inches(11.85), Inches(3.55), Inches(1.2), Inches(0.82),
       "Child\nMalnutrition\n(SAM)",
       font_size=Pt(11), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

# Fishbone branches: 3 above, 3 below spine
# Above spine (causes tilted up-left)
above = [
    (Inches(2.0), "DIET/FOOD", BLUE, [
        "Late complementary feeding",
        "Low dietary diversity",
        "Inadequate calories & protein",
        "No animal source foods",
    ]),
    (Inches(5.0), "INFECTIONS", GREEN, [
        "Recurrent diarrhea",
        "Recurrent URTI",
        "Incomplete immunization",
        "Poor WASH practices",
    ]),
    (Inches(8.0), "MOTHER/CAREGIVER", NAVY, [
        "Low IYCF knowledge",
        "Feeding misconceptions",
        "Time poverty",
        "Low literacy",
    ]),
]
below = [
    (Inches(2.0), "SOCIOECONOMIC", ORANGE, [
        "Household poverty",
        "Food insecurity",
        "Father's alcohol dependence",
        "Irregular income",
    ]),
    (Inches(5.0), "HEALTH SERVICES", RED, [
        "Weak NRC referral",
        "Irregular VHND",
        "No SAM screening protocol",
        "Poor ASHA follow-up",
    ]),
    (Inches(8.0), "GOVERNANCE/PROGRAMME", RGBColor(0x6B, 0x00, 0x6B), [
        "ICDS–NHM poor convergence",
        "THR without diversification",
        "No defaulter tracking",
        "Weak M&E",
    ]),
]

for (x, title, col, items) in above:
    # diagonal line up
    add_rect(s, x - Inches(0.04), Inches(1.6), Inches(0.08), Inches(2.3), fill=col)
    add_rect(s, x - Inches(0.6), Inches(1.3), Inches(0.12), Inches(0.3), fill=col)
    add_rect(s, x - Inches(0.6), Inches(1.2), Inches(1.5), Inches(0.35), fill=col,
             line_color=WHITE, line_width=Pt(0.5))
    add_tb(s, x - Inches(0.55), Inches(1.2), Inches(1.4), Inches(0.35),
           title, font_size=Pt(11), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for i, item in enumerate(items):
        add_tb(s, x - Inches(1.0), Inches(1.6) + i * Inches(0.38),
               Inches(2.0), Inches(0.35),
               f"• {item}", font_size=Pt(10), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

for (x, title, col, items) in below:
    add_rect(s, x - Inches(0.04), Inches(4.02), Inches(0.08), Inches(2.3), fill=col)
    add_rect(s, x - Inches(0.6), Inches(6.35), Inches(1.5), Inches(0.35), fill=col,
             line_color=WHITE, line_width=Pt(0.5))
    add_tb(s, x - Inches(0.55), Inches(6.35), Inches(1.4), Inches(0.35),
           title, font_size=Pt(11), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for i, item in enumerate(items):
        add_tb(s, x - Inches(1.0), Inches(6.72) + i * Inches(0.35),  # won't render — space limited
               Inches(2.0), Inches(0.32),
               f"• {item}", font_size=Pt(10), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 6 (FISHBONE / ROOT CAUSE ANALYSIS)

The Ishikawa (fishbone) diagram is a powerful analytical tool used in quality improvement and public health to identify ALL causes of a problem, not just the proximate one.

How to present: 'For Ravi, the immediate cause is inadequate dietary intake and recurrent infections. But these are caused by deeper factors — food insecurity (socioeconomic), maternal knowledge gap (education), weak health services, and governance failures.'

The UNICEF Conceptual Framework of Malnutrition organizes causes as:
- Immediate causes: Inadequate dietary intake + disease
- Underlying causes: Food insecurity, inadequate care, poor health services/environment (WASH)
- Basic causes: Poverty, education, social norms, political will, governance

Why this matters for examiners: The fishbone shows that malnutrition requires multisectoral action — health, food, education, WASH, social protection, and governance must all act together. No single ministry can solve it alone.

5-WHY analysis:
Why is Ravi malnourished? → Inadequate diet
Why inadequate diet? → Complementary feeding started late and diet was monotonous
Why monotonous? → Mother didn't know better + no money for protein foods
Why no money? → Father's alcohol dependence reduced family income
Why no intervention? → Health system failed to track and support this family

This reveals the ROOT cause: lack of social protection + weak health system follow-up.

Reference: UNICEF Conceptual Framework for Child Malnutrition; Park's PSM; POSHAN Abhiyaan documentation.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 7 – PATHOPHYSIOLOGY FLOWCHART
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Pathophysiology of PEM — Malnutrition-Infection Vicious Cycle",
           "From Inadequate Intake to SAM, Organ Failure, and Death")
footer_bar(s)
slide_num_label(s, 7)

# Two-column flowchart
# Left: Pathophysiology chain
boxes_left = [
    ("Inadequate Dietary Intake\n(↓ Calories + ↓ Protein)", NAVY, WHITE),
    ("Negative Nitrogen Balance\n↓ Protein Synthesis", BLUE, WHITE),
    ("Muscle Wasting (Marasmus)\nLoss of Subcutaneous Fat", BLUE, WHITE),
    ("Hypoalbuminaemia\n↓ Oncotic Pressure → Oedema (Kwashiorkor)", RGBColor(0x00,0x4A,0x99), WHITE),
    ("Impaired Immune Function\n↑ Susceptibility to Infections", RED, WHITE),
    ("Infections → ↑ Catabolism\n↓ Appetite, ↑ Nutrient Loss", RED, WHITE),
    ("SAM: Weight-for-Height < −3SD\nMUAC <115 mm, Oedema", RGBColor(0x8B,0x00,0x00), WHITE),
    ("Multi-Organ Dysfunction\nHypoglycaemia, Hypothermia, Sepsis", RGBColor(0x6B,0x00,0x00), WHITE),
    ("DEATH (9× higher risk in SAM)", RGBColor(0x3D,0x00,0x00), WHITE),
]

bw = Inches(4.8)
bh = Inches(0.49)
lx = Inches(0.25)
for i, (text, fill, tc) in enumerate(boxes_left):
    ty = Inches(1.22) + i * (bh + Inches(0.04))
    add_rect(s, lx, ty, bw, bh, fill=fill, line_color=WHITE, line_width=Pt(0.5))
    add_tb(s, lx + Inches(0.08), ty, bw - Inches(0.12), bh,
           text, font_size=Pt(11), bold=(i == 0 or i >= 6), color=tc,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)
    if i < len(boxes_left)-1:
        ax = lx + bw/2 - Inches(0.06)
        ay = ty + bh
        add_rect(s, ax, ay, Inches(0.12), Inches(0.04), fill=NAVY)

# Right: Clinical types comparison
add_rect(s, Inches(5.5), Inches(1.2), Inches(7.6), Inches(0.4), fill=NAVY)
add_tb(s, Inches(5.5), Inches(1.2), Inches(7.6), Inches(0.4),
       "CLINICAL TYPES OF PEM", font_size=Pt(13), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

table_headers = ["Feature", "Marasmus", "Kwashiorkor", "Marasmic-Kwashiorkor"]
table_rows = [
    ["Primary deficiency", "↓ Calories + ↓ Protein", "↓ Protein (sufficient calories)", "Both"],
    ["Oedema", "Absent", "Present (pitting)", "Present"],
    ["Wasting", "Severe", "May be masked", "Severe"],
    ["Skin changes", "Loose, wrinkled", "Flaky-paint dermatosis", "Mixed"],
    ["Hair changes", "Thin, sparse", "Flag sign (depigmentation)", "Mixed"],
    ["Liver", "Normal / small", "Hepatomegaly (fatty)", "Enlarged"],
    ["Appearance", "'Old man face'", "Moon face, miserable", "Mixed"],
    ["MUAC", "<115 mm", "<115 mm", "<115 mm"],
    ["WHO category", "SAM", "SAM", "SAM"],
]
draw_table(s, Inches(5.5), Inches(1.65), Inches(7.6), table_headers, table_rows,
           font_size=Pt(10.5), row_h=Inches(0.38))

# MUAC colour coding
add_rect(s, Inches(5.5), Inches(6.88), Inches(7.6), Inches(0.32), fill=LIGHT_BLUE)
add_tb(s, Inches(5.5), Inches(6.88), Inches(7.6), Inches(0.32),
       "MUAC Colour Code:  GREEN ≥12.5cm (Normal) | YELLOW 11.5–12.4cm (MAM) | RED <11.5cm (SAM)",
       font_size=Pt(10.5), bold=True, color=NAVY,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 7 (PATHOPHYSIOLOGY)

Critical examiner topic — understand and explain clearly.

Pathophysiology chain:
1. Inadequate intake → negative nitrogen balance → body breaks down muscle (gluconeogenesis)
2. Protein depletion → ↓ albumin → ↓ oncotic pressure → fluid leaks into interstitium → oedema (Kwashiorkor)
3. In marasmus: primarily caloric deficit, body burns fat and muscle; no oedema because albumin relatively preserved
4. Immune dysfunction: lymphocytes decrease, complement depleted, mucosal immunity impaired → repeated infections
5. Each infection → anorexia + catabolism → worsens malnutrition → vicious cycle
6. SAM end-stage: hypoglycaemia (depleted glycogen stores), hypothermia (↓ metabolic heat), sepsis (immune failure) → death

MUAC is the most practical field tool: It is cheap, quick, and highly predictive of mortality. It does not require a scale or height measurement — any ASHA/AWW can use it.

Examiner pearl: 'SAM children are 9 times more likely to die than well-nourished children of the same age.' (Park's PSM / WHO). Mortality is mainly from hypoglycaemia, hypothermia, severe infection/sepsis, and fluid-electrolyte imbalance.

Common mistake: Students say 'give high-protein diet immediately to SAM child.' WRONG — this causes refeeding syndrome (hypophosphataemia, cardiac failure). Management starts with stabilization phase (treat infections, hypoglycaemia, hypothermia) BEFORE nutritional rehabilitation.

Flag sign: Kwashiorkor causes alternating bands of pigmented and depigmented hair corresponding to periods of adequate and inadequate protein intake.

Reference: Park's PSM; WHO 10-Steps for SAM Management; ICMR; Nelson's Textbook.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 8 – EPIDEMIOLOGY (Global, India, State)
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Epidemiology of Child Undernutrition",
           "Global · India (NFHS-5, 2019–21) · State-Level Data")
footer_bar(s)
slide_num_label(s, 8)

# Global stats
add_rect(s, Inches(0.2), Inches(1.22), Inches(4.2), Inches(0.34), fill=NAVY)
add_tb(s, Inches(0.25), Inches(1.22), Inches(4.1), Inches(0.34),
       "🌍 GLOBAL BURDEN (WHO/UNICEF 2024)", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
global_stats = [
    ("148 million", "Children stunted worldwide (<5 years)"),
    ("45 million", "Children wasted worldwide"),
    ("390 million", "Chronically food insecure"),
    ("45%", "Child deaths attributable to malnutrition"),
    ("3.1 million", "Children die of malnutrition/year"),
    ("9×", "Higher mortality risk in SAM children"),
]
for i,(val,lab) in enumerate(global_stats):
    yy = Inches(1.62) + i * Inches(0.54)
    add_rect(s, Inches(0.2), yy, Inches(1.3), Inches(0.45), fill=BLUE)
    add_tb(s, Inches(0.2), yy, Inches(1.3), Inches(0.45),
           val, font_size=Pt(14), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_tb(s, Inches(1.55), yy, Inches(2.8), Inches(0.45),
           lab, font_size=Pt(11.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

# India NFHS-5
add_rect(s, Inches(4.6), Inches(1.22), Inches(4.5), Inches(0.34), fill=NAVY)
add_tb(s, Inches(4.65), Inches(1.22), Inches(4.4), Inches(0.34),
       "🇮🇳 INDIA — NFHS-5 (2019–21) vs NFHS-4 (2015–16)",
       font_size=Pt(12), bold=True, color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
india_data = [
    ("Indicator", "NFHS-4 (%)", "NFHS-5 (%)", "Trend"),
    ("Stunting (H/A < −2SD)", "38.4", "35.5", "↓ Improved"),
    ("Wasting (W/H < −2SD)", "21.0", "19.3", "↓ Improved"),
    ("Underweight (W/A < −2SD)", "35.8", "32.1", "↓ Improved"),
    ("Severe Wasting (<−3SD)", "7.5", "7.7", "→ Stagnant"),
    ("Anaemia in children <5 yrs", "58.6", "67.1", "↑ WORSENED"),
    ("Overweight/Obese children", "2.1", "3.4", "↑ Rising"),
    ("Exclusive BF <6 months", "54.9", "63.7", "↑ Improved"),
]
draw_table(s, Inches(4.6), Inches(1.6), Inches(8.5), india_data[0], india_data[1:],
           font_size=Pt(11), row_h=Inches(0.43))

# State-level box
add_rect(s, Inches(4.6), Inches(6.35), Inches(8.5), Inches(0.65), fill=SKY,
         line_color=BLUE, line_width=Pt(1))
add_tb(s, Inches(4.7), Inches(6.35), Inches(8.3), Inches(0.65),
       "📍 HIGH BURDEN STATES (Stunting >40%): Bihar (42.9%) | Meghalaya (46.5%) | Jharkhand (39.6%) | UP (39.7%) | Gujarat (39.0%)   |   Lowest burden: Kerala (23.4%), Goa (25.8%)",
       font_size=Pt(11), bold=False, color=NAVY, align=PP_ALIGN.LEFT,
       v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

# WHO SDG targets
add_rect(s, Inches(0.2), Inches(5.9), Inches(4.2), Inches(0.34), fill=NAVY)
add_tb(s, Inches(0.25), Inches(5.9), Inches(4.1), Inches(0.34),
       "🎯 SDG 2030 / WHA 2025 TARGETS", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
targets = [
    "Reduce stunting to <25% globally by 2025",
    "Reduce wasting to <5% globally",
    "End all forms of malnutrition by 2030 (SDG 2.2)",
    "India POSHAN Abhiyaan: ↓ stunting by 2%/yr, wasting by 2%/yr",
]
for i, t in enumerate(targets):
    add_rect(s, Inches(0.2), Inches(6.28)+i*Inches(0.36), Inches(4.2), Inches(0.34),
             fill=LIGHT_BLUE if i%2==0 else WHITE,
             line_color=LIGHT_BLUE, line_width=Pt(0.5))
    add_tb(s, Inches(0.28), Inches(6.28)+i*Inches(0.36), Inches(4.1), Inches(0.34),
           t, font_size=Pt(11), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 8 (EPIDEMIOLOGY)

Critical examiner favourite — know these numbers precisely.

Global context: 'India bears the single highest burden of malnourished children in the world. While China reduced stunting from 38% to 4.8% in 30 years, India has moved from 38% to 35% in 5 years — progress is occurring but at an insufficient pace.'

NFHS-5 key messages:
1. Stunting decreased from 38.4% → 35.5% (GOOD but still high)
2. Wasting: 21% → 19.3% (marginal improvement; India has the world's highest wasting rate)
3. Severe wasting INCREASED from 7.5% to 7.7% — alarming
4. Anemia in children <5 WORSENED from 58.6% to 67.1% — national failure
5. Overweight rising — India now faces double burden of malnutrition

The double burden point is examiner-tested: 'While one child in India is wasted, another is obese — this is the double burden of malnutrition. Both stem from food system failures, not simply too little or too much food.'

POSHAN Abhiyaan targets: Launched 2018. Target to reduce stunting, underweight, anaemia in children and low birth weight by 2%/year. Progress is monitored via Poshan Tracker app.

Clinical pearl: The 'critical window' for nutrition is conception to age 2 (1,000 days). Stunting in this period is largely IRREVERSIBLE — it permanently impairs brain development, physical stature, and economic productivity.

Reference: NFHS-5 (2019-21) MoHFW; UNICEF/WHO Joint Child Malnutrition Estimates 2024; POSHAN Abhiyaan Progress Report; Park's PSM.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 9 – RISK FACTORS & SOCIAL DETERMINANTS OF HEALTH
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Risk Factors & Social Determinants of Health",
           "Proximal, Intermediate & Distal Determinants of Child Undernutrition")
footer_bar(s)
slide_num_label(s, 9)

# Left: Risk factors table
add_rect(s, Inches(0.2), Inches(1.22), Inches(6.0), Inches(0.35), fill=NAVY)
add_tb(s, Inches(0.25), Inches(1.22), Inches(5.9), Inches(0.35),
       "RISK FACTORS — PROXIMAL (Direct)", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

risk_prox = [
    ("Late/poor complementary feeding", "Ravi started at 10 months, diet = rice water"),
    ("Inadequate exclusive breastfeeding", "If BF <6 months; here EBF was adequate"),
    ("Low dietary diversity (IDDS <5)", "Zero diversity — no protein, fruit, veg"),
    ("Recurrent infections (diarrhoea/ARI)", "Infection–malnutrition cycle"),
    ("Low birth weight (<2.5 kg)", "Stunting begins in utero; intrauterine growth restriction"),
    ("Incomplete immunization", "↑ infection risk → ↑ malnutrition risk"),
    ("Worm infestation", "Nutrient competition + gut damage"),
]
for i,(factor,context) in enumerate(risk_prox):
    yy = Inches(1.62) + i * Inches(0.54)
    add_rect(s, Inches(0.2), yy, Inches(3.0), Inches(0.5), fill=LIGHT_BLUE,
             line_color=BLUE, line_width=Pt(0.5))
    add_tb(s, Inches(0.25), yy, Inches(2.9), Inches(0.5),
           factor, font_size=Pt(11.5), bold=True, color=NAVY,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)
    add_rect(s, Inches(3.2), yy, Inches(3.0), Inches(0.5), fill=SKY,
             line_color=LIGHT_BLUE, line_width=Pt(0.5))
    add_tb(s, Inches(3.25), yy, Inches(2.9), Inches(0.5),
           context, font_size=Pt(11), bold=False, color=GRAY_TEXT,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

# Right: SDH pyramid
add_rect(s, Inches(6.5), Inches(1.22), Inches(6.6), Inches(0.35), fill=NAVY)
add_tb(s, Inches(6.55), Inches(1.22), Inches(6.5), Inches(0.35),
       "SOCIAL DETERMINANTS OF HEALTH (WHO Framework)", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

sdh_levels = [
    (Inches(0.5), "DISTAL / BASIC CAUSES (Structural)", NAVY,
     "Poverty | Gender inequality | Political will | Governance failures | Climate change"),
    (Inches(0.9), "INTERMEDIATE CAUSES (Underlying)", BLUE,
     "Food insecurity | Maternal education | WASH (water, sanitation, hygiene) | Caregiving practices | Health service access"),
    (Inches(1.3), "PROXIMAL / IMMEDIATE CAUSES", RGBColor(0x00,0x5B,0xB5),
     "Inadequate dietary intake + Disease/Infection"),
    (Inches(1.7), "OUTCOME", RED,
     "Child Malnutrition (Stunting / Wasting / Underweight / Micronutrient deficiency)"),
]

for j,(indent,title,col,content) in enumerate(sdh_levels):
    yy = Inches(1.65) + j * Inches(1.25)
    box_w = Inches(6.5) - indent * 2
    lx2 = Inches(6.5) + indent
    add_rect(s, lx2, yy, box_w, Inches(0.35), fill=col)
    add_tb(s, lx2+Inches(0.05), yy, box_w-Inches(0.1), Inches(0.35),
           title, font_size=Pt(11.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, lx2, yy+Inches(0.35), box_w, Inches(0.82), fill=SKY,
             line_color=col, line_width=Pt(0.8))
    add_tb(s, lx2+Inches(0.07), yy+Inches(0.38), box_w-Inches(0.14), Inches(0.76),
           content, font_size=Pt(11), bold=False, color=BLACK,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

# Case link at bottom
add_rect(s, Inches(6.5), Inches(6.52), Inches(6.6), Inches(0.62), fill=LIGHT_BLUE,
         line_color=BLUE, line_width=Pt(1))
add_tb(s, Inches(6.6), Inches(6.52), Inches(6.4), Inches(0.62),
       "RAVI'S CASE: Distal → Poverty + father's alcohol; Intermediate → Food insecurity + maternal knowledge gap + poor WASH; Proximal → Late CF + recurrent infections",
       font_size=Pt(11), bold=False, color=NAVY, align=PP_ALIGN.LEFT,
       v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 9 (RISK FACTORS & SDH)

This slide links clinical risk factors to the WHO Social Determinants of Health (SDH) framework — a high-yield examiner topic.

SDH framework explanation:
'Social determinants are the conditions in which people are born, grow, live, work, and age. These conditions are shaped by money, power, and resources — and they are the MAIN CAUSES of health inequities.'

In Ravi's case:
- The DISTAL cause is poverty (father's alcohol dependence → income irregularity)
- The INTERMEDIATE cause is food insecurity (can't afford diverse foods), maternal education gap, and poor WASH (dirty water → diarrhoea)
- The PROXIMAL cause is inadequate complementary feeding and repeated infections

Why does this matter clinically? Because if you only treat the proximal cause (improve Ravi's diet), he will relapse when he goes home. The intermediate and distal causes must also be addressed through social protection, counselling, and community-level WASH improvement.

Examiner question: 'What is the most important modifiable risk factor for prevention of child malnutrition in India?'
Answer: Maternal education is the single most consistently associated modifiable factor — educated mothers have better IYCF practices, better utilization of health services, and greater household bargaining power. In NFHS-5, stunting among children of non-educated mothers was nearly double that of children of mothers with 12+ years of education.

Reference: WHO Commission on SDH; UNICEF Conceptual Framework; Park's PSM; NFHS-5.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 10 – NATIONAL PROGRAMMES
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "National Programmes for Child Nutrition",
           "ICDS · POSHAN Abhiyaan · Anemia Mukt Bharat · PM POSHAN · NRC")
footer_bar(s)
slide_num_label(s, 10)

programmes = [
    ("ICDS\n(1975)", NAVY,
     "Integrated Child Development Services\n• Supplementary Nutrition (THR/Hot Cooked Meal)\n• Growth Monitoring & Promotion\n• Immunization (linkage)\n• Health Check-up & Referral\n• Nutrition & Health Education\n• Pre-school Non-Formal Education\nBeneficiaries: Children 0–6 yrs, Pregnant & Lactating Women, Adolescent Girls"),
    ("POSHAN\nAbhiyaan\n(2018)", BLUE,
     "National Nutrition Mission — Flagship Programme\nTarget: ↓ Stunting 2%/yr, Wasting 2%/yr, Anaemia 3%/yr\n• Convergence of 8 ministries\n• POSHAN Tracker app (real-time data)\n• Jan Andolan — community mobilization\n• 14 interventions across life cycle\n• Poshan Maah (September) annual campaign\nBudget: ₹9046 crore (2018–22)"),
    ("Anemia\nMukt Bharat\n(2018)", GREEN,
     "Intensified National Iron Plus Initiative\n• 6 beneficiary groups (0–6 months to adult)\n• IFA supplementation schedule:\n  - 6–59 months: IFA syrup weekly\n  - 5–9 yrs: IFA tablet weekly (school)\n  - 10–19 yrs: WIFS (Weekly Iron & Folic Acid)\n  - Pregnant women: 180 IFA tablets\n• Double fortified salt & rice fortification"),
    ("PM POSHAN\n(MDM 2021)", ORANGE,
     "Pradhan Mantri Poshan Shakti Nirman\n(renamed from Mid-Day Meal Scheme)\n• Free cooked meals for class 1–8 students\n• Nutritional supplement (fortified food)\n• Attendance improvement incentive\n• Covers >118 million school children\n• Protein & micronutrient enrichment mandated"),
    ("NRC\n(SAM Care)", RED,
     "Nutrition Rehabilitation Centre\n• Facility-based SAM management\n• 28-day stay protocol\n• WHO 10-Steps: Treat hypoglycaemia, hypothermia,\n  dehydration, infections; restore nutrition;\n  catch-up growth; stimulation; discharge & follow-up\n• F-75 (stabilization) → F-100 (rehabilitation)\n• RUTF: Ready-to-Use Therapeutic Food\n• SAM without complications: Community-based (CMAM)"),
]

col_w = Inches(2.5)
for i,(prog_name,col,content) in enumerate(programmes):
    lx = Inches(0.2) + i * (col_w + Inches(0.08))
    add_rect(s, lx, Inches(1.22), col_w, Inches(0.65), fill=col)
    add_tb(s, lx+Inches(0.05), Inches(1.22), col_w-Inches(0.1), Inches(0.65),
           prog_name, font_size=Pt(12), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, lx, Inches(1.9), col_w, Inches(5.1), fill=SKY,
             line_color=col, line_width=Pt(1.2))
    add_tb(s, lx+Inches(0.07), Inches(1.95), col_w-Inches(0.14), Inches(5.0),
           content, font_size=Pt(10.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 10 (NATIONAL PROGRAMMES)

This is a MANDATORY examiner topic. Know all 5 programmes thoroughly.

ICDS critical points:
- Started in 1975, world's largest integrated child development programme
- 6 services, but only SUPPLEMENTARY NUTRITION is directly provided by ICDS; others are linked
- Critical gap: THR (Take-Home Ration) is given but families do not necessarily use it to improve dietary diversity at home — this is Ravi's family problem
- VHND (Village Health and Nutrition Day) is the monthly convergence platform for ICDS + NHM

POSHAN Abhiyaan (2018–2022, extended to 2025):
- India's most ambitious nutrition initiative
- 14 interventions covering pre-pregnancy, pregnancy, lactation, early childhood, and adolescence
- Uses a Jan Andolan (people's movement) approach — community ownership
- POSHAN Tracker monitors service delivery in real-time using app on AWW's mobile phone
- Despite the programme, NFHS-5 shows wasting remained high — implementation gaps persist

NRC (examiner favourite):
- 28-day protocol with TWO phases:
  Phase 1 (Stabilization): Days 1–7: Treat hypoglycaemia, hypothermia, dehydration, electrolyte imbalance, infections; F-75 formula (75 kcal/100mL)
  Phase 2 (Rehabilitation): Days 8–28: F-100 formula (100 kcal/100mL), RUTF, stimulation, transition to family foods
- CMAM (Community-based Management of SAM): for SAM without complications — use RUTF at home with weekly follow-up
- Discharge criteria: MUAC ≥125mm for 2 weeks, no oedema, good appetite

Examiner question: 'What is the difference between F-75 and F-100?'
Answer: F-75 has 75 kcal/100mL, given during stabilization to avoid refeeding syndrome. F-100 has 100 kcal/100mL, given during rehabilitation for catch-up growth. Reintroducing too many calories early can cause fatal hypophosphataemia.

Reference: WHO 10-Steps SAM management; NRC Operational Guidelines MoHFW; POSHAN Abhiyaan documentation; Park's PSM.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 11 – DIAGNOSTIC APPROACH
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Diagnostic Approach — Assessment of Ravi",
           "Anthropometric · Clinical · Dietary · Biochemical · Social Assessment")
footer_bar(s)
slide_num_label(s, 11)

# Left column – algorithm
add_rect(s, Inches(0.2), Inches(1.22), Inches(5.7), Inches(0.35), fill=NAVY)
add_tb(s, Inches(0.25), Inches(1.22), Inches(5.6), Inches(0.35),
       "STEP-BY-STEP DIAGNOSTIC ALGORITHM", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

algo_steps = [
    ("STEP 1: ANTHROPOMETRY", NAVY, "• Weight, Height/Length → Z-score (WHO growth charts)\n• MUAC: <115mm = SAM | 115–125mm = MAM\n• Bilateral Pitting Oedema: Any = SAM (Kwashiorkor)"),
    ("STEP 2: APPETITE TEST", BLUE, "• Offer RUTF / therapeutic food\n• If child eats ≥ threshold dose → appetite present\n• Poor appetite = NRC admission required"),
    ("STEP 3: MEDICAL COMPLICATIONS", RGBColor(0x00,0x4A,0x99), "• Check: Hypoglycaemia (<3 mmol/L), Hypothermia (<35.5°C)\n• Dehydration, Severe anaemia, Respiratory distress\n• Any of these = IN-PATIENT (NRC) management"),
    ("STEP 4: CLINICAL EXAM", GREEN, "• Skin: wasting, oedema, dermatosis (Kwashiorkor)\n• Hair: flag sign, thin/sparse\n• Eyes: Bitot's spots (Vitamin A deficiency)\n• Abdomen: hepatomegaly (fatty liver in Kwashiorkor)"),
    ("STEP 5: DIETARY HISTORY", ORANGE, "• 24-hour dietary recall\n• Food frequency questionnaire\n• IYCF history (BF timing, CF timing, diet diversity)"),
    ("STEP 6: INVESTIGATIONS", RED, "• Hb (anaemia), Blood sugar, Serum electrolytes\n• Stool: ova/cysts (worm infestation)\n• HIV if indicated; TB screening if cough"),
    ("STEP 7: SOCIAL ASSESSMENT", RGBColor(0x6B,0x00,0x6B), "• Food security assessment\n• Maternal literacy and IYCF knowledge\n• WASH — water source, sanitation, hygiene\n• Family income and substance use"),
]

for i,(title,col,content) in enumerate(algo_steps):
    yy = Inches(1.62) + i * Inches(0.72)
    add_rect(s, Inches(0.2), yy, Inches(2.1), Inches(0.68), fill=col)
    add_tb(s, Inches(0.22), yy, Inches(2.06), Inches(0.68),
           title, font_size=Pt(10.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)
    add_rect(s, Inches(2.32), yy, Inches(3.55), Inches(0.68), fill=SKY,
             line_color=col, line_width=Pt(0.6))
    add_tb(s, Inches(2.38), yy+Inches(0.04), Inches(3.44), Inches(0.6),
           content, font_size=Pt(10.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

# Right: WHO Classification table
add_rect(s, Inches(6.2), Inches(1.22), Inches(6.9), Inches(0.35), fill=NAVY)
add_tb(s, Inches(6.25), Inches(1.22), Inches(6.8), Inches(0.35),
       "WHO CLASSIFICATION OF MALNUTRITION (Z-SCORE SYSTEM)", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

class_rows = [
    ["Index", "Moderate", "Severe", "Oedema?"],
    ["Weight-for-Height (Wasting)", "−3SD to −2SD", "<−3SD", "Any = SAM"],
    ["Height-for-Age (Stunting)", "−3SD to −2SD", "<−3SD", "—"],
    ["Weight-for-Age (Underweight)", "−3SD to −2SD", "<−3SD", "—"],
    ["MUAC", "115–125 mm", "<115 mm", "Any = SAM"],
    ["Clinical form", "MAM", "SAM", "SAM"],
    ["Management site", "Anganwadi/PHC", "NRC (if compl.)", "NRC"],
    ["Ravi's status", "—", "SAM (likely)", "Assess"],
]
draw_table(s, Inches(6.2), Inches(1.62), Inches(6.9), class_rows[0], class_rows[1:],
           font_size=Pt(11), row_h=Inches(0.46))

# MUAC strip
add_rect(s, Inches(6.2), Inches(6.35), Inches(2.1), Inches(0.45), fill=GREEN)
add_tb(s, Inches(6.2), Inches(6.35), Inches(2.1), Inches(0.45),
       "≥125 mm\nNormal", font_size=Pt(10.5), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(s, Inches(8.35), Inches(6.35), Inches(2.1), Inches(0.45), fill=GOLD)
add_tb(s, Inches(8.35), Inches(6.35), Inches(2.1), Inches(0.45),
       "115–124 mm\nMAM", font_size=Pt(10.5), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(s, Inches(10.5), Inches(6.35), Inches(2.55), Inches(0.45), fill=RED)
add_tb(s, Inches(10.5), Inches(6.35), Inches(2.55), Inches(0.45),
       "<115 mm = SAM\nNRC Referral", font_size=Pt(10.5), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 11 (DIAGNOSTIC APPROACH)

Walk through the diagnostic algorithm step by step.

Step 1 — Anthropometry: The foundation. Always use WHO 2006 Child Growth Standards (not NCHS/CDC). Z-score is preferred over percentile in clinical settings. Emphasize: MUAC is the MOST PRACTICAL field tool — any AWW/ASHA can measure it without a scale.

Step 2 — Appetite Test: Critical and often missed by students. A SAM child who fails the appetite test (refuses RUTF) = NRC admission. A SAM child who passes = CMAM (community-based management).

Step 3 — Medical complications: Life-threatening. Any ONE of these = inpatient: hypoglycaemia, hypothermia, dehydration, severe anaemia, respiratory distress, unconscious/convulsions.

Examiner question: 'How do you classify Ravi?'
Clinical reasoning: Weight-for-Age < −3SD = Severe Underweight. With visible wasting, likely W/H < −3SD = Severe Wasting = SAM. Need MUAC measurement — if <115mm, confirms SAM. Need to check for bilateral oedema.

Dietary history insight: 24-hour recall showing ONLY rice water and thin gruel with zero protein = 0 on dietary diversity score. WHO recommends minimum dietary diversity ≥5 food groups per day for children 6–23 months.

WASH connection: Poor hand hygiene + contaminated water → repeated diarrhoea → nutrient malabsorption → worsens malnutrition. WASH screening is part of comprehensive assessment.

Reference: WHO SAM Management Guidelines 2013; MoHFW NRC Operational Guidelines; Park's PSM Chapter 11.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 12 – MANAGEMENT (Individual)
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Management — Individual Level (Ravi)",
           "WHO 10-Step Protocol for SAM · NRC Management · CMAM Approach")
footer_bar(s)
slide_num_label(s, 12)

# Phase boxes
phases = [
    ("PHASE 1: STABILISATION\n(Days 1–7)", NAVY, [
        "Treat hypoglycaemia: 10% dextrose 5 mL/kg or F-75",
        "Treat hypothermia: Kangaroo care, blanket, warm room",
        "Correct dehydration: ReSoMal (not standard ORS)",
        "Correct electrolytes: K+, Mg2+, Zn (not Na+)",
        "Treat infections: broad-spectrum antibiotics empirically",
        "Correct micronutrient deficiencies (Vit A, Zn, folic acid)",
        "Initiate cautious feeding: F-75 formula (75 kcal/100 mL)",
        "Withhold iron in Phase 1 (worsens oxidative stress)",
        "Stimulation: gentle play and sensory stimulation",
    ]),
    ("PHASE 2: REHABILITATION\n(Days 8–26)", BLUE, [
        "Switch to F-100 formula (100 kcal/100 mL)",
        "Introduce RUTF (Ready-to-Use Therapeutic Food)",
        "Catch-up growth feeding: 150–220 kcal/kg/day",
        "Start iron supplementation (now safe)",
        "Continue antibiotics & micronutrients",
        "Structured play & developmental stimulation",
        "Nutrition education for mother/caregiver",
        "Prepare family for home-based recovery",
        "Monitor weight gain: target ≥10 g/kg/day",
    ]),
    ("PHASE 3: FOLLOW-UP\n(After Discharge)", GREEN, [
        "Discharge criteria: MUAC ≥125mm × 2 weeks, no oedema",
        "Continue RUTF at home for 4–6 weeks",
        "Follow-up at 2, 4, 6 weeks after discharge",
        "Enroll in supplementary nutrition (Anganwadi)",
        "Complete immunization schedule",
        "IYCF counselling reinforcement",
        "Link to ICDS, social welfare schemes",
        "CMAM for SAM without complications",
        "AWW/ASHA monthly growth monitoring",
    ]),
]

col_w = Inches(4.2)
for i,(title,col,items) in enumerate(phases):
    lx = Inches(0.2) + i * (col_w + Inches(0.1))
    add_rect(s, lx, Inches(1.22), col_w, Inches(0.55), fill=col)
    add_tb(s, lx+Inches(0.05), Inches(1.22), col_w-Inches(0.1), Inches(0.55),
           title, font_size=Pt(12.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for j, item in enumerate(items):
        yy = Inches(1.82) + j * Inches(0.53)
        fill = LIGHT_BLUE if j % 2 == 0 else WHITE
        add_rect(s, lx, yy, col_w, Inches(0.5), fill=fill,
                 line_color=LIGHT_BLUE, line_width=Pt(0.4))
        add_rect(s, lx, yy+Inches(0.15), Inches(0.1), Inches(0.1), fill=col)
        add_tb(s, lx+Inches(0.15), yy, col_w-Inches(0.2), Inches(0.5),
               item, font_size=Pt(11), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

# Refeeding syndrome warning
add_rect(s, Inches(0.2), Inches(6.75), Inches(12.9), Inches(0.42), fill=RED,
         line_color=GOLD, line_width=Pt(1.5))
add_tb(s, Inches(0.3), Inches(6.75), Inches(12.7), Inches(0.42),
       "⚠ REFEEDING SYNDROME WARNING: Do NOT give high-calorie feeds abruptly in Phase 1 → Risk of hypophosphataemia, cardiac failure, and death. Always start F-75 (low calorie) in stabilization phase.",
       font_size=Pt(11.5), bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_notes(s, """SPEAKER NOTES – SLIDE 12 (INDIVIDUAL MANAGEMENT)

The WHO 10-Step SAM management protocol is one of the most important topics in this PBL. Memorize the 10 steps:
1. Treat/prevent hypoglycaemia
2. Treat/prevent hypothermia  
3. Treat/prevent dehydration
4. Correct electrolyte imbalance
5. Treat infection
6. Correct micronutrient deficiencies
7. Initiate refeeding cautiously
8. Achieve catch-up growth
9. Provide sensory stimulation
10. Prepare for discharge and follow-up

Why ReSoMal instead of standard ORS? SAM children have impaired Na-K pump → standard ORS (high sodium) causes hypernatraemia and cardiac overload. ReSoMal has LOWER Na and HIGHER K content.

Why withhold iron in Phase 1? Free iron in a malnourished child increases oxidative stress, worsens bacterial infections (iron is a bacterial growth factor), and can cause cell membrane damage. Start iron only in Phase 2 when acute infection has resolved.

RUTF composition (Plumpy'Nut): 500 kcal/sachet, peanut butter base, whole dried skimmed milk, sugar, vegetable fat, mineral/vitamin mix. It is lipid-based and does NOT require refrigeration or water preparation — ideal for community use.

CMAM: Community-Based Management of Acute Malnutrition — for SAM children WITHOUT complications. RUTF given weekly at home; weekly weight monitoring. This reduces NRC burden dramatically.

Examiner question: 'What is the target weight gain in Phase 2?'
Answer: ≥10 g/kg/day confirms good catch-up growth. <5 g/kg/day needs reassessment for infection, intake issues.

Reference: WHO 10-Step SAM Management Protocol 2013; MoHFW NRC Operational Guidelines 2011; Nelson's Textbook; Park's PSM.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 13 – MANAGEMENT (Family, Community, Health System)
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Management — Family, Community & Health System",
           "Multi-level Intervention Strategy Beyond the Individual Patient")
footer_bar(s)
slide_num_label(s, 13)

mgmt_sections = [
    ("👨‍👩‍👦 FAMILY LEVEL", NAVY, Inches(0.2), [
        "IYCF counselling for mother: timely complementary feeding, dietary diversity",
        "Demonstrate age-appropriate feeding practices using locally available foods",
        "Father engagement: counsel on alcohol dependence → ICTC/de-addiction referral",
        "Link family to food security schemes: NFSA/PDS ration card, Antyodaya card",
        "Link to social protection: PM-POSHAN, ICDS supplementary nutrition",
        "Birth-spacing counselling (closely-spaced births → cumulative malnutrition)",
        "Address misconceptions: 'thin is normal' narrative needs correction",
        "WASH promotion: hand hygiene before feeding, clean water use",
        "Demonstrate low-cost high-nutrient foods: egg, dal, green leafy veg, banana",
    ]),
    ("🌍 COMMUNITY LEVEL", BLUE, Inches(4.7), [
        "Village Health and Nutrition Day (VHND): monthly platform for growth monitoring",
        "Activate AWW, ASHA, ANM team for Ravi's follow-up and community screening",
        "Community-based MUAC screening: identify SAM/MAM children proactively",
        "Nutrition counselling sessions at Anganwadi: mother and MIL groups",
        "IEC: flipcharts, videos on complementary feeding & dietary diversity",
        "Nutraceutical gardens (kitchen gardens): promote home-grown micronutrients",
        "Pradhan as change agent: engage village leaders in nutrition agenda",
        "SHG (Self Help Groups): link women to nutrition schemes and income generation",
        "Community SAM mapping for quarterly reporting to block/district level",
    ]),
    ("🏥 HEALTH SYSTEM LEVEL", GREEN, Inches(9.2), [
        "Strengthen NRC referral protocol from Anganwadi/PHC",
        "Train AWW + ASHA in MUAC screening + appetite test",
        "Ensure uninterrupted supply of RUTF and therapeutic milk (F-75/F-100)",
        "Regular VHND with full team (AWW + ASHA + ANM + MO)",
        "Immunization catch-up: complete schedule for Ravi",
        "Vitamin A supplementation: bi-annual doses per schedule",
        "Worm infestation treatment: biannual Albendazole (National Deworming Day)",
        "NRC + CMAM convergence: seamless step-down after NRC discharge",
        "POSHAN Tracker data entry: ensure AWW records growth data monthly",
    ]),
]

col_w = Inches(4.0)
for (title, col, lx, items) in mgmt_sections:
    add_rect(s, lx, Inches(1.22), col_w, Inches(0.4), fill=col)
    add_tb(s, lx+Inches(0.05), Inches(1.22), col_w-Inches(0.1), Inches(0.4),
           title, font_size=Pt(12), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    for i, item in enumerate(items):
        yy = Inches(1.66) + i * Inches(0.52)
        bg = LIGHT_BLUE if i % 2 == 0 else WHITE
        add_rect(s, lx, yy, col_w, Inches(0.5), fill=bg,
                 line_color=LIGHT_BLUE, line_width=Pt(0.4))
        add_rect(s, lx+Inches(0.06), yy+Inches(0.17), Inches(0.1), Inches(0.1), fill=col)
        add_tb(s, lx+Inches(0.2), yy, col_w-Inches(0.25), Inches(0.5),
               item, font_size=Pt(10.8), bold=False, color=BLACK,
               align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 13 (FAMILY/COMMUNITY/SYSTEM MANAGEMENT)

This slide demonstrates the PUBLIC HEALTH approach to management — treating Ravi medically is not enough; we must address his family, community, and health system simultaneously.

FAMILY LEVEL — key teaching points:
1. Food demonstration using LOCALLY AVAILABLE, AFFORDABLE foods is more effective than prescribing a theoretical diet. Example: 'One egg + 2 tablespoons dal + cooked spinach + rice' provides adequate protein and micronutrients cheaply.
2. Father's alcohol dependence MUST be addressed — not just as a family problem, but as a social determinant. Referral to ICTC (Integrated Counselling and Testing Centre) or de-addiction programme is mandatory.
3. PDS linkage: India's National Food Security Act (NFSA) entitles priority households to 5 kg grain/person/month at ₹2/kg (rice). Many families like Ravi's don't have ration cards — obtaining one is a critical intervention.

COMMUNITY LEVEL — key teaching points:
VHND is the MOST IMPORTANT community platform. It integrates growth monitoring, immunization, ANC, health check-up, and nutrition counselling in one session. Strengthening VHND attendance through community mobilization is the most cost-effective community intervention.

HEALTH SYSTEM LEVEL — key teaching points:
The POSHAN Tracker (launched 2021) digitizes Anganwadi service delivery data. AWW enters growth data monthly on a mobile app → real-time monitoring at block, district, state, national level. Coverage remains incomplete in many areas.

National Deworming Day: Biannual (February and August). Albendazole 400mg single dose for children 1–19 years. Worm infestation causes 10–15% of iron deficiency anaemia in children — treating worms improves nutrition outcomes.

Reference: POSHAN Abhiyaan Operational Framework; ICDS Scheme MoHFW; VHND Guidelines; NRC Operational Guidelines.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 14 – IYCF GUIDELINES & COUNSELLING STRATEGY
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "IYCF Guidelines & Counselling Strategy",
           "WHO/MoHFW Infant and Young Child Feeding Recommendations — Counselling Ravi's Mother")
footer_bar(s)
slide_num_label(s, 14)

# Left: IYCF Timeline
add_rect(s, Inches(0.2), Inches(1.22), Inches(5.5), Inches(0.35), fill=NAVY)
add_tb(s, Inches(0.25), Inches(1.22), Inches(5.4), Inches(0.35),
       "WHO IYCF RECOMMENDATIONS (KEY INDICATORS)", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

iycf_timeline = [
    ("0–6 months", NAVY, "EXCLUSIVE BREASTFEEDING ONLY\n• No water, no food, no other liquids\n• Demand feeding (8–12 times/day)\n• Colostrum must be given (first 3 days)\n• No pre-lacteal feeds"),
    ("6 months", BLUE, "INTRODUCE COMPLEMENTARY FOODS\n• BF continues + semi-solid/solid foods start\n• First food: thick porridge, well-mashed foods\n• Start with 2–3 tsp, increase gradually\n• Introduce 1 new food every 3–5 days"),
    ("6–8 months", RGBColor(0x00,0x4A,0x99), "FEEDING FREQUENCY & CONSISTENCY\n• 2–3 meals/day + 1–2 snacks\n• Consistency: mashed/pureed semi-solid\n• Quantity: 2–3 tbsp per feed, increasing\n• Active feeding: encourage, don't force"),
    ("9–11 months", GREEN, "FAMILY FOODS (MASHED/CHOPPED)\n• 3–4 meals/day + 1–2 snacks\n• Finely chopped/mashed family foods\n• Dietary diversity: ≥5 food groups/day\n• Iron-rich foods: dal, egg, meat, fish"),
    ("12–23 months", ORANGE, "FAMILY FOODS\n• 3–4 meals/day + 1–2 snacks\n• All family foods (chopped/soft)\n• 8 food groups; animal source foods important\n• Continue breastfeeding up to 2 years"),
    ("2+ years", RED, "CONTINUED BREASTFEEDING + FAMILY DIET\n• BF can continue beyond 2 years\n• Nutrient-dense, diverse family diet\n• No sugary drinks, processed foods"),
]
bh = Inches(0.78)
for i,(age,col,content) in enumerate(iycf_timeline):
    yy = Inches(1.62) + i * (bh + Inches(0.02))
    add_rect(s, Inches(0.2), yy, Inches(1.1), bh, fill=col)
    add_tb(s, Inches(0.2), yy, Inches(1.1), bh,
           age, font_size=Pt(10.5), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    add_rect(s, Inches(1.32), yy, Inches(4.35), bh, fill=SKY,
             line_color=col, line_width=Pt(0.6))
    add_tb(s, Inches(1.38), yy+Inches(0.04), Inches(4.22), bh-Inches(0.08),
           content, font_size=Pt(10.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

# Right: Counselling approach
add_rect(s, Inches(6.0), Inches(1.22), Inches(7.1), Inches(0.35), fill=NAVY)
add_tb(s, Inches(6.05), Inches(1.22), Inches(7.0), Inches(0.35),
       "COUNSELLING STRATEGY FOR RAVI'S MOTHER", font_size=Pt(12), bold=True, color=WHITE,
       align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)

counsel_steps = [
    ("Build Trust & Rapport", NAVY,
     "• Empathetic, non-judgmental approach\n• Avoid blame — focus on learning together\n• Use local language; simple terms"),
    ("Assess Current Practice", BLUE,
     "• 24-hr dietary recall\n• IYCF knowledge assessment\n• Identify specific gaps (not general lecture)"),
    ("Address Myths & Misconceptions", GREEN,
     "• 'Rice water is nutritious' → Show: energy only, no protein\n• 'BF milk loses quality after 1 yr' → BF is quality nutrition even at 2 yrs\n• 'Thin = normal in our family' → Growth chart demonstration"),
    ("Practical Food Demonstrations", ORANGE,
     "• Use locally available affordable foods\n• Show: egg + dal + green veg + rice = balanced meal\n• Model feeding — demonstrate active feeding\n• Meal frequency + consistency guidance"),
    ("Behaviour Change Goal Setting", RED,
     "• Small, achievable changes (not overload)\n• Set 1–2 specific goals per visit\n• Follow-up to reinforce at next Anganwadi visit"),
    ("Family Engagement", RGBColor(0x4B,0x00,0x82),
     "• Include MIL in counselling session\n• Husband/father: role in food procurement\n• Community peer mothers: model good practice"),
]

for i,(title,col,content) in enumerate(counsel_steps):
    yy = Inches(1.62) + i * Inches(0.88)
    if yy > Inches(7.1): break
    add_rect(s, Inches(6.0), yy, Inches(2.0), Inches(0.84), fill=col)
    add_tb(s, Inches(6.02), yy, Inches(1.96), Inches(0.84),
           title, font_size=Pt(11), bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE, word_wrap=True)
    add_rect(s, Inches(8.02), yy, Inches(5.08), Inches(0.84), fill=SKY,
             line_color=col, line_width=Pt(0.6))
    add_tb(s, Inches(8.08), yy+Inches(0.04), Inches(4.95), Inches(0.76),
           content, font_size=Pt(10.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)

add_notes(s, """SPEAKER NOTES – SLIDE 14 (IYCF & COUNSELLING)

IYCF is one of the most cost-effective interventions for child survival and development.

Key WHO IYCF messages (memorize for exams):
1. Initiation of breastfeeding within 1 hour of birth
2. Exclusive breastfeeding for the first 6 months of life
3. Introduction of nutritionally adequate, safe, age-appropriate complementary foods at 6 months, while continuing breastfeeding up to 2 years or beyond

Where did Ravi's mother go wrong?
- Complementary feeding started at 10 months (4 months late)
- The diet was of poor quality (rice water only)
- She likely received no counselling on IYCF at the Anganwadi

Examiner question: 'What is dietary diversity score?'
Answer: WHO recommends children 6–23 months consume foods from ≥5 of 8 food groups:
1. Grains/roots/tubers; 2. Legumes/nuts; 3. Dairy; 4. Flesh foods (meat/fish/poultry); 5. Eggs; 6. Vitamin A-rich fruits/veg; 7. Other fruits/veg; 8. Breast milk
Ravi's diet (rice water, thin gruel) = 1–2 food groups = SEVERE dietary diversity deficit.

Why 'thin porridge' is inadequate: The energy density is too low. A child's stomach capacity is small — you need DENSE foods. Thick porridge, mashed dal, boiled egg, mashed banana = energy-dense, nutrient-rich alternatives.

Counselling approach: WHO recommends the IYCF Counselling Cards approach — visual, practical, culturally adapted flip charts. AWW/ASHA should use these at every home visit.

Common mistake: Telling the mother to 'give more food' without specifying WHAT food, HOW MUCH, HOW OFTEN, and WHAT CONSISTENCY. All four need to be addressed.

Reference: WHO IYCF National Guidelines MoHFW 2013; WHO Complementary Feeding Guidelines; Park's PSM.""")

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 15 – ROLE OF ASHA, ANM, PHC, UPHC & REFERRAL SYSTEM
# ═══════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank_layout)
add_rect(s, 0, 0, W, H, fill=WHITE)
header_bar(s, "Role of ASHA, AWW, ANM, PHC, UPHC & Referral System",
           "The Continuum of Care — From Household to Tertiary Centre")
footer_bar(s)
slide_num_label(s, 15)

# Pyramid / hierarchy diagram
# Level 1 (base): Household/Community
levels_data = [
    (Inches(0.3), Inches(6.1), Inches(12.73), "🏡 HOUSEHOLD / COMMUNITY LEVEL — AWW + ASHA",
     LIGHT_BLUE, NAVY, """AWW: Growth monitoring (weight monthly), identify growth faltering, IYCF counselling, distribute THR, identify SAM using MUAC
ASHA: Home visits (Mother & Child tracking form), RUTF distribution (CMAM), immunization mobilization, referral to Anganwadi/PHC, escort for NRC
Village Health and Nutrition Day (VHND): Monthly convergence platform — AWW + ASHA + ANM + MO + PRI members"""),
    (Inches(1.3), Inches(4.8), Inches(10.73), "🏥 SUB-CENTRE / ANM LEVEL",
     SKY, BLUE, """ANM: Immunization, ANC/PNC, growth monitoring at SC, confirm SAM using MUAC + appetite test, treat mild infections
Coordinate VHND; supply IFA, Vit A; facilitate NRC referral for complicated SAM; IYCF counselling at sub-centre OPD"""),
    (Inches(2.3), Inches(3.5), Inches(8.73), "🏥 PHC / UPHC LEVEL — Medical Officer",
     LIGHT_BLUE, NAVY, """MO: Assess SAM complications (hypoglycaemia, hypothermia, infection); initiate CMAM for uncomplicated SAM
Prescribe RUTF, IFA, Vit A; treat infections; counsel family; ensure immunization catch-up; maintain NRC referral linkage"""),
    (Inches(3.3), Inches(2.2), Inches(6.73), "🏨 CHC / DISTRICT HOSPITAL — NRC",
     SKY, BLUE, """NRC: Inpatient management of SAM with complications using WHO 10-Step Protocol
F-75 → F-100 → RUTF; Target: weight gain ≥10g/kg/day; 28-day protocol
Discharge criteria: MUAC ≥125mm, no oedema, appetite present"""),
    (Inches(4.3), Inches(1.22), Inches(4.73), "🏥 TERTIARY / MEDICAL COLLEGE",
     NAVY, WHITE, "Paediatric ICU for multi-organ failure; Research; Training; Quality improvement"),
]

for (lx, ty, w, title, bg, tc, content) in levels_data:
    h = Inches(1.15) if ty < Inches(4.0) else Inches(1.25)
    add_rect(s, lx, ty, w, h, fill=bg, line_color=BLUE, line_width=Pt(1.2))
    add_tb(s, lx+Inches(0.1), ty+Inches(0.05), w-Inches(0.2), Inches(0.3),
           title, font_size=Pt(11.5), bold=True, color=tc,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
    add_tb(s, lx+Inches(0.1), ty+Inches(0.35), w-Inches(0.2), h-Inches(0.4),
           content, font_size=Pt(10.5), bold=False, color=BLACK,
           align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP, word_wrap=True)
    # Upward arrow
    if ty > Inches(2.0):
        ax = lx + w/2
        ay = ty - Inches(0.15)
        add_rect(s, ax - Inches(0.06), ay, Inches(0.12), Inches(0.15), fill=BLUE)

add_notes(s, """SPEAKER NOTES – SLIDE 15 (REFERRAL SYSTEM)

This slide shows India's three-tier health system functioning for nutrition — a frequent examiner topic.

AWW (Anganwadi Worker) — first contact for child nutrition:
- Not a health worker; a community development worker under Women and Child Development ministry
- Key nutrition functions: weigh children monthly, plot on growth chart, provide THR, identify growth faltering, give IYCF counselling
- Critical gap: Many AWW are not trained to use MUAC for SAM screening
- With POSHAN Tracker: AWW enters all growth data on mobile app monthly

ASHA — bridge between household and health system:
- Under NHM (Health Ministry)
- For nutrition: CMAM implementation (distribute RUTF weekly, check weight weekly), refer complicated SAM to NRC, mobilize families for VHND
- Incentive: ASHA receives ₹500 for each SAM child successfully treated through CMAM

ANM — first health worker in the system:
- Runs Sub-Centre; does immunization, ANC, confirmation of SAM
- Has OPD where mild/moderate malnutrition can be managed

PHC/UPHC — Medical Officer:
- First prescriber; can manage uncomplicated SAM with RUTF prescription
- Initiates CMAM protocol; refers complicated cases to NRC at CHC/DH

NRC (at CHC or District Hospital):
- 6-bed or 10-bed facility; dedicated trained staff (nurse, doctor, nutritionist)
- Average NRC stay: 28 days; covers inpatient + 2-week transition phase

Examiner question: 'What is CMAM?'
Answer: Community-Based Management of Acute Malnutrition — WHO-recommended approach for SAM without medical complications. RUTF given weekly at home or Anganwadi; weekly weight monitoring. Reduces need for hospitalization, reduces costs, increases coverage.

Reference: NRC Operational Guidelines MoHFW 2011; CMAM Guidelines WHO/UNICEF; ASHA Training Module.""")

print("Slides 5-15 done")

Create fast

Create

Create

This is a shared conversation. Sign in to Orris to start your own chat.