give ppt of 10-12 slides on the topic "Pubertal menorrhagia & iron dificiency anemia: scope of ayurvedic intervention in adolescent women health" as PG scholar from department in kaumarabhritya
Ayurvedic treatment pubertal menorrhagia iron deficiency anemia adolescent kaumarabhritya
https://www.phcogres.com/article/18/1/206
ayurvedic treatment menorrhagia adolescent iron deficiency
mkdir -p /tmp/workspace/kaumarabhritya-ppt
~/kaumarabhritya-ppt/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, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# ---- COLOR PALETTE (Ayurvedic/Academic feel) ----
DEEP_MAROON = RGBColor(0x6B, 0x17, 0x2B) # header bars
SAFFRON = RGBColor(0xE5, 0x80, 0x10) # accent / highlights
GOLD = RGBColor(0xC8, 0x9B, 0x2A) # sub-titles
CREAM = RGBColor(0xFF, 0xF8, 0xEE) # slide background
DARK_TEXT = RGBColor(0x1C, 0x1C, 0x1C) # body text
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_GREEN = RGBColor(0xD4, 0xED, 0xDA) # table alt rows
MID_MAROON = RGBColor(0x9B, 0x2C, 0x3E) # lighter maroon
# ---- HELPERS ----
def add_bg(slide, color=CREAM):
"""Flood the slide background with a solid color."""
from pptx.oxml.ns import qn
from lxml import etree
bg = slide.background
fill = bg.fill
fill.solid()
fill.fore_color.rgb = color
def add_rect(slide, x, y, w, h, fill_color, line_color=None):
shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
shape.fill.solid()
shape.fill.fore_color.rgb = fill_color
if line_color:
shape.line.color.rgb = line_color
else:
shape.line.fill.background()
return shape
def add_textbox(slide, text, x, y, w, h,
font_name="Calibri", font_size=18, bold=False, italic=False,
color=DARK_TEXT, align=PP_ALIGN.LEFT, wrap=True,
v_anchor=MSO_ANCHOR.TOP):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = v_anchor
tf.margin_left = Inches(0.05)
tf.margin_right = Inches(0.05)
tf.margin_top = Inches(0.03)
tf.margin_bottom= Inches(0.03)
p = tf.paragraphs[0]
p.alignment = align
run = p.add_run()
run.text = text
run.font.name = font_name
run.font.size = Pt(font_size)
run.font.bold = bold
run.font.italic = italic
run.font.color.rgb = color
return tf
def add_header_bar(slide, title, subtitle=None):
"""Maroon header bar at top."""
add_rect(slide, 0, 0, 13.333, 1.15, DEEP_MAROON)
add_rect(slide, 0, 1.15, 13.333, 0.07, SAFFRON)
add_textbox(slide, title, 0.3, 0.08, 12.5, 0.75,
font_name="Georgia", font_size=28, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
if subtitle:
add_textbox(slide, subtitle, 0.3, 0.78, 12.5, 0.35,
font_name="Calibri", font_size=14, italic=True,
color=GOLD, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
def add_footer(slide, text="Dept. of Kaumarabhritya | PG Scholar Presentation"):
add_rect(slide, 0, 7.1, 13.333, 0.4, DEEP_MAROON)
add_textbox(slide, text, 0.3, 7.12, 12.7, 0.3,
font_name="Calibri", font_size=10, color=GOLD,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
def add_bullet_content(slide, bullets, x=0.4, y=1.35, w=12.5, h=5.4,
font_size=16, indent_char=" "):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = Inches(0.1)
tf.margin_right = Inches(0.1)
tf.margin_top = Inches(0.05)
first = True
for bullet in bullets:
# bullet can be (text, level, bold, color)
if isinstance(bullet, str):
bullet = (bullet, 0, False, DARK_TEXT)
text, level, bold, col = bullet
if first:
p = tf.paragraphs[0]
first = False
else:
p = tf.add_paragraph()
p.level = level
p.space_before = Pt(4 if level == 0 else 2)
run = p.add_run()
run.text = text
run.font.name = "Calibri"
run.font.size = Pt(font_size - level * 1.5)
run.font.bold = bold
run.font.color.rgb = col
# ================================================================
# SLIDE 1 – TITLE SLIDE
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
# Decorative top band
add_rect(slide, 0, 0, 13.333, 1.8, DEEP_MAROON)
add_rect(slide, 0, 1.8, 13.333, 0.1, SAFFRON)
# Bottom band
add_rect(slide, 0, 6.6, 13.333, 0.9, DEEP_MAROON)
add_rect(slide, 0, 6.55, 13.333, 0.08, SAFFRON)
add_textbox(slide, "PUBERTAL MENORRHAGIA &\nIRON DEFICIENCY ANEMIA",
0.5, 0.15, 12.3, 1.55,
font_name="Georgia", font_size=30, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_textbox(slide,
"Scope of Ayurvedic Intervention in Adolescent Women Health",
0.5, 2.05, 12.3, 0.7,
font_name="Georgia", font_size=22, italic=True,
color=DEEP_MAROON, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 3.5, 2.95, 6.333, 0.06, SAFFRON)
add_textbox(slide,
"Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
0.5, 3.1, 12.3, 1.2,
font_name="Calibri", font_size=18, bold=False,
color=DARK_TEXT, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.TOP)
add_textbox(slide,
"Under the Guidance of:\n[Name of Guide / HOD]",
0.5, 4.4, 12.3, 0.9,
font_name="Calibri", font_size=15, italic=True,
color=MID_MAROON, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.TOP)
add_textbox(slide,
"[Name of Institution] | [University Name] | July 2026",
0.5, 5.45, 12.3, 0.75,
font_name="Calibri", font_size=13,
color=RGBColor(0x55,0x55,0x55), align=PP_ALIGN.CENTER)
add_textbox(slide, "Department of Kaumarabhritya | PG Scholar Presentation",
0.3, 6.65, 12.7, 0.3,
font_name="Calibri", font_size=10, color=GOLD,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
# ================================================================
# SLIDE 2 – INTRODUCTION & EPIDEMIOLOGY
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Introduction & Epidemiology")
add_footer(slide)
bullets = [
("Puberty & Menstrual Health — An Overview", 0, True, DEEP_MAROON),
(" \u2022 Menarche typically occurs between 11\u201315 years; early cycles are often anovulatory", 1, False, DARK_TEXT),
(" \u2022 Anovulatory cycles → imbalanced estrogen-progesterone → heavy / irregular bleeding", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Pubertal Menorrhagia — Key Facts", 0, True, DEEP_MAROON),
(" \u2022 Menorrhagia: menstrual blood loss > 80 mL / cycle or duration > 7 days", 1, False, DARK_TEXT),
(" \u2022 Prevalence: 10–37% of adolescent girls (WHO, 2019)", 1, False, DARK_TEXT),
(" \u2022 Leading cause of Iron Deficiency Anemia (IDA) in adolescent females", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Iron Deficiency Anemia in Adolescents", 0, True, DEEP_MAROON),
(" \u2022 IDA affects ~29.9% of adolescent girls globally (Global Burden of Disease, 2020)", 1, False, DARK_TEXT),
(" \u2022 In India: 59.1% of girls (15\u201319 yrs) are anemic — NFHS-5 (2019\u201321)", 1, False, DARK_TEXT),
(" \u2022 Consequences: fatigue, poor cognition, impaired growth, increased infection susceptibility", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=16)
# ================================================================
# SLIDE 3 – AYURVEDIC CONCEPT: RAJAKALA & ARTAVA
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Ayurvedic Perspective: Artava & Rajakala",
subtitle="Conceptual understanding from classical texts")
add_footer(slide)
bullets = [
("Artava (Menstrual Blood) — Classical View", 0, True, DEEP_MAROON),
(" \u2022 Artava = upadhatu of Rasa Dhatu; governed by Apana Vayu (a subtype of Vata)", 1, False, DARK_TEXT),
(" \u2022 Normal Rajakala: 3\u20135 days; Ritu (cycle) = 30 days (Ashtanga Hridayam)", 1, False, DARK_TEXT),
(" \u2022 Colour: like Gunja seed or Indragopa insect; quantity: 4 anjali (Sushruta)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Rajonisheka (Menarche) in Kaumarabhritya", 0, True, DEEP_MAROON),
(" \u2022 Kaumarabhritya = branch dealing with children's health (0\u201316 years) & adolescent care", 1, False, DARK_TEXT),
(" \u2022 Rajonisheka is a physiological milestone requiring proper Pathya (diet) & Vihara (regimen)", 1, False, DARK_TEXT),
(" \u2022 Improper diet / conduct at menarche → Artavadushti or Asrigdhara", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Asrigdhara — Classical Correlation of Menorrhagia", 0, True, DEEP_MAROON),
(" \u2022 Asrigdhara = excessive flow of blood from the uterus (Charaka Chikitsa 30)", 1, False, DARK_TEXT),
(" \u2022 Predominantly a Pitta-Vata vitiation with Rakta dushti", 1, False, DARK_TEXT),
(" \u2022 Pubertal form: anovulatory → Vata-Pitta predominant Asrigdhara", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=16)
# ================================================================
# SLIDE 4 – PATHOPHYSIOLOGY (Modern + Ayurvedic Correlation)
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Pathophysiology: Modern & Ayurvedic Correlation")
add_footer(slide)
# Two column boxes
add_rect(slide, 0.3, 1.32, 5.9, 5.5, RGBColor(0xFD,0xF0,0xE0))
add_rect(slide, 6.5, 1.32, 6.5, 5.5, RGBColor(0xE8,0xF4,0xE8))
add_textbox(slide, "Modern Pathophysiology", 0.3, 1.32, 5.9, 0.45,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 0.3, 1.32, 5.9, 0.45, DEEP_MAROON)
add_textbox(slide, "Modern Pathophysiology", 0.3, 1.32, 5.9, 0.45,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_textbox(slide, "Ayurvedic Pathophysiology", 6.5, 1.32, 6.5, 0.45,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 6.5, 1.32, 6.5, 0.45, RGBColor(0x2E, 0x7D, 0x32))
add_textbox(slide, "Ayurvedic Pathophysiology", 6.5, 1.32, 6.5, 0.45,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
modern_points = [
"• Immaturity of HPO axis → anovulation",
"• No LH surge → no progesterone → fragile endometrium",
"• Estrogen breakthrough bleeding",
"• Coagulation disorders: vWD in 5-36% of adolescent menorrhagia",
"• Prolonged heavy loss → depleted iron stores",
"• Serum ferritin < 12 µg/L confirms IDA",
"• Hb < 11 g/dL in adolescents = anemia (WHO)",
]
tb = slide.shapes.add_textbox(Inches(0.4), Inches(1.85), Inches(5.7), Inches(4.8))
tf = tb.text_frame
tf.word_wrap = True
for i, pt in enumerate(modern_points):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.space_before = Pt(5)
run = p.add_run()
run.text = pt
run.font.name = "Calibri"
run.font.size = Pt(14)
run.font.color.rgb = DARK_TEXT
ayur_points = [
"• Vata (Apana) vitiation → excess Artava",
"• Pitta aggravation → Rakta dushti (blood vitiation)",
"• Agni mandya → poor Rasa/Rakta dhatu formation",
"• Artavaha srotas dushti → disturbed flow",
"• Pandu Roga = Rasa-Rakta kshaya (depletion)",
"• Ojas kshaya → reduced immunity & strength",
"• Trividha Pandu: Vataja, Pittaja, Kaphaja",
]
tb2 = slide.shapes.add_textbox(Inches(6.6), Inches(1.85), Inches(6.2), Inches(4.8))
tf2 = tb2.text_frame
tf2.word_wrap = True
for i, pt in enumerate(ayur_points):
p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
p.space_before = Pt(5)
run = p.add_run()
run.text = pt
run.font.name = "Calibri"
run.font.size = Pt(14)
run.font.color.rgb = DARK_TEXT
# ================================================================
# SLIDE 5 – CLINICAL FEATURES & DIAGNOSIS
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Clinical Features & Diagnosis")
add_footer(slide)
bullets = [
("Clinical Features of Pubertal Menorrhagia + IDA", 0, True, DEEP_MAROON),
(" \u2022 Excessive, prolonged menstrual flow; soaking > 1 pad/hour for several consecutive hours", 1, False, DARK_TEXT),
(" \u2022 Pallor, fatigue, breathlessness, palpitations, poor concentration", 1, False, DARK_TEXT),
(" \u2022 Koilonychia (spoon nails), glossitis, angular stomatitis in severe IDA", 1, False, DARK_TEXT),
(" \u2022 Growth retardation, poor academic performance", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Investigations", 0, True, DEEP_MAROON),
(" \u2022 CBC: Hb, MCV, MCH, MCHC; Peripheral smear: microcytic hypochromic anemia", 1, False, DARK_TEXT),
(" \u2022 Serum Ferritin (<12 µg/L), TIBC (elevated), Serum Iron (low)", 1, False, DARK_TEXT),
(" \u2022 Coagulation profile, TSH, Pelvic USG (to r/o structural causes)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Diagnosis (Nidana Panchaka)", 0, True, DEEP_MAROON),
(" \u2022 Nidana: Ahara-Vihara doshaja; Apathya sevana at Rajonisheka", 1, False, DARK_TEXT),
(" \u2022 Poorvaroopa: Aruchi, Daurbalya, Gaurava", 1, False, DARK_TEXT),
(" \u2022 Roopa: Atiartava (excess flow), Panduta (pallor), Krishata (emaciation), Shrama", 1, False, DARK_TEXT),
(" \u2022 Prakriti Pariksha + Nadi Pariksha + Ashtavidha Pariksha for holistic assessment", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15)
# ================================================================
# SLIDE 6 – AYURVEDIC TREATMENT PRINCIPLES
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Ayurvedic Treatment Principles",
subtitle="Chikitsa Sutra for Asrigdhara & Pandu in Adolescents")
add_footer(slide)
bullets = [
("Chaturvidha Chikitsa for Asrigdhara (Menorrhagia)", 0, True, DEEP_MAROON),
(" 1. Nidana Parivarjana — Remove causative factors (diet, lifestyle, stress)", 1, False, DARK_TEXT),
(" 2. Shodhana — Virechana (Pittashamaka purgation) in selected cases", 1, False, DARK_TEXT),
(" 3. Shamana — Internal medications: Stambhana (astringent), Pittashamaka, Raktastambhana", 1, False, DARK_TEXT),
(" 4. Rasayana — Rejuvenation to restore Rasa-Rakta dhatu & Ojas", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Chikitsa for Pandu Roga (IDA Correlation)", 0, True, DEEP_MAROON),
(" \u2022 Deepana-Pachana: Enhance Jatharagni before Lauha (iron) administration", 1, False, DARK_TEXT),
(" \u2022 Lauha Sevana (Iron-based preparations) — principal line of treatment", 1, False, DARK_TEXT),
(" \u2022 Pathya: Iron-rich diet — pomegranate, jaggery, green leafy vegetables, sesame", 1, False, DARK_TEXT),
(" \u2022 Avoid: Tila taila excess, sour/fermented foods, excessive exertion", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Key Therapeutic Principles", 0, True, MID_MAROON),
(" \u2022 Raktaprasadana (blood purification) + Balya (strength promotion)", 1, False, DARK_TEXT),
(" \u2022 Anupana: Takra (buttermilk), Gomutra, or warm water for Lauha preparations", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15.5)
# ================================================================
# SLIDE 7 – IMPORTANT AYURVEDIC FORMULATIONS
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Key Ayurvedic Formulations",
subtitle="Classical & Proprietary drugs for Asrigdhara & Pandu")
add_footer(slide)
# Table
headers = ["Formulation", "Indication", "Key Ingredients / Action", "Reference"]
rows = [
["Pushyanuga Churna", "Asrigdhara\n(Menorrhagia)", "Ambashtha, Musta, Khadira — Stambhana, Pittashamaka", "Astanga Hridayam Uttara"],
["Chandraprabha Vati", "Pandu + Dhatukshaya", "Shilajatu, Guggulu, Karpura — Balya, Rasayana", "Sharangadhara Samhita"],
["Loha Bhasma / Navayasa Lauha", "Pandu Roga (IDA)", "Purified iron — Hb regeneration 0.12–0.16 g/dL/day", "Charaka Chikitsa 16"],
["Punarnavadi Mandura", "IDA — community level", "Punarnava, Mandura — Rakta vriddhi, diuretic", "NRHM Drug Kit"],
["Shatavari Kalpa / Ghrita", "Artava dushti + Debility", "Asparagus racemosus — phytoestrogen, Rasayana", "Charaka Sutrasthana"],
["Triphala + Amalaki Rasayana", "Pandu + Immunity", "Vit C → Fe absorption; antioxidant", "Charaka Chikitsa 1"],
["Kumaryasava", "Artava Kshaya / Menstrual regulation", "Aloe vera — menstrual regulator, Vatanulomaka", "Bhaishajya Ratnavali"],
["Pradara Chintamani Rasa", "Severe Asrigdhara", "Mercury-sulphur-based; Raktastambhana", "Bhaishajya Ratnavali"],
]
col_widths = [2.4, 2.0, 5.3, 3.2]
col_x = [0.2, 2.65, 4.7, 10.05]
row_h = 0.53
start_y = 1.38
# Header row
for ci, (hdr, cw, cx) in enumerate(zip(headers, col_widths, col_x)):
add_rect(slide, cx, start_y, cw, 0.48, DEEP_MAROON)
add_textbox(slide, hdr, cx+0.05, start_y+0.02, cw-0.1, 0.44,
font_size=12, bold=True, color=WHITE,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
for ri, row in enumerate(rows):
ry = start_y + 0.48 + ri * row_h
bg = RGBColor(0xFF,0xF0,0xE0) if ri % 2 == 0 else CREAM
for ci, (cell, cw, cx) in enumerate(zip(row, col_widths, col_x)):
add_rect(slide, cx, ry, cw, row_h-0.03, bg, DEEP_MAROON)
add_textbox(slide, cell, cx+0.05, ry+0.02, cw-0.1, row_h-0.07,
font_size=11, color=DARK_TEXT,
align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
# ================================================================
# SLIDE 8 – EXTERNAL THERAPIES & PANCHAKARMA
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Panchakarma & External Therapies",
subtitle="Para-surgical & Purification procedures in Adolescent context")
add_footer(slide)
bullets = [
("Shodhana (Purificatory) Therapies", 0, True, DEEP_MAROON),
(" \u2022 Mridu Virechana (gentle purgation): Haritaki / Trivrit — reduces Pitta, controls bleeding", 1, False, DARK_TEXT),
(" \u2022 Basti (medicated enema): Vata regulation; Anuvasana basti with Shatavari Taila", 1, False, DARK_TEXT),
(" \u2022 Uttara Basti: For direct Artavaha srotas treatment — Shatapushpa taila / Ghee", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("External / Local Therapies", 0, True, DEEP_MAROON),
(" \u2022 Udumbara Phala Nasya: Nasya with Udumbara (Ficus racemosa) — studied in pubertal menorrhagia", 1, False, DARK_TEXT),
(" \u2022 Yoni Pichu (vaginal tampon): Lodhra-Patha Kashaya soaked — Stambhana + anti-inflammatory", 1, False, DARK_TEXT),
(" \u2022 Parisheka (medicated douche): Triphala Kashaya — reduces infection + tones endometrium", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Cautions in Adolescent Population", 0, True, MID_MAROON),
(" \u2022 Avoid strong Shodhana (Vamana/Virechana) in early pubertal girls — use Mridu Karma only", 1, False, DARK_TEXT),
(" \u2022 Uttara Basti requires experienced practitioner; avoid in nulliparous without guidance", 1, False, DARK_TEXT),
(" \u2022 Holistic approach: Yoga, Pranayama (Anulom-Vilom, Bhramari) reduce stress-related HPO axis disruption", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15.5)
# ================================================================
# SLIDE 9 – EVIDENCE-BASED REVIEW
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Evidence-Based Review & Clinical Studies")
add_footer(slide)
bullets = [
("Clinical Evidence for Ayurvedic Interventions", 0, True, DEEP_MAROON),
(" \u2022 Samal (2016) — Systematic review: Navayasa Lauha, Punarnavadi Mandura better than allopathic Fe salts for IDA; Sarva-Jvara-Hara Lauha — Hb regeneration 0.16 g/dL/day (Phcog Rev 2016)", 1, False, DARK_TEXT),
(" \u2022 Vajravataka Mandura RCT — effective, safe, palatable in adolescent girls with IDA (J Ayurveda 2023)", 1, False, DARK_TEXT),
(" \u2022 Udumbara Phala Nasya case series — significant reduction in menstrual flow & improvement in Hb (Pharmacog Res 2026)", 1, False, DARK_TEXT),
(" \u2022 Ishwarkar et al. (2023) — Ayurvedic formulations improved iron absorption & blood formation in pediatric IDA", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Advantages of Ayurvedic Approach", 0, True, DEEP_MAROON),
(" \u2022 No GI side effects (nausea, constipation) unlike ferrous sulphate", 1, False, DARK_TEXT),
(" \u2022 Organic acids in formulations → enhanced non-heme iron absorption", 1, False, DARK_TEXT),
(" \u2022 Simultaneous Rasayana action: corrects underlying dhatukshaya & boosts immunity", 1, False, DARK_TEXT),
(" \u2022 Addresses psycho-social aspect via Sattvavajaya Chikitsa (mind-body medicine)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Current Gaps in Research", 0, True, MID_MAROON),
(" \u2022 Lack of large-scale RCTs in adolescent pubertal menorrhagia specifically", 1, False, DARK_TEXT),
(" \u2022 Standardization of classical Lauha Bhasma preparations needed", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15)
# ================================================================
# SLIDE 10 – PATHYA-APATHYA (DIET & LIFESTYLE)
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Pathya-Apathya: Dietary & Lifestyle Guidelines",
subtitle="Preventive & adjunct care in adolescent girls")
add_footer(slide)
# Two-column layout
add_rect(slide, 0.3, 1.32, 6.0, 5.5, RGBColor(0xFD,0xF5,0xE6))
add_rect(slide, 6.7, 1.32, 6.2, 5.5, RGBColor(0xF9,0xEB,0xEB))
add_rect(slide, 0.3, 1.32, 6.0, 0.42, RGBColor(0x2E, 0x7D, 0x32))
add_textbox(slide, "PATHYA (Do's)", 0.3, 1.32, 6.0, 0.42,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 6.7, 1.32, 6.2, 0.42, DEEP_MAROON)
add_textbox(slide, "APATHYA (Don'ts)", 6.7, 1.32, 6.2, 0.42,
font_name="Georgia", font_size=16, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
pathya = [
"Ahara (Diet):",
" \u2022 Pomegranate (Dadima) — Raktaprasadana",
" \u2022 Jaggery (Guda) + Sesame (Tila) — iron-rich",
" \u2022 Amalaki (Amla) — Vit C, enhances Fe absorption",
" \u2022 Green leafy vegetables: spinach, methi",
" \u2022 Cow's ghee — Rasayana; facilitates drug absorption",
" \u2022 Ragi (Finger millet) — calcium + iron",
"",
"Vihara (Lifestyle):",
" \u2022 Light exercise, Yoga, Pranayama",
" \u2022 Adequate rest during menstruation",
" \u2022 Regular sleep routine",
]
tb = slide.shapes.add_textbox(Inches(0.4), Inches(1.8), Inches(5.7), Inches(4.9))
tf = tb.text_frame; tf.word_wrap = True
for i, pt in enumerate(pathya):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.space_before = Pt(3)
run = p.add_run(); run.text = pt
run.font.name = "Calibri"; run.font.size = Pt(13)
run.font.bold = True if (pt.endswith(":")) else False
run.font.color.rgb = RGBColor(0x1B, 0x5E, 0x20) if pt.endswith(":") else DARK_TEXT
apathya = [
"Ahara (Avoid):",
" \u2022 Excessive sour/fermented food (Amla, Shukta)",
" \u2022 Spicy, hot food — aggravates Pitta",
" \u2022 Red meat in excess; processed foods",
" \u2022 Tea/coffee (tannins inhibit Fe absorption)",
" \u2022 Dieting / skipping meals → Agni mandya",
"",
"Vihara (Avoid):",
" \u2022 Heavy physical exertion during menstruation",
" \u2022 Day sleep, disturbed sleep cycles",
" \u2022 Stress, excessive screen time",
" \u2022 Exposure to cold water / swimming during menses",
]
tb2 = slide.shapes.add_textbox(Inches(6.8), Inches(1.8), Inches(5.9), Inches(4.9))
tf2 = tb2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(apathya):
p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
p.space_before = Pt(3)
run = p.add_run(); run.text = pt
run.font.name = "Calibri"; run.font.size = Pt(13)
run.font.bold = True if pt.endswith(":") else False
run.font.color.rgb = RGBColor(0x7B, 0x00, 0x00) if pt.endswith(":") else DARK_TEXT
# ================================================================
# SLIDE 11 – INTEGRATIVE MANAGEMENT PROTOCOL
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Proposed Integrative Management Protocol",
subtitle="Ayurvedic intervention flowchart for PG clinical practice")
add_footer(slide)
# Flow boxes
steps = [
("STEP 1: Assessment", "Nidana Panchaka + CBC + Serum Ferritin\nPrakriti, Nadi, Ashtavidha Pariksha"),
("STEP 2: Nidana Parivarjana", "Correct diet, lifestyle, reduce stress\nPathya Ahara-Vihara counselling"),
("STEP 3: Deepana-Pachana", "Chitrakadi Vati / Trikatu Churna 1 week\nRestore Jatharagni before Lauha admin"),
("STEP 4: Shamana Aushadhi", "Pushyanuga Churna (3g BD) — menorrhagia\nNavayasa Lauha / Loha Bhasma — IDA"),
("STEP 5: Rasayana", "Shatavari Kalpa / Amalaki Rasayana\nChandraprabha Vati — 3 months"),
("STEP 6: Follow-up", "CBC at 4 & 12 weeks; Menstrual diary\nAdjust Anupana & dosage as per response"),
]
box_w = 3.8
box_h = 1.0
for i, (title, content) in enumerate(steps):
col = i % 2
row = i // 2
bx = 0.5 + col * 6.5
by = 1.38 + row * 1.85
add_rect(slide, bx, by, box_w + 0.1, box_h + 0.55, DEEP_MAROON)
add_textbox(slide, title, bx+0.05, by+0.03, box_w, 0.35,
font_name="Georgia", font_size=13, bold=True,
color=GOLD, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
add_textbox(slide, content, bx+0.05, by+0.38, box_w, 0.72,
font_name="Calibri", font_size=11.5,
color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP)
# Arrows between boxes (vertical within columns)
arrow_x_positions = [2.0, 8.6]
for ax in arrow_x_positions:
for row in range(2):
ay = 1.38 + row * 1.85 + box_h + 0.55
add_textbox(slide, "\u25BC", ax, ay + 0.05, 0.4, 0.3,
font_size=16, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)
# ================================================================
# SLIDE 12 – CONCLUSION & REFERENCES
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Conclusion & References")
add_footer(slide)
# Conclusion box
add_rect(slide, 0.3, 1.35, 12.7, 3.4, RGBColor(0x6B,0x17,0x2B))
add_textbox(slide, "Key Conclusions", 0.35, 1.38, 12.6, 0.42,
font_name="Georgia", font_size=16, bold=True,
color=GOLD, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
conclusion_text = (
"\u2022 Pubertal menorrhagia is a significant cause of IDA in adolescent Indian girls (NFHS-5: 59.1% anemia prevalence).\n"
"\u2022 Ayurveda offers a holistic framework — Asrigdhara & Pandu Roga — bridging menorrhagia and anemia as a unified Dhatu imbalance.\n"
"\u2022 Classical formulations (Pushyanuga Churna, Navayasa Lauha, Shatavari, Punarnavadi Mandura) have demonstrated clinical efficacy with superior GI tolerability vs. allopathic iron.\n"
"\u2022 Kaumarabhritya has a unique scope: preventive Rajonisheka Pathya, early intervention, and Rasayana-based restoration in adolescent females.\n"
"\u2022 Integrated Ayurvedic protocol — Shodhana \u2192 Shamana \u2192 Rasayana — addresses both menorrhagia and IDA simultaneously."
)
add_textbox(slide, conclusion_text, 0.4, 1.82, 12.5, 2.85,
font_size=13, color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP)
# References
add_textbox(slide, "Selected References", 0.3, 4.85, 12.7, 0.32,
font_name="Georgia", font_size=14, bold=True,
color=DEEP_MAROON, align=PP_ALIGN.LEFT)
refs = [
"1. Charaka Samhita, Chikitsa Sthana, Ch. 30 — Yonivyapad Chikitsa; Ch. 16 — Pandu Chikitsa.",
"2. Ashtanga Hridayam, Uttara Tantra — Stri Roga Nidana & Chikitsa.",
"3. Samal J. Ayurvedic preparations for the management of IDA: A systematic review. Pharmacog Rev. 2016;10(19):1-6. PMC5822980.",
"4. Ishwarkar M et al. Ayurvedic management of IDA in children. JAHM. 2023;869.",
"5. Udumbara Phala Nasya in Pubertal Menorrhagia — Case Series. Pharmacog Res. 2026;18(1):206.",
"6. NFHS-5 (2019-21), Ministry of Health & Family Welfare, Government of India.",
"7. Berek JS. Berek & Novak's Gynecology, 16th ed. 2020. (Hematologic Abnormalities in Adolescents).",
]
tb = slide.shapes.add_textbox(Inches(0.3), Inches(5.2), Inches(12.7), Inches(1.75))
tf = tb.text_frame; tf.word_wrap = True
for i, ref in enumerate(refs):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.space_before = Pt(1)
run = p.add_run(); run.text = ref
run.font.name = "Calibri"; run.font.size = Pt(10)
run.font.color.rgb = RGBColor(0x33,0x33,0x33)
# ================================================================
# SAVE
# ================================================================
out_path = "/tmp/workspace/kaumarabhritya-ppt/Pubertal_Menorrhagia_IDA_Ayurvedic_Intervention.pptx"
prs.save(out_path)
print(f"Saved: {out_path}")
cd /tmp/workspace/kaumarabhritya-ppt && python build_ppt.py 2>&1
python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/kaumarabhritya-ppt/Pubertal_Menorrhagia_IDA_Ayurvedic_Intervention.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [sh.text_frame.text[:60] for sh in slide.shapes if sh.has_text_frame and sh.text_frame.text.strip()] print(f'Slide {i}: {texts[0] if texts else \"(no text)\"}') "
Pubertal Menorrhagia IDA Ayurvedic Intervention
Presentation · PPTX
| # | Slide Title | Key Content |
|---|---|---|
| 1 | Title Slide | Topic, presenter, guide, department & institution |
| 2 | Introduction & Epidemiology | Menarche physiology, prevalence data (10-37% menorrhagia; NFHS-5: 59.1% anemia in Indian adolescents) |
| 3 | Ayurvedic Perspective: Artava & Rajakala | Classical definition of Artava, Rajonisheka in Kaumarabhritya, Asrigdhara concept |
| 4 | Pathophysiology: Modern & Ayurvedic Correlation | Two-column layout — HPO axis/coagulation vs. Apana Vata/Rakta dushti/Pandu |
| 5 | Clinical Features & Diagnosis | Symptoms, investigations (Hb, ferritin, TIBC), Nidana Panchaka & Ashtavidha Pariksha |
| 6 | Ayurvedic Treatment Principles | Chaturvidha Chikitsa, Deepana-Pachana, Lauha Sevana, Anupana |
| 7 | Key Ayurvedic Formulations | Formatted table: Pushyanuga Churna, Navayasa Lauha, Punarnavadi Mandura, Shatavari, Chandraprabha Vati, Kumaryasava, Pradara Chintamani Rasa |
| 8 | Panchakarma & External Therapies | Virechana, Basti, Uttara Basti, Udumbara Phala Nasya, Yoni Pichu, adolescent safety precautions |
| 9 | Evidence-Based Review | Published studies (Samal 2016, Ishwarkar 2023, Udumbara case series), advantages over allopathic iron, research gaps |
| 10 | Pathya-Apathya | Two-column Do's/Don'ts: pomegranate, amla, jaggery vs. tea/coffee, spicy food; yoga, rest |
| 11 | Integrative Management Protocol | 6-step flowchart: Assessment → Nidana Parivarjana → Deepana-Pachana → Shamana → Rasayana → Follow-up |
| 12 | Conclusion & References | 5 key take-aways + 7 references (Charaka, Ashtanga Hridayam, PMC studies, NFHS-5) |
give ppt of 10-12 slides on the topic "Disorders in puberty" corelation with ayurveda & contemporary science references as PG scholar from department in kaumarabhritya
disorders of puberty precocious delayed puberty Ayurvedic correlation kaumarabhritya classical texts
https://www.wjpls.org/download/article/85092022/1664785897.p…
mkdir -p /tmp/workspace/disorders-puberty-ppt
~/disorders-puberty-ppt/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, MSO_ANCHOR
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# ── PALETTE ──────────────────────────────────────────────────────────────────
DEEP_TEAL = RGBColor(0x00, 0x4D, 0x5E) # header bars
SAFFRON = RGBColor(0xE8, 0x7F, 0x0A) # accent line / arrows
GOLD = RGBColor(0xF5, 0xC5, 0x18) # sub-header text on dark
CREAM = RGBColor(0xFF, 0xFB, 0xF2) # slide background
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x2E) # body text
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
TEAL_LIGHT = RGBColor(0xD4, 0xEE, 0xF4) # alt row / box bg
MID_TEAL = RGBColor(0x00, 0x7A, 0x99) # sub-headings in body
FOREST = RGBColor(0x1B, 0x5E, 0x20) # Ayurvedic column
DARK_RED = RGBColor(0x7B, 0x00, 0x00) # caution text
# ── HELPERS ──────────────────────────────────────────────────────────────────
def add_bg(slide, color=CREAM):
fill = slide.background.fill
fill.solid()
fill.fore_color.rgb = color
def add_rect(slide, x, y, w, h, fill_color, line_color=None):
s = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
s.fill.solid()
s.fill.fore_color.rgb = fill_color
if line_color:
s.line.color.rgb = line_color
else:
s.line.fill.background()
return s
def add_tb(slide, text, x, y, w, h,
fname="Calibri", fsize=16, bold=False, italic=False,
color=DARK_TEXT, align=PP_ALIGN.LEFT, wrap=True,
vanchor=MSO_ANCHOR.TOP):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = vanchor
tf.margin_left = tf.margin_right = Inches(0.06)
tf.margin_top = tf.margin_bottom = Inches(0.03)
p = tf.paragraphs[0]
p.alignment = align
r = p.add_run()
r.text = text
r.font.name = fname
r.font.size = Pt(fsize)
r.font.bold = bold
r.font.italic = italic
r.font.color.rgb = color
return tf
def add_header(slide, title, subtitle=None):
add_rect(slide, 0, 0, 13.333, 1.18, DEEP_TEAL)
add_rect(slide, 0, 1.18, 13.333, 0.07, SAFFRON)
add_tb(slide, title, 0.25, 0.07, 12.8, 0.78,
fname="Georgia", fsize=28, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
if subtitle:
add_tb(slide, subtitle, 0.25, 0.82, 12.8, 0.34,
fname="Calibri", fsize=14, italic=True,
color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
def add_footer(slide, text="Dept. of Kaumarabhritya | PG Scholar Presentation | Disorders in Puberty"):
add_rect(slide, 0, 7.1, 13.333, 0.4, DEEP_TEAL)
add_tb(slide, text, 0.3, 7.12, 12.7, 0.3,
fsize=10, color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
def bullet_frame(slide, bullets, x=0.35, y=1.33, w=12.6, h=5.5, fsize=15.5):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = Inches(0.08); tf.margin_right = Inches(0.08)
tf.margin_top = Inches(0.04); tf.margin_bottom = Inches(0.04)
first = True
for b in bullets:
if isinstance(b, str):
b = (b, 0, False, DARK_TEXT)
text, lvl, bold, col = b
p = tf.paragraphs[0] if first else tf.add_paragraph()
first = False
p.level = lvl
p.space_before = Pt(5 if lvl == 0 else 2)
r = p.add_run()
r.text = text
r.font.name = "Calibri"
r.font.size = Pt(fsize - lvl * 1.5)
r.font.bold = bold
r.font.color.rgb = col
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 1 – TITLE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_rect(s, 0, 0, 13.333, 1.9, DEEP_TEAL)
add_rect(s, 0, 1.9, 13.333, 0.1, SAFFRON)
add_rect(s, 0, 6.6, 13.333, 0.9, DEEP_TEAL)
add_rect(s, 0, 6.56, 13.333, 0.07, SAFFRON)
add_tb(s, "DISORDERS IN PUBERTY",
0.5, 0.12, 12.3, 1.0,
fname="Georgia", fsize=36, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
add_tb(s, "Correlation with Ayurveda & Contemporary Science",
0.5, 1.06, 12.3, 0.75,
fname="Georgia", fsize=21, italic=True,
color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
add_rect(s, 3.0, 2.15, 7.333, 0.06, SAFFRON)
add_tb(s, "Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
0.5, 2.28, 12.3, 1.1,
fsize=18, color=DARK_TEXT, align=PP_ALIGN.CENTER)
add_tb(s, "Under the Guidance of:\n[Name of Guide / HOD]",
0.5, 3.5, 12.3, 0.8,
fsize=15, italic=True, color=MID_TEAL, align=PP_ALIGN.CENTER)
add_tb(s, "[Name of Institution] | [University Name] | July 2026",
0.5, 4.45, 12.3, 0.65,
fsize=13, color=RGBColor(0x44,0x44,0x44), align=PP_ALIGN.CENTER)
add_tb(s, "Dept. of Kaumarabhritya | PG Scholar Presentation | Disorders in Puberty",
0.3, 6.65, 12.7, 0.3,
fsize=10, color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 2 – NORMAL PUBERTY: CONTEMPORARY & AYURVEDIC
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Normal Puberty: A Dual Perspective",
subtitle="Contemporary Science & Ayurvedic Classical Correlation")
add_footer(s)
bullets = [
("Contemporary Science — Normal Milestones", 0, True, DEEP_TEAL),
(" \u2022 Girls: Thelarche (8–13 yr) \u2192 Pubarche \u2192 Peak Height Velocity \u2192 Menarche (11–15 yr)", 1, False, DARK_TEXT),
(" \u2022 Boys: Testicular enlargement (9–14 yr) \u2192 Pubarche \u2192 Voice change \u2192 Spermarche", 1, False, DARK_TEXT),
(" \u2022 Governed by HPG axis: GnRH \u2192 LH / FSH \u2192 gonadal steroids (estrogen, testosterone)", 1, False, DARK_TEXT),
(" \u2022 Tanner Stages I–V (Marshall & Tanner, 1969) — standard clinical grading", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Perspective — Kaumarabhritya Framework", 0, True, MID_TEAL),
(" \u2022 Bala Avastha (0–16 yr) → Kumara / Kishora phase (puberty = Yauvanarambha)", 1, False, DARK_TEXT),
(" \u2022 Rajonisheka (menarche): indicates Apana Vata & Rasa-Rakta dhatu maturation", 1, False, DARK_TEXT),
(" \u2022 Shukra dhatu: final essence; its development marks pubertal completion in both sexes", 1, False, DARK_TEXT),
(" \u2022 Saptadhatu progression — Rasa \u2192 Rakta \u2192 Mamsa \u2192 Meda \u2192 Asthi \u2192 Majja \u2192 Shukra/Artava", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Key References", 0, True, SAFFRON),
(" \u2022 Charaka Samhita, Sharira Sthana 8; Sushruta Samhita, Sharira Sthana 3; Ashtanga Hridayam, Sharira 1", 1, False, DARK_TEXT),
(" \u2022 Berek & Novak's Gynecology 16th ed., Ch. 8 (Pubertal Development)", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=15.5)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 3 – CLASSIFICATION OF PUBERTAL DISORDERS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Classification of Pubertal Disorders",
subtitle="Contemporary & Ayurvedic classification schema")
add_footer(s)
# Left box
add_rect(s, 0.25, 1.33, 6.1, 5.55, TEAL_LIGHT)
add_rect(s, 0.25, 1.33, 6.1, 0.44, DEEP_TEAL)
add_tb(s, "Contemporary Classification", 0.25, 1.33, 6.1, 0.44,
fname="Georgia", fsize=15, bold=True, color=WHITE,
align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
modern = [
"A. PRECOCIOUS PUBERTY (<8 yr girls; <9 yr boys)",
" 1. Central (GnRH-dependent) — idiopathic / CNS lesion",
" 2. Peripheral (GnRH-independent) — gonadal/adrenal",
" 3. Incomplete variants: Premature thelarche,\n Premature adrenarche, Premature menarche",
"",
"B. DELAYED PUBERTY (>13 yr girls; >14 yr boys)",
" 1. Constitutional Delay of Growth & Puberty (CDGP)",
" 2. Hypogonadotropic Hypogonadism (low LH/FSH)",
" 3. Hypergonadotropic Hypogonadism (gonadal failure)",
" 4. Anatomic outflow tract abnormalities",
"",
"C. HETEROSEXUAL / ASYNCHRONOUS PUBERTY",
" \u2022 PCOS (most common) — virilization at puberty",
" \u2022 CAH, androgen insensitivity syndrome",
]
tb = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.9), Inches(4.9))
tf = tb.text_frame; tf.word_wrap = True
for i, pt in enumerate(modern):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name = "Calibri"; r.font.size = Pt(12.5)
r.font.bold = (pt.startswith(("A.", "B.", "C.")))
r.font.color.rgb = DEEP_TEAL if pt.startswith(("A.", "B.", "C.")) else DARK_TEXT
# Right box
add_rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xE8,0xF5,0xE9))
add_rect(s, 6.65, 1.33, 6.45, 0.44, FOREST)
add_tb(s, "Ayurvedic Classification (Artava / Yauvanaja Roga)", 6.65, 1.33, 6.45, 0.44,
fname="Georgia", fsize=14, bold=True, color=WHITE,
align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
ayur = [
"A. ATIYAUVANA (Precocious Puberty)",
" \u2022 Ativriddhata of Rasa-Rakta-Shukra dhatu",
" \u2022 Pitta-Kapha vriddhi; Medovaha srotas dushti",
" \u2022 Ref: Charaka Sharira 8, Ashtanga Hridayam Sharira",
"",
"B. VILAMBITAYAUVANA (Delayed Puberty)",
" \u2022 Shukra Kshaya, Artava Kshaya",
" \u2022 Apana Vata & Vyana Vata dushti",
" \u2022 Dhatu kshaya → Agni mandya",
" \u2022 Ref: Charaka Chikitsa 2, Sushruta Chikitsa 37",
"",
"C. VISHAMA YAUVANARAMBHA",
" \u2022 Asynchronous development",
" \u2022 Artava dushti + Vata-Kapha predominant",
" \u2022 PCOS \u2194 Pushpaghni Jataharin (Kashyapa)",
]
tb2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = tb2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(ayur):
p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name = "Calibri"; r.font.size = Pt(12.5)
r.font.bold = pt.startswith(("A.", "B.", "C."))
r.font.color.rgb = FOREST if pt.startswith(("A.", "B.", "C.")) else DARK_TEXT
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 4 – PRECOCIOUS PUBERTY: CONTEMPORARY SCIENCE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Precocious Puberty — Contemporary Science",
subtitle="Definition | Etiology | Diagnosis | Management")
add_footer(s)
bullets = [
("Definition", 0, True, DEEP_TEAL),
(" \u2022 Onset of secondary sexual characteristics before 8 yrs (girls) or 9 yrs (boys) [Berek & Novak, 16e]", 1, False, DARK_TEXT),
(" \u2022 Two types: Central (GnRH-dependent / true) vs. Peripheral (GnRH-independent)", 1, False, DARK_TEXT),
("Etiology", 0, True, DEEP_TEAL),
(" \u2022 Central: Idiopathic (most common in girls, 90%); Hypothalamic hamartoma (2–28%); CNS tumors, infections, hydrocephalus", 1, False, DARK_TEXT),
(" \u2022 Peripheral: Ovarian/adrenal tumors, McCune-Albright syndrome, CAH, exogenous estrogen", 1, False, DARK_TEXT),
(" \u2022 Premature thelarche / adrenarche: benign variants — no GnRH activation", 1, False, DARK_TEXT),
("Clinical Features", 0, True, DEEP_TEAL),
(" \u2022 Advanced bone age, accelerated height velocity, emotional/behavioral changes", 1, False, DARK_TEXT),
(" \u2022 Girls: breast development, menstruation; Boys: testicular/penile enlargement, pubic hair", 1, False, DARK_TEXT),
("Investigations & Management", 0, True, DEEP_TEAL),
(" \u2022 Bone age X-ray, LH/FSH levels, GnRH stimulation test, MRI Brain, Pelvic USG", 1, False, DARK_TEXT),
(" \u2022 GnRHa (Leuprolide) — gold standard; discontinue at bone age ~12 yr to optimise adult height", 1, False, DARK_TEXT),
(" \u2022 Ref: Berek & Novak's Gynecology 16e, Ch. 8; Goldman-Cecil Medicine 26e, Ch. 233", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=15)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 5 – PRECOCIOUS PUBERTY: AYURVEDIC CORRELATION
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Precocious Puberty — Ayurvedic Correlation",
subtitle="Atiyauvana | Dosha-Dhatu analysis | Classical references")
add_footer(s)
bullets = [
("Ayurvedic Concept — Atiyauvana / Akala Yauvanprapti", 0, True, FOREST),
(" \u2022 Premature maturation of Shukra / Artava dhatu = Atipravritti of Saptadhatu paka", 1, False, DARK_TEXT),
(" \u2022 Pitta-Kapha predominant vitiation → hyperstimulation of Garbhashaya & Shukravaha srotas", 1, False, DARK_TEXT),
(" \u2022 Medovaha srotas dushti (adiposity-linked): obesity → early thelarche correlation", 1, False, DARK_TEXT),
(" \u2022 Charaka (Sharira 8): 'Garbheshveva cha shukram vriddhimapnoti' — Shukra matures sequentially", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Nidana (Causative Factors — Ayurvedic)", 0, True, FOREST),
(" \u2022 Guru (heavy), Ushna, Snigdha Ahara in excess → Pitta-Kapha vriddhi", 1, False, DARK_TEXT),
(" \u2022 Sedentary lifestyle → Meda vriddhi → Adipokine-Leptin axis (contemporary parallel)", 1, False, DARK_TEXT),
(" \u2022 Endocrine disruptors (Agantuja hetu): chemical exposure = Visha-Gara prabhava", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Chikitsa (Ayurvedic Management)", 0, True, FOREST),
(" \u2022 Lekhaniya Dravyas (scraping therapy): Guggulu, Triphala, Vacha — reduces Meda, regulates Shukra", 1, False, DARK_TEXT),
(" \u2022 Shatavari + Brahmi — neuro-endocrine regulation (HPG axis modulation)", 1, False, DARK_TEXT),
(" \u2022 Virechana (mild): Pittashamaka purgation; Rajonisheka Pathya strictly followed", 1, False, DARK_TEXT),
(" \u2022 Ref: Charaka Sharira 8; Kashyapa Samhita, Khila Sthana; Ashtanga Hridayam Sharira 1", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.8)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 6 – DELAYED PUBERTY: CONTEMPORARY SCIENCE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Delayed Puberty — Contemporary Science",
subtitle="Definition | Classification | Etiology | Management")
add_footer(s)
bullets = [
("Definition", 0, True, DEEP_TEAL),
(" \u2022 Absence of breast development by age 13 (girls) or testicular enlargement by 14 (boys)", 1, False, DARK_TEXT),
(" \u2022 OR no menarche within 5 years of onset of puberty [Palmert & Dunkel, NEJM 2012]", 1, False, DARK_TEXT),
("Classification & Etiology", 0, True, DEEP_TEAL),
(" 1. Constitutional Delay of Growth & Puberty (CDGP) — most common (60%); benign, familial", 1, False, DARK_TEXT),
(" 2. Hypogonadotropic Hypogonadism (low FSH/LH):", 1, False, DARK_TEXT),
(" - Kallmann syndrome (GnRH deficiency + anosmia); Pituitary tumors; Chronic illness; Malnutrition", 1, False, DARK_TEXT),
(" 3. Hypergonadotropic Hypogonadism (elevated FSH/LH):", 1, False, DARK_TEXT),
(" - Turner syndrome (45,X); Premature ovarian insufficiency; Gonadal dysgenesis", 1, False, DARK_TEXT),
(" 4. Anatomic: Imperforate hymen, Müllerian agenesis (MRKH)", 1, False, DARK_TEXT),
("Investigations & Management", 0, True, DEEP_TEAL),
(" \u2022 Bone age, Karyotype, FSH/LH/Estradiol/Testosterone, Prolactin, TSH, MRI pituitary", 1, False, DARK_TEXT),
(" \u2022 CDGP: Watchful waiting ± low-dose testosterone/estrogen for 3–6 months to initiate puberty", 1, False, DARK_TEXT),
(" \u2022 HRT (Hormone Replacement) in Turner syndrome; GnRH pump in Kallmann syndrome", 1, False, DARK_TEXT),
(" \u2022 Ref: Goldman-Cecil 26e, Ch. 233; Katzung Pharmacology 16e (GnRH analogs)", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 7 – DELAYED PUBERTY: AYURVEDIC CORRELATION
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Delayed Puberty — Ayurvedic Correlation",
subtitle="Vilambitayauvana | Shukra-Artava Kshaya | Classical Chikitsa")
add_footer(s)
bullets = [
("Ayurvedic Concept — Vilambitayauvana / Artava Kshaya", 0, True, FOREST),
(" \u2022 Delayed puberty = failure of sequential Dhatu paka to reach Shukra / Artava stage", 1, False, DARK_TEXT),
(" \u2022 Root cause: Agni Mandya \u2192 poor Ahara paka \u2192 Dhatu kshaya (Rasa \u2192 Rakta kshaya first)", 1, False, DARK_TEXT),
(" \u2022 Apana Vata dushti: impairs downward movement → Artavaha srotas obstruction", 1, False, DARK_TEXT),
(" \u2022 Turner syndrome \u2194 Sahaja (congenital) Beeja dosha / Kshetra dosha (Charaka Sharira 3)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Nidana (Causative Factors)", 0, True, FOREST),
(" \u2022 Atishodhana (over-purification), excessive exertion, malnutrition, chronic illness", 1, False, DARK_TEXT),
(" \u2022 Manasika Hetu: Chinta, Shoka (stress, grief) → Vata vriddhi → HPG axis suppression", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Chikitsa (Ayurvedic Management)", 0, True, FOREST),
(" \u2022 Deepana-Pachana: Trikatu Churna — restore Agni before Dhatu-vardhaka therapy", 1, False, DARK_TEXT),
(" \u2022 Shatavari Kalpa / Ghrita — Rasayana; phytoestrogen action (Asparagus racemosus)", 1, False, DARK_TEXT),
(" \u2022 Ashwagandha (Withania somnifera) — Balya, Vajikara; supports gonadal steroidogenesis", 1, False, DARK_TEXT),
(" \u2022 Basti Chikitsa (Anuvasan basti): Vata regulation; Ashwagandha taila basti — Dhatuposhaka", 1, False, DARK_TEXT),
(" \u2022 Ref: Charaka Chikitsa 2 (Rasayana); Sushruta Chikitsa 37; Ashtanga Hridayam Uttara 34", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 8 – HETEROSEXUAL / ASYNCHRONOUS PUBERTY + PCOS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Heterosexual & Asynchronous Puberty / PCOS",
subtitle="Virilisation at puberty | Polycystic Ovary — Ayurvedic parallel")
add_footer(s)
bullets = [
("Contemporary — Heterosexual Pubertal Development", 0, True, DEEP_TEAL),
(" \u2022 Most common cause: Polycystic Ovary Syndrome (PCOS) — insulin resistance + androgen excess", 1, False, DARK_TEXT),
(" \u2022 Others: Congenital Adrenal Hyperplasia (21-OH deficiency), Androgen Insensitivity Syndrome (AIS)", 1, False, DARK_TEXT),
(" \u2022 Asynchronous puberty: breast development without pubic/axillary hair → AIS (46,XY)", 1, False, DARK_TEXT),
(" \u2022 PCOS triad: oligo/anovulation + hyperandrogenism + polycystic ovaries (Rotterdam criteria)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Correlation — Pushpaghni Jataharin / Artavadushti", 0, True, FOREST),
(" \u2022 PCOS \u2194 Pushpaghni Jataharin: menstrual flow present but no conception (Kashyapa Samhita)", 1, False, DARK_TEXT),
(" \u2022 Also correlated with Artava dushti (Vata-Kapha predominant) — anovulation + weight gain", 1, False, DARK_TEXT),
(" \u2022 Medovaha srotas dushti → insulin resistance correlation; Kapha-Meda avriti of Artavavaha srotas", 1, False, DARK_TEXT),
(" \u2022 CAH \u2194 Sahaja Pittaja Vikara (congenital Pitta excess) — virilisation = ati-ushna Pitta prabhava", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Management for PCOS in Adolescents", 0, True, FOREST),
(" \u2022 Lekhaniya + Deepana: Kanchanara Guggulu, Triphala, Varanadi Kashaya — reduces ovarian cysts", 1, False, DARK_TEXT),
(" \u2022 Shatapushpa (Anethum sowa) — ovulation inducer; Vata-Kapha shamaka", 1, False, DARK_TEXT),
(" \u2022 Virechana (Pittashamaka): Haritaki / Trivrit — reduces androgen-linked Pitta", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 9 – GYNECOMASTIA & PUBERTAL DISORDERS IN BOYS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Pubertal Disorders in Boys: Gynecomastia & Others",
subtitle="Contemporary & Ayurvedic approach")
add_footer(s)
bullets = [
("Gynecomastia", 0, True, DEEP_TEAL),
(" \u2022 Benign proliferation of glandular breast tissue in males; pubertal form most common (50–70% boys)", 1, False, DARK_TEXT),
(" \u2022 Due to transient estrogen:androgen imbalance at puberty onset (Tanner stage 2–3)", 1, False, DARK_TEXT),
(" \u2022 Usually regresses within 12–24 months; persistent \u2192 investigate for Klinefelter (47,XXY), liver disease", 1, False, DARK_TEXT),
(" \u2022 Ayurvedic: Sthana vriddhi in males = Kapha-Meda vriddhi in Stanya dhatu + Vata-Kapha dushti", 1, False, DARK_TEXT),
(" \u2022 Rx: Lekhaniya Kashaya (Varanadi); Kanchanara Guggulu; Yoga — Surya Namaskar", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Macroorchidism / Micropenis (Pubertal Variants)", 0, True, DEEP_TEAL),
(" \u2022 Macroorchidism (large testes without precocity): Fragile X syndrome association", 1, False, DARK_TEXT),
(" \u2022 Micropenis: Hypogonadotropic hypogonadism / androgen insensitivity", 1, False, DARK_TEXT),
(" \u2022 Ayurvedic: Shukravaha srotas dushti; Medhra vridhi/kshaya — Beeja dosha (Charaka Sharira 3)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Pubertal Gynaecomastia — Key Points", 0, True, MID_TEAL),
(" \u2022 No pharmacological treatment needed in most; reassurance is key", 1, False, DARK_TEXT),
(" \u2022 Ayurvedic counselling: Rajasvala Paricharya equivalent for boys = Sadvritta, Yoga, Pathya", 1, False, DARK_TEXT),
(" \u2022 Ref: Family Medicine 9e (Precocious/Gynecomastia section); Charaka Sharira 3 & 8", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 10 – COMPARATIVE TABLE: MODERN vs AYURVEDA
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Comparative Correlation Table",
subtitle="Modern Pubertal Disorders \u21D4 Ayurvedic Samanya Nidana")
add_footer(s)
headers = ["Modern Disorder", "Ayurvedic Equivalent", "Dosha-Dhatu", "Key Formulation / Chikitsa"]
rows = [
["Central Precocious Puberty", "Atiyauvana / Akala Yauvanaprapti", "Pitta-Kapha vriddhi\nRakta-Shukra ativriddhata", "Shatavari + Brahmi; Virechana"],
["Premature Thelarche / Adrenarche", "Atipitta prabhava\n(partial Pitta excess)", "Pitta + Meda vriddhi", "Triphala Churna;\nLekhaniya dravyas"],
["Constitutional Delayed Puberty", "Vilambitayauvana (benign)", "Vata dushti +\nAgni mandya", "Trikatu + Ashwagandha;\nDeepa-Pachana"],
["Hypogonadotropic Hypogonadism", "Shukra / Artava Kshaya\n(Agni mandya root)", "Vata + Dhatu kshaya", "Shatavari; Anuvasan Basti;\nAshwagandha Ghrita"],
["Turner Syndrome", "Sahaja Kshetra Dosha\n(congenital Artava kshaya)", "Beeja dosha + Vata", "Rasayana; supportive Balya"],
["PCOS at Puberty", "Pushpaghni Jataharin\n(Kashyapa)", "Kapha-Meda avriti\n+ Vata dushti", "Kanchanara Guggulu;\nShatapushpa; Virechana"],
["Pubertal Gynecomastia", "Kapha-Meda Stana Vridhi", "Kapha + Meda vriddhi", "Varanadi Kashaya;\nKanchanara Guggulu"],
]
col_widths = [2.85, 3.0, 2.55, 4.6]
col_x = [0.2, 3.1, 6.15, 8.75]
row_h = 0.68
sy = 1.35
for ci, (hdr, cw, cx) in enumerate(zip(headers, col_widths, col_x)):
add_rect(s, cx, sy, cw, 0.48, DEEP_TEAL)
add_tb(s, hdr, cx+0.04, sy+0.02, cw-0.08, 0.44,
fsize=12, bold=True, color=WHITE,
align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
for ri, row in enumerate(rows):
ry = sy + 0.48 + ri * row_h
bg = TEAL_LIGHT if ri % 2 == 0 else CREAM
for ci, (cell, cw, cx) in enumerate(zip(row, col_widths, col_x)):
add_rect(s, cx, ry, cw, row_h - 0.03, bg, DEEP_TEAL)
add_tb(s, cell, cx+0.05, ry+0.02, cw-0.1, row_h-0.07,
fsize=11, color=DARK_TEXT,
align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 11 – ROLE OF KAUMARABHRITYA & AYURVEDIC MANAGEMENT PROTOCOL
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Role of Kaumarabhritya: Management Protocol",
subtitle="Integrated Ayurvedic stepwise approach to pubertal disorders")
add_footer(s)
steps = [
("STEP 1\nAssessment",
"Nidana Panchaka + Ashtavidha Pariksha\nBone age / Tanner staging\nPrakriti & Vikriti determination"),
("STEP 2\nNidana Parivarjana",
"Remove causative factors\nPathya Ahara-Vihara; address stress\nEndo-disruptors avoidance"),
("STEP 3\nDeepana-Pachana",
"Trikatu Churna / Chitrakadi Vati\nRestore Jatharagni\nEnhance Dhatu paka"),
("STEP 4\nShodhana (if needed)",
"Mridu Virechana — Pitta dominance\nAnuvasan Basti — Vata+Dhatukshaya\n(Age-appropriate; avoid strong Shodhana <12 yr)"),
("STEP 5\nShamana Aushadhi",
"Precocious: Shatavari + Triphala\nDelayed: Ashwagandha + Shatavari Ghrita\nPCOS: Kanchanara Guggulu + Shatapushpa"),
("STEP 6\nRasayana + Follow-up",
"Amalaki Rasayana / Chandraprabha Vati\nMonitor Tanner stage + bone age\nReassess at 3 & 6 months"),
]
box_w = 3.85; box_h = 1.55
for i, (title, content) in enumerate(steps):
col = i % 2; row = i // 2
bx = 0.3 + col * 6.6; by = 1.38 + row * 1.68
add_rect(s, bx, by, box_w + 0.25, box_h, DEEP_TEAL)
add_tb(s, title, bx+0.07, by+0.05, box_w+0.1, 0.42,
fname="Georgia", fsize=13, bold=True,
color=GOLD, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)
add_tb(s, content, bx+0.07, by+0.48, box_w+0.1, 1.0,
fsize=11.5, color=WHITE, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.TOP)
# Arrows
for ax in [2.1, 8.7]:
for row in range(2):
ay = 1.38 + row * 1.68 + box_h
add_tb(s, "\u25BC", ax, ay+0.04, 0.4, 0.25,
fsize=16, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 12 – CONCLUSION & REFERENCES
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Conclusion & References")
add_footer(s)
add_rect(s, 0.25, 1.35, 12.85, 3.3, DEEP_TEAL)
add_tb(s, "Key Conclusions", 0.3, 1.38, 12.7, 0.38,
fname="Georgia", fsize=16, bold=True,
color=GOLD, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)
conc = (
"\u2022 Pubertal disorders span a wide spectrum — precocious, delayed, heterosexual — all with well-defined contemporary and Ayurvedic frameworks.\n"
"\u2022 Kaumarabhritya uniquely positions Ayurveda for early pubertal care: Rajonisheka Pathya, Dhatu-paka monitoring, Rasayana use.\n"
"\u2022 Dosha-Dhatu correlation offers practical diagnostic and therapeutic direction: Pitta-Kapha in precocity; Vata-Dhatu kshaya in delayed puberty.\n"
"\u2022 Classical formulations (Shatavari, Ashwagandha, Kanchanara Guggulu) are evidence-supported with favourable safety profiles in adolescents.\n"
"\u2022 Integrated approach (Shodhana \u2192 Shamana \u2192 Rasayana) is holistic and addresses root cause — not just symptom suppression."
)
add_tb(s, conc, 0.35, 1.79, 12.6, 2.8,
fsize=13, color=WHITE, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.TOP)
add_tb(s, "Key References", 0.25, 4.74, 12.85, 0.3,
fname="Georgia", fsize=14, bold=True,
color=DEEP_TEAL, align=PP_ALIGN.LEFT)
refs_text = (
"1. Charaka Samhita: Sharira Sthana 3, 8; Chikitsa Sthana 1, 2. | "
"2. Sushruta Samhita: Sharira 3; Chikitsa 37. | "
"3. Kashyapa Samhita: Khila Sthana (Pushpaghni Jataharin).\n"
"4. Ashtanga Hridayam: Sharira 1; Uttara Tantra 34. | "
"5. Berek & Novak's Gynecology 16e, Ch. 8 (Pubertal Aberrations). | "
"6. Goldman-Cecil Medicine 26e, Ch. 233 (Puberty).\n"
"7. Palmert M, Dunkel L. Delayed Puberty. NEJM 2012;366:443–453. | "
"8. Katzung Pharmacology 16e (GnRH analogs, Ch. 40). | "
"9. WJPLS 2022 — Ayurvedic Concept of Puberty; WJPMR 2026 — Delayed Puberty & Ayurveda."
)
add_tb(s, refs_text, 0.25, 5.09, 12.85, 1.9,
fsize=10.5, color=RGBColor(0x22,0x22,0x22), align=PP_ALIGN.LEFT)
# ═════════════════════════════════════════════════════════════════════════════
out = "/tmp/workspace/disorders-puberty-ppt/Disorders_in_Puberty_Kaumarabhritya.pptx"
prs.save(out)
print(f"Saved: {out} | Slides: {len(prs.slides)}")
cd /tmp/workspace/disorders-puberty-ppt && python build_ppt.py 2>&1
python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/disorders-puberty-ppt/Disorders_in_Puberty_Kaumarabhritya.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [sh.text_frame.text[:70].replace(chr(10),' ') for sh in slide.shapes if sh.has_text_frame and sh.text_frame.text.strip()] print(f'Slide {i}: {texts[0] if texts else \"(empty)\"}') "
Disorders in Puberty Kaumarabhritya
Presentation · PPTX
| # | Slide Title | Key Content |
|---|---|---|
| 1 | Title Slide | Topic, PG Scholar, Guide, Department & Institution |
| 2 | Normal Puberty: A Dual Perspective | Contemporary (HPG axis, Tanner stages) vs. Ayurvedic (Rajonisheka, Saptadhatu paka, Shukra dhatu maturation) |
| 3 | Classification of Pubertal Disorders | Two-column layout — Modern (Precocious / Delayed / Heterosexual) vs. Ayurvedic (Atiyauvana / Vilambitayauvana / Vishama Yauvanarambha) |
| 4 | Precocious Puberty — Contemporary | Definition, central vs. peripheral, etiology, investigations, GnRHa management |
| 5 | Precocious Puberty — Ayurvedic | Atiyauvana, Pitta-Kapha vriddhi, Medovaha srotas dushti (obesity-leptin axis), Chikitsa |
| 6 | Delayed Puberty — Contemporary | CDGP, Kallmann syndrome, Turner syndrome, hypogonadism types, karyotype, HRT |
| 7 | Delayed Puberty — Ayurvedic | Vilambitayauvana, Shukra-Artava Kshaya, Apana Vata dushti, Shatavari, Ashwagandha Basti |
| 8 | Heterosexual / Asynchronous Puberty & PCOS | Rotterdam criteria, PCOS ↔ Pushpaghni Jataharin (Kashyapa), CAH ↔ Pitta Vikara, Kanchanara Guggulu |
| 9 | Pubertal Disorders in Boys | Gynecomastia, macroorchidism, micropenis — contemporary + Ayurvedic (Kapha-Meda, Beeja dosha) |
| 10 | Comparative Correlation Table | 7-row formatted table: Modern disorder ↔ Ayurvedic equivalent ↔ Dosha-Dhatu ↔ Key formulation |
| 11 | Management Protocol (Kaumarabhritya) | 6-step flowchart: Assessment → Nidana Parivarjana → Deepana-Pachana → Shodhana → Shamana → Rasayana |
| 12 | Conclusion & References | 5 key conclusions + 9 references (Charaka, Sushruta, Kashyapa, Berek & Novak, Goldman-Cecil, NEJM) |
give ppt of 10-12 slides on the topic "Ultra processed food & sedantory life style on pubertal disorders" corelation with ayurveda & contemporary science references as PG scholar from department in kaumarabhritya
ultra processed food sedentary lifestyle precocious puberty PCOS menstrual disorders adolescent evidence 2023 2024
https://www.frontiersin.org/journals/nutrition/articles/10.3…
Ayurveda ultra processed food Ahara dushti viruddha ahara Medoroga adolescent kaumarabhritya
mkdir -p /tmp/workspace/upf-puberty-ppt
~/upf-puberty-ppt/build_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# ── PALETTE ───────────────────────────────────────────────────────────────────
DARK_OLIVE = RGBColor(0x3B, 0x4A, 0x1A) # header bars (earthy-green)
SAFFRON = RGBColor(0xE8, 0x7F, 0x0A) # accent / arrows
GOLD = RGBColor(0xF5, 0xC5, 0x18) # sub-text on dark
CREAM = RGBColor(0xFF, 0xFC, 0xF0) # slide bg
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x1A)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
RUST = RGBColor(0x9C, 0x27, 0x10) # warning / highlight
MID_OLIVE = RGBColor(0x5C, 0x72, 0x28) # Ayurveda column
TEAL_BG = RGBColor(0xD4, 0xED, 0xDA) # alternate row
DEEP_MAROON = RGBColor(0x6B, 0x17, 0x2B)
LIGHT_AMBER = RGBColor(0xFF, 0xF3, 0xCD)
# ── HELPERS ───────────────────────────────────────────────────────────────────
def bg(slide, color=CREAM):
f = slide.background.fill; f.solid(); f.fore_color.rgb = color
def rect(slide, x, y, w, h, fc, lc=None):
s = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
s.fill.solid(); s.fill.fore_color.rgb = fc
s.line.fill.background() if not lc else setattr(s.line.color, 'rgb', lc)
return s
def tb(slide, text, x, y, w, h,
fn="Calibri", fs=16, bold=False, italic=False,
col=DARK_TEXT, al=PP_ALIGN.LEFT, wrap=True, va=MSO_ANCHOR.TOP):
t = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = t.text_frame; tf.word_wrap = wrap; tf.vertical_anchor = va
tf.margin_left = tf.margin_right = Inches(0.06)
tf.margin_top = tf.margin_bottom = Inches(0.03)
p = tf.paragraphs[0]; p.alignment = al
r = p.add_run(); r.text = text
r.font.name=fn; r.font.size=Pt(fs); r.font.bold=bold
r.font.italic=italic; r.font.color.rgb=col
return tf
def header(slide, title, sub=None):
rect(slide, 0, 0, 13.333, 1.18, DARK_OLIVE)
rect(slide, 0, 1.18, 13.333, 0.07, SAFFRON)
tb(slide, title, 0.25, 0.07, 12.8, 0.78,
fn="Georgia", fs=27, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
if sub:
tb(slide, sub, 0.25, 0.82, 12.8, 0.34,
fs=13, italic=True, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
def footer(slide, t="Dept. of Kaumarabhritya | PG Scholar Presentation | UPF & Sedentary Lifestyle on Pubertal Disorders"):
rect(slide, 0, 7.1, 13.333, 0.4, DARK_OLIVE)
tb(slide, t, 0.3, 7.12, 12.7, 0.3,
fs=9.5, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
def bullets(slide, items, x=0.35, y=1.33, w=12.6, h=5.5, fs=15.5):
box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = box.text_frame; tf.word_wrap = True
tf.margin_left = tf.margin_right = Inches(0.08)
tf.margin_top = tf.margin_bottom = Inches(0.04)
first = True
for b in items:
if isinstance(b, str): b = (b, 0, False, DARK_TEXT)
txt, lvl, bld, clr = b
p = tf.paragraphs[0] if first else tf.add_paragraph()
first = False; p.level = lvl; p.space_before = Pt(5 if lvl==0 else 2)
r = p.add_run(); r.text = txt
r.font.name="Calibri"; r.font.size=Pt(fs - lvl*1.5)
r.font.bold=bld; r.font.color.rgb=clr
# ═════════════════════════════════════════════════════════════════
# SLIDE 1 — TITLE
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
rect(s, 0, 0, 13.333, 2.0, DARK_OLIVE)
rect(s, 0, 2.0, 13.333, 0.1, SAFFRON)
rect(s, 0, 6.6, 13.333, 0.9, DARK_OLIVE)
rect(s, 0, 6.56, 13.333, 0.07, SAFFRON)
tb(s, "ULTRA PROCESSED FOOD &\nSEDENTARY LIFESTYLE ON\nPUBERTAL DISORDERS",
0.4, 0.1, 12.5, 1.8,
fn="Georgia", fs=30, bold=True,
col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
tb(s, "Correlation with Ayurveda & Contemporary Science",
0.4, 2.15, 12.5, 0.62,
fn="Georgia", fs=20, italic=True,
col=DARK_OLIVE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
rect(s, 3.2, 2.9, 6.9, 0.06, SAFFRON)
tb(s, "Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
0.4, 3.05, 12.5, 1.0,
fs=17, col=DARK_TEXT, al=PP_ALIGN.CENTER)
tb(s, "Under the Guidance of:\n[Name of Guide / HOD]",
0.4, 4.15, 12.5, 0.75,
fs=14, italic=True, col=MID_OLIVE, al=PP_ALIGN.CENTER)
tb(s, "[Name of Institution] | [University] | July 2026",
0.4, 5.05, 12.5, 0.55,
fs=12.5, col=RGBColor(0x44,0x44,0x44), al=PP_ALIGN.CENTER)
tb(s, "Dept. of Kaumarabhritya | PG Scholar Presentation | UPF & Sedentary Lifestyle on Pubertal Disorders",
0.3, 6.65, 12.7, 0.3, fs=9.5, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
# ═════════════════════════════════════════════════════════════════
# SLIDE 2 — INTRODUCTION & GLOBAL BURDEN
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Introduction & Global Burden",
sub="The modern adolescent health crisis — epidemiological evidence")
footer(s)
bullets(s, [
("Changing Adolescent Lifestyle: A Global Concern", 0, True, DARK_OLIVE),
(" \u2022 Ultra Processed Foods (UPFs): NOVA Group 4 — industrially formulated; high sugar, trans-fat, sodium; low fibre", 1, False, DARK_TEXT),
(" \u2022 UPF consumption contributes to >58% of total caloric intake in adolescents in high-income countries (Monteiro et al., 2019)", 1, False, DARK_TEXT),
(" \u2022 Sedentary screen time in Indian adolescents: 5–9 hrs/day (ICMR-NIN, 2021)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Key Epidemiological Data", 0, True, DARK_OLIVE),
(" \u2022 Adolescents with highest UPF intake had 63% greater odds of overweight/obesity (PLOS ONE Meta-analysis, 2024)", 1, False, DARK_TEXT),
(" \u2022 World Obesity Atlas 2023: ~23% of girls and 33% of boys globally will have obesity by 2035", 1, False, DARK_TEXT),
(" \u2022 UPF consumption associated with elevated Free Androgen Index (FAI) in pubertal girls — PCOS risk (Zhao et al., Front Nutr 2024)", 1, False, DARK_TEXT),
(" \u2022 Physical inactivity + UPF diet = most prevalent combined risk factors in Brazilian school adolescents (Araujo et al., 2022)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Relevance to Kaumarabhritya", 0, True, MID_OLIVE),
(" \u2022 Kaumarabhritya (0–16 yr) is uniquely positioned to address lifestyle-pubertal disorder nexus", 1, False, DARK_TEXT),
(" \u2022 Ayurveda's Ahara-Vihara principles provide preventive & therapeutic framework for this epidemic", 1, False, DARK_TEXT),
], fs=15)
# ═════════════════════════════════════════════════════════════════
# SLIDE 3 — WHAT ARE ULTRA PROCESSED FOODS (UPFs)?
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ultra Processed Foods (UPFs) — Definition & Classification",
sub="NOVA Food Classification System & Ayurvedic parallel — Viruddha Ahara / Apathya Dravyas")
footer(s)
# Two-column
rect(s, 0.25, 1.33, 6.0, 5.55, LIGHT_AMBER)
rect(s, 0.25, 1.33, 6.0, 0.44, RUST)
tb(s, "Contemporary (NOVA Classification)", 0.25, 1.33, 6.0, 0.44,
fn="Georgia", fs=14, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
modern = [
"NOVA Group 4 — Ultra Processed Foods:",
" \u2022 Packaged snacks, chips, biscuits",
" \u2022 Carbonated drinks, energy drinks, flavoured milk",
" \u2022 Instant noodles, ready meals, fast food",
" \u2022 Breakfast cereals with added sugar",
" \u2022 Processed meat (sausages, nuggets)",
"",
"Harmful Constituents:",
" \u2022 Trans-fats, refined sugars, excess sodium",
" \u2022 Artificial colours, preservatives, emulsifiers",
" \u2022 Endocrine Disrupting Chemicals (EDCs):",
" — Bisphenol-A (BPA), Phthalates",
" — PFAS, Acrylamide, Micro/nano plastics",
" \u2022 Low fibre, low micronutrients",
" \u2022 High glycemic load \u2192 insulin resistance",
]
bx = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.8), Inches(4.9))
tf = bx.text_frame; tf.word_wrap = True
for i, pt in enumerate(modern):
p = tf.paragraphs[0] if i==0 else tf.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name="Calibri"; r.font.size=Pt(12.5)
r.font.bold = pt.endswith(":") and not pt.startswith(" ")
r.font.color.rgb = RUST if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT
rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xE8,0xF5,0xE9))
rect(s, 6.65, 1.33, 6.45, 0.44, MID_OLIVE)
tb(s, "Ayurvedic Parallel — Viruddha Ahara", 6.65, 1.33, 6.45, 0.44,
fn="Georgia", fs=14, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
ayur = [
"Viruddha Ahara (Incompatible Food):",
" \u2022 Charaka Sutrasthana 26: foods that vitiate doshas",
" without nourishing dhatus = Viruddha",
"",
"Apathya Dravyas (Unwholesome foods):",
" \u2022 Ati Lavana (excess salt) \u2192 Rakta dushti",
" \u2022 Ati Madhura (excess sugar) \u2192 Kapha-Meda vriddhi",
" \u2022 Abhishyandi (mucus-forming) foods \u2192 srotas blockage",
" \u2022 Paryushita (stale/stored) food \u2192 Ama formation",
" \u2022 Krimija Dravyas (chemical preservatives)\n \u2194 Visha-Gara prabhava (toxic effects)",
"",
"Ama Concept:",
" \u2022 Poorly digested metabolites = Ama",
" \u2022 Ama blocks Srotas \u2192 Artavaha srotas\n dushti \u2192 pubertal disorder",
]
bx2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = bx2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(ayur):
p = tf2.paragraphs[0] if i==0 else tf2.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name="Calibri"; r.font.size=Pt(12.5)
r.font.bold = pt.endswith(":") and not pt.startswith(" ")
r.font.color.rgb = MID_OLIVE if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT
# ═════════════════════════════════════════════════════════════════
# SLIDE 4 — UPF MECHANISMS ON PUBERTY (CONTEMPORARY)
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "How UPFs Disrupt Puberty — Mechanisms",
sub="Hormonal, metabolic & endocrine-disrupting pathways")
footer(s)
bullets(s, [
("1. Obesity & Adipose-Leptin-GnRH Axis", 0, True, RUST),
(" \u2022 UPFs \u2192 excess caloric intake \u2192 adiposity \u2192 raised leptin levels", 1, False, DARK_TEXT),
(" \u2022 Leptin signals the HPG axis to initiate puberty prematurely \u2192 Precocious Puberty", 1, False, DARK_TEXT),
(" \u2022 Girls with BMI >85th percentile: menarche ~6 months earlier than normal weight peers", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("2. Hyperinsulinism & Androgen Excess", 0, True, RUST),
(" \u2022 High glycaemic UPFs \u2192 insulin resistance \u2192 raised IGF-1 \u2192 stimulates gonadal androgen secretion", 1, False, DARK_TEXT),
(" \u2022 Elevated Free Androgen Index (FAI) in pubertal girls with high UPF intake [Zhao et al., Front Nutr 2024]", 1, False, DARK_TEXT),
(" \u2022 FAI links UPF \u2192 PCOS, acne, hirsutism in adolescent females", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("3. Endocrine Disrupting Chemicals (EDCs) in UPF Packaging", 0, True, RUST),
(" \u2022 Bisphenol-A (BPA): estrogenic activity \u2192 premature thelarche / precocious puberty", 1, False, DARK_TEXT),
(" \u2022 Phthalates: anti-androgenic \u2192 delayed male puberty, gynecomastia", 1, False, DARK_TEXT),
(" \u2022 PFAS, Acrylamide: disrupt sex hormone homeostasis; classified probable human carcinogens", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("4. Gut Microbiome Disruption", 0, True, RUST),
(" \u2022 Emulsifiers, preservatives in UPFs dysregulate gut microbiota \u2192 altered estrogen enterohepatic circulation", 1, False, DARK_TEXT),
(" \u2022 Dysbiosis \u2192 increased systemic inflammation \u2192 HPG axis perturbation", 1, False, DARK_TEXT),
], fs=14.5)
# ═════════════════════════════════════════════════════════════════
# SLIDE 5 — SEDENTARY LIFESTYLE MECHANISMS (CONTEMPORARY)
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Sedentary Lifestyle — Mechanisms on Pubertal Health",
sub="Screen time, physical inactivity and hormonal consequences")
footer(s)
bullets(s, [
("Sedentary Behaviour — Definition & Extent", 0, True, DEEP_MAROON),
(" \u2022 Sedentary behaviour: <1.5 MET activities (sitting, screen use); distinct from lack of exercise", 1, False, DARK_TEXT),
(" \u2022 Indian adolescents: average 7–9 hrs/day sedentary; physical activity <60 min/day recommended (WHO)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Mechanisms Affecting Puberty", 0, True, DEEP_MAROON),
(" \u2022 Obesity pathway: Physical inactivity \u2192 Meda (fat) accumulation \u2192 Leptin excess \u2192 early GnRH secretion", 1, False, DARK_TEXT),
(" \u2022 Circadian disruption: Screen blue light \u2192 suppressed melatonin \u2192 disrupted GnRH pulsatility", 1, False, DARK_TEXT),
(" \u2022 Reduced SHBG: Sedentary + UPF \u2192 hyperinsulinism \u2192 low SHBG \u2192 elevated free androgens", 1, False, DARK_TEXT),
(" \u2022 Psychological: Screen-mediated stress \u2192 elevated cortisol \u2192 suppresses HPG axis \u2192 delayed puberty in some", 1, False, DARK_TEXT),
(" \u2022 Skeletal: Low weight-bearing activity \u2192 poor bone mineral density + slow linear growth", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Key Evidence", 0, True, DEEP_MAROON),
(" \u2022 PLOS ONE meta-analysis 2024: Insufficient physical activity = most prevalent NCD risk factor in adolescents", 1, False, DARK_TEXT),
(" \u2022 WHO 2022: 81% of school-going adolescents globally fail to meet recommended physical activity levels", 1, False, DARK_TEXT),
(" \u2022 Sedentary + UPF combination: OR=2.74 for obesity in adolescents (Louzada et al., 2015)", 1, False, DARK_TEXT),
], fs=14.8)
# ═════════════════════════════════════════════════════════════════
# SLIDE 6 — AYURVEDIC ANALYSIS: AHARA-VIHARA DUSHTI
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ayurvedic Analysis: Ahara-Vihara Dushti",
sub="How UPF & sedentary behaviour cause disease — classical Nidana Panchaka")
footer(s)
bullets(s, [
("Nidana (Causative Factors) — Ahara Hetu", 0, True, MID_OLIVE),
(" \u2022 Guru (heavy), Snigdha (oily), Ati Madhura, Ati Lavana Ahara \u2192 Kapha-Pitta-Meda vriddhi", 1, False, DARK_TEXT),
(" \u2022 Paryushita (stale/stored) food, Dushta Ahara (adulterated) \u2192 Ama formation \u2192 Agni mandya", 1, False, DARK_TEXT),
(" \u2022 Viruddha Ahara (incompatible combinations) \u2192 Srotas dushti \u2192 Artavaha srotas blockage", 1, False, DARK_TEXT),
(" \u2022 Krimija dravyas (chemical additives/preservatives) \u2192 Visha-Gara prabhava \u2192 endocrine disruption", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Nidana — Vihara Hetu (Sedentary Lifestyle)", 0, True, MID_OLIVE),
(" \u2022 Ati Swapna (excess sleep/screen rest) + Alasya (inactivity) \u2192 Kapha vriddhi \u2192 Meda sanchaya", 1, False, DARK_TEXT),
(" \u2022 Vegadharana (suppression of natural urges) from sedentary habits \u2192 Apana Vata dushti", 1, False, DARK_TEXT),
(" \u2022 Manasika Hetu: Tarka, Chinta (screen-induced stress) \u2192 Vata-Pitta dushti \u2192 HPG axis disruption", 1, False, DARK_TEXT),
(" \u2022 Divaswapna (day sleep) \u2192 Agni mandya \u2192 Dhatu aparipakvata (immature dhatu formation)", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Samprapti (Pathogenesis) — Summary", 0, True, SAFFRON),
(" \u2022 Dosha: Kapha+Pitta vriddhi (precocious) OR Vata+Dhatu kshaya (delayed puberty)", 1, False, DARK_TEXT),
(" \u2022 Dushya: Rasa, Rakta, Meda dhatu; Artavaha & Medovaha srotas vitiation", 1, False, DARK_TEXT),
(" \u2022 Result: Atiyauvana (precocious) / Vilambitayauvana (delayed) / Pushpaghni Jataharin (PCOS)", 1, False, DARK_TEXT),
], fs=14.8)
# ═════════════════════════════════════════════════════════════════
# SLIDE 7 — SPECIFIC PUBERTAL DISORDERS LINKED TO UPF & SEDENTARY LIFE
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Pubertal Disorders Linked to UPF & Sedentary Lifestyle",
sub="Clinical spectrum — Modern & Ayurvedic correlation")
footer(s)
headers_t = ["Pubertal Disorder", "Modern Mechanism", "Ayurvedic Correlation", "Dosha-Dhatu"]
rows_t = [
["Precocious Puberty", "Leptin excess from adiposity\n\u2192 early GnRH activation; BPA estrogenic EDC",
"Atiyauvana;\nPitta-Kapha vriddhi;\nMedovaha srotas dushti", "Pitta+Kapha\nRakta-Meda"],
["PCOS at Puberty", "Insulin resistance\n\u2192 androgen excess (FAI \u2191); UPF fat \u2192 FAI in girls",
"Pushpaghni Jataharin\n(Kashyapa Samhita);\nKapha-Meda avriti", "Kapha+Vata\nMeda-Artava"],
["Menstrual Irregularity\n(Oligomenorrhoea)", "Anovulation from obesity-\nhyperandrogenism; stress",
"Artava Kshaya;\nApana Vata dushti;\nArtavaha srotas dushti", "Vata+Kapha\nArtava"],
["Delayed Puberty\n(Nutritional)", "Malnutrition from\nUPF-displaced diets;\nlow micronutrients",
"Vilambitayauvana;\nDhatu kshaya;\nAgni mandya", "Vata\nRasa-Shukra kshaya"],
["Pubertal Gynecomastia\n(Boys)", "Phthalates \u2192 anti-androgen;\nelevated estrogen:androgen ratio",
"Kapha-Meda Stana\nvriddhi; Beeja dosha\naugmented", "Kapha+Meda"],
["Acne / Seborrhoea", "High GI UPF \u2192 IGF-1 \u2192\nandrogen-driven sebum", "Yuvanpidika;\nPitta+Kapha dushti\nTwak dosha", "Pitta+Kapha\nRakta"],
]
col_w = [2.4, 3.2, 3.2, 3.0]
col_x = [0.18, 2.63, 5.88, 9.13]
sy = 1.35; rh = 0.82
for ci, (hdr, cw, cx) in enumerate(zip(headers_t, col_w, col_x)):
rect(s, cx, sy, cw, 0.48, DARK_OLIVE)
tb(s, hdr, cx+0.04, sy+0.02, cw-0.08, 0.44,
fs=12, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
for ri, row in enumerate(rows_t):
ry = sy + 0.48 + ri * rh
bg_c = LIGHT_AMBER if ri % 2 == 0 else CREAM
for ci, (cell, cw, cx) in enumerate(zip(row, col_w, col_x)):
rect(s, cx, ry, cw, rh-0.03, bg_c, DARK_OLIVE)
tb(s, cell, cx+0.05, ry+0.02, cw-0.1, rh-0.07,
fs=11, col=DARK_TEXT, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)
# ═════════════════════════════════════════════════════════════════
# SLIDE 8 — MEDOROGA & STHOULYA: AYURVEDIC OBESITY-PUBERTY LINK
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Sthoulya (Obesity) & Medoroga: Ayurvedic Lens",
sub="Central Pathogenic Link between UPF/Sedentary Lifestyle and Pubertal Disorders")
footer(s)
bullets(s, [
("Sthoulya — Classical Definition & Samprapti", 0, True, MID_OLIVE),
(" \u2022 Charaka Sutrasthana 21: Sthoulya = excessive Meda dhatu accumulation due to Kapha-Meda vriddhi", 1, False, DARK_TEXT),
(" \u2022 Nidana: Guru, Snigdha, Madhura Ahara + Ati Swapna + Avyayama (inactivity)", 1, False, DARK_TEXT),
(" \u2022 Samprapti: Kapha+Meda \u2192 Agni mandya \u2192 Ama accumulation \u2192 Srotas dushti (Medovaha, Artavaha)", 1, False, DARK_TEXT),
(" \u2022 Ashtaninditiya Purusha (Ch. Su.21): Ati-sthula is 1st among 8 most criticised body types", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Medoroga \u2194 Obesity-Linked Precocious Puberty", 0, True, MID_OLIVE),
(" \u2022 Excess Meda dhatu \u2192 Adipokine analogy: Meda=adipose tissue; Medagni=lipid metabolism", 1, False, DARK_TEXT),
(" \u2022 Medovaha srotas dushti \u2192 hormonal milieu disturbance = Leptin-GnRH axis disruption (contemporary parallel)", 1, False, DARK_TEXT),
(" \u2022 Kapha Meda avriti of Artavavaha srotas \u2192 PCOS / anovulation", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Management of Sthoulya in Adolescents", 0, True, MID_OLIVE),
(" \u2022 Lekhaniya Gana (scraping drugs): Guggulu, Triphala, Vacha, Musta \u2014 reduces Kapha-Meda", 1, False, DARK_TEXT),
(" \u2022 Udwartana (dry powder massage): improves Agni, reduces Meda, Kapha", 1, False, DARK_TEXT),
(" \u2022 Virechana (Mridu): Haritaki Churna; Kapha-Pittashamaka purgation", 1, False, DARK_TEXT),
(" \u2022 Avyayama correction: Laghu Vyayama, Yoga, Surya Namaskar — age-appropriate activity", 1, False, DARK_TEXT),
(" \u2022 Ref: Charaka Sutrasthana 21; Ashtanga Hridayam Sutrasthana 14 (Sthoulya Chikitsa)", 1, False, DARK_TEXT),
], fs=14.5)
# ═════════════════════════════════════════════════════════════════
# SLIDE 9 — PATHYA-APATHYA & DINACHARYA CORRECTIONS
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Pathya-Apathya & Dinacharya Corrections",
sub="Ayurvedic dietary & lifestyle prescription for adolescent pubertal health")
footer(s)
rect(s, 0.25, 1.33, 6.0, 5.55, RGBColor(0xE8,0xF5,0xE9))
rect(s, 0.25, 1.33, 6.0, 0.44, MID_OLIVE)
tb(s, "PATHYA (Wholesome — Do's)", 0.25, 1.33, 6.0, 0.44,
fn="Georgia", fs=15, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xFF,0xEB,0xEB))
rect(s, 6.65, 1.33, 6.45, 0.44, RUST)
tb(s, "APATHYA (Unwholesome — Don'ts)", 6.65, 1.33, 6.45, 0.44,
fn="Georgia", fs=15, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
pathya = [
"Ahara (Diet — Wholesome):",
" \u2022 Freshly cooked, seasonal, locally grown food",
" \u2022 Sattvika Ahara: Shali rice, yava (barley), moong dal",
" \u2022 Amalaki (Vit C), Pomegranate, Sesame, Jaggery",
" \u2022 Ragi, green leafy vegetables — iron & calcium",
" \u2022 Warm water, Takra (buttermilk), cow's milk",
"",
"Vihara (Lifestyle — Wholesome):",
" \u2022 Dinacharya: fixed wake-sleep routine",
" \u2022 Laghu Vyayama: Yoga, Surya Namaskar, walking",
" \u2022 Pranayama: Anulom-Vilom, Bhramari (15 min/day)",
" \u2022 Abhyanga (oil massage): Vata regulation",
" \u2022 Screen time <2 hr/day; outdoor play",
" \u2022 Brahmacharya Pathya during Rajonisheka phase",
]
bx = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.8), Inches(4.9))
tf = bx.text_frame; tf.word_wrap = True
for i, pt in enumerate(pathya):
p = tf.paragraphs[0] if i==0 else tf.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name="Calibri"; r.font.size=Pt(12.5)
r.font.bold = pt.endswith(":") and not pt.startswith(" ")
r.font.color.rgb = MID_OLIVE if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT
apathya = [
"Ahara (Diet — Unwholesome):",
" \u2022 All NOVA Group 4 UPFs: chips, sugary drinks,\n instant noodles, packaged biscuits",
" \u2022 Ati Madhura (excess sugar): Kapha-Meda vriddhi",
" \u2022 Ati Lavana, Ati Amla \u2192 Rakta-Pitta dushti",
" \u2022 Paryushita (stale) food \u2192 Ama formation",
" \u2022 Refrigerated/frozen foods \u2192 Agni mandya",
"",
"Vihara (Lifestyle — Unwholesome):",
" \u2022 Ati Swapna (excess sleep/rest) \u2192 Kapha vriddhi",
" \u2022 Divaswapna (day sleep) \u2192 Agni mandya",
" \u2022 Ati screen time \u2192 Melatonin disruption + stress",
" \u2022 Vegadharana (urge suppression) \u2192 Apana Vata",
" \u2022 Chinta-Shoka (anxiety/social media stress)",
" \u2022 Avyayama (physical inactivity) \u2192 Meda sanchaya",
]
bx2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = bx2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(apathya):
p = tf2.paragraphs[0] if i==0 else tf2.add_paragraph()
p.space_before = Pt(3)
r = p.add_run(); r.text = pt
r.font.name="Calibri"; r.font.size=Pt(12.5)
r.font.bold = pt.endswith(":") and not pt.startswith(" ")
r.font.color.rgb = RUST if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT
# ═════════════════════════════════════════════════════════════════
# SLIDE 10 — AYURVEDIC CHIKITSA PROTOCOL
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ayurvedic Chikitsa Protocol",
sub="Stepwise management for UPF/sedentary-linked pubertal disorders in adolescents")
footer(s)
steps = [
("STEP 1\nAssessment",
"Prakriti + Nadi Pariksha + Tanner staging\nBMI, waist circumference, Agni assessment\nNidana Panchaka — identify Ahara-Vihara dushti"),
("STEP 2\nNidana Parivarjana",
"Strict elimination of UPFs; screen time reduction\nPathya Ahara counselling (whole foods)\nEstablish Dinacharya & Ritucharya"),
("STEP 3\nAma Pachana",
"Trikatu Churna / Chitrakadi Vati — 1–2 weeks\nWarm water sipping (Ushna Jala)\nRestore Jatharagni before Shodhana"),
("STEP 4\nShodhana (Age-appropriate)",
"Mridu Virechana (Haritaki/Trivrit):\nKapha-Pitta dominant disorders\nUdwartana: Kolakulatthadi Churna"),
("STEP 5\nShamana Aushadhi",
"Precocious / PCOS: Kanchanara Guggulu +\n Shatapushpa + Triphala\nDelayed: Ashwagandha + Shatavari Ghrita"),
("STEP 6\nRasayana + Follow-up",
"Amalaki Rasayana / Brahma Rasayana\nYoga + Pranayama prescription\nMonitor BMI, menstrual cycle at 3, 6 months"),
]
bw=3.88; bh=1.55
for i, (title, content) in enumerate(steps):
col = i%2; row = i//2
bx2 = 0.28 + col*6.65; by = 1.38 + row*1.7
rect(s, bx2, by, bw+0.22, bh, DARK_OLIVE)
tb(s, title, bx2+0.07, by+0.05, bw+0.08, 0.42,
fn="Georgia", fs=13, bold=True,
col=GOLD, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)
tb(s, content, bx2+0.07, by+0.48, bw+0.08, 1.0,
fs=11, col=WHITE, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.TOP)
for ax in [2.1, 8.75]:
for row in range(2):
ay = 1.38 + row*1.7 + bh
tb(s, "\u25BC", ax, ay+0.04, 0.4, 0.25,
fs=16, bold=True, col=SAFFRON, al=PP_ALIGN.CENTER)
# ═════════════════════════════════════════════════════════════════
# SLIDE 11 — EVIDENCE SUMMARY & RESEARCH GAPS
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Evidence Summary & Research Gaps",
sub="Contemporary evidence + scope for Ayurvedic research")
footer(s)
bullets(s, [
("Key Contemporary Evidence", 0, True, DEEP_MAROON),
(" \u2022 PLOS ONE 2024 (Meta-analysis): High UPF consumption \u2192 OR=1.63 for overweight/obesity in adolescents", 1, False, DARK_TEXT),
(" \u2022 Zhao et al., Front Nutr 2024 (Cross-sectional, n=children/adolescents 6-19 yr): UPF \u2192 \u2191FAI in pubertal girls \u2192 PCOS risk", 1, False, DARK_TEXT),
(" \u2022 Machado-Rodrigues et al., Nutrients 2024: Higher UPF proportion \u2192 \u2191BMI in adolescents across multiple cohorts", 1, False, DARK_TEXT),
(" \u2022 PMC 2024 (Review): Physical inactivity + UPF = most prevalent combined NCD risk factor in school adolescents", 1, False, DARK_TEXT),
(" \u2022 WHO 2022: 81% of adolescents globally fail recommended physical activity; BPA/Phthalates confirmed EDCs", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Ayurvedic Evidence", 0, True, MID_OLIVE),
(" \u2022 Kanchanara Guggulu: Clinical studies show reduction in ovarian cyst size and androgen levels in PCOS", 1, False, DARK_TEXT),
(" \u2022 Shatavari (Asparagus racemosus): Phytoestrogen; normalises HPG axis; studied in adolescent menstrual disorders", 1, False, DARK_TEXT),
(" \u2022 Ashwagandha (Withania somnifera): Adaptogenic; reduces cortisol; supports gonadal function", 1, False, DARK_TEXT),
("", 0, False, DARK_TEXT),
("Research Gaps & Future Scope", 0, True, SAFFRON),
(" \u2022 No RCTs specifically studying Ayurvedic formulations vs. UPF-induced precocious puberty", 1, False, DARK_TEXT),
(" \u2022 Need for prospective studies: Dinacharya + Pathya diet intervention on pubertal timing in Indian adolescents", 1, False, DARK_TEXT),
(" \u2022 EDC-Ama correlation model needs biomarker validation studies", 1, False, DARK_TEXT),
], fs=14.5)
# ═════════════════════════════════════════════════════════════════
# SLIDE 12 — CONCLUSION & REFERENCES
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Conclusion & References")
footer(s)
rect(s, 0.25, 1.35, 12.85, 3.25, DARK_OLIVE)
tb(s, "Key Conclusions", 0.3, 1.38, 12.7, 0.38,
fn="Georgia", fs=16, bold=True,
col=GOLD, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)
conc = (
"\u2022 UPFs disrupt puberty through obesity-leptin-GnRH axis, hyperinsulinism-androgen excess, EDCs and gut dysbiosis.\n"
"\u2022 Sedentary lifestyle compounds pubertal disruption via Meda sanchaya, circadian disruption and psychological stress.\n"
"\u2022 Ayurveda offers a precise, coherent framework: Viruddha Ahara/Apathya Dravyas \u2192 Ama \u2192 Srotas dushti \u2192 pubertal disorder.\n"
"\u2022 Sthoulya (obesity) is the central pathogenic link — Charaka Sutrasthana 21's Medoroga Chikitsa remains clinically relevant.\n"
"\u2022 Kaumarabhritya has a vital preventive & curative role: Dinacharya, Pathya Ahara, Yoga, and Rasayana-based correction."
)
tb(s, conc, 0.35, 1.79, 12.6, 2.75,
fs=13, col=WHITE, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.TOP)
tb(s, "Key References", 0.25, 4.68, 12.85, 0.3,
fn="Georgia", fs=14, bold=True,
col=DARK_OLIVE, al=PP_ALIGN.LEFT)
refs = (
"1. Charaka Samhita: Sutrasthana 21 (Sthoulya), 26 (Viruddha Ahara); Sharira Sthana 8. "
"2. Ashtanga Hridayam: Sutrasthana 14; Sharira 1. "
"3. Kashyapa Samhita: Khila Sthana (Pushpaghni Jataharin).\n"
"4. Zhao H et al. Ultra-processed foods intake and sex hormone levels. Front Nutr. 2024;11:1451481. "
"5. Machado-Rodrigues AM et al. UPF Consumption & Pubertal Health. Nutrients 2024;16(22):3827.\n"
"6. Louzada ML et al. UPF consumption and obesity in Brazilian adolescents. PLOS ONE 2024 Meta-analysis. "
"7. PMC 2024 (Review): UPF consumption and NCD in children — PMC10960188.\n"
"8. WHO 2022 Global Action Plan on Physical Activity. "
"9. World Obesity Atlas 2023. "
"10. Berek & Novak's Gynecology 16e, Ch. 8 (Pubertal Development & Aberrations)."
)
tb(s, refs, 0.25, 5.02, 12.85, 1.97,
fs=10.5, col=RGBColor(0x22,0x22,0x22), al=PP_ALIGN.LEFT)
# ═════════════════════════════════════════════════════════════════
out = "/tmp/workspace/upf-puberty-ppt/UPF_Sedentary_Lifestyle_Pubertal_Disorders_Kaumarabhritya.pptx"
prs.save(out)
print(f"Saved: {out} | Slides: {len(prs.slides)}")