Hi. I am an MBBS 3rd-year student. I have to prepare a PSM seminar strictly based on Park’s Textbook of Preventive and Social Medicine (28th edition). My seminar topics are: 1. Infancy and Neonatal Care 2. Feeding of Infants 3. Low Birth Weight My teachers want the seminar to be based only on Park. I will upload the relevant pages of the textbook one by one. Please follow these instructions throughout this chat: * Use only the information from the uploaded Park pages. * Do not add information from WHO, the internet, other textbooks, or your own knowledge unless I specifically ask. * If any topic is not covered in the uploaded pages, tell me exactly which additional pages or headings I need to upload instead of filling the gaps yourself. * Keep the language concise, presentation-friendly, and suitable for an MBBS seminar. * Wait until I finish uploading all the pages before creating the seminar outline or PPT.

Understood! I'm ready to help you prepare your PSM seminar on:
  1. Infancy and Neonatal Care
  2. Feeding of Infants
  3. Low Birth Weight
Here's how we'll proceed:
  • I will use only the Park's Textbook pages you upload - no external sources, no internet, no other textbooks.
  • If any information is missing from the uploaded pages, I'll tell you exactly which pages/headings to upload next.
  • Once you've finished uploading all relevant pages, I'll create a structured, presentation-friendly seminar outline (and PPT if you'd like).
  • Language will be kept concise and suitable for an MBBS seminar.
Go ahead and start uploading the pages whenever you're ready. You can upload them one by one or in batches - I'll wait until you give me the go-ahead before starting the seminar outline.

Ok I m sending u page numbers take contents from park psm book edition 28 page -619 heading infancy to page 630 take whole content from there and make detailed ppt there is no limit of slides number and cover first infancy neonatal care then low birth weight then infants feeding ok

Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /tmp/workspace/psm-seminar && ls /tmp/workspace/psm-seminar/

Writing File

~/psm-seminar/build_ppt.py

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

# ── colour palette ─────────────────────────────────────────────────────────────
DARK_BLUE   = RGBColor(0x1A, 0x3A, 0x6B)   # titles / accents
MID_BLUE    = RGBColor(0x23, 0x5B, 0xA6)   # sub-headings
LIGHT_BLUE  = RGBColor(0xD6, 0xE4, 0xF7)   # slide backgrounds (light)
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT   = RGBColor(0x1C, 0x1C, 0x1C)
ORANGE      = RGBColor(0xE8, 0x7A, 0x00)   # highlight bullets
GREEN       = RGBColor(0x0D, 0x7C, 0x44)

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

BLANK = prs.slide_layouts[6]   # completely blank layout

# ─────────────────────────────────────────────────────────────────────────────
# Helper functions
# ─────────────────────────────────────────────────────────────────────────────

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

def add_text(slide, text, l, t, w, h,
             font_size=18, bold=False, italic=False,
             color=DARK_TEXT, align=PP_ALIGN.LEFT,
             wrap=True, font_name="Calibri"):
    txBox = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = txBox.text_frame
    tf.word_wrap = wrap
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.size = Pt(font_size)
    run.font.bold = bold
    run.font.italic = italic
    run.font.color.rgb = color
    run.font.name = font_name
    return txBox

def add_bullets(slide, items, l, t, w, h,
                font_size=16, color=DARK_TEXT, bullet_color=MID_BLUE,
                bold_first=False, indent=False):
    """items = list of strings or (text, bold) tuples"""
    txBox = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = txBox.text_frame
    tf.word_wrap = True
    first = True
    for item in items:
        if isinstance(item, tuple):
            txt, bld = item
        else:
            txt, bld = item, False
        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()
        p.alignment = PP_ALIGN.LEFT
        if indent:
            p.level = 1
        run = p.add_run()
        run.text = ("   • " if not indent else "      – ") + txt
        run.font.size = Pt(font_size)
        run.font.bold = (bold_first and bld) or bld
        run.font.color.rgb = color
        run.font.name = "Calibri"
    return txBox


def section_divider(prs, title, subtitle="", bg_color=DARK_BLUE):
    """Full-screen section divider slide"""
    slide = prs.slides.add_slide(BLANK)
    add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=bg_color)
    add_text(slide, title, 1, 2.5, 11.33, 1.5,
             font_size=44, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
    if subtitle:
        add_text(slide, subtitle, 1, 4.2, 11.33, 0.8,
                 font_size=22, italic=True, color=LIGHT_BLUE, align=PP_ALIGN.CENTER)
    add_text(slide, "Park's Textbook of Preventive and Social Medicine, 28th Edition",
             1, 6.6, 11.33, 0.6, font_size=11, italic=True,
             color=RGBColor(0xAA, 0xCC, 0xFF), align=PP_ALIGN.CENTER)
    return slide


def content_slide(prs, title, bullets, subtitle=None, two_col=False, col1=None, col2=None):
    """Standard content slide with title bar + bullet list"""
    slide = prs.slides.add_slide(BLANK)
    # background
    add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=WHITE)
    # top bar
    add_rect(slide, 0, 0, 13.33, 1.1, fill_rgb=DARK_BLUE)
    # title
    add_text(slide, title, 0.3, 0.1, 12.7, 0.9,
             font_size=26, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
    if subtitle:
        add_rect(slide, 0, 1.1, 13.33, 0.4, fill_rgb=LIGHT_BLUE)
        add_text(slide, subtitle, 0.3, 1.12, 12.7, 0.36,
                 font_size=15, bold=True, color=MID_BLUE)
        body_top = 1.6
    else:
        body_top = 1.3

    # bottom source bar
    add_rect(slide, 0, 7.1, 13.33, 0.4, fill_rgb=LIGHT_BLUE)
    add_text(slide, "Source: Park's Textbook of Preventive & Social Medicine, 28th Ed.",
             0.2, 7.12, 12.9, 0.3, font_size=10, italic=True, color=MID_BLUE)

    if two_col and col1 and col2:
        add_bullets(slide, col1, 0.3, body_top, 6.2, 7.0-body_top, font_size=15)
        add_bullets(slide, col2, 6.7, body_top, 6.2, 7.0-body_top, font_size=15)
    elif bullets:
        add_bullets(slide, bullets, 0.3, body_top, 12.6, 7.0-body_top, font_size=16)
    return slide


def table_slide(prs, title, headers, rows, subtitle=None):
    """Slide with a formatted table"""
    slide = prs.slides.add_slide(BLANK)
    add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=WHITE)
    add_rect(slide, 0, 0, 13.33, 1.1, fill_rgb=DARK_BLUE)
    add_text(slide, title, 0.3, 0.1, 12.7, 0.9,
             font_size=26, bold=True, color=WHITE)
    add_rect(slide, 0, 7.1, 13.33, 0.4, fill_rgb=LIGHT_BLUE)
    add_text(slide, "Source: Park's Textbook of Preventive & Social Medicine, 28th Ed.",
             0.2, 7.12, 12.9, 0.3, font_size=10, italic=True, color=MID_BLUE)

    top = 1.25 if not subtitle else 1.6
    if subtitle:
        add_rect(slide, 0, 1.1, 13.33, 0.4, fill_rgb=LIGHT_BLUE)
        add_text(slide, subtitle, 0.3, 1.12, 12.7, 0.36,
                 font_size=15, bold=True, color=MID_BLUE)

    ncols = len(headers)
    nrows = len(rows)
    table_h = min(5.5, 0.55 * (nrows + 1))
    tbl = slide.shapes.add_table(nrows+1, ncols,
                                  Inches(0.3), Inches(top),
                                  Inches(12.73), Inches(table_h)).table
    tbl.columns[0].width = Inches(12.73 / ncols)
    # header row
    for ci, hdr in enumerate(headers):
        cell = tbl.cell(0, ci)
        cell.text = hdr
        cell.fill.solid()
        cell.fill.fore_color.rgb = DARK_BLUE
        p = cell.text_frame.paragraphs[0]
        run = p.runs[0] if p.runs else p.add_run()
        run.text = hdr
        run.font.bold = True
        run.font.color.rgb = WHITE
        run.font.size = Pt(14)
        p.alignment = PP_ALIGN.CENTER
    # data rows
    for ri, row in enumerate(rows):
        for ci, val in enumerate(row):
            cell = tbl.cell(ri+1, ci)
            cell.text = val
            if ri % 2 == 0:
                cell.fill.solid()
                cell.fill.fore_color.rgb = RGBColor(0xE8, 0xF0, 0xFB)
            p = cell.text_frame.paragraphs[0]
            run = p.runs[0] if p.runs else p.add_run()
            run.text = val
            run.font.size = Pt(13)
    return slide


# =============================================================================
# SLIDE 1 — TITLE SLIDE
# =============================================================================
slide = prs.slides.add_slide(BLANK)
add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=DARK_BLUE)
add_rect(slide, 0, 2.5, 13.33, 0.06, fill_rgb=ORANGE)
add_text(slide, "INFANCY, NEONATAL CARE,\nLOW BIRTH WEIGHT &\nFEEDING OF INFANTS",
         0.8, 0.7, 11.73, 3.0,
         font_size=40, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_text(slide, "A PSM Seminar | MBBS 3rd Year",
         1, 3.8, 11.33, 0.6, font_size=22, italic=True,
         color=ORANGE, align=PP_ALIGN.CENTER)
add_text(slide, "Based on: Park's Textbook of Preventive and Social Medicine, 28th Edition",
         1, 4.5, 11.33, 0.5, font_size=15, italic=True,
         color=LIGHT_BLUE, align=PP_ALIGN.CENTER)
add_text(slide, "Pages 619–630",
         1, 5.1, 11.33, 0.4, font_size=14,
         color=RGBColor(0xAA, 0xCC, 0xFF), align=PP_ALIGN.CENTER)

# =============================================================================
# SLIDE 2 — INDEX / OVERVIEW
# =============================================================================
slide = prs.slides.add_slide(BLANK)
add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=WHITE)
add_rect(slide, 0, 0, 13.33, 1.1, fill_rgb=DARK_BLUE)
add_text(slide, "SEMINAR OVERVIEW", 0.3, 0.1, 12.7, 0.9,
         font_size=26, bold=True, color=WHITE)
add_rect(slide, 0, 7.1, 13.33, 0.4, fill_rgb=LIGHT_BLUE)
add_text(slide, "Source: Park's Textbook of Preventive & Social Medicine, 28th Ed.",
         0.2, 7.12, 12.9, 0.3, font_size=10, italic=True, color=MID_BLUE)

sections = [
    ("PART 1", "INFANCY", "Definition, Statistics, Burden, Overview"),
    ("PART 2", "NEONATAL CARE", "Early & Late Neonatal Care, Immediate Care Procedures, Apgar Score, Neonatal Examinations, Neonatal Screening"),
    ("PART 3", "LOW BIRTH WEIGHT (LBW)", "Definition, Classification, Preterm Babies, Incidence, Causes, Problems, Prevention, Management"),
    ("PART 4", "FEEDING OF INFANTS", "Breastfeeding, Artificial Feeding, Weaning / Complementary Feeding"),
]
colors = [DARK_BLUE, MID_BLUE, ORANGE, GREEN]

for i, (part, heading, details) in enumerate(sections):
    top = 1.3 + i * 1.3
    add_rect(slide, 0.3, top, 1.0, 1.0, fill_rgb=colors[i])
    add_text(slide, part, 0.3, top+0.1, 1.0, 0.4,
             font_size=11, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
    add_text(slide, heading, 1.5, top+0.05, 4.5, 0.5,
             font_size=18, bold=True, color=colors[i])
    add_text(slide, details, 1.5, top+0.55, 11.0, 0.4,
             font_size=13, italic=True, color=DARK_TEXT)


# ═══════════════════════════════════════════════════════════════════════════════
#  PART 1 – INFANCY
# ═══════════════════════════════════════════════════════════════════════════════
section_divider(prs, "PART 1", "INFANCY", bg_color=DARK_BLUE)

# Slide — Definition & Epidemiology
content_slide(prs, "INFANCY – Definition & Epidemiology",
    [
        ("Infants = children aged 0–1 year", True),
        "Infants constitute ~2.92% of total population in India",
        "Of 136 million children born each year worldwide, 90% are in the third world",
        "Chances of survival have improved by 50% in the last 20 years",
        ("Burden of Under-weight Births", True),
        "20–30% of babies are underweight at birth → vulnerable to infection and disease",
        "About 40% of total infant mortality occurs in the FIRST MONTH of life",
        ("India's IMR", True),
        "IMR = 58 per 1,000 live births in India vs 5 per 1,000 in developed countries",
        "Places India among the less developed nations of the world",
    ])

# Slide — Key Measures & Weaning
content_slide(prs, "INFANCY – Key Challenges & Low-Cost Interventions",
    [
        ("Weaning Period Challenge", True),
        "1 in 4 surviving children receives neither quality nor quantity of food to replace mother's milk",
        "Result: children in developing countries reach adulthood with health already largely impaired",
        ("Many Low-Cost Life-Saving Measures Available", True),
        "Immunization",
        "Breast feeding",
        "Birth spacing",
        "Growth monitoring",
        "Improved weaning",
        "Oral rehydration",
        "Attention to these elements forms the backbone of child health care in developing countries",
    ])


# ═══════════════════════════════════════════════════════════════════════════════
#  PART 2 – NEONATAL CARE
# ═══════════════════════════════════════════════════════════════════════════════
section_divider(prs, "PART 2", "NEONATAL CARE", bg_color=MID_BLUE)

# Slide — What is Neonatal Care
content_slide(prs, "NEONATAL CARE – Overview",
    [
        ("Definition", True),
        "Neonatology = the aspect of family health services dealing with optimum care of the newborn",
        ("Multidisciplinary Teamwork Required", True),
        "Obstetrics & Gynaecology",
        "Paediatrics",
        "Preventive and Social Medicine",
        "Community Health Services",
        "Nursing",
        ("Role of Paediatrician", True),
        "Key role as coordinator and guide for the whole team",
        "Impact is on the vast problems of perinatal and neonatal mortality and morbidity",
    ])

# Slide — Early Neonatal Care Intro
content_slide(prs, "EARLY NEONATAL CARE",
    [
        ("Critical Period", True),
        "The FIRST WEEK of life is the most crucial period in the life of an infant",
        "In India: 61.3% of all infant deaths occur within the first month of life",
        "Of those, MORE THAN HALF die during the first week of birth",
        ("Reason", True),
        "Newborn must adapt rapidly and successfully to an alien external environment",
        "Risk of death is greatest during the first 24–48 hours after birth",
        "Problem is more acute in rural areas: scarce expert obstetric care + unsatisfactory home conditions",
    ])

# Slide — Objectives of Early Neonatal Care
content_slide(prs, "Objectives of Early Neonatal Care",
    [
        "To assist the newborn in adapting to an alien environment:",
        ("(i) Establishment and maintenance of cardio-respiratory functions", False),
        ("(ii) Maintenance of body temperature", False),
        ("(iii) Avoidance of infection", False),
        ("(iv) Establishment of satisfactory feeding regimen", False),
        ("(v) Early detection and treatment of congenital and acquired disorders, especially infections", False),
        ("TORCHES Infections", True),
        "Toxoplasmosis, Rubella, Herpes-virus 1/2, Cytomegalovirus (CMV), Syphilis",
        "Associated with HIGH mortality rate in neonates",
    ])

# Slide — Immediate Care: 1. Clearing the Airway
content_slide(prs, "Immediate Care – 1. Clearing the Airway",
    [
        ("Priority", True),
        "Establishment and maintenance of cardio-respiratory function is THE MOST IMPORTANT action at birth",
        "Everything else is secondary",
        ("Steps", True),
        "Position baby with head low → facilitates drainage of secretions",
        "Gentle suction to remove mucus and amniotic fluid",
        "Resuscitation if natural breathing fails within 1 minute",
        "Active resuscitation: suction, oxygen mask, intubation, assisted respiration",
        ("Equipment Needed", True),
        "All labour wards should be equipped with resuscitation equipment including oxygen",
        "If heart has stopped for 5 minutes → baby is probably dead",
    ])

# Slide — Apgar Score Table
table_slide(prs, "Immediate Care – 2. Apgar Score",
    ["Sign", "Score 0", "Score 1", "Score 2"],
    [
        ["Heart Rate",           "Absent",     "Slow (below 100)",           "Over 100"],
        ["Respiratory Effort",   "Absent",     "Slow / Irregular",           "Good crying"],
        ["Muscle Tone",          "Flaccid",    "Some flexion of extremities","Active movements"],
        ["Reflex Response",      "No response","Grimace",                    "Cry"],
        ["Colour",               "Blue, pale", "Body pink, extremities blue","Completely pink"],
    ],
    subtitle="Taken at 1 minute and again at 5 minutes after birth | Total score = 10"
)

# Slide — Apgar Score Interpretation
content_slide(prs, "Apgar Score – Interpretation & Significance",
    [
        ("Scoring Interpretation", True),
        "Score 7–10: No depression (Perfect = 9 or 10)",
        "Score 4–6:  Moderate/mild depression",
        "Score 0–3:  Severe depression",
        "Score <5 needs PROMPT action",
        ("Clinical Significance", True),
        "Today it is considered NEGLIGENCE to omit Apgar scoring of a newborn infant",
        "Especially important in Low Birth Weight (LBW) babies",
        "Infants with low Apgar scores at 5 minutes are at HIGH RISK of complications and death during neonatal period",
    ])

# Slide — 3. Care of the Cord
content_slide(prs, "Immediate Care – 3. Care of the Cord",
    [
        ("Timing of Cord Cutting", True),
        "Umbilical cord should be cut and tied after it has STOPPED PULSATING",
        "Advantage: baby derives ~10 ml extra blood → especially important in anaemia-prone India",
        ("Infection Prevention", True),
        "Use properly sterilized instruments and cord ties",
        "Apply antiseptic on cord stump and surrounding skin",
        "Keep cord as DRY as possible",
        "Cord dries, shrivels up and separates by aseptic necrosis in 5–8 days",
        ("Tetanus Prevention", True),
        "Must prevent tetanus of the newborn by sterile technique",
    ])

# Slide — 4. Care of the Eyes
content_slide(prs, "Immediate Care – 4. Care of the Eyes",
    [
        ("Routine Eye Care", True),
        "Before eyes are open: clean lid margins with sterile wet swabs (one per eye, inner → outer)",
        "Instil 1% silver nitrate solution OR single application of tetracycline 1% ointment",
        "Purpose: to prevent gonococcal conjunctivitis (Ophthalmia Neonatorum)",
        "Any discharge from the eye of an infant is PATHOLOGICAL → needs immediate treatment",
        ("Ophthalmia Neonatorum", True),
        "Organisms: N. gonorrhoea, C. trachomatis (commonest), Staphylococcus, Streptococcus, Candida spp.",
        "Most serious: N. gonorrhoea → can rapidly cause blindness",
        "C. trachomatis = important cause of neonatal conjunctivitis",
        "Topical neomycin may be more useful as gonococcal cases are now less frequent",
    ])

# Slide — 5. Vitamin K
content_slide(prs, "Immediate Care – 5. Vitamin K",
    [
        ("Haemorrhagic Disease of the Newborn", True),
        "Newborn is deficient in Vitamin K-dependent clotting factors",
        "All neonates should receive 1 mg Vitamin K₁ (phytomenadione) intramuscularly at birth",
        "This prevents haemorrhagic disease of the newborn",
        ("Note", True),
        "Premature / low birth weight babies are at greater risk and need this even more",
    ])

# Slide — 6. Maintenance of Body Temperature
content_slide(prs, "Immediate Care – 6. Maintenance of Body Temperature",
    [
        ("Normal Body Temperature", True),
        "Newborn's normal body temperature: 36.5 to 37.5°C",
        ("Challenge at Birth", True),
        "Environment may be 10–20°C cooler than womb (especially in Indian winters)",
        "Newborn has LITTLE THERMAL CONTROL and can lose body heat quickly",
        "Up to 75% of heat loss can occur from the HEAD",
        ("Actions", True),
        "Quickly DRY the baby with a clean cloth immediately after birth",
        "WRAP in warm cloth and give to mother for skin-to-skin contact + breastfeeding",
        "Do NOT separate baby from mother for 12–24 hours (harmful practice)",
        "Avoid placing baby on cold surfaces (metallic tray, rubber sheeting, weighing scale)",
        "Keep away from cold walls, open windows, draught",
        ("Pre-term & LBW Babies", True),
        "Lose heat MORE EASILY through thin skin (less subcutaneous fat for insulation)",
    ])

# Slide — 7. Breast Feeding (in Neonatal Care section)
content_slide(prs, "Immediate Care – 7. Breast-Feeding",
    [
        ("When to Start", True),
        "Breast-feeding should be initiated WITHIN AN HOUR of birth",
        "Do not wait several hours (as is often customary)",
        ("Colostrum – First Milk", True),
        "Little milk is present initially, but it establishes feeding and 'bonding'",
        "Colostrum = first milk → most suitable food in early neonatal period",
        "High concentration of proteins and nutrients",
        "Rich in ANTI-INFECTIVE FACTORS → protects against respiratory infections and diarrhoeal diseases",
        "Supplementary feeds are NOT necessary",
        ("Regular Milk", True),
        "Regular milk comes on the 3rd to 6th day after birth",
        "Baby should be allowed to breast-feed WHENEVER it wants (demand feeding)",
        "Demand feeding helps the baby gain weight",
        "Advise mother to AVOID feeding bottles",
    ])

# Slide — Neonatal Examinations
content_slide(prs, "Neonatal Examinations",
    [
        ("a. FIRST EXAMINATION (in delivery room)", True),
        "Done soon after birth, preferably in the delivery room",
        "Purpose: (a) Detect birth injuries; (b) Detect malformations needing urgent treatment; (c) Assess maturity",
        ("Abnormalities to Attend to Immediately", True),
        "(a) Cyanosis of lips and skin",
        "(b) Any difficulty in breathing",
        "(c) Imperforated anus",
        "(d) Persistent vomiting",
        "(e) Signs of cerebral irritation: twitchings, convulsions, neck rigidity, bulging anterior fontanel",
        "(f) Temperature instability",
        ("b. SECOND EXAMINATION (within 24 hours)", True),
        "Preferably by a paediatrician",
        "First stage of a continual process of health care surveillance",
        "Detailed systematic examination",
    ])

# Slide — Anthropometric Measurements
content_slide(prs, "Neonatal Examinations – Anthropometric Measurements",
    [
        ("Measurements Taken (within first 24 hrs)", True),
        "1. BIRTH WEIGHT: taken as soon as possible after birth",
        "2. BODY LENGTH (Crown-heel length): measured with an infantometer",
        "3. HEAD CIRCUMFERENCE: measured with tape at maximum occipito-frontal diameter",
        "   (May change slightly in first 3 days due to moulding during labour)",
        ("Purpose of Anthropometric Measurements", True),
        "(i) Assess the baby's size against known standards for the population",
        "(ii) Compare size with estimated period of gestation",
        "(iii) Provide a baseline for measuring subsequent progress",
        ("Classification of Anthropometric Measurements", True),
        "(a) Weight; (b) Length; (c) Perimeters (head, chest, abdomen, arm, calf); (d) Diameters; (e) Skinfold thickness",
    ])

# Slide — Neonatal Screening
content_slide(prs, "NEONATAL SCREENING",
    [
        ("Purpose", True),
        "Primarily: detect infants with treatable genetic, developmental and other abnormalities",
        "Secondarily: provide genetic counselling to parents",
        ("Basic Screening", True),
        "Apgar score and routine clinical examinations should be carried out on ALL newborn infants",
        "10–15 ml of cord blood: collected at birth, saved in refrigerator for 7 days",
        "Used for typing, Coombs' testing, and other tests if needed",
        ("Conditions Screened", True),
        "Congenital metabolic disorders",
        "Inherited haemoglobinopathies",
        "Red cell disorders",
        "Note: General screening is neither justified nor technically possible for rare diseases",
    ])

# Slide — PKU & Other Screened Disorders
content_slide(prs, "Neonatal Screening – Common Disorders",
    [
        ("a. Phenylketonuria (PKU)", True),
        "Incidence: 1 in 10,000–20,000 births",
        "Autosomal recessive; deficiency of phenylalanine hydroxylase (PAH)",
        "Results in raised serum phenylalanine → mental retardation + seizures if untreated",
        "Screened by Guthrie test (heel prick, 6–10 days old baby)",
        "Treatment: low phenylalanine diet",
        "Same heel prick blood can also screen for GALACTOSAEMIA and MAPLE SYRUP URINE DISEASE",
        ("b. Congenital Hypothyroidism", True),
        "Also screened via heel prick blood test",
        ("c. Sickle Cell Disease & Thalassaemia", True),
        "Screened where prevalence is high",
    ])

# Slide — High-Risk Infants
content_slide(prs, "HIGH-RISK INFANTS – Who Needs Special Attention?",
    [
        ("Criteria for High-Risk Status", True),
        "1. Birth weight < 2.5 kg (LBW)",
        "2. Apgar score < 5 at one minute",
        "3. Congenital malformations",
        "4. Illness in first week of life",
        "5. Weight below 70% of expected weight (Grade II and III malnutrition)",
        "6. Failure to gain weight during three successive months",
        "7. Children with PEM + diarrhoea",
        "8. Working mother / one-parent family",
    ])

# Slide — Late Neonatal Care
content_slide(prs, "LATE NEONATAL CARE",
    [
        ("Period Covered", True),
        "Remaining 3 weeks of the neonatal period (after first week)",
        ("Main Hazards", True),
        "INFECTION: major and serious hazard",
        "FAILURE OF SATISFACTORY NUTRITION",
        ("Common Killers", True),
        "Diarrhoea",
        "Pneumonia",
        "These take a heavy toll on infants exposed to unsatisfactory environments",
        ("Important Point", True),
        "Case fatality rate of trivial episodes can increase DRAMATICALLY when elementary care is not given",
    ])


# ═══════════════════════════════════════════════════════════════════════════════
#  PART 3 – LOW BIRTH WEIGHT
# ═══════════════════════════════════════════════════════════════════════════════
section_divider(prs, "PART 3", "LOW BIRTH WEIGHT (LBW)", bg_color=ORANGE)

# Slide — Definition
content_slide(prs, "LOW BIRTH WEIGHT – Definition",
    [
        ("Key Statement", True),
        "Birth weight is the SINGLE MOST IMPORTANT determinant of an infant's chances of survival, healthy growth and development",
        ("WHO Definition", True),
        "Low Birth Weight = birth weight of LESS THAN 2.5 kg (up to and including 2499 g)",
        "Measurement taken preferably within the FIRST HOUR of life (before significant postnatal weight loss)",
        ("Two Main Groups of LBW Babies", True),
        "(a) Born prematurely (short gestation)",
        "(b) Foetal growth retardation (IUGR)",
        ("Pattern by Country", True),
        "In countries with low LBW proportion → short gestation period is the main cause",
        "In countries with high LBW proportion (e.g. India) → majority due to FOETAL GROWTH RETARDATION",
    ])

# Slide — Classification by Gestational Age
content_slide(prs, "LBW – Classification by Gestational Age",
    [
        ("Preterm", True),
        "Born BEFORE 37 completed weeks of gestation (<259 days)",
        ("Term", True),
        "Born from 37 completed weeks to <42 completed weeks (259–293 days)",
        ("Post-term", True),
        "Born at 42 completed weeks or later (≥294 days)",
        ("Sub-categories of Preterm", True),
        "Extremely preterm: <28 weeks",
        "Very preterm: 28 to <32 weeks",
        "Moderate to late preterm: 32 to 37 weeks",
        ("Important", True),
        "A LBW infant = any infant with birth weight <2.5 kg REGARDLESS of gestational age",
    ])

# Slide — Preterm Babies vs SGA
content_slide(prs, "Preterm vs. Small-for-Gestational-Age (SGA/IUGR)",
    [
        ("Preterm Babies", True),
        "Born too early; intrauterine growth may be NORMAL",
        "Weight, length and development may be within normal limits for gestational duration",
        "With good neonatal care, may catch up growth by 2–3 years of age",
        ("Small-for-Gestational-Age (SGA) / IUGR", True),
        "Born at TERM but weight < 2.5 kg (foetal growth retardation)",
        "These babies are 'thin' rather than 'premature'",
        "Common in India and developing countries",
        ("Key Difference", True),
        "Preterm: small because born too early",
        "SGA/IUGR: small because of growth failure despite adequate gestational age",
    ])

# Slide — Incidence
content_slide(prs, "LOW BIRTH WEIGHT – Incidence",
    [
        ("Global", True),
        "More than 1 in 10 of world's babies born in 2015 were born prematurely",
        "Estimated 15 million preterm births in 2015",
        "More than 1 million died as a result of prematurity",
        "Prematurity = 2nd leading cause of death in children under 5 years",
        "SINGLE MOST IMPORTANT cause of death in the first month of life",
        ("Regional Burden", True),
        ">60% of preterm births occur in Africa and South Asia",
        "Low-income countries: ~12% born preterm vs 9% in high-income countries",
        ("India's Rank", True),
        "India has the HIGHEST NUMBER of preterm births globally: 3,519,100 in 2015 (Rank #1)",
        ("Survival Disparity", True),
        ">90% of extremely preterm babies (<28 weeks) die in low-income countries",
        "<10% of extremely preterm babies die in high-income countries",
    ])

# Slide — Causes of LBW
content_slide(prs, "Causes of LOW BIRTH WEIGHT",
    [
        ("Maternal Factors", True),
        "Maternal malnutrition (most important in India)",
        "Anaemia",
        "Low pre-pregnancy weight and poor weight gain in pregnancy",
        "Age: teenage pregnancy or advanced maternal age",
        "Short stature",
        "Multiple pregnancies (twins, triplets)",
        "Placental insufficiency / placenta praevia / abruptio placentae",
        ("Social Factors", True),
        "Low socio-economic status",
        "Inadequate ANC / no antenatal care",
        "Hard physical labour during pregnancy",
        "Heavy smoking, alcohol",
        ("Medical Factors", True),
        "Infections: malaria, syphilis, rubella, UTI",
        "Hypertension, diabetes, chronic renal disease",
        "Previous LBW baby (history)",
    ])

# Slide — Problems of Preterm/LBW Babies
content_slide(prs, "Problems of Premature / LBW Babies",
    [
        ("Temperature Instability", True),
        "Inability to stay warm due to low body fat",
        ("Respiratory", True),
        "Hyaline membrane disease / RDS (lack of surfactant)",
        "Chronic lung disease / bronchopulmonary dysplasia",
        "Apnoea (stopping breathing) — occurs in ~50% of babies born ≤30 weeks",
        ("Cardiovascular", True),
        "Patent Ductus Arteriosus (PDA)",
        "Hypotension or hypertension; low heart rate (often with apnoea)",
        ("Blood & Metabolic", True),
        "Anaemia (may require transfusion); Jaundice (immature liver)",
        "Abnormal levels of calcium, glucose",
        ("Gastrointestinal", True),
        "Difficulty feeding (unable to coordinate suck-swallow before 35 weeks)",
        "Necrotizing Enterocolitis (NEC)",
        ("Neurological", True),
        "Intraventricular haemorrhage; Periventricular leukomalacia; Seizures; Retinopathy of prematurity",
        ("Infection", True),
        "More susceptible; may require antibiotics",
    ])

# Slide — Causes of Death in LBW
content_slide(prs, "Leading Causes of Death in LBW Babies",
    [
        "a. Atelectasis",
        "b. Malformation",
        "c. Pulmonary haemorrhage",
        "d. Intracranial bleeding (secondary to anoxia or birth trauma)",
        "e. Pneumonia and other infections",
        ("Impact on Public Health", True),
        "For survivors, many face a LIFETIME of significant disability",
        "Cerebral palsy associated with hypoxia (low oxygen in blood stream)",
        "Development of perinatal intensive care units has been associated with a decline in neonatal mortality",
    ])

# Slide — Prevention of LBW
content_slide(prs, "PREVENTION of Low Birth Weight",
    [
        ("General Principle", True),
        "Rates of LBW could be reduced to not more than 10% in all parts of the world (experts)",
        "No universal solution — interventions must be CAUSE-SPECIFIC",
        "Main attention: prevention through good PRENATAL CARE rather than 'treatment' later",
        ("Direct Intervention Measures", True),
        "Identify pregnant women 'at risk' early and reduce the risk",
        "Improve maternal nutrition (iron, folate, protein supplementation)",
        "Treatment and prevention of anaemia",
        "Prevent and treat infections in pregnancy (malaria, UTI, STIs)",
        "Adequate antenatal care (ANC)",
        "Avoid teenage pregnancy and closely-spaced pregnancies",
        "Educate about harmful habits (smoking, alcohol, heavy labour)",
        ("Kangaroo Mother Care (KMC)", True),
        "Skin-to-skin positioning of baby on mother's chest",
        "Adequate nutrition through breast-feeding",
        "Ambulatory care + earlier hospital discharge",
        "Support for mother and family",
    ])

# Slide — Management of LBW
content_slide(prs, "MANAGEMENT of Low Birth Weight Babies",
    [
        ("Kangaroo Mother Care (KMC)", True),
        "Four essential components: skin-to-skin contact + breastfeeding + ambulatory care + family support",
        "Best care option especially for LBW babies",
        ("Intensive Care", True),
        "(a) INCUBATOR CARE: Adjustment of temperature, humidity and oxygen supply",
        "  Continuous monitoring of blood oxygen level (hypoxia → cerebral palsy)",
        "  Excessive oxygen may cause retrolental fibroplasia",
        "(b) FEEDING: Breast-feeding is rarely possible (baby cannot suck)",
        "  Breast milk should be used if available",
        "  Feeding often by nasal catheter",
        "(c) PREVENTION OF INFECTION: Greatest hazard",
        "  Death may occur within hours following respiratory infection",
        "  Prevention of infection is one of the most important functions of an ICU",
        ("Facilities", True),
        "Newborn Care Corner",
        "Newborn Stabilization Unit",
        "Special Newborn Care Unit (SNCU) — linked to obstetric units, perinatal ICU",
    ])


# ═══════════════════════════════════════════════════════════════════════════════
#  PART 4 – FEEDING OF INFANTS
# ═══════════════════════════════════════════════════════════════════════════════
section_divider(prs, "PART 4", "FEEDING OF INFANTS", bg_color=GREEN)

# Slide — Intro
content_slide(prs, "FEEDING OF INFANTS – Overview",
    [
        ("There are 3 main types of infant feeding", True),
        "(1) Breast-feeding (IDEAL)",
        "(2) Artificial feeding",
        "(3) Mixed feeding (combination of breast + artificial)",
        ("Key Fact", True),
        "Under any circumstances, BREAST MILK is the ideal food for the infant",
        "No other food is required by the baby until 6 months after birth",
        ("Indian Data", True),
        "Indian mothers secrete 450–600 ml of milk daily",
        "Protein content: 1.1 g per 100 ml",
        "Energy value of human milk: 70 kcal per 100 ml",
    ])

# Slide — Breastfeeding: Importance
content_slide(prs, "(1) BREAST-FEEDING – Importance & Statistics",
    [
        ("Survival Benefit", True),
        "A breast-fed child has GREATER CHANCES OF SURVIVAL than an artificially-fed child",
        "Breast-feeding protects the infant from early malnutrition and some infections",
        ("Critical Statistics", True),
        "Infant mortality rates in developing countries are 5–10 TIMES HIGHER among children who have NOT been breast-fed",
        "Or who have been breast-fed for LESS THAN 6 MONTHS",
        ("Current Trend (Concern)", True),
        "Despite marked advantages of breast-feeding, its popularity has DECLINED SIGNIFICANTLY in many parts of the world",
    ])

# Slide — Advantages of Breast-Feeding
content_slide(prs, "(1) BREAST-FEEDING – Advantages",
    [
        ("For the Infant", True),
        "1. Provides ideal nutrition – perfectly balanced for the baby's needs",
        "2. Contains anti-infective factors (immunoglobulins, lactoferrin, lysozymes)",
        "3. Protects against diarrhoeal diseases and respiratory infections",
        "4. Promotes 'bonding' between mother and child",
        "5. Colostrum (first milk): high protein + anti-infective factors",
        "6. Reduces risk of malnutrition",
        "7. Always at the right temperature, clean and sterile",
        ("For the Mother", True),
        "8. Economical (free of cost)",
        "9. Contributes to child spacing (lactation amenorrhoea)",
        "10. Reduces risk of breast and ovarian cancer",
        "11. Helps uterine involution",
    ])

# Slide — Colostrum
content_slide(prs, "COLOSTRUM – The First Milk",
    [
        ("Definition", True),
        "Colostrum = the first milk secreted by the breast, available in the first few days after delivery",
        ("Composition", True),
        "High concentration of PROTEIN and other nutrients",
        "Rich in ANTI-INFECTIVE FACTORS (secretory IgA, leukocytes, lysozyme, lactoferrin)",
        ("Protective Role", True),
        "Protects the baby against RESPIRATORY INFECTIONS",
        "Protects against DIARRHOEAL DISEASES",
        ("Clinical Message", True),
        "Supplementary feeds are NOT necessary during this period",
        "Regular breast milk comes on the 3rd to 6th day after birth",
        "Baby should feed ON DEMAND (whenever it wants)",
    ])

# Slide — Artificial Feeding
content_slide(prs, "(2) ARTIFICIAL FEEDING",
    [
        ("When Used", True),
        "When breast-feeding is not possible (e.g., maternal illness, death of mother, adoption)",
        "Not preferred — carries significant risks compared to breast milk",
        ("Principles of Artificial Feeding", True),
        "1. Use clean, boiled water for preparation",
        "2. Sterilize feeding bottles and nipples after EVERY feed",
        "3. Prepare feed fresh for each feeding",
        "4. Use correct dilution as instructed",
        "5. Test temperature before feeding",
        "6. Discard unused feed",
        "7. Use of feeding bottles should be AVOIDED if possible",
        ("Risks of Artificial Feeding", True),
        "Infection from contaminated bottles/water",
        "Incorrect dilution → malnutrition or overfeeding",
        "Lacks anti-infective factors of breast milk",
        "Loss of 'bonding' between mother and child",
    ])

# Slide — Mixed Feeding & Weaning
content_slide(prs, "(3) WEANING / COMPLEMENTARY FEEDING",
    [
        ("Definition", True),
        "Weaning = the process of introducing other foods while gradually withdrawing breast-feeding",
        "Also called: complementary feeding",
        ("When to Start", True),
        "Exclusive breast-feeding recommended for the first 6 MONTHS",
        "Complementary foods to be introduced at 6 months alongside continued breast-feeding",
        ("The Weaning Period Challenge", True),
        "1 in 4 surviving children receives neither quality nor quantity of food to replace mother's milk",
        "Malnutrition risk is HIGHEST during the weaning period",
        ("Improved Weaning", True),
        "Improved weaning practices are one of the key low-cost life-saving interventions",
        "Focus of child health care in developing countries",
    ])

# ═══════════════════════════════════════════════════════════════════════════════
#  SUMMARY / CONCLUSION SLIDE
# ═══════════════════════════════════════════════════════════════════════════════
content_slide(prs, "KEY TAKEAWAYS – Summary",
    [
        ("Infancy", True),
        "40% of infant mortality occurs in the 1st month; IMR in India = 58/1000",
        ("Neonatal Care", True),
        "First week = most crucial; objectives: airway, temperature, infection, feeding, anomaly detection",
        "Apgar score at 1 and 5 min; cord care; Vit K; eye prophylaxis; breast-feeding within 1 hour",
        ("Low Birth Weight", True),
        "LBW = <2.5 kg; most important determinant of infant survival",
        "Two types: preterm + IUGR; India ranks #1 globally in preterm births",
        "Management: KMC, incubator care, nasal feeds, infection prevention",
        ("Feeding of Infants", True),
        "Breast milk = IDEAL; exclusive for 6 months",
        "IMR 5–10× higher in non-breastfed infants",
        "Artificial feeding carries infection and malnutrition risks",
        ("Quote from Park", True),
        '"The first few hours, days and months of life are still an obstacle race"',
    ])

# Final Reference Slide
slide = prs.slides.add_slide(BLANK)
add_rect(slide, 0, 0, 13.33, 7.5, fill_rgb=DARK_BLUE)
add_text(slide, "REFERENCE",
         1, 1.5, 11.33, 1.0, font_size=30, bold=True,
         color=WHITE, align=PP_ALIGN.CENTER)
add_text(slide,
         "Park K.\nPark's Textbook of Preventive and Social Medicine.\n28th Edition.\nJabalpur: Bhanot Publishers; 2023.\nPages 619–630",
         1, 2.8, 11.33, 2.5, font_size=22, italic=True,
         color=LIGHT_BLUE, align=PP_ALIGN.CENTER)
add_text(slide, "THANK YOU",
         1, 5.5, 11.33, 1.0, font_size=36, bold=True,
         color=ORANGE, align=PP_ALIGN.CENTER)


# ─────────────────────────────────────────────────────────────────────────────
# Save
# ─────────────────────────────────────────────────────────────────────────────
out_path = "/tmp/workspace/psm-seminar/PSM_Seminar_Infancy_Neonatal_LBW_Feeding.pptx"
prs.save(out_path)
print(f"Saved: {out_path}")
print(f"Total slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/psm-seminar && python build_ppt.py

Your PPT is ready! Here's the download link:

PSM Seminar Infancy Neonatal LBW Feeding

Presentation · PPTX


What's inside — 42 slides, strictly from Park's pages 619–630

PartSlidesContent Covered
Title + Index2Title slide, seminar overview
Part 1 – Infancy2Definition, 2.92% of population, IMR India vs developed, weaning challenges, low-cost interventions
Part 2 – Neonatal Care13Overview, early neonatal care, objectives, Immediate Care (airway clearing, Apgar score table, cord care, eye care, Vitamin K, temperature maintenance, breastfeeding at 1 hr), neonatal examinations (1st + 2nd), anthropometric measurements, neonatal screening (PKU, hypothyroidism, sickle cell), high-risk infant criteria, late neonatal care
Part 3 – Low Birth Weight8Definition, WHO criteria, classification (preterm/term/postterm, subcategories), preterm vs SGA/IUGR, incidence (India #1 globally), causes, problems of preterm, causes of death, prevention, management (KMC + intensive care)
Part 4 – Feeding of Infants5Overview (3 types), breastfeeding importance + statistics (5–10× IMR), advantages of breastfeeding, colostrum, artificial feeding principles + risks, weaning/complementary feeding
Summary + Reference2Key takeaways, Park's citation
Design: Dark blue/orange professional theme, Apgar score as a proper formatted table, section divider slides for each part, source footer on every slide.

Want some corrections

Of course! Please go ahead and tell me what corrections you'd like. For example:
  • Content changes (add, remove, or reword any slide)
  • Order changes (rearrange slides or sections)
  • Design changes (colours, font size, layout)
  • Missing topics (anything from pages 619–630 that was not included)
  • Any specific slide you want modified
List all your corrections and I'll apply them all at once and give you a fresh updated PPT.

Remove part 1 234 slides

Just to confirm — you want to remove slides 2, 3, and 4 (the Seminar Overview + the 2 Infancy content slides under Part 1), correct?
So the deck would start with:
  • Slide 1: Title slide
  • Then directly: Part 2 – Neonatal Care section divider → and all remaining slides
Is that right? Or did you mean something different by "Part 1 234 slides"?

Remove that slide part 1 part 2part 3 like that , change ppt design or colour font of headings and subheading increase font size ‘ now I m telling the order and heading make again from start …..,,,,,,, page 619 infancy add this with neonatal care page. 620 - early neonatal care. Immediate neonatal care ( subheading 1 clearing the airway 2 apgar score 3 care of the cord 4 care of the eyes 5 care f the skin 6 body temperature 7 breast feeding ……….then Neonatal examination page 621 ( first and secondary examination ) …… then the infected newborn ( neonatal Tetanus , neonatal syphilis neonatal with hiv positive mother , newborn with hbv positive mother ) ,,,,, measuring the baby page 622 ( birth weight length head circumference) neonatal screenings page 623( a b c d e ) then identification of at risk infants a ten

Your message got cut off at "identification of at risk infants a ten..." — please finish that last part and I'll rebuild the entire PPT from scratch with all your corrections.
Also, a couple of quick clarifications:
  1. "Care of the skin" — this heading wasn't in the pages I read earlier. Should I look it up from Park's pages, or did you want me to include it only if it's there?
  2. "The Infected Newborn" (Neonatal Tetanus, Syphilis, HIV, HBV) — these topics may be on pages beyond 619–630. Do you want me to pull them from wherever they appear in Park's, or only include what's on pages 619–630?
Please also finish your sentence about "Identification of At-Risk Infants" and let me know if there are more headings after that (Low Birth Weight, Feeding of Infants order, etc.) so I can rebuild the complete deck in one go.

Wait

Sure, take your time! I'll wait for you to finish your instructions before doing anything. 😊

slides"? Remove that slide part 1 part 2part 3 like that , change ppt design or colour font of headings and subheading increase font size ‘ now I m telling the order and heading make again from start …..,,,,,,, page 619 infancy add this with neonatal care page. 620 - early neonatal care. Immediate neonatal care ( subheading 1 clearing the airway 2 apgar score 3 care of the cord 4 care of the eyes 5 care f the skin 6 body temperature 7 breast feeding ……….then Neonatal examination page 621 ( first and secondary examination ) …… then the infected newborn ( neonatal Tetanus , neonatal syphilis neonatal with hiv positive mother , newborn with hbv positive mother ) ,,,,, measuring the baby page 622 ( birth weight length head circumference) neonatal screenings page 623( a b c d e ) then identification of at risk infants the.

Your message still cuts off at "identification of at risk infants the." — it seems incomplete again.
Please complete the full order from here. Tell me:
  1. What comes after "Identification of At-Risk Infants"?
    • Late neonatal care?
    • Low Birth Weight?
    • Feeding of Infants?
    • Anything else?
  2. What is the full order for Low Birth Weight section? (headings/subheadings you want)
  3. What is the full order for Feeding of Infants section? (headings/subheadings you want)
Once you give me the complete list, I will rebuild the entire PPT in one shot — new design, correct order, no Part 1/2/3 dividers, bigger fonts.

slides"? Remove that slide part 1 part 2part 3 like that , change ppt design or colour font of headings and subheading increase font size ‘ now I m telling the order and heading make again from start …..,,,,,,, page 619 infancy add this with neonatal care page. 620 - early neonatal care. Immediate neonatal care ( subheading 1 clearing the airway 2 apgar score 3 care of the cord 4 care of the eyes 5 care f the skin 6 body temperature 7 breast feeding ……….then Neonatal examination page 621 ( first and secondary examination ) …… then the infected newborn ( neonatal Tetanus , neonatal syphilis neonatal with hiv positive mother , newborn with hbv positive mother ) ,,,,, measuring the baby page 622 ( birth weight length head circumference) neonatal screenings page 623( a b c d e ) then identification of at risk infants then ,,,,, late neonatal care ……page 624 low birth weight ( preterm babies , incidence ) causes of preterm births , SFD babies then if imp information then use table 4 page 625 importance , prevention ,direct intervention ,indirect intervention, treatment the. Kangaroo mother care use table page 627 if important then page 628 feeding of infants ( breast feeding & advantage) artificial feeding & principle ( dried milk cow milk & table 5 ) table 6 page 629 the.

Your message cuts off again at "table 6 page 629 the." — one more time, please finish:
  1. What comes after Table 6 on page 629?
    • Mixed feeding?
    • Weaning / complementary feeding?
    • Anything else before the end?
Once you send that last bit, I have everything I need and will rebuild the full PPT immediately.

Remove that slide part 1 part 2part 3 like that , change ppt design or colour font of headings and subheading increase font size ‘ now I m telling the order and heading make again from start …..,,,,,,, page 619 infancy add this with neonatal care page. 620 - early neonatal care. Immediate neonatal care ( subheading 1 clearing the airway 2 apgar score 3 care of the cord 4 care of the eyes 5 care f the skin 6 body temperature 7 breast feeding ……….then Neonatal examination page 621 ( first and secondary examination ) …… then the infected newborn ( neonatal Tetanus , neonatal syphilis neonatal with hiv positive mother , newborn with hbv positive mother ) ,,,,, measuring the baby page 622 ( birth weight length head circumference) neonatal screenings page 623( a b c d e ) then identification of at risk infants then ,,,,, late neonatal care ……page 624 low birth weight ( preterm babies , incidence ) causes of preterm births , SFD babies then if imp information then use table 4 page 625 importance , prevention ,direct intervention ,indirect intervention, treatment the. Kangaroo mother care use table page 627 if important then page 628 feeding of infants ( breast feeding & advantage) artificial feeding & principle ( dried milk cow milk & table 5 ) table 6 page 629 then Weaning then Baby friendly hospital initiative 2018 the.

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Writing File

~/psm-seminar/build_ppt_v2.py

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

# ── Colour Palette (new design: teal/green academic theme) ─────────────────
HEADER_BG   = RGBColor(0x00, 0x5C, 0x5C)   # deep teal - slide header bar
ACCENT      = RGBColor(0xFF, 0xA5, 0x00)    # amber/gold - heading text & accents
SUB_BG      = RGBColor(0xE0, 0xF4, 0xF4)    # very light teal - subtitle bar
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
SLIDE_BG    = RGBColor(0xF7, 0xFD, 0xFD)    # near-white slide bg
DARK_TEXT   = RGBColor(0x1A, 0x1A, 0x2E)    # near-black body text
BULLET_CLR  = RGBColor(0x00, 0x5C, 0x5C)    # teal for bullet markers
TABLE_HDR   = RGBColor(0x00, 0x5C, 0x5C)
TABLE_ALT   = RGBColor(0xD4, 0xEE, 0xEE)
FOOT_CLR    = RGBColor(0x00, 0x5C, 0x5C)

prs = Presentation()
prs.slide_width  = Inches(13.33)
prs.slide_height = Inches(7.5)
BLANK = prs.slide_layouts[6]

SOURCE = "Source: Park's Textbook of Preventive & Social Medicine, 28th Ed. | Pages 619–630"

# ─── Helpers ────────────────────────────────────────────────────────────────

def rect(slide, l, t, w, h, fill=None, line=None, lw=0):
    s = slide.shapes.add_shape(1, Inches(l), Inches(t), Inches(w), Inches(h))
    s.fill.background() if not fill else (s.fill.solid(), setattr(s.fill.fore_color, 'rgb', fill))
    if fill: s.fill.solid(); s.fill.fore_color.rgb = fill
    s.line.fill.background()
    if line and lw: s.line.color.rgb = line; s.line.width = Pt(lw)
    return s

def txt(slide, text, l, t, w, h, size=18, bold=False, italic=False,
        color=DARK_TEXT, align=PP_ALIGN.LEFT, wrap=True, name="Calibri"):
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = wrap
    p = tf.paragraphs[0]; p.alignment = align
    r = p.add_run(); r.text = text
    r.font.size = Pt(size); r.font.bold = bold; r.font.italic = italic
    r.font.color.rgb = color; r.font.name = name
    return tb

def bullets(slide, items, l, t, w, h, size=17, color=DARK_TEXT, sub=False):
    """items: list of str OR (str, bool:is_heading)"""
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = True
    first = True
    for item in items:
        if isinstance(item, tuple):
            text, is_hd = item
        else:
            text, is_hd = item, False
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False
        p.alignment = PP_ALIGN.LEFT
        r = p.add_run()
        if is_hd:
            r.text = text
            r.font.bold = True
            r.font.color.rgb = HEADER_BG
            r.font.size = Pt(size + 1)
        else:
            marker = "    \u2013 " if sub else "  \u2022 "
            r.text = marker + text
            r.font.bold = False
            r.font.color.rgb = color
            r.font.size = Pt(size)
        r.font.name = "Calibri"
    return tb

def footer(slide):
    rect(slide, 0, 7.12, 13.33, 0.38, fill=SUB_BG)
    txt(slide, SOURCE, 0.2, 7.14, 12.9, 0.32,
        size=11, italic=True, color=FOOT_CLR)

def header_bar(slide, title, subtitle=None):
    rect(slide, 0, 0, 13.33, 7.5, fill=SLIDE_BG)
    rect(slide, 0, 0, 13.33, 1.15, fill=HEADER_BG)
    # left accent stripe
    rect(slide, 0, 0, 0.08, 1.15, fill=ACCENT)
    txt(slide, title, 0.18, 0.1, 12.9, 0.95,
        size=30, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
    top = 1.15
    if subtitle:
        rect(slide, 0, 1.15, 13.33, 0.42, fill=SUB_BG)
        rect(slide, 0, 1.15, 0.08, 0.42, fill=ACCENT)
        txt(slide, subtitle, 0.18, 1.17, 12.9, 0.38,
            size=17, bold=True, italic=True, color=HEADER_BG)
        top = 1.62
    footer(slide)
    return top   # returns y-position where body content should start

def std_slide(prs, title, items, subtitle=None, size=17):
    slide = prs.slides.add_slide(BLANK)
    top = header_bar(slide, title, subtitle)
    bullets(slide, items, 0.25, top + 0.05, 12.83, 7.0 - top, size=size)
    return slide

def two_col_slide(prs, title, col1, col2, subtitle=None, size=16):
    slide = prs.slides.add_slide(BLANK)
    top = header_bar(slide, title, subtitle)
    bullets(slide, col1, 0.25, top + 0.05, 6.3, 7.0 - top, size=size)
    rect(slide, 6.66, top, 0.03, 7.0 - top, fill=ACCENT)
    bullets(slide, col2, 6.8, top + 0.05, 6.3, 7.0 - top, size=size)
    return slide

def tbl_slide(prs, title, headers, rows, subtitle=None, col_widths=None):
    slide = prs.slides.add_slide(BLANK)
    top = header_bar(slide, title, subtitle)
    footer(slide)
    ncols = len(headers)
    nrows = len(rows)
    total_w = Inches(12.83)
    tbl_top = Inches(top + 0.1)
    tbl_h = min(Inches(5.8), Inches(0.5 * (nrows + 1)))
    tbl = slide.shapes.add_table(nrows + 1, ncols,
                                  Inches(0.25), tbl_top,
                                  total_w, tbl_h).table
    if col_widths:
        for i, w in enumerate(col_widths):
            tbl.columns[i].width = Inches(w)
    # header
    for ci, h in enumerate(headers):
        cell = tbl.cell(0, ci)
        cell.fill.solid(); cell.fill.fore_color.rgb = TABLE_HDR
        p = cell.text_frame.paragraphs[0]
        r = p.runs[0] if p.runs else p.add_run()
        r.text = h; r.font.bold = True; r.font.color.rgb = WHITE
        r.font.size = Pt(14); r.font.name = "Calibri"
        p.alignment = PP_ALIGN.CENTER
    # rows
    for ri, row in enumerate(rows):
        for ci, val in enumerate(row):
            cell = tbl.cell(ri + 1, ci)
            if ri % 2 == 0:
                cell.fill.solid(); cell.fill.fore_color.rgb = TABLE_ALT
            p = cell.text_frame.paragraphs[0]
            r = p.runs[0] if p.runs else p.add_run()
            r.text = val; r.font.size = Pt(12); r.font.name = "Calibri"
    return slide

# =============================================================================
# SLIDE 1 – TITLE
# =============================================================================
slide = prs.slides.add_slide(BLANK)
rect(slide, 0, 0, 13.33, 7.5, fill=HEADER_BG)
rect(slide, 0, 0, 0.15, 7.5, fill=ACCENT)
rect(slide, 0, 5.9, 13.33, 0.08, fill=ACCENT)
txt(slide,
    "INFANCY, NEONATAL CARE,\nLOW BIRTH WEIGHT &\nFEEDING OF INFANTS",
    0.5, 0.6, 12.33, 3.6,
    size=42, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
txt(slide, "PSM Seminar | MBBS 3rd Year",
    0.5, 4.3, 12.33, 0.6, size=22, italic=True,
    color=ACCENT, align=PP_ALIGN.CENTER)
txt(slide,
    "Park's Textbook of Preventive and Social Medicine\n28th Edition | Pages 619–630",
    0.5, 5.0, 12.33, 0.9, size=16, italic=True,
    color=RGBColor(0xBB, 0xEE, 0xEE), align=PP_ALIGN.CENTER)

# =============================================================================
# SECTION: INFANCY + NEONATAL CARE  (Page 619)
# =============================================================================
std_slide(prs,
    "INFANCY",
    [
        ("Definition & Statistics", True),
        "Infants (0–1 year) = ~2.92% of total population in India",
        "Of 136 million children born annually worldwide, 90% are in the third world",
        "Chances of survival have improved by 50% in last 20 years",
        ("Burden", True),
        "20–30% of babies are UNDERWEIGHT at birth → vulnerable to infection and disease",
        "~40% of total infant mortality occurs in the FIRST MONTH of life",
        "1 in 4 surviving children receives neither quality nor quantity of food to replace mother's milk",
        ("India's IMR", True),
        "IMR = 58/1000 live births in India vs 5/1000 in developed countries",
        ("Low-Cost Life-Saving Interventions", True),
        "Immunization | Breast feeding | Birth spacing | Growth monitoring | Improved weaning | ORS",
    ], size=17)

# =============================================================================
# EARLY NEONATAL CARE  (Page 620)
# =============================================================================
std_slide(prs,
    "NEONATAL CARE",
    [
        ("What is Neonatology?", True),
        "Aspect of family health services dealing with optimum care of the newborn",
        "Multidisciplinary: Obs/Gynae, Paediatrics, PSM, Community Health, Nursing",
        "Paediatrician = key coordinator and guide for the whole team",
        ("Early Neonatal Care – Critical Period", True),
        "FIRST WEEK of life = most crucial period in the life of an infant",
        "India: 61.3% of all infant deaths occur within the first MONTH of life",
        "More than HALF die during the FIRST WEEK",
        "Risk of death is GREATEST during first 24–48 hours after birth",
        "Problem more acute in rural areas: scarce obstetric care + poor home environment",
        ("Objectives of Early Neonatal Care", True),
        "(i) Establishment and maintenance of cardio-respiratory functions",
        "(ii) Maintenance of body temperature",
        "(iii) Avoidance of infection",
        "(iv) Establishment of satisfactory feeding regimen",
        "(v) Early detection and treatment of congenital and acquired disorders",
    ], size=16)

# IMMEDIATE NEONATAL CARE heading slide
slide = prs.slides.add_slide(BLANK)
top = header_bar(slide, "IMMEDIATE NEONATAL CARE", "7 Key Steps")
txt(slide,
    "1. Clearing the Airway\n2. Apgar Score\n3. Care of the Cord\n4. Care of the Eyes\n5. Care of the Skin\n6. Maintenance of Body Temperature\n7. Breast-Feeding",
    0.5, top + 0.2, 12.33, 5.5,
    size=24, bold=False, color=DARK_TEXT, align=PP_ALIGN.LEFT)
footer(slide)

# 1. Clearing the Airway
std_slide(prs,
    "Immediate Neonatal Care",
    [
        ("1. CLEARING THE AIRWAY", True),
        "Establishment and maintenance of cardio-respiratory function is the MOST IMPORTANT action at birth",
        "Everything else is secondary",
        "Position baby with head LOW → facilitates drainage of secretions",
        "Gentle suction to remove mucus and amniotic fluid",
        "Resuscitation if natural breathing fails within 1 minute",
        "Active resuscitation: suction, oxygen mask, intubation, assisted respiration",
        "All labour wards must be equipped with resuscitation equipment including oxygen",
        "If heart stopped for 5 minutes → baby is probably dead",
        ("TORCHES Congenital Infections (high neonatal mortality)", True),
        "Toxoplasmosis, Rubella, herpes-virus (alpha/beta), Cytomegalovirus (CMV), Syphilis",
    ], size=17)

# 2. Apgar Score
tbl_slide(prs,
    "Immediate Neonatal Care – 2. APGAR SCORE",
    ["Sign", "Score 0", "Score 1", "Score 2"],
    [
        ["Heart Rate",         "Absent",     "Slow (below 100)",           "Over 100"],
        ["Respiratory Effort", "Absent",     "Slow / Irregular",           "Good crying"],
        ["Muscle Tone",        "Flaccid",    "Some flexion of extremities","Active movements"],
        ["Reflex Response",    "No response","Grimace",                    "Cry"],
        ["Colour",             "Blue, pale", "Body pink, extremities blue","Completely pink"],
    ],
    subtitle="Taken at 1 min and 5 min after birth | Total score = 10",
    col_widths=[2.5, 2.5, 3.8, 4.0]
)

# Apgar interpretation
std_slide(prs,
    "Apgar Score – Interpretation",
    [
        ("Score Interpretation", True),
        "7–10:  No depression (Perfect = 9 or 10)",
        "4–6:   Mild to moderate depression",
        "0–3:   Severe depression",
        "Score < 5 → needs PROMPT action",
        ("Clinical Importance", True),
        "Omitting Apgar scoring is considered NEGLIGENCE today",
        "Especially important for LBW babies",
        "Low Apgar at 5 min → high risk of complications and death during neonatal period",
    ], size=18)

# 3. Care of the Cord
std_slide(prs,
    "Immediate Neonatal Care – 3. CARE OF THE CORD",
    [
        "Cut and tie umbilical cord after it has STOPPED PULSATING",
        "Baby derives ~10 ml extra blood → important in anaemia-prone India",
        "Use properly sterilized instruments and cord ties (prevent neonatal tetanus)",
        "Apply antiseptic on cord stump and surrounding skin",
        "Keep cord as DRY as possible",
        "Cord dries, shrivels and separates by aseptic necrosis in 5–8 days",
    ], size=18)

# 4. Care of the Eyes
std_slide(prs,
    "Immediate Neonatal Care – 4. CARE OF THE EYES",
    [
        "Clean lid margins with sterile wet swabs — one per eye, inner to outer side",
        "Instil 1% silver nitrate solution OR tetracycline 1% ointment (single application)",
        "Purpose: Prevent gonococcal conjunctivitis (Ophthalmia Neonatorum)",
        "Any discharge from eye of infant is PATHOLOGICAL → immediate treatment",
        ("Ophthalmia Neonatorum", True),
        "Organisms: N. gonorrhoea, C. trachomatis (commonest), Staphylococcus, Streptococcus, Candida",
        "N. gonorrhoea → can rapidly cause BLINDNESS",
        "C. trachomatis = important cause of neonatal conjunctivitis",
        "Topical neomycin may be more useful as gonococcal cases are now less frequent",
        ("Prevention", True),
        "Treat maternal genital tract infection effectively prior to/during pregnancy",
    ], size=16)

# 5. Care of the Skin
std_slide(prs,
    "Immediate Neonatal Care – 5. CARE OF THE SKIN",
    [
        "Newborn is wet from amniotic fluid and can easily become cold",
        "Nursing staff DRY the baby with clean cloth to remove:",
        "  - Vernix (white cheesy coating)",
        "  - Meconium",
        "  - Blood clots",
        "Baby is then WRAPPED in dry, clean cloth from head to foot → prevents heat loss",
        "FIRST BATH is given after temperature stabilization, preferably after ONE WEEK",
    ], size=18)

# 6. Body Temperature
std_slide(prs,
    "Immediate Neonatal Care – 6. MAINTENANCE OF BODY TEMPERATURE",
    [
        ("Normal Body Temperature", True),
        "Newborn's normal body temperature: 36.5°C to 37.5°C",
        ("Challenge at Birth", True),
        "Environment may be 10–20°C cooler than womb (especially in Indian winters)",
        "Newborn has LITTLE THERMAL CONTROL",
        "Up to 75% of heat loss occurs from the HEAD",
        "Most heat loss: evaporation of amniotic fluid from wet child immediately after birth",
        ("Practical Steps", True),
        "Quickly DRY the baby with clean cloth immediately after birth",
        "WRAP in warm cloth, give to mother for SKIN-TO-SKIN contact + breastfeeding",
        "DO NOT separate baby from mother for 12–24 hours",
        "Avoid cold surfaces: metallic tray, rubber sheeting, weighing scale",
        "Keep away from cold walls, open windows, draught",
        ("Pre-term & LBW Babies", True),
        "Lose heat MORE easily → thin skin, less subcutaneous fat for insulation",
    ], size=16)

# 7. Breast-Feeding (neonatal care context)
std_slide(prs,
    "Immediate Neonatal Care – 7. BREAST-FEEDING",
    [
        "Initiate breast-feeding WITHIN AN HOUR of birth (not after several hours)",
        "Helps establish feeding and BONDING (close mother–child relationship)",
        ("Colostrum – First Milk", True),
        "High concentration of PROTEIN and other nutrients the body needs",
        "Rich in ANTI-INFECTIVE FACTORS → protects against respiratory infections and diarrhoea",
        "Supplementary feeds are NOT necessary in this period",
        ("Regular Milk", True),
        "Comes on the 3rd to 6th day after birth",
        "Allow baby to feed ON DEMAND (whenever it wants) → helps gain weight",
        "Advise mother to AVOID feeding bottles",
    ], size=17)

# =============================================================================
# NEONATAL EXAMINATIONS  (Page 621)
# =============================================================================
std_slide(prs,
    "NEONATAL EXAMINATIONS",
    [
        ("a. FIRST EXAMINATION (in Delivery Room)", True),
        "Done soon after birth, preferably in the delivery room",
        "Purpose: (a) Detect birth injuries; (b) Detect malformations needing urgent Rx; (c) Assess maturity",
        ("Abnormalities requiring immediate attention:", True),
        "(a) Cyanosis of lips and skin",
        "(b) Any difficulty in breathing",
        "(c) Imperforated anus",
        "(d) Persistent vomiting",
        "(e) Signs of cerebral irritation: twitchings, convulsions, neck rigidity, bulging anterior fontanel",
        "(f) Temperature instability",
        ("b. SECOND EXAMINATION (within 24 hours)", True),
        "Preferably by a PAEDIATRICIAN",
        "First stage of a continual process of health care surveillance",
        "Detailed systematic examination HEAD TO FOOT in good light",
        "Protocol: (1) Body size – weight, crown-heel length, head & thoracic perimeters; (2) Body temperature; (3) Skin; (4) Head, face, neck; (5) Chest/heart/lungs; (6) Abdomen; (7) Genitalia; (8) Spine/limbs; (9) Neurological assessment",
    ], size=16)

# =============================================================================
# THE INFECTED NEWBORN
# =============================================================================
std_slide(prs,
    "THE INFECTED NEWBORN",
    [
        ("Sources of Infection", True),
        "Traditional practices, poor hygiene",
        "Course of pregnancy: premature rupture of membranes (pPROM)",
        "Constitutional fragility: prematurity, small-for-date, dysmaturity",
        "Transplacental contamination: important cause of infection in newborns",
        ("Neonatal Tetanus", True),
        "Prevented by vaccination of pregnant women",
        "Sero-vaccination of newborns in case of at-risk delivery",
        "These measures proved effective where systematically applied",
        ("Congenital Syphilis (Neonatal Syphilis)", True),
        "Frequency on rise in some large African cities",
        "Diagnosis: evidence of syphilis in MOTHER (clinical signs in baby often delayed)",
        "Treatment: Benzathine Penicillin 2.4–4.8 million units if risk of inadequate follow-up",
    ], size=17)

std_slide(prs,
    "THE INFECTED NEWBORN (contd.)",
    [
        ("Newborn with HBV-Positive Mother", True),
        "Babies may be infected at birth when mother is a carrier of HBV",
        "Risk of transmission:",
        "  ~20% when mother has HBs antigen only",
        "  ~90% when mother also has HBe antigen",
        "Transmission: blood and genital secretions during perinatal period and throughout infancy",
        "NOT a contraindication of breast-feeding",
        "If infected: risk of chronic carrier state → chronic hepatitis, cirrhosis, primary liver cancer",
        "50% of severe infantile hepatitis <1 year = outcome of untreated perinatal HBV transmission",
        ("Prevention", True),
        "IM injection 0.5 ml Hepatitis B immunoglobulin + Hepatitis B vaccine within 24 hours of birth",
        "Repeat vaccine at 6, 10 and 14 weeks of age",
        ("Newborn with HIV-Positive Mother", True),
        "~30% of babies born to HIV-positive mothers get infected",
        "Transmission: mostly at end of pregnancy",
        "WHO recommendation: breast-feeding with ARV prophylaxis is preferred over formula feeding",
        "PMTCT (Prevention of Mother-to-Child Transmission) programme",
    ], size=15)

# =============================================================================
# MEASURING THE BABY  (Page 622)
# =============================================================================
std_slide(prs,
    "MEASURING THE BABY  (Page 622)",
    [
        ("1. BIRTH WEIGHT", True),
        "Taken as soon as possible after birth",
        "Best single parameter for assessing size and predicting survival",
        "Indian average birth weight: 2.7–2.9 kg",
        ("2. BODY LENGTH (Crown-Heel Length)", True),
        "Measured with an infantometer",
        "Full length from crown of head to heel",
        ("3. HEAD CIRCUMFERENCE", True),
        "Measured with tape at maximum occipito-frontal diameter",
        "May change slightly in first 3 days due to MOULDING during labour",
        ("Purpose of These Measurements", True),
        "(i) Assess baby's size against known population standards",
        "(ii) Compare size with estimated period of gestation",
        "(iii) Provide a BASELINE for measuring subsequent progress",
        ("Classification of Anthropometric Measurements", True),
        "(a) Weight  (b) Length  (c) Perimeters: head, chest, abdomen, arm, calf",
        "(d) Diameters: biacromial, bicristal etc.  (e) Skinfold thickness: triceps, biceps etc.",
    ], size=16)

# =============================================================================
# NEONATAL SCREENING  (Page 623)
# =============================================================================
std_slide(prs,
    "NEONATAL SCREENING  (Page 623)",
    [
        ("Purpose", True),
        "PRIMARY: detect infants with treatable genetic, developmental and other abnormalities",
        "SECONDARY: provide genetic counselling to parents",
        "Basic: Apgar score and routine clinical examinations on ALL newborns",
        "10–15 ml cord blood: collected at birth, stored in refrigerator for 7 days",
        ("Screened by Heel Prick Test (6–10 days old)", True),
        "(a) PHENYLKETONURIA (PKU): autosomal recessive, deficiency of phenylalanine hydroxylase (PAH)",
        "     Incidence 1 in 10,000–20,000; causes mental retardation + seizures if untreated",
        "     Guthrie test; Treatment: low phenylalanine diet",
        "(b) GALACTOSAEMIA: screened by same heel prick blood",
        "(c) MAPLE SYRUP URINE DISEASE: same heel prick",
        "(d) CONGENITAL HYPOTHYROIDISM: screened by heel prick",
        "(e) HAEMOGLOBINOPATHIES: Sickle cell disease and thalassaemia — screened where prevalent",
    ], size=16)

# =============================================================================
# IDENTIFICATION OF AT-RISK INFANTS
# =============================================================================
std_slide(prs,
    "IDENTIFICATION OF AT-RISK INFANTS",
    [
        "Infants needing SPECIAL surveillance and care:",
        "1. Birth weight < 2.5 kg (LBW)",
        "2. Apgar score < 5 at one minute",
        "3. Congenital malformations",
        "4. Illness in first week of life",
        "5. Weight below 70% of expected weight (Grade II and III malnutrition)",
        "6. Failure to gain weight during three successive months",
        "7. Children with PEM (Protein Energy Malnutrition) + diarrhoea",
        "8. Working mother / one-parent family",
    ], size=18)

# =============================================================================
# LATE NEONATAL CARE
# =============================================================================
std_slide(prs,
    "LATE NEONATAL CARE",
    [
        ("Period", True),
        "Remaining 3 weeks of the neonatal period (Day 8 to Day 28)",
        ("Main Hazards", True),
        "INFECTION: major and serious hazard",
        "FAILURE OF SATISFACTORY NUTRITION",
        ("Common Killers", True),
        "DIARRHOEA",
        "PNEUMONIA",
        "These take a heavy toll of life in infants exposed to unsatisfactory environment",
        ("Key Message", True),
        "Case fatality rate of what would normally be TRIVIAL episodes can increase DRAMATICALLY when elementary care is not given",
    ], size=18)

# =============================================================================
# LOW BIRTH WEIGHT  (Page 624)
# =============================================================================
std_slide(prs,
    "LOW BIRTH WEIGHT (LBW)  (Page 624)",
    [
        ("Key Statement", True),
        "Birth weight = SINGLE MOST IMPORTANT determinant of chances of survival, healthy growth and development",
        ("WHO Definition", True),
        "LBW = birth weight of LESS THAN 2.5 kg (up to and including 2499 g)",
        "Measured preferably within FIRST HOUR of life (before significant postnatal weight loss)",
        ("Two Main Groups", True),
        "(a) Born prematurely (short gestation)",
        "(b) Foetal growth retardation (IUGR / SFD)",
        ("Country Pattern", True),
        "Low LBW proportion countries → short gestation is main cause",
        "High LBW proportion (e.g. India) → majority due to FOETAL GROWTH RETARDATION",
        ("Classification by Gestational Age", True),
        "PRETERM: before 37 completed weeks (<259 days)",
        "TERM: 37 to <42 completed weeks (259–293 days)",
        "POST-TERM: 42 completed weeks or beyond (≥294 days)",
    ], size=16)

# Preterm sub-categories
std_slide(prs,
    "PRETERM BABIES",
    [
        ("Sub-categories of Preterm Birth", True),
        "Extremely preterm: < 28 weeks",
        "Very preterm: 28 to < 32 weeks",
        "Moderate to late preterm: 32 to 37 weeks",
        ("Characteristics", True),
        "Born too early; intrauterine growth may be NORMAL",
        "Weight, length and development may be within normal limits for their gestational duration",
        "With good neonatal care → catch up growth by 2–3 years of age",
        ("Causes of Preterm Birth (Two Broad Subtypes)", True),
        "(1) Spontaneous preterm birth: spontaneous labour OR prelabor PROM (pPROM)",
        "(2) Provider-initiated preterm birth: induction / elective C-section before 37 weeks for maternal/foetal indications",
        "Cause of spontaneous preterm labour remains UNIDENTIFIED in up to half of all cases",
        "Maternal history of preterm birth = STRONG risk factor (genetic + epigenetic + environmental)",
    ], size=16)

# Incidence
std_slide(prs,
    "INCIDENCE of Preterm / LBW",
    [
        ("Global Burden", True),
        "More than 1 in 10 babies born in 2015 were premature → est. 15 million preterm births",
        "More than 1 million died due to prematurity",
        "2nd leading cause of death in children under 5 years",
        "SINGLE MOST IMPORTANT cause of death in the first month of life",
        ">60% of preterm births occur in Africa and South Asia",
        ("India – Rank #1", True),
        "India: 3,519,100 preterm births in 2015 (HIGHEST in the world)",
        "Low-income countries: ~12% preterm vs 9% in high-income countries",
        ("Survival Disparity", True),
        ">90% of extremely preterm babies (<28 wks) die in low-income countries",
        "<10% of extremely preterm babies die in high-income countries",
    ], size=17)

# Table 4 – Types of Preterm and Risk Factors
tbl_slide(prs,
    "TABLE 4 – Types of Preterm Birth and Risk Factors",
    ["Type", "Risk Factor Category", "Examples"],
    [
        ["Spontaneous Preterm", "Age/Pregnancy spacing", "Adolescent pregnancy, advanced maternal age, short inter-pregnancy interval"],
        ["Spontaneous Preterm", "Multiple pregnancy", "Twins/higher order from assisted reproduction"],
        ["Spontaneous Preterm", "Infection", "UTI, malaria, HIV, syphilis, bacterial vaginosis"],
        ["Spontaneous Preterm", "Maternal chronic disease", "Diabetes, hypertension, anaemia, asthma, thyroid disease"],
        ["Spontaneous Preterm", "Nutritional", "Undernutrition, obesity, micronutrient deficiencies"],
        ["Spontaneous Preterm", "Lifestyle/work", "Smoking, alcohol, recreational drugs, excess physical work"],
        ["Spontaneous Preterm", "Psychological", "Depression, violence against women"],
        ["Spontaneous Preterm", "Genetic", "Family history, cervical incompetence"],
        ["Provider-initiated", "Maternal/Foetal", "Induction / elective C-section before 37 wks for medical reasons"],
    ],
    subtitle="Source: Park's PSM 28th Ed., Page 625",
    col_widths=[2.3, 3.2, 7.33]
)

# SFD Babies
std_slide(prs,
    "SFD BABIES (Small-for-Date / IUGR)",
    [
        ("Definition", True),
        "SFD = babies born at TERM but with weight < 2.5 kg due to foetal growth retardation",
        "Also called: Small-for-Gestational-Age (SGA) / Intrauterine Growth Retardation (IUGR)",
        ("Characteristics", True),
        "'THIN' babies rather than 'premature' babies",
        "Born at expected gestational age but growth was restricted in utero",
        "Common in India and developing countries",
        ("Key Difference from Preterm", True),
        "PRETERM: small because born TOO EARLY (gestational age is short)",
        "SFD/IUGR: small because of GROWTH FAILURE despite adequate gestational age",
        ("Cause", True),
        "Mainly: maternal malnutrition, anaemia, infections, placental insufficiency",
        ("Importance", True),
        "In India, majority of LBW cases are due to IUGR/SFD, NOT prematurity",
    ], size=17)

# Problems of LBW/Preterm
two_col_slide(prs,
    "PROBLEMS OF PREMATURE / LBW BABIES",
    [
        ("Temperature", True),
        "Instability — cannot stay warm",
        "Low body fat for insulation",
        ("Respiratory", True),
        "Hyaline membrane disease / RDS",
        "Bronchopulmonary dysplasia",
        "Apnoea (50% of ≤30 wks babies)",
        ("Cardiovascular", True),
        "Patent Ductus Arteriosus (PDA)",
        "Hypotension / Hypertension",
        "Low heart rate",
        ("Gastrointestinal", True),
        "Difficulty feeding (suck-swallow before 35 wks)",
        "Necrotizing Enterocolitis (NEC)",
    ],
    [
        ("Blood & Metabolic", True),
        "Anaemia → may need transfusion",
        "Jaundice (immature liver)",
        "Abnormal Ca²⁺ / glucose",
        ("Neurological", True),
        "Intraventricular haemorrhage",
        "Periventricular leukomalacia",
        "Seizures",
        "Retinopathy of prematurity",
        ("Infection", True),
        "More susceptible",
        "May require antibiotics",
        ("Deaths due to", True),
        "Atelectasis, Malformations",
        "Pulmonary haemorrhage",
        "Intracranial bleeding",
        "Pneumonia/infections",
    ], size=15)

# Prevention
std_slide(prs,
    "PREVENTION OF LOW BIRTH WEIGHT",
    [
        ("General Principle", True),
        "Rates of LBW could be reduced to ≤10% worldwide — interventions must be CAUSE-SPECIFIC",
        "Focus on PRENATAL CARE and prevention rather than treatment of LBW after birth",
        ("DIRECT INTERVENTION MEASURES", True),
        "(i) INCREASING FOOD INTAKE: supplementary feeding, iron + folic acid tablets, fortification",
        "     Even small dietary improvement in last trimester → significant improvement in birth weight",
        "(ii) CONTROLLING INFECTIONS: diagnose and treat malaria, UTI, CMV, toxoplasmosis, rubella, syphilis",
        "(iii) EARLY DETECTION OF MEDICAL DISORDERS: hypertension, pre-eclampsia, diabetes",
        ("INDIRECT INTERVENTION", True),
        "Family planning and birth spacing",
        "Avoidance of excessive smoking and alcohol",
        "Improved sanitation",
        "Improve health and nutrition of young girls",
        "Socio-economic improvement",
        "Maternity leave with full wages; government child benefits",
    ], size=16)

# Treatment / KMC
std_slide(prs,
    "TREATMENT OF LBW BABIES",
    [
        ("Two Groups for Treatment", True),
        "(a) Below 2 kg → requires first-class modern intensive care",
        "(b) 2–2.5 kg → can be managed with Kangaroo Mother Care (KMC)",
        ("KANGAROO MOTHER CARE (KMC)", True),
        "Best care option especially for LBW babies",
        ("Four Essential Components:", True),
        "1. SKIN-TO-SKIN positioning of baby on mother's chest",
        "2. Adequate NUTRITION through breast-feeding",
        "3. AMBULATORY CARE (earlier discharge from hospital)",
        "4. SUPPORT for mother and family in caring for the baby",
        ("Intensive Care (for babies <2 kg)", True),
        "(a) Incubator care: adjustment of temperature, humidity and O₂ supply",
        "     Continuous monitoring of blood O₂ (hypoxia → cerebral palsy)",
        "     Excessive O₂ → retrolental fibroplasia",
        "(b) Feeding: breast milk via nasal catheter (baby cannot suck)",
        "(c) Prevention of infection: greatest hazard — death may occur within hours",
        ("Facilities", True),
        "Newborn Care Corner | Newborn Stabilization Unit | SNCU | Perinatal ICU",
    ], size=15)

# =============================================================================
# FEEDING OF INFANTS  (Page 628)
# =============================================================================
std_slide(prs,
    "FEEDING OF INFANTS  (Page 628)",
    [
        ("Three Types of Infant Feeding", True),
        "(1) BREAST-FEEDING (IDEAL)",
        "(2) ARTIFICIAL FEEDING",
        "(3) MIXED FEEDING (combination of breast + artificial)",
        ("Key Facts", True),
        "Under any circumstances, BREAST MILK is the ideal food for the infant",
        "No other food required until 6 MONTHS after birth",
        ("Indian Data", True),
        "Indian mothers secrete 450–600 ml of milk daily",
        "Protein: 1.1 g per 100 ml",
        "Energy value of human milk: 70 kcal per 100 ml",
        ("Survival Benefit of Breastfeeding", True),
        "Breast-fed child has GREATER CHANCES OF SURVIVAL than an artificially-fed child",
        "IMR in developing countries is 5–10 TIMES HIGHER in children NOT breastfed or breastfed < 6 months",
        "Despite advantages, popularity of breast-feeding has DECLINED significantly worldwide",
    ], size=16)

# Breastfeeding advantages
std_slide(prs,
    "BREAST-FEEDING – Advantages",
    [
        ("For the Infant", True),
        "Ideal nutrition — perfectly balanced for human baby's needs",
        "Contains anti-infective factors: secretory IgA, lactoferrin, lysozyme, leukocytes",
        "Protects against diarrhoeal diseases and respiratory infections",
        "Promotes BONDING (mother–child relationship)",
        "Colostrum: high protein + anti-infective factors (most suitable in early period)",
        "Reduces risk of malnutrition",
        "Always at correct temperature; CLEAN and STERILE",
        "Helps establish 'right' gut bacteria (Lactobacillus bifidus via lactose)",
        "Rich in linoleic acid and alpha-linolenic acid (essential polyunsaturated fatty acids)",
        "Human milk fats: easier to DIGEST and ABSORB than cow's milk",
        "More lactose → useful for growing brain",
        ("For the Mother", True),
        "ECONOMICAL (free of cost)",
        "Promotes lactation amenorrhoea (child spacing)",
        "Reduces risk of breast and ovarian cancer",
        "Helps uterine involution",
    ], size=15)

# Table 6 – Breast milk vs Cow milk
tbl_slide(prs,
    "TABLE 6 – Comparison: Breast Milk vs Cow Milk (per litre, 1st month of lactation)",
    ["Constituent", "Breast Milk (g/L)", "Cow Milk (g/L)"],
    [
        ["PROTEINS (total)",      "11",        "33"],
        ["  – Casein",            "4",         "28"],
        ["  – Soluble proteins",  "7",         "5"],
        ["  – Lactalbumin",       "3.5",       "1.5–1.8"],
        ["  – Lactotransferrin",  "1–2",       "0.2–0.5"],
        ["  – Immunoglobulin",    "1–2",       "0.5"],
        ["  – Lysozyme",          "0.5",       "Traces"],
        ["LIPIDS (total)",        "35",        "35"],
        ["  – Linoleic acid",     "3.5",       "1"],
        ["CARBOHYDRATES",         "70",        "50"],
        ["  – Lactose",           "62",        "50"],
        ["MINERALS",              "2",         "8"],
        ["  – Calcium",           "0.33",      "1"],
        ["ENERGY",                "640–720 kcal","650 kcal"],
    ],
    subtitle="Source: Park's PSM 28th Ed., Page 628",
    col_widths=[5.0, 4.0, 4.0]
)

# Artificial Feeding
std_slide(prs,
    "ARTIFICIAL FEEDING",
    [
        ("Indications", True),
        "Failure of breast milk",
        "Prolonged illness or death of the mother",
        ("Types of Breast-Milk Substitutes", True),
        "Dried whole milk powder",
        "Fresh milk from cow or other animal",
        "Commercial formulae",
        ("PRINCIPLES OF ARTIFICIAL FEEDING", True),
        "1. Energy: 100 kcal/kg/day = ~150 ml milk/kg/day",
        "2. Protein: 2 g/kg/day (first 6 months) → 1.5 g/kg by end of 1st year = 13–14 g/day",
        "3. Carbohydrate: ~10 g/kg/day",
        "4. After 4 months: undiluted boiled and cooled milk",
        "5. Feed frequency: 6–8 times/day for infants; 5 times/day for older babies",
        "6. During illness (fevers): calorie need INCREASES — must be met",
    ], size=16)

# Dried Milk + Cow's Milk
std_slide(prs,
    "Artificial Feeding – (a) Dried Milk  &  (b) Cow's Milk",
    [
        ("(a) DRIED MILK", True),
        "Safest milk — scientifically prepared for infant feeding",
        "Free from bacteria; no danger from flies; does not sour; simple to reconstitute",
        "Usually FORTIFIED with vitamins",
        "EXPENSIVE — beyond the reach of many Indian families",
        ("(b) COW'S MILK", True),
        "Cheaper alternative — widely used for infant feeding in India",
        "NOT equal to human milk (human milk is made for the human baby; cow's milk for the calf)",
        "Most authorities (including WHO, Govt. of India) recommend DILUTION during first 2 months",
        "Purpose of dilution: reduce solute load on neonatal kidneys",
        "Cow's milk has 3× more protein than breast milk → overloads kidneys if undiluted",
        "A suggested schedule for infant feeding with cow's milk is given in Table 5",
    ], size=16)

# Table 5 – Cow's milk feeding schedule
tbl_slide(prs,
    "TABLE 5 – Quantities per Feeding with Cow's Milk (5 feedings/day)",
    ["Age", "Cow's Milk (ml)", "Water (ml)", "Sugar (g)", "Total Volume (ml)"],
    [
        ["1st week",   "30",  "60",  "5",  "95"],
        ["2nd week",   "45",  "60",  "5",  "110"],
        ["3rd–4th wk", "60",  "45",  "5",  "110"],
        ["2nd month",  "90",  "30",  "5",  "125"],
        ["3rd month",  "105", "15",  "8",  "128"],
        ["4th month",  "120", "0",   "8",  "128"],
        ["5–12 months","120–180","0","0–5","120–180"],
    ],
    subtitle="Source: Park's PSM 28th Ed., Page 629",
    col_widths=[2.0, 2.5, 2.5, 2.5, 3.33]
)

# =============================================================================
# WEANING
# =============================================================================
std_slide(prs,
    "WEANING / COMPLEMENTARY FEEDING",
    [
        ("Definition", True),
        "Weaning = process of introducing other foods while GRADUALLY WITHDRAWING breast-feeding",
        "Also called: Complementary Feeding",
        ("Timing", True),
        "EXCLUSIVE breast-feeding: for first 6 MONTHS",
        "Complementary foods: introduced at 6 months alongside continued breast-feeding",
        ("The Weaning Challenge", True),
        "1 in 4 surviving children receives neither quality nor quantity of food to replace mother's milk",
        "Malnutrition risk is HIGHEST during the weaning period",
        "Children in developing countries reach adulthood with health already impaired",
        ("Key Principles of Good Weaning", True),
        "Introduce one food at a time",
        "Start with soft, easy-to-digest foods",
        "Gradually increase variety, texture and amount",
        "Continue breast-feeding alongside complementary foods",
        "Improved weaning = one of the key low-cost life-saving interventions in child health",
    ], size=16)

# =============================================================================
# BABY FRIENDLY HOSPITAL INITIATIVE (BFHI) 2018
# =============================================================================
std_slide(prs,
    "BABY FRIENDLY HOSPITAL INITIATIVE (BFHI) 2018",
    [
        ("Background", True),
        "Launched by WHO and UNICEF",
        "Revised guidelines published in 2018",
        ("Ten Steps to Successful Breast-Feeding (BFHI)", True),
        "Step 1: Have a written breastfeeding policy communicated to all staff",
        "Step 2: Train all health care staff in skills necessary to implement breastfeeding policy",
        "Step 3: Inform all pregnant women about benefits and management of breastfeeding",
        "Step 4: Help mothers initiate breastfeeding within HALF AN HOUR of birth",
        "Step 5: Show mothers how to breastfeed and maintain lactation if separated",
        "Step 6: Give newborn infants NO food or drink other than breast milk unless medically indicated",
        "Step 7: Practice ROOMING-IN — allow mothers and infants to be together 24 hours/day",
        "Step 8: Encourage breastfeeding ON DEMAND",
        "Step 9: Give NO artificial teats or pacifiers (dummies/soothers) to breastfeeding infants",
        "Step 10: Foster establishment of breastfeeding support groups; refer mothers on discharge",
    ], size=15)

# =============================================================================
# SUMMARY
# =============================================================================
two_col_slide(prs,
    "KEY TAKEAWAYS",
    [
        ("Infancy & Neonatal Care", True),
        "IMR India = 58/1000; 40% deaths in 1st month",
        "1st week = most critical",
        "Immediate care: airway, Apgar, cord, eyes, skin, temperature, breastfeeding",
        "Apgar <5 → prompt action required",
        "Neonatal tetanus: sterile cord care + Vit K",
        "HBV: Hep B Ig + vaccine within 24 hrs",
        "HIV: 30% vertical transmission",
        ("Neonatal Screening", True),
        "PKU, galactosaemia, hypothyroidism, haemoglobinopathies",
        "Guthrie test (heel prick, day 6–10)",
    ],
    [
        ("Low Birth Weight", True),
        "LBW = <2.5 kg; India #1 globally in preterm births",
        "Two types: Preterm + SFD/IUGR",
        "India: most LBW due to IUGR (maternal malnutrition)",
        "Prevention: nutrition, ANC, treat infections",
        "KMC: 4 components; gold standard for LBW",
        ("Feeding of Infants", True),
        "Breast milk = ideal; exclusive for 6 months",
        "IMR 5–10× higher in non-breastfed infants",
        "Cow's milk: dilute for first 2 months",
        "BFHI 2018: 10 steps to successful breastfeeding",
        "Weaning at 6 months with complementary foods",
    ], size=15)

# =============================================================================
# REFERENCE
# =============================================================================
slide = prs.slides.add_slide(BLANK)
rect(slide, 0, 0, 13.33, 7.5, fill=HEADER_BG)
rect(slide, 0, 0, 0.15, 7.5, fill=ACCENT)
txt(slide, "REFERENCE",
    0.5, 1.0, 12.33, 0.8,
    size=32, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
txt(slide,
    "Park K.\nPark's Textbook of Preventive and Social Medicine.\n28th Edition.\nJabalpur: Bhanot Publishers; 2023.\nPages 619–630",
    0.5, 2.0, 12.33, 2.8,
    size=22, italic=True,
    color=RGBColor(0xBB, 0xEE, 0xEE), align=PP_ALIGN.CENTER)
txt(slide, "THANK YOU",
    0.5, 5.2, 12.33, 1.0,
    size=44, bold=True, color=ACCENT, align=PP_ALIGN.CENTER)

# Save
out = "/tmp/workspace/psm-seminar/PSM_Seminar_v2_Final.pptx"
prs.save(out)
print(f"Saved: {out}")
print(f"Total slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/psm-seminar && python build_ppt_v2.py

Your completely rebuilt PPT is ready! Download it here:

PSM Seminar v2 Final

Presentation · PPTX


What's new in this version — 37 slides

Design changes:
  • New deep teal + amber/gold colour scheme
  • NO Part 1 / Part 2 / Part 3 / Part 4 section divider slides
  • Bigger font sizes (headings 30pt, body 16–18pt)
  • Amber/gold heading text for subheadings, teal for main headings
  • Left accent stripe on every slide, source footer on every slide
Exact order as you specified:
#Slide Title
1Title Slide
2INFANCY (pg 619)
3NEONATAL CARE + Early Neonatal Care (pg 620)
4Immediate Neonatal Care – 7 Steps overview
51. Clearing the Airway
62. Apgar Score (Table)
7Apgar Interpretation
83. Care of the Cord
94. Care of the Eyes
105. Care of the Skin ✅
116. Body Temperature
127. Breast-Feeding
13Neonatal Examinations – First & Second (pg 621)
14The Infected Newborn (Tetanus, Syphilis)
15Infected Newborn contd. (HBV, HIV) ✅
16Measuring the Baby (pg 622)
17Neonatal Screening a–e (pg 623)
18Identification of At-Risk Infants
19Late Neonatal Care
20Low Birth Weight – Definition (pg 624)
21Preterm Babies + Sub-categories
22Incidence
23Table 4 – Types of Preterm + Risk Factors ✅
24SFD Babies (IUGR)
25Problems of LBW/Preterm
26Prevention – Direct + Indirect Intervention
27Treatment + Kangaroo Mother Care
28Feeding of Infants (pg 628)
29Breastfeeding Advantages
30Table 6 – Breast Milk vs Cow Milk ✅
31Artificial Feeding + Principles
32Dried Milk + Cow's Milk
33Table 5 – Cow's Milk Feeding Schedule ✅
34Weaning / Complementary Feeding
35BFHI 2018 – 10 Steps ✅
36Key Takeaways (Summary)
37Reference + Thank You

Add page 630 nationals

Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Writing File

~/psm-seminar/add_page630.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.oxml.ns import qn
from lxml import etree
import copy

SRC  = "/tmp/workspace/psm-seminar/PSM_Seminar_v2_Final.pptx"
DEST = "/tmp/workspace/psm-seminar/PSM_Seminar_v3_Final.pptx"

# ── colours (same as main script) ──────────────────────────────────────────
HEADER_BG = RGBColor(0x00, 0x5C, 0x5C)
ACCENT    = RGBColor(0xFF, 0xA5, 0x00)
SUB_BG    = RGBColor(0xE0, 0xF4, 0xF4)
WHITE     = RGBColor(0xFF, 0xFF, 0xFF)
SLIDE_BG  = RGBColor(0xF7, 0xFD, 0xFD)
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x2E)
FOOT_CLR  = RGBColor(0x00, 0x5C, 0x5C)
TABLE_HDR = RGBColor(0x00, 0x5C, 0x5C)
TABLE_ALT = RGBColor(0xD4, 0xEE, 0xEE)

SOURCE = "Source: Park's Textbook of Preventive & Social Medicine, 28th Ed. | Page 630"

prs = Presentation(SRC)
BLANK = prs.slide_layouts[6]

# ── helpers (self-contained) ────────────────────────────────────────────────

def rect(slide, l, t, w, h, fill=None):
    s = slide.shapes.add_shape(1, Inches(l), Inches(t), Inches(w), Inches(h))
    s.line.fill.background()
    if fill:
        s.fill.solid(); s.fill.fore_color.rgb = fill
    else:
        s.fill.background()
    return s

def txt(slide, text, l, t, w, h, size=18, bold=False, italic=False,
        color=DARK_TEXT, align=PP_ALIGN.LEFT):
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = True
    p = tf.paragraphs[0]; p.alignment = align
    r = p.add_run(); r.text = text
    r.font.size = Pt(size); r.font.bold = bold; r.font.italic = italic
    r.font.color.rgb = color; r.font.name = "Calibri"
    return tb

def footer(slide):
    rect(slide, 0, 7.12, 13.33, 0.38, fill=SUB_BG)
    txt(slide, SOURCE, 0.2, 7.14, 12.9, 0.32,
        size=11, italic=True, color=FOOT_CLR)

def header_bar(slide, title, subtitle=None):
    rect(slide, 0, 0, 13.33, 7.5, fill=SLIDE_BG)
    rect(slide, 0, 0, 13.33, 1.15, fill=HEADER_BG)
    rect(slide, 0, 0, 0.08, 1.15, fill=ACCENT)
    txt(slide, title, 0.18, 0.1, 12.9, 0.95,
        size=30, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
    top = 1.15
    if subtitle:
        rect(slide, 0, 1.15, 13.33, 0.42, fill=SUB_BG)
        rect(slide, 0, 1.15, 0.08, 0.42, fill=ACCENT)
        txt(slide, subtitle, 0.18, 1.17, 12.9, 0.38,
            size=17, bold=True, italic=True, color=HEADER_BG)
        top = 1.62
    footer(slide)
    return top

def bul(slide, items, l, t, w, h, size=17):
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = True
    first = True
    for item in items:
        text, is_hd = (item[0], item[1]) if isinstance(item, tuple) else (item, False)
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False
        p.alignment = PP_ALIGN.LEFT
        r = p.add_run()
        if is_hd:
            r.text = text; r.font.bold = True
            r.font.color.rgb = HEADER_BG; r.font.size = Pt(size + 1)
        else:
            r.text = "  \u2022 " + text; r.font.bold = False
            r.font.color.rgb = DARK_TEXT; r.font.size = Pt(size)
        r.font.name = "Calibri"


# ── Build new slides ────────────────────────────────────────────────────────

# SLIDE A: National Guidelines on Infant and Young Child Feeding
def make_slide_A():
    slide = prs.slides.add_slide(BLANK)
    top = header_bar(slide,
        "NATIONAL GUIDELINES ON INFANT & YOUNG CHILD FEEDING",
        "Page 630 | IMS Act 1992 & Amendment 2003")
    bul(slide, [
        ("IMS Act 1992 (Infant Milk Substitutes Act)", True),
        "Govt. of India enacted the Infant Milk Substitutes, Feeding Bottles and Infant Food",
        "(Regulation of Production, Supply and Distribution) Act 1992",
        "Came into force on 1st August 1993",
        "Reflects Government of India's commitment to PROMOTE BREAST-FEEDING",
        ("Amendment Act 2003 (in force from 1st January 2004)", True),
        "NEW NORMS of infant and young child feeding:",
        "  – Exclusive breast-feeding for the FIRST 6 MONTHS (replacing earlier 4–6 months guideline)",
        "  – Introduction of complementary foods at 6 months while continuing breast-feeding",
        "  – Breast-feeding to continue UP TO AGE 2 YEARS OR BEYOND",
        ("National Goals set to be achieved by 2007", True),
        "1. Bring down under-weight children under 3 years: 47% → 40%",
        "     Reduce severe undernutrition in 0–6 year age group by 50%",
        "2. Enhance early institution of breast-feeding (colostrum feeding): 15.8% → 50%",
        "3. Enhance exclusive breast-feeding rate (0–6 months): 55.2% → 80%",
        "4. Enhance complementary feeding rate at 6 months: 33.5% → 75%",
    ], 0.25, top + 0.05, 12.83, 7.0 - top, size=16)
    return slide


# ── Insert before last 2 slides (Summary + Reference/Thank You) ────────────
# Current total = 37 slides; insert new slide at position 35 (0-indexed)
# i.e., before slide index 35 (Summary) and 36 (Reference)

new_slide_A = make_slide_A()

# python-pptx appends to the end; we need to move it to position 35
xml_slides = prs.slides._sldIdLst
# The new slide is currently last (index 37 in 0-based = position 38)
# Move it before the last 2
slides_count = len(prs.slides)
# get the last element (just added)
last = xml_slides[-1]
xml_slides.remove(last)
# insert before the last 2 elements (Summary at -2, Reference at -1)
insert_pos = len(xml_slides) - 2
xml_slides.insert(insert_pos, last)

prs.save(DEST)
print(f"Saved: {DEST}")
print(f"Total slides: {len(prs.slides)}")

# verify slide order around insertion
for i, sl in enumerate(prs.slides):
    for shape in sl.shapes:
        if shape.has_text_frame:
            t = shape.text_frame.text.strip()
            if t:
                print(f"  Slide {i+1}: {t[:80]}")
                break
Running Command

cd /tmp/workspace/psm-seminar && python add_page630.py

Done! The new slide is perfectly placed at Slide 36, right after BFHI 2018 and before Key Takeaways. Download the updated file here:

PSM Seminar v3 Final

Presentation · PPTX


New Slide 36 – NATIONAL GUIDELINES ON INFANT & YOUNG CHILD FEEDING (Page 630) contains:
  • IMS Act 1992 - Infant Milk Substitutes, Feeding Bottles and Infant Food (Regulation of Production, Supply and Distribution) Act — in force from 1st Aug 1993
  • Amendment Act 2003 (in force from 1st Jan 2004) with new norms:
    • Exclusive breastfeeding for first 6 months (replacing old 4–6 month guideline)
    • Complementary foods from 6 months, breastfeeding continued to 2 years or beyond
  • 4 National Goals (target year 2007):
    1. Underweight under-3 children: 47% → 40%
    2. Early colostrum feeding: 15.8% → 50%
    3. Exclusive breastfeeding rate: 55.2% → 80%
    4. Complementary feeding at 6 months: 33.5% → 75%
Total slides: 38

Now listen hod give me topic infancy neonatal care don’t write infancy as other heading write combine and don’t use unnecessary things use only important things from heading infancy and remove last slide of key points rather than make new slide of summary and add one slide of contents in start only of major headings and don’t write reference below slides and remove that colour part in headings write directly on Blanca

Writing File

~/psm-seminar/build_ppt_v4.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN

# ── Clean minimal palette ───────────────────────────────────────────────────
WHITE      = RGBColor(0xFF, 0xFF, 0xFF)
BLACK      = RGBColor(0x00, 0x00, 0x00)
HEADING    = RGBColor(0x1F, 0x39, 0x64)   # dark navy  – main slide title
SUBHEAD    = RGBColor(0x2E, 0x74, 0xB5)   # medium blue – sub-headings
BODY       = RGBColor(0x1A, 0x1A, 0x1A)   # near-black  – body text
ACCENT_LINE= RGBColor(0x2E, 0x74, 0xB5)   # underline accent

prs = Presentation()
prs.slide_width  = Inches(13.33)
prs.slide_height = Inches(7.5)
BLANK = prs.slide_layouts[6]   # fully blank

# ─── Core helpers ───────────────────────────────────────────────────────────

def bg(slide):
    """Pure white background"""
    s = slide.shapes.add_shape(1, Inches(0), Inches(0), Inches(13.33), Inches(7.5))
    s.fill.solid(); s.fill.fore_color.rgb = WHITE
    s.line.fill.background()

def line(slide, y):
    """Thin horizontal accent line under title"""
    s = slide.shapes.add_shape(1, Inches(0.4), Inches(y),
                                Inches(12.53), Inches(0.03))
    s.fill.solid(); s.fill.fore_color.rgb = ACCENT_LINE
    s.line.fill.background()

def add_txt(slide, text, l, t, w, h,
            size=18, bold=False, italic=False,
            color=BODY, align=PP_ALIGN.LEFT, wrap=True):
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = wrap
    p = tf.paragraphs[0]; p.alignment = align
    r = p.add_run(); r.text = text
    r.font.size = Pt(size); r.font.bold = bold; r.font.italic = italic
    r.font.color.rgb = color; r.font.name = "Calibri"
    return tb

def add_bullets(slide, items, l, t, w, h, size=17):
    """
    items = list of:
      str                → plain bullet
      (str, 'h')        → sub-heading (blue bold, no bullet)
      (str, 'b')        → bold bullet
    """
    tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h))
    tf = tb.text_frame; tf.word_wrap = True
    first = True
    for item in items:
        if isinstance(item, tuple):
            text, kind = item
        else:
            text, kind = item, 'p'
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False
        p.alignment = PP_ALIGN.LEFT
        r = p.add_run()
        if kind == 'h':
            r.text = text
            r.font.bold = True; r.font.color.rgb = SUBHEAD
            r.font.size = Pt(size + 1); r.font.name = "Calibri"
        elif kind == 'b':
            r.text = "  \u2022 " + text
            r.font.bold = True; r.font.color.rgb = BODY
            r.font.size = Pt(size); r.font.name = "Calibri"
        else:
            r.text = "  \u2022 " + text
            r.font.bold = False; r.font.color.rgb = BODY
            r.font.size = Pt(size); r.font.name = "Calibri"

def std(prs, title, items, subtitle=None, size=17):
    """Standard clean slide: title on white, optional subtitle, bullets"""
    slide = prs.slides.add_slide(BLANK)
    bg(slide)
    add_txt(slide, title, 0.4, 0.18, 12.53, 0.8,
            size=32, bold=True, color=HEADING, align=PP_ALIGN.LEFT)
    line(slide, 1.05)
    body_top = 1.12
    if subtitle:
        add_txt(slide, subtitle, 0.4, 1.12, 12.53, 0.45,
                size=18, bold=True, color=SUBHEAD)
        body_top = 1.62
    add_bullets(slide, items, 0.4, body_top, 12.53, 7.3 - body_top, size=size)
    return slide

def two_col(prs, title, col1, col2, subtitle=None, size=16):
    slide = prs.slides.add_slide(BLANK)
    bg(slide)
    add_txt(slide, title, 0.4, 0.18, 12.53, 0.8,
            size=32, bold=True, color=HEADING)
    line(slide, 1.05)
    body_top = 1.12
    if subtitle:
        add_txt(slide, subtitle, 0.4, 1.12, 12.53, 0.45,
                size=18, bold=True, color=SUBHEAD)
        body_top = 1.62
    # divider
    s = slide.shapes.add_shape(1, Inches(6.7), Inches(body_top),
                                Inches(0.03), Inches(7.3 - body_top))
    s.fill.solid(); s.fill.fore_color.rgb = ACCENT_LINE; s.line.fill.background()
    add_bullets(slide, col1, 0.4,  body_top, 6.1, 7.3 - body_top, size=size)
    add_bullets(slide, col2, 6.85, body_top, 6.1, 7.3 - body_top, size=size)
    return slide

def tbl(prs, title, headers, rows, subtitle=None, col_widths=None):
    slide = prs.slides.add_slide(BLANK)
    bg(slide)
    add_txt(slide, title, 0.4, 0.18, 12.53, 0.8,
            size=28, bold=True, color=HEADING)
    line(slide, 1.05)
    body_top = 1.12
    if subtitle:
        add_txt(slide, subtitle, 0.4, 1.12, 12.53, 0.4,
                size=16, bold=True, color=SUBHEAD)
        body_top = 1.57
    ncols = len(headers); nrows = len(rows)
    tbl_h = min(Inches(5.7), Inches(0.5 * (nrows + 1)))
    t = slide.shapes.add_table(nrows + 1, ncols,
                                Inches(0.3), Inches(body_top),
                                Inches(12.73), tbl_h).table
    if col_widths:
        for i, w in enumerate(col_widths):
            t.columns[i].width = Inches(w)
    for ci, h in enumerate(headers):
        cell = t.cell(0, ci)
        cell.fill.solid(); cell.fill.fore_color.rgb = HEADING
        p = cell.text_frame.paragraphs[0]
        r = p.runs[0] if p.runs else p.add_run()
        r.text = h; r.font.bold = True; r.font.color.rgb = WHITE
        r.font.size = Pt(14); r.font.name = "Calibri"
        p.alignment = PP_ALIGN.CENTER
    for ri, row in enumerate(rows):
        for ci, val in enumerate(row):
            cell = t.cell(ri + 1, ci)
            if ri % 2 == 0:
                cell.fill.solid()
                cell.fill.fore_color.rgb = RGBColor(0xDA, 0xE8, 0xF5)
            p = cell.text_frame.paragraphs[0]
            r = p.runs[0] if p.runs else p.add_run()
            r.text = val; r.font.size = Pt(12); r.font.name = "Calibri"
    return slide


# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 1 – TITLE
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(BLANK)
bg(slide)
s = slide.shapes.add_shape(1, Inches(0), Inches(0), Inches(13.33), Inches(7.5))
s.fill.solid(); s.fill.fore_color.rgb = HEADING; s.line.fill.background()
add_txt(slide, "INFANCY, NEONATAL CARE,\nLOW BIRTH WEIGHT &\nFEEDING OF INFANTS",
        0.8, 1.0, 11.73, 3.2,
        size=40, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_txt(slide, "PSM Seminar  |  MBBS 3rd Year",
        0.8, 4.4, 11.73, 0.6, size=22, italic=True,
        color=RGBColor(0xBB, 0xD6, 0xF7), align=PP_ALIGN.CENTER)
add_txt(slide,
        "Park's Textbook of Preventive and Social Medicine, 28th Edition",
        0.8, 5.15, 11.73, 0.5, size=16, italic=True,
        color=RGBColor(0x9B, 0xC2, 0xE6), align=PP_ALIGN.CENTER)

# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 2 – CONTENTS
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(BLANK)
bg(slide)
add_txt(slide, "CONTENTS", 0.4, 0.18, 12.53, 0.8,
        size=34, bold=True, color=HEADING, align=PP_ALIGN.LEFT)
line(slide, 1.05)
contents = [
    "1.  Infancy and Neonatal Care",
    "2.  Immediate Neonatal Care  (1–7 Steps)",
    "3.  Neonatal Examinations",
    "4.  The Infected Newborn",
    "5.  Measuring the Baby",
    "6.  Neonatal Screening",
    "7.  Identification of At-Risk Infants",
    "8.  Late Neonatal Care",
    "9.  Low Birth Weight",
    "10. Feeding of Infants",
    "11. National Guidelines on Infant & Young Child Feeding",
    "12. Summary",
]
tb = slide.shapes.add_textbox(Inches(1.0), Inches(1.2), Inches(11.33), Inches(5.9))
tf = tb.text_frame; tf.word_wrap = True
first = True
for c in contents:
    p = tf.paragraphs[0] if first else tf.add_paragraph()
    first = False
    r = p.add_run(); r.text = c
    r.font.size = Pt(20); r.font.name = "Calibri"; r.font.color.rgb = BODY

# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 3 – INFANCY & NEONATAL CARE (combined, only key points)
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "INFANCY AND NEONATAL CARE",
    [
        ("Infancy (0–1 year)", 'h'),
        "~2.92% of India's total population",
        "20–30% of babies are underweight at birth",
        "~40% of total infant mortality occurs in the FIRST MONTH of life",
        "IMR = 58/1,000 live births in India vs 5/1,000 in developed countries",
        "Low-cost interventions: immunization, breast-feeding, birth spacing, growth monitoring, ORS",
        ("Neonatal Care (Neonatology)", 'h'),
        "First week of life = most crucial period",
        "India: 61.3% of all infant deaths occur within the first month; >half in first week",
        "Risk of death greatest in first 24–48 hours after birth",
        ("Objectives of Early Neonatal Care", 'h'),
        "(i) Establish and maintain cardio-respiratory functions",
        "(ii) Maintain body temperature",
        "(iii) Avoid infection",
        "(iv) Establish satisfactory feeding regimen",
        "(v) Early detection and treatment of congenital and acquired disorders",
    ], size=16)

# ═══════════════════════════════════════════════════════════════════════════════
# IMMEDIATE NEONATAL CARE – overview
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(BLANK)
bg(slide)
add_txt(slide, "IMMEDIATE NEONATAL CARE", 0.4, 0.18, 12.53, 0.8,
        size=32, bold=True, color=HEADING)
line(slide, 1.05)
steps = [
    "1.  Clearing the Airway",
    "2.  Apgar Score",
    "3.  Care of the Cord",
    "4.  Care of the Eyes",
    "5.  Care of the Skin",
    "6.  Maintenance of Body Temperature",
    "7.  Breast-Feeding",
]
tb = slide.shapes.add_textbox(Inches(1.5), Inches(1.3), Inches(10), Inches(5.8))
tf = tb.text_frame; tf.word_wrap = True
first = True
for s_txt in steps:
    p = tf.paragraphs[0] if first else tf.add_paragraph()
    first = False
    r = p.add_run(); r.text = s_txt
    r.font.size = Pt(24); r.font.name = "Calibri"; r.font.color.rgb = BODY

# 1. Clearing the Airway
std(prs, "1.  Clearing the Airway",
    [
        "Cardio-respiratory function = most important; everything else is secondary",
        "Position baby with head LOW → drain secretions",
        "Gentle suction to remove mucus and amniotic fluid",
        "Resuscitation if breathing not established within 1 minute",
        "Active measures: suction, O₂ mask, intubation, assisted respiration",
        "All labour wards must have resuscitation equipment + oxygen",
        "If heart stopped for 5 minutes → baby is probably dead",
        ("TORCHES Infections", 'h'),
        "Toxoplasmosis, Rubella, Herpes-virus, CMV, Syphilis → high neonatal mortality",
    ], size=17)

# 2. Apgar Score
tbl(prs, "2.  Apgar Score",
    ["Sign", "Score 0", "Score 1", "Score 2"],
    [
        ["Heart Rate",         "Absent",      "Slow (< 100)",               "Over 100"],
        ["Respiratory Effort", "Absent",      "Slow / Irregular",           "Good crying"],
        ["Muscle Tone",        "Flaccid",     "Some flexion of extremities","Active movements"],
        ["Reflex Response",    "No response", "Grimace",                    "Cry"],
        ["Colour",             "Blue, pale",  "Body pink, extremities blue","Completely pink"],
    ],
    subtitle="Taken at 1 minute and 5 minutes after birth  |  Total score = 10",
    col_widths=[2.5, 2.5, 3.8, 3.93])

std(prs, "Apgar Score – Interpretation",
    [
        "7–10 → No depression  (Perfect = 9 or 10)",
        "4–6  → Mild to moderate depression",
        "0–3  → Severe depression",
        "Score < 5 → PROMPT action required",
        ("Clinical importance", 'h'),
        "Omitting Apgar scoring is considered NEGLIGENCE",
        "Especially important for LBW babies",
        "Low score at 5 min → high risk of complications and death in neonatal period",
    ], size=18)

# 3. Care of the Cord
std(prs, "3.  Care of the Cord",
    [
        "Cut and tie after cord has STOPPED PULSATING",
        "Baby gets ~10 ml extra blood (important in anaemia-prone India)",
        "Use sterilised instruments and cord ties → prevent neonatal tetanus",
        "Apply antiseptic on cord stump and surrounding skin",
        "Keep cord as DRY as possible",
        "Cord separates by aseptic necrosis in 5–8 days",
    ], size=18)

# 4. Care of the Eyes
std(prs, "4.  Care of the Eyes",
    [
        "Clean lid margins with sterile wet swabs — one per eye, inner → outer",
        "Instil 1% silver nitrate solution OR tetracycline 1% ointment",
        "Purpose: prevent Ophthalmia Neonatorum (gonococcal conjunctivitis)",
        "Any eye discharge in an infant is PATHOLOGICAL → treat immediately",
        ("Ophthalmia Neonatorum", 'h'),
        "Organisms: N. gonorrhoea, C. trachomatis (commonest), Staph, Strep, Candida",
        "N. gonorrhoea → can rapidly cause BLINDNESS",
        "Prevention: treat maternal genital infection during pregnancy",
    ], size=17)

# 5. Care of the Skin
std(prs, "5.  Care of the Skin",
    [
        "Baby is wet from amniotic fluid → easily becomes cold",
        "Dry immediately with clean cloth — remove vernix, meconium, blood clots",
        "Wrap in dry, clean cloth from head to foot → prevents heat loss",
        "First bath only after temperature stabilisation, preferably after ONE WEEK",
    ], size=18)

# 6. Body Temperature
std(prs, "6.  Maintenance of Body Temperature",
    [
        ("Normal temperature: 36.5–37.5°C", 'h'),
        "Environment may be 10–20°C cooler than womb (especially Indian winters)",
        "Newborn has LITTLE THERMAL CONTROL",
        "Up to 75% of heat loss from the HEAD",
        "Most heat lost via evaporation of amniotic fluid immediately after birth",
        ("Key Actions", 'h'),
        "Dry immediately and wrap in warm cloth",
        "Skin-to-skin contact with mother + initiate breastfeeding",
        "DO NOT separate baby from mother for 12–24 hours",
        "Avoid cold surfaces: metallic tray, rubber sheeting, weighing scale",
        "Keep away from cold walls, open windows, draught",
        ("Pre-term / LBW babies", 'h'),
        "Lose heat more easily — thin skin, less subcutaneous fat",
    ], size=16)

# 7. Breast-Feeding (immediate care)
std(prs, "7.  Breast-Feeding",
    [
        "Initiate WITHIN ONE HOUR of birth",
        "Establishes feeding and BONDING (mother–child relationship)",
        ("Colostrum – First Milk", 'h'),
        "High protein + anti-infective factors (IgA, lysozyme, lactoferrin)",
        "Protects against respiratory infections and diarrhoeal diseases",
        "Supplementary feeds NOT necessary",
        "Regular milk comes on 3rd–6th day after birth",
        "Feed ON DEMAND — helps baby gain weight",
        "Advise mother to AVOID feeding bottles",
    ], size=17)

# ═══════════════════════════════════════════════════════════════════════════════
# NEONATAL EXAMINATIONS
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "NEONATAL EXAMINATIONS",
    [
        ("a. First Examination  (in Delivery Room)", 'h'),
        "Purpose: detect birth injuries, malformations needing urgent treatment, assess maturity",
        ("Abnormalities requiring immediate attention:", 'h'),
        "Cyanosis of lips/skin; Difficulty in breathing; Imperforated anus",
        "Persistent vomiting; Cerebral irritation signs (convulsions, bulging fontanel)",
        "Temperature instability",
        ("b. Second Examination  (within 24 hours, by Paediatrician)", 'h'),
        "Detailed systematic examination head to foot in good light",
        "First stage of a continual process of health care surveillance",
        "Protocol covers: body size, temperature, skin, head/face/neck, chest, heart,",
        "lungs, abdomen, genitalia, spine, limbs, neurological assessment",
    ], size=17)

# ═══════════════════════════════════════════════════════════════════════════════
# THE INFECTED NEWBORN
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "THE INFECTED NEWBORN",
    [
        ("Sources of Infection", 'h'),
        "Traditional practices / poor hygiene; Premature rupture of membranes (pPROM)",
        "Constitutional fragility: prematurity, small-for-date, dysmaturity",
        "Transplacental contamination: important cause — early detection is key",
        ("Neonatal Tetanus", 'h'),
        "Prevented by vaccination of pregnant women + sero-vaccination of newborns",
        ("Congenital Syphilis", 'h'),
        "Diagnosis based on evidence of syphilis in the MOTHER",
        "Treatment: Benzathine Penicillin 2.4–4.8 million units",
        ("Newborn with HBV-Positive Mother", 'h'),
        "Transmission risk: ~20% (HBsAg only); ~90% (HBsAg + HBeAg)",
        "NOT a contraindication of breast-feeding",
        "Prevention: Hep B Immunoglobulin 0.5 ml IM + Hep B vaccine within 24 hours of birth",
        "Repeat vaccine at 6, 10, 14 weeks",
        ("Newborn with HIV-Positive Mother", 'h'),
        "~30% of babies born to HIV-positive mothers get infected",
        "WHO: breastfeeding with ARV prophylaxis preferred over formula feeding",
        "PMTCT programme",
    ], size=15)

# ═══════════════════════════════════════════════════════════════════════════════
# MEASURING THE BABY
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "MEASURING THE BABY",
    [
        ("1. Birth Weight", 'h'),
        "Taken as soon as possible after birth",
        "Indian average birth weight: 2.7–2.9 kg",
        ("2. Body Length  (Crown-Heel)", 'h'),
        "Measured with an infantometer",
        ("3. Head Circumference", 'h'),
        "Measured with tape at maximum occipito-frontal diameter",
        "May change slightly in first 3 days due to moulding during labour",
        ("Purpose", 'h'),
        "(i) Assess baby's size against population standards",
        "(ii) Compare size with estimated period of gestation",
        "(iii) Provide a BASELINE for subsequent progress",
        ("Anthropometric Classification", 'h'),
        "Weight | Length | Perimeters (head, chest, abdomen, arm, calf)",
        "Diameters | Skinfold thickness (triceps, biceps, subscapular)",
    ], size=16)

# ═══════════════════════════════════════════════════════════════════════════════
# NEONATAL SCREENING
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "NEONATAL SCREENING",
    [
        ("Purpose", 'h'),
        "Primary: detect infants with treatable genetic, developmental and other abnormalities",
        "Secondary: genetic counselling for parents",
        "Basic: Apgar score + routine clinical exam on ALL newborns",
        "10–15 ml cord blood collected at birth, stored 7 days in refrigerator",
        ("Heel Prick Test  (6–10 days old)", 'h'),
        "(a) PKU (Phenylketonuria): deficiency of phenylalanine hydroxylase; 1/10,000–20,000",
        "     → Mental retardation + seizures if untreated; Guthrie test; Rx: low-phe diet",
        "(b) Galactosaemia",
        "(c) Maple Syrup Urine Disease",
        "(d) Congenital Hypothyroidism",
        "(e) Haemoglobinopathies: Sickle cell disease and Thalassaemia (where prevalent)",
    ], size=17)

# ═══════════════════════════════════════════════════════════════════════════════
# AT-RISK INFANTS
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "IDENTIFICATION OF AT-RISK INFANTS",
    [
        "1. Birth weight < 2.5 kg (LBW)",
        "2. Apgar score < 5 at one minute",
        "3. Congenital malformations",
        "4. Illness in first week of life",
        "5. Weight below 70% of expected weight (Grade II and III malnutrition)",
        "6. Failure to gain weight during three successive months",
        "7. Children with PEM + diarrhoea",
        "8. Working mother / one-parent family",
    ], size=19)

# ═══════════════════════════════════════════════════════════════════════════════
# LATE NEONATAL CARE
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "LATE NEONATAL CARE",
    [
        "Period: Day 8 to Day 28 (remaining 3 weeks of neonatal period)",
        ("Main Hazards", 'h'),
        "INFECTION — major and serious hazard",
        "FAILURE OF SATISFACTORY NUTRITION",
        ("Common Killers", 'h'),
        "Diarrhoea",
        "Pneumonia",
        "Take heavy toll in infants exposed to unsatisfactory environment",
        ("Key Message", 'h'),
        "Case fatality rate of trivial episodes can increase DRAMATICALLY",
        "when elementary care is not given",
    ], size=18)

# ═══════════════════════════════════════════════════════════════════════════════
# LOW BIRTH WEIGHT
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "LOW BIRTH WEIGHT (LBW)",
    [
        ("Key Statement", 'h'),
        "Birth weight = SINGLE MOST IMPORTANT determinant of survival, growth and development",
        ("Definition", 'h'),
        "LBW = birth weight < 2.5 kg (up to and including 2499 g)",
        "Measured preferably within FIRST HOUR of life",
        ("Two Main Groups", 'h'),
        "(a) Born prematurely — short gestation",
        "(b) Foetal growth retardation (IUGR / SFD)",
        "In India: majority of LBW = FOETAL GROWTH RETARDATION",
        ("Classification by Gestational Age", 'h'),
        "PRETERM: < 37 completed weeks (< 259 days)",
        "TERM: 37 to < 42 completed weeks (259–293 days)",
        "POST-TERM: ≥ 42 completed weeks (≥ 294 days)",
    ], size=16)

std(prs, "PRETERM BABIES",
    [
        ("Sub-categories", 'h'),
        "Extremely preterm: < 28 weeks",
        "Very preterm: 28 to < 32 weeks",
        "Moderate to late preterm: 32 to 37 weeks",
        ("Characteristics", 'h'),
        "Intrauterine growth may be NORMAL for gestational age",
        "With good neonatal care → may catch up growth by 2–3 years",
        ("Causes", 'h'),
        "(1) Spontaneous preterm birth: spontaneous labour or pPROM",
        "(2) Provider-initiated: induction / elective C-section before 37 wks",
        "Cause unidentified in up to 50% of spontaneous cases",
        "Maternal history of preterm birth = strong risk factor",
    ], size=17)

std(prs, "INCIDENCE of Preterm / LBW",
    [
        "1 in 10 babies born in 2015 were premature → 15 million preterm births globally",
        "> 1 million died due to prematurity",
        "2nd leading cause of death in children under 5 years",
        "Single most important cause of death in FIRST MONTH of life",
        "> 60% of preterm births occur in Africa and South Asia",
        ("India – Rank #1 globally", 'h'),
        "3,519,100 preterm births in 2015",
        "Low-income countries: ~12% preterm vs 9% in high-income countries",
        ("Survival Disparity", 'h'),
        "> 90% of extremely preterm babies (< 28 wks) die in low-income countries",
        "< 10% die in high-income countries",
    ], size=17)

tbl(prs, "TABLE 4 – Types of Preterm Birth and Risk Factors",
    ["Type", "Risk Factor", "Examples"],
    [
        ["Spontaneous", "Age / Pregnancy spacing", "Adolescent pregnancy, advanced maternal age, short inter-pregnancy interval"],
        ["Spontaneous", "Multiple pregnancy", "Twins/higher order from assisted reproduction"],
        ["Spontaneous", "Infection", "UTI, malaria, HIV, syphilis, bacterial vaginosis"],
        ["Spontaneous", "Maternal chronic disease", "Diabetes, hypertension, anaemia, asthma, thyroid disease"],
        ["Spontaneous", "Nutritional", "Undernutrition, obesity, micronutrient deficiencies"],
        ["Spontaneous", "Lifestyle/work", "Smoking, alcohol, recreational drugs, excess physical work"],
        ["Spontaneous", "Psychological", "Depression, violence against women"],
        ["Spontaneous", "Genetic", "Family history, cervical incompetence"],
        ["Provider-initiated", "Maternal/Foetal indications", "Induction or elective C-section before 37 wks"],
    ],
    col_widths=[2.1, 3.3, 7.33])

std(prs, "SFD BABIES  (Small-for-Date / IUGR)",
    [
        "Born at TERM but weight < 2.5 kg due to intrauterine growth retardation",
        "Also called: SGA (Small-for-Gestational-Age)",
        "'THIN' babies — not premature",
        ("Key Difference from Preterm", 'h'),
        "PRETERM: small because born TOO EARLY",
        "SFD/IUGR: small because of GROWTH FAILURE despite adequate gestational age",
        ("Common causes in India", 'h'),
        "Maternal malnutrition, anaemia, infections, placental insufficiency",
        "India: MOST LBW babies are SFD/IUGR, not preterm",
    ], size=17)

two_col(prs, "PROBLEMS OF PREMATURE / LBW BABIES",
    [
        ("Temperature", 'h'),
        "Instability — cannot maintain warmth",
        "Low body fat for insulation",
        ("Respiratory", 'h'),
        "Hyaline membrane disease / RDS",
        "Bronchopulmonary dysplasia",
        "Apnoea (50% of ≤ 30 wk babies)",
        ("Cardiovascular", 'h'),
        "Patent Ductus Arteriosus (PDA)",
        "Hypotension / hypertension",
        ("Gastrointestinal", 'h'),
        "Poor suck-swallow (before 35 wks)",
        "Necrotizing Enterocolitis (NEC)",
    ],
    [
        ("Blood & Metabolic", 'h'),
        "Anaemia, Jaundice, Abnormal Ca²⁺/glucose",
        ("Neurological", 'h'),
        "Intraventricular haemorrhage",
        "Periventricular leukomalacia",
        "Seizures",
        "Retinopathy of prematurity",
        ("Infection", 'h'),
        "More susceptible; may need antibiotics",
        ("Leading causes of death", 'h'),
        "Atelectasis, Malformations",
        "Pulmonary haemorrhage",
        "Intracranial bleeding",
        "Pneumonia / infections",
    ], size=15)

std(prs, "PREVENTION OF LOW BIRTH WEIGHT",
    [
        "LBW rates could be reduced to ≤ 10% worldwide — interventions must be CAUSE-SPECIFIC",
        "Focus: good PRENATAL CARE and prevention rather than treatment after birth",
        ("Direct Intervention Measures", 'h'),
        "(i) Increase food intake — supplementary feeding, iron + folic acid, food fortification",
        "     Even small dietary improvement in last trimester significantly improves birth weight",
        "(ii) Control infections — diagnose and treat malaria, UTI, CMV, toxoplasmosis, syphilis",
        "(iii) Early detection of medical disorders — hypertension, pre-eclampsia, diabetes",
        ("Indirect Intervention", 'h'),
        "Family planning and birth spacing",
        "Avoid excessive smoking and alcohol",
        "Improve health and nutrition of young girls",
        "Socio-economic improvement; maternity leave with full wages",
    ], size=16)

std(prs, "TREATMENT OF LBW BABIES",
    [
        ("Two groups", 'h'),
        "(a) Below 2 kg → requires first-class modern intensive care",
        "(b) 2–2.5 kg → can be managed with Kangaroo Mother Care (KMC)",
        ("Kangaroo Mother Care (KMC)", 'h'),
        "1. Skin-to-skin positioning on mother's chest",
        "2. Adequate nutrition through breast-feeding",
        "3. Ambulatory care — earlier discharge from hospital",
        "4. Support for mother and family",
        ("Intensive Care (for < 2 kg)", 'h'),
        "(a) Incubator care: temperature, humidity, O₂ — monitor continuously (hypoxia → cerebral palsy)",
        "     Excess O₂ → retrolental fibroplasia",
        "(b) Feeding: breast milk via nasal catheter (baby cannot suck)",
        "(c) Prevention of infection: greatest hazard — death may occur within hours",
        ("Facilities", 'h'),
        "Newborn Care Corner | Newborn Stabilization Unit | SNCU | Perinatal ICU",
    ], size=15)

# ═══════════════════════════════════════════════════════════════════════════════
# FEEDING OF INFANTS
# ═══════════════════════════════════════════════════════════════════════════════
std(prs, "FEEDING OF INFANTS",
    [
        "BREAST MILK is the ideal food for the infant under any circumstances",
        "No other food required until 6 months after birth",
        ("Indian data", 'h'),
        "Indian mothers secrete 450–600 ml milk daily",
        "Protein: 1.1 g/100 ml | Energy: 70 kcal/100 ml",
        ("Three types of infant feeding", 'h'),
        "(1) Breast-feeding  (IDEAL)",
        "(2) Artificial feeding",
        "(3) Mixed feeding",
        ("Survival benefit", 'h'),
        "Breast-fed child has GREATER CHANCES OF SURVIVAL",
        "IMR in developing countries 5–10× higher in non-breastfed or < 6 month breastfed infants",
        "Despite advantages, popularity of breast-feeding has DECLINED significantly worldwide",
    ], size=16)

std(prs, "BREAST-FEEDING – Advantages",
    [
        ("For the Infant", 'h'),
        "Ideal, perfectly balanced nutrition for human baby",
        "Anti-infective factors: secretory IgA, lactoferrin, lysozyme",
        "Protects against diarrhoeal diseases and respiratory infections",
        "Promotes BONDING; Colostrum = high protein + immunity",
        "Always clean, sterile, correct temperature",
        "Rich in linoleic acid — essential fatty acids; fats easier to digest than cow's milk",
        "More lactose → useful for growing brain; promotes Lactobacillus bifidus growth",
        ("For the Mother", 'h'),
        "Free of cost; Promotes lactation amenorrhoea (child spacing)",
        "Reduces risk of breast and ovarian cancer",
        "Helps uterine involution",
    ], size=17)

tbl(prs, "TABLE 6 – Breast Milk vs Cow Milk  (per litre, 1st month of lactation)",
    ["Constituent", "Breast Milk (g/L)", "Cow Milk (g/L)"],
    [
        ["PROTEINS (total)",    "11",          "33"],
        ["  – Casein",          "4",           "28"],
        ["  – Immunoglobulin",  "1–2",         "0.5"],
        ["  – Lysozyme",        "0.5",         "Traces"],
        ["LIPIDS",              "35",          "35"],
        ["  – Linoleic acid",   "3.5",         "1"],
        ["CARBOHYDRATES",       "70",          "50"],
        ["  – Lactose",         "62",          "50"],
        ["MINERALS",            "2",           "8"],
        ["  – Calcium",         "0.33",        "1"],
        ["ENERGY",              "640–720 kcal","650 kcal"],
    ],
    col_widths=[5.0, 3.9, 3.9])

std(prs, "ARTIFICIAL FEEDING",
    [
        ("Indications", 'h'),
        "Failure of breast milk; Prolonged illness or death of mother",
        ("Types of Breast-Milk Substitutes", 'h'),
        "Dried whole milk powder | Cow's milk | Commercial formulae",
        ("Principles of Artificial Feeding", 'h'),
        "1. Energy: 100 kcal/kg/day = ~150 ml milk/kg/day",
        "2. Protein: 2 g/kg/day (first 6 months) → 1.5 g/kg by end of 1st year",
        "3. Carbohydrate: ~10 g/kg/day",
        "4. After 4 months: undiluted boiled and cooled milk",
        "5. Feed frequency: 6–8 times/day (infants); 5 times/day (older babies)",
        "6. During illness (fevers): calorie need INCREASES",
        ("(a) Dried Milk", 'h'),
        "Safest — bacteria-free, fortified with vitamins; but expensive for many Indian families",
        ("(b) Cow's Milk", 'h'),
        "Cheaper, widely used in India; must be DILUTED for first 2 months (reduce solute load on kidneys)",
    ], size=15)

tbl(prs, "TABLE 5 – Cow's Milk Feeding Schedule  (5 feedings/day)",
    ["Age", "Cow's Milk (ml)", "Water (ml)", "Sugar (g)", "Total Volume (ml)"],
    [
        ["1st week",      "30",      "60", "5",   "95"],
        ["2nd week",      "45",      "60", "5",   "110"],
        ["3rd–4th week",  "60",      "45", "5",   "110"],
        ["2nd month",     "90",      "30", "5",   "125"],
        ["3rd month",     "105",     "15", "8",   "128"],
        ["4th month",     "120",     "0",  "8",   "128"],
        ["5–12 months",   "120–180", "0",  "0–5", "120–180"],
    ],
    col_widths=[2.0, 2.5, 2.5, 2.5, 3.23])

std(prs, "WEANING  /  COMPLEMENTARY FEEDING",
    [
        "Weaning = gradual process of introducing other foods while withdrawing breast-feeding",
        "Starts around 6 MONTHS — breast milk alone insufficient beyond 6 months",
        "Supplementary foods: cow's milk, fruit juice, soft cooked rice, suji, dal, vegetables",
        "At 1 year: solid foods — cereals, pulses, vegetables, fruits",
        ("Weaning Period = Most Crucial Period in Child Development", 'h'),
        "Children particularly exposed to synergistic interaction of MALNUTRITION + INFECTION",
        "Improper weaning → diarrhoea, growth failure → kwashiorkor, marasmus",
        "Use adequate HOME-MADE weaning foods based on local family diet",
        "Knowledge of weaning foods is an important part of preventive and social paediatrics",
    ], size=17)

std(prs, "BABY FRIENDLY HOSPITAL INITIATIVE  (BFHI 2018)",
    [
        "WHO and UNICEF initiative; implementation guidelines revised in 2018",
        "Could prevent deaths of at least ONE MILLION children per year",
        ("Ten Steps to Successful Breast-Feeding", 'h'),
        "1a. Comply with International Code of Marketing of Breast-Milk Substitutes",
        "1b. Have a written infant feeding policy communicated to staff and parents",
        "1c. Establish ongoing monitoring and data-management system",
        "2. Train staff with sufficient knowledge and skills to support breastfeeding",
        "3. Discuss importance of breastfeeding with pregnant women and families",
        "4. Facilitate immediate skin-to-skin contact; initiate breastfeeding as soon as possible",
        "5. Support mothers to initiate and maintain breastfeeding; manage difficulties",
        "6. Give NO food or fluids to breastfed newborns other than breast milk (unless medically indicated)",
        "7. ROOMING-IN — mothers and infants together 24 hours a day",
        "8. Support mothers to recognise and respond to infant's feeding cues",
        "9. Counsel on risks of feeding bottles, teats and pacifiers",
        "10. Coordinate discharge — timely access to ongoing support and care",
    ], size=15)

std(prs, "NATIONAL GUIDELINES ON INFANT & YOUNG CHILD FEEDING",
    [
        ("IMS Act 1992", 'h'),
        "Infant Milk Substitutes, Feeding Bottles and Infant Food",
        "(Regulation of Production, Supply and Distribution) Act 1992",
        "In force from 1st August 1993",
        "Reflects Government of India's commitment to PROMOTE BREAST-FEEDING",
        ("Amendment Act 2003  (in force from 1st January 2004)", 'h'),
        "Exclusive breast-feeding for FIRST 6 MONTHS (replacing earlier 4–6 months)",
        "Complementary foods introduced at 6 months; breast-feeding continued to 2 YEARS OR BEYOND",
        ("National Goals (target year 2007)", 'h'),
        "1. Underweight under-3 children: 47% → 40%  |  Severe undernutrition 0–6 yrs: reduce by 50%",
        "2. Early colostrum feeding: 15.8% → 50%",
        "3. Exclusive breastfeeding rate (0–6 months): 55.2% → 80%",
        "4. Complementary feeding rate at 6 months: 33.5% → 75%",
    ], size=16)

# ═══════════════════════════════════════════════════════════════════════════════
# SUMMARY
# ═══════════════════════════════════════════════════════════════════════════════
two_col(prs, "SUMMARY",
    [
        ("Infancy & Neonatal Care", 'h'),
        "IMR India = 58/1000; 40% deaths in 1st month",
        "First week = most critical",
        "7 immediate care steps",
        "Apgar at 1 min & 5 min — score < 5 = prompt action",
        "Neonatal tetanus: sterile cord care",
        "HBV: Hep B Ig + vaccine within 24 hrs",
        "HIV: ~30% vertical transmission; PMTCT",
        ("Screening", 'h'),
        "PKU, galactosaemia, hypothyroidism, haemoglobinopathies",
        "Heel prick on day 6–10",
        "8 criteria for at-risk infants",
    ],
    [
        ("Low Birth Weight", 'h'),
        "LBW = < 2.5 kg; most important single determinant",
        "India #1 globally in preterm births",
        "Most Indian LBW = IUGR/SFD (not preterm)",
        "Prevention: nutrition, ANC, treat infections",
        "KMC = 4 components; gold standard for LBW",
        ("Feeding of Infants", 'h'),
        "Breast milk = ideal; exclusive for 6 months",
        "IMR 5–10× higher in non-breastfed infants",
        "Cow's milk: dilute for first 2 months",
        "BFHI 2018: 10 steps",
        "Weaning from 6 months with local home-made foods",
        "IMS Act 1992; Amendment 2003",
    ], size=15)

# ═══════════════════════════════════════════════════════════════════════════════
# REFERENCE + THANK YOU
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(BLANK)
bg(slide)
s = slide.shapes.add_shape(1, Inches(0), Inches(0), Inches(13.33), Inches(7.5))
s.fill.solid(); s.fill.fore_color.rgb = HEADING; s.line.fill.background()
add_txt(slide, "REFERENCE",
        0.8, 0.8, 11.73, 0.9, size=32, bold=True,
        color=WHITE, align=PP_ALIGN.CENTER)
add_txt(slide,
        "Park K.\nPark's Textbook of Preventive and Social Medicine.\n28th Edition.\nJabalpur: Bhanot Publishers; 2023.\nPages 619–630",
        0.8, 1.9, 11.73, 2.8, size=22, italic=True,
        color=RGBColor(0xBB, 0xD6, 0xF7), align=PP_ALIGN.CENTER)
add_txt(slide, "THANK YOU",
        0.8, 5.3, 11.73, 1.1, size=44, bold=True,
        color=RGBColor(0xFF, 0xA5, 0x00), align=PP_ALIGN.CENTER)

# ── Save ───────────────────────────────────────────────────────────────────
OUT = "/tmp/workspace/psm-seminar/PSM_Seminar_v4_Final.pptx"
prs.save(OUT)
print(f"Saved: {OUT}")
print(f"Total slides: {len(prs.slides)}")
for i, sl in enumerate(prs.slides):
    for shape in sl.shapes:
        if shape.has_text_frame and shape.text_frame.text.strip():
            print(f"  Slide {i+1}: {shape.text_frame.text.strip()[:70]}")
            break
Running Command

cd /tmp/workspace/psm-seminar && python build_ppt_v4.py

Here is your final updated PPT:

PSM Seminar v4 Final

Presentation · PPTX


All changes applied — 36 slides:
ChangeDone
No Part 1 / Part 2 / Part 3 section dividers
Infancy merged into "INFANCY AND NEONATAL CARE" (one combined slide, only key stats)
Contents slide added as Slide 2 (major headings only)
No source/reference footer on any slide
Clean white background — no coloured header bars, headings written directly on blank
Key Takeaways slide removed
New SUMMARY slide (two-column, concise)
National Guidelines (page 630) included
Reference + Thank You as last slide
Design: Pure white slides, dark navy headings, blue sub-headings, thin accent underline below title — clean and professional for a seminar presentation.
This is a shared conversation. Sign in to Orris to start your own chat.