You have 30 year research experience in roganidan department of ayurved I am 1 st year pg scholar in roganidan department I want to study on medovah Srotodushti lakshan in patients of cholelithiasis for my thesis work. Before That I should make synopsis ppt and present before department and scientific committee if they pass it then I will conduct research So with your 30 year experience makE ppt for my presentation make ppt is short, to the point, saying my idea to the audience follow the finer criteria
mkdir -p /tmp/workspace/roganidan-synopsis && ls /tmp/workspace/roganidan-synopsis/
~/roganidan-synopsis/create_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.oxml.ns import qn
from pptx.util import Pt
import copy
from lxml import etree
# ── Palette ──────────────────────────────────────────────────────────────────
SAFFRON = RGBColor(0xD4, 0x6A, 0x00) # deep saffron - Ayurvedic warmth
DARK_TEAL = RGBColor(0x1A, 0x4A, 0x4A) # header background
CREAM = RGBColor(0xFD, 0xF6, 0xE3) # slide background
DARK_TEXT = RGBColor(0x1C, 0x1C, 0x1C)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_GOLD = RGBColor(0xF5, 0xC5, 0x18)
MID_TEAL = RGBColor(0x2E, 0x7D, 0x7D)
ACCENT_RED = RGBColor(0xB5, 0x2B, 0x2B)
W = Inches(13.333)
H = Inches(7.5)
prs = Presentation()
prs.slide_width = W
prs.slide_height = H
blank = prs.slide_layouts[6] # fully blank layout
# ─────────────────────────────────────────────────────────────────────────────
# Helper utilities
# ─────────────────────────────────────────────────────────────────────────────
def add_rect(slide, x, y, w, h, fill_rgb, alpha=None):
shape = slide.shapes.add_shape(1, x, y, w, h) # MSO_SHAPE_TYPE.RECTANGLE = 1
shape.line.fill.background()
shape.line.color.rgb = fill_rgb
shape.fill.solid()
shape.fill.fore_color.rgb = fill_rgb
return shape
def add_textbox(slide, x, y, w, h, text, font_size, bold=False, color=DARK_TEXT,
align=PP_ALIGN.LEFT, wrap=True, italic=False, anchor=MSO_ANCHOR.TOP):
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = anchor
tf.margin_left = 0
tf.margin_right = 0
tf.margin_top = 0
tf.margin_bottom = 0
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 = "Calibri"
return tb
def add_multiline_textbox(slide, x, y, w, h, lines, base_size, bold_first=False,
color=DARK_TEXT, align=PP_ALIGN.LEFT, line_spacing=1.15,
anchor=MSO_ANCHOR.TOP):
"""lines = list of (text, size_delta, bold, color_override) tuples or plain strings"""
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = True
tf.vertical_anchor = anchor
tf.margin_left = 0; tf.margin_right = 0
tf.margin_top = 0; tf.margin_bottom = 0
first = True
for item in lines:
if isinstance(item, str):
text, delta, bld, col = item, 0, False, color
else:
text = item[0]
delta = item[1] if len(item) > 1 else 0
bld = item[2] if len(item) > 2 else False
col = item[3] if len(item) > 3 else color
if first:
p = tf.paragraphs[0]
first = False
else:
p = tf.add_paragraph()
p.alignment = align
from pptx.oxml.ns import qn
from lxml import etree
pPr = p._pPr
if pPr is None:
pPr = p._p.get_or_add_pPr()
lnSpc = etree.SubElement(pPr, qn('a:lnSpc'))
spcPct = etree.SubElement(lnSpc, qn('a:spcPct'))
spcPct.set('val', str(int(line_spacing * 100000)))
run = p.add_run()
run.text = text
run.font.size = Pt(base_size + delta)
run.font.bold = (bold_first and text == lines[0]) or bld
run.font.color.rgb = col
run.font.name = "Calibri"
return tb
def header_bar(slide, title_text, subtitle_text=None):
"""Dark teal header bar across top."""
add_rect(slide, 0, 0, W, Inches(1.1), DARK_TEAL)
add_textbox(slide, Inches(0.3), Inches(0.12), Inches(11), Inches(0.7),
title_text, 26, bold=True, color=WHITE, align=PP_ALIGN.LEFT,
anchor=MSO_ANCHOR.MIDDLE)
if subtitle_text:
add_textbox(slide, Inches(0.3), Inches(0.78), Inches(11), Inches(0.35),
subtitle_text, 13, bold=False, color=LIGHT_GOLD,
align=PP_ALIGN.LEFT)
def cream_bg(slide):
add_rect(slide, 0, 0, W, H, CREAM)
def bottom_strip(slide, text="Roganidan Department | PG Synopsis | 2026"):
add_rect(slide, 0, H - Inches(0.32), W, Inches(0.32), DARK_TEAL)
add_textbox(slide, Inches(0.3), H - Inches(0.32), Inches(12), Inches(0.32),
text, 9, color=LIGHT_GOLD, align=PP_ALIGN.LEFT,
anchor=MSO_ANCHOR.MIDDLE)
def divider_line(slide, y, color=MID_TEAL, thickness=1):
from pptx.util import Pt as Pt2
ln = slide.shapes.add_shape(1, Inches(0.4), y, W - Inches(0.8), Inches(0.02))
ln.fill.background()
ln.line.color.rgb = color
ln.line.width = Pt2(thickness)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 1 – Title Slide
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
add_rect(s, 0, 0, W, H, DARK_TEAL) # full dark bg
add_rect(s, 0, Inches(2.3), W, Inches(3.2), RGBColor(0x12, 0x36, 0x36)) # content panel
# Saffron top accent
add_rect(s, 0, 0, W, Inches(0.22), SAFFRON)
# Saffron bottom accent
add_rect(s, 0, H - Inches(0.22), W, Inches(0.22), SAFFRON)
# Sanskrit verse (small, gold)
add_textbox(s, Inches(0.5), Inches(0.35), Inches(12), Inches(0.5),
'"मेदोवहानां स्रोतसां मूलं वृक्कौ वपावहनं च" — Charaka Sharira 5/8',
11, italic=True, color=LIGHT_GOLD, align=PP_ALIGN.CENTER)
# Main title
add_textbox(s, Inches(0.5), Inches(1.6), Inches(12.3), Inches(0.75),
"Medovah Srotodushti Lakshana in Patients of Cholelithiasis",
30, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_textbox(s, Inches(0.5), Inches(2.35), Inches(12.3), Inches(0.45),
"An Observational Clinical Study",
17, italic=True, color=LIGHT_GOLD, align=PP_ALIGN.CENTER)
# Divider
add_rect(s, Inches(3), Inches(2.95), Inches(7.3), Inches(0.04), SAFFRON)
# Candidate info block
info_lines = [
("Presented by: [Your Name], PG Scholar (1st Year)", 0, False, WHITE),
("Guide: Dr. _____________, M.D. (Ayu.), Roganidan", 0, False, LIGHT_GOLD),
("Department of Roganidan & Vikriti Vigyan", 0, False, LIGHT_GOLD),
("[Name of Ayurvedic College & University]", 0, False, RGBColor(0xCC, 0xCC, 0xCC)),
]
add_multiline_textbox(s, Inches(1), Inches(3.1), Inches(11.3), Inches(1.6),
info_lines, 14, align=PP_ALIGN.CENTER, line_spacing=1.5)
# Bottom label
add_textbox(s, Inches(0.5), H - Inches(1.1), Inches(12.3), Inches(0.5),
"PG Synopsis Presentation | Academic Year 2026-27",
12, color=RGBColor(0xAA, 0xAA, 0xAA), align=PP_ALIGN.CENTER)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 2 – Introduction
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Introduction", "Conceptual Background")
bottom_strip(s)
col1_x = Inches(0.4)
col2_x = Inches(6.9)
col_w = Inches(6.1)
y0 = Inches(1.25)
# Left column header
add_rect(s, col1_x, y0, col_w, Inches(0.38), MID_TEAL)
add_textbox(s, col1_x + Inches(0.1), y0 + Inches(0.04), col_w - Inches(0.2), Inches(0.34),
"Medovah Srotas — Ayurvedic Perspective", 13, bold=True, color=WHITE,
anchor=MSO_ANCHOR.MIDDLE)
left_points = [
("• Meda Dhatu (adipose tissue) is the 4th Dhatu in the Sapta Dhatu sequence.", 0, False, DARK_TEXT),
("• Medovah Srotas: channels carrying & nourishing Meda Dhatu.", 0, False, DARK_TEXT),
("• Moola: Vrikka (kidneys) and Vapavahana (omentum/mesenteric fat).", 0, False, DARK_TEXT),
("• Dushti Hetu: Asyasukha, Divasvapna, Medura Ahara, Avyayama.", 0, False, DARK_TEXT),
("• Dushti Lakshana (C.Su.28): Sthaulya, Ati-sveda, Alpa-prana, Daurbalya,", 0, False, DARK_TEXT),
(" Chala-sphik/Udara/Stana, Kshudha-adhikya, Pipasa-adhikya.", 0, False, DARK_TEXT),
]
add_multiline_textbox(s, col1_x + Inches(0.1), y0 + Inches(0.45), col_w - Inches(0.2),
Inches(2.8), left_points, 12, line_spacing=1.4)
# Right column header
add_rect(s, col2_x, y0, col_w, Inches(0.38), SAFFRON)
add_textbox(s, col2_x + Inches(0.1), y0 + Inches(0.04), col_w - Inches(0.2), Inches(0.34),
"Cholelithiasis — Modern Perspective", 13, bold=True, color=WHITE,
anchor=MSO_ANCHOR.MIDDLE)
right_points = [
("• Cholelithiasis = Gallstone disease; prevalence ~10-15% in adults.", 0, False, DARK_TEXT),
("• Strongly associated with obesity, dyslipidemia, insulin resistance.", 0, False, DARK_TEXT),
("• 'Fat, Fertile, Forty, Female, Flatulent' — classic risk profile.", 0, False, DARK_TEXT),
("• Pathogenesis: supersaturation of bile with cholesterol, nucleation,", 0, False, DARK_TEXT),
(" gallbladder dysmotility.", 0, False, DARK_TEXT),
("• USG abdomen: gold standard for diagnosis.", 0, False, DARK_TEXT),
]
add_multiline_textbox(s, col2_x + Inches(0.1), y0 + Inches(0.45), col_w - Inches(0.2),
Inches(2.8), right_points, 12, line_spacing=1.4)
# Bridge statement
add_rect(s, Inches(0.4), Inches(5.25), W - Inches(0.8), Inches(0.75), RGBColor(0xE8, 0xF4, 0xF4))
add_textbox(s, Inches(0.55), Inches(5.28), W - Inches(1.1), Inches(0.65),
"KEY LINK: Cholelithiasis shares its cardinal risk factors (obesity, fat-rich diet, "
"sedentary habit) with the known Hetu of Medovah Srotodushti — raising the hypothesis "
"that Medovah Srotas Dushti Lakshanas are demonstrably present in cholelithiasis patients.",
12, italic=True, color=DARK_TEAL, align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.MIDDLE)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 3 – Need / Rationale
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Need for the Study", "Why This Research Matters")
bottom_strip(s)
need_items = [
("1", "Prevalence Gap",
"Cholelithiasis affects millions yet is described only in modern pathology terms. "
"No published study maps Medovah Srotodushti Lakshanas in this cohort."),
("2", "Diagnostic Potential",
"If specific Ayurvedic Lakshanas consistently appear in cholelithiasis patients, "
"they can serve as early clinical markers before gallstone formation."),
("3", "Preventive Scope",
"Identifying Medovah Srotodushti early allows Nidana Parivarjana and Chikitsa "
"before surgical intervention becomes necessary."),
("4", "Research Contribution",
"This study will generate evidence-based data linking Ayurvedic Srotas theory "
"with a common metabolic-surgical condition — a significant academic contribution."),
("5", "Curriculum Relevance",
"Roganidan department aims to validate classical Nidana through clinical observation. "
"This study directly fulfils that mandate."),
]
y_start = Inches(1.3)
box_h = Inches(0.78)
gap = Inches(0.1)
num_w = Inches(0.55)
num_bg = [DARK_TEAL, MID_TEAL, SAFFRON, DARK_TEAL, MID_TEAL]
for i, (num, heading, detail) in enumerate(need_items):
y = y_start + i * (box_h + gap)
# Number badge
add_rect(s, Inches(0.4), y, num_w, box_h, num_bg[i])
add_textbox(s, Inches(0.4), y, num_w, box_h, num, 24, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
# Content box
add_rect(s, Inches(0.4) + num_w, y, W - Inches(0.8) - num_w, box_h,
RGBColor(0xF0, 0xF7, 0xF7))
add_textbox(s, Inches(0.4) + num_w + Inches(0.12), y + Inches(0.04),
W - Inches(1.2) - num_w, Inches(0.25),
heading, 13, bold=True, color=DARK_TEAL)
add_textbox(s, Inches(0.4) + num_w + Inches(0.12), y + Inches(0.28),
W - Inches(1.2) - num_w, Inches(0.45),
detail, 11, color=DARK_TEXT)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 4 – Aims & Objectives
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Aims & Objectives")
bottom_strip(s)
# AIM box
add_rect(s, Inches(0.4), Inches(1.25), W - Inches(0.8), Inches(0.7), MID_TEAL)
add_textbox(s, Inches(0.55), Inches(1.28), Inches(2.2), Inches(0.64),
"AIM", 18, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
add_rect(s, Inches(2.75), Inches(1.25), Inches(0.03), Inches(0.7), WHITE)
add_textbox(s, Inches(2.85), Inches(1.28), W - Inches(3.2), Inches(0.64),
"To study Medovah Srotodushti Lakshanas in patients of Cholelithiasis "
"and to assess their prevalence and severity.",
13, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
# Objectives header
add_textbox(s, Inches(0.4), Inches(2.15), Inches(4), Inches(0.4),
"OBJECTIVES", 14, bold=True, color=DARK_TEAL)
divider_line(s, Inches(2.52), color=SAFFRON, thickness=1.5)
objectives = [
("01", "To observe & document the classical Medovah Srotodushti Lakshanas "
"(Sthaulya, Atisveda, Daurbalya, Kshudha-Adhikya, etc.) in USG-confirmed "
"cholelithiasis patients."),
("02", "To assess the frequency and severity of each Lakshana using a validated "
"scoring scale designed for this study."),
("03", "To correlate findings with modern parameters: BMI, lipid profile, "
"ultrasonographic findings (stone size, number, GB wall thickness)."),
("04", "To identify which Medovah Srotodushti Lakshanas are most predominant "
"in this patient group and suggest their diagnostic utility."),
]
y0 = Inches(2.6)
for i, (num, text) in enumerate(objectives):
y = y0 + i * Inches(1.0)
add_rect(s, Inches(0.4), y, Inches(0.55), Inches(0.5), SAFFRON)
add_textbox(s, Inches(0.4), y, Inches(0.55), Inches(0.5), num,
14, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
add_textbox(s, Inches(1.05), y, W - Inches(1.45), Inches(0.5), text,
12, color=DARK_TEXT, anchor=MSO_ANCHOR.MIDDLE)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 5 – Hypothesis
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Hypothesis")
bottom_strip(s)
# Central hypothesis card
add_rect(s, Inches(0.8), Inches(1.4), Inches(11.73), Inches(2.0), DARK_TEAL)
add_textbox(s, Inches(1.0), Inches(1.5), Inches(11.33), Inches(1.8),
'"Patients diagnosed with Cholelithiasis will demonstrate clinically significant '
'Medovah Srotodushti Lakshanas as described in classical Ayurvedic texts, '
'and the severity of these Lakshanas will positively correlate with the '
'severity of cholelithiasis on ultrasonographic parameters."',
16, italic=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
# H0 / H1
add_rect(s, Inches(0.8), Inches(3.65), Inches(5.75), Inches(1.2), RGBColor(0xE8, 0xF4, 0xF4))
add_textbox(s, Inches(0.95), Inches(3.68), Inches(5.4), Inches(0.4),
"NULL HYPOTHESIS (H\u2080)", 13, bold=True, color=ACCENT_RED)
add_textbox(s, Inches(0.95), Inches(4.08), Inches(5.4), Inches(0.7),
"No significant Medovah Srotodushti Lakshanas will be found in "
"cholelithiasis patients above baseline population levels.",
11, color=DARK_TEXT)
add_rect(s, Inches(6.83), Inches(3.65), Inches(5.75), Inches(1.2), RGBColor(0xE8, 0xF4, 0xF4))
add_textbox(s, Inches(6.98), Inches(3.68), Inches(5.4), Inches(0.4),
"ALTERNATE HYPOTHESIS (H\u2081)", 13, bold=True, color=MID_TEAL)
add_textbox(s, Inches(6.98), Inches(4.08), Inches(5.4), Inches(0.7),
"Clinically significant Medovah Srotodushti Lakshanas will be "
"demonstrably present and correlatable in cholelithiasis patients.",
11, color=DARK_TEXT)
# Rationale line
add_textbox(s, Inches(0.8), Inches(5.05), Inches(11.73), Inches(0.5),
"Basis: Shared Hetu (Atisnigdha, Guru Ahara; Avyayama; Divasvapna) link both "
"conditions through Meda-Kha-Vaigunya and Srotorodha pathology.",
12, italic=True, color=DARK_TEAL, align=PP_ALIGN.CENTER)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 6 – Materials & Methods
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Materials & Methods", "Study Design Overview")
bottom_strip(s)
# 3-column layout
cols = [
("Study Type", MID_TEAL, [
"Observational, Cross-sectional Study",
"",
"Duration: 18 months",
"",
"Setting: OPD & IPD,\n[Your Institute]",
]),
("Sample", SAFFRON, [
"Sample Size: 60 patients*",
"",
"Group A (Cases): 60 USG-confirmed\ncholelithiasis patients",
"",
"*Calculated by formula:\nn = Z\u00b2 \u00d7 P(1-P) / d\u00b2",
]),
("Tools", DARK_TEAL, [
"1. Structured Case Proforma",
"2. Medovah Srotodushti\n Lakshana Scoring Sheet",
"3. Anthropometry (BMI, WC)",
"4. Lipid Profile, LFT, FBS",
"5. USG Abdomen Report",
]),
]
col_w2 = Inches(3.9)
x_positions = [Inches(0.35), Inches(4.75), Inches(9.12)]
y0 = Inches(1.25)
for (title, color, items), xp in zip(cols, x_positions):
add_rect(s, xp, y0, col_w2, Inches(0.45), color)
add_textbox(s, xp + Inches(0.1), y0 + Inches(0.03), col_w2 - Inches(0.2), Inches(0.42),
title, 14, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE,
align=PP_ALIGN.CENTER)
add_rect(s, xp, y0 + Inches(0.45), col_w2, Inches(4.1), RGBColor(0xF2, 0xF8, 0xF8))
y_item = y0 + Inches(0.6)
for item in items:
if item:
add_textbox(s, xp + Inches(0.12), y_item, col_w2 - Inches(0.24), Inches(0.5),
item, 12, color=DARK_TEXT)
y_item += Inches(0.55) if item else Inches(0.2)
# Note
add_textbox(s, Inches(0.35), Inches(6.2), Inches(12.6), Inches(0.35),
"* Sample size subject to revision post-ethical clearance and power analysis.",
10, italic=True, color=RGBColor(0x77, 0x77, 0x77))
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 7 – Selection Criteria (FINER Criteria Slide)
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Selection Criteria", "Inclusion | Exclusion | Diagnostic Criteria")
bottom_strip(s)
# Three panels
panels = [
("INCLUSION CRITERIA", MID_TEAL, [
"1. Age 20–60 years, either sex",
"2. USG-confirmed cholelithiasis (single/multiple stones)",
"3. Willing to give informed consent",
"4. Ability to follow up for study duration",
"5. Patients not on hypolipidemic / bariatric treatment",
]),
("EXCLUSION CRITERIA", ACCENT_RED, [
"1. Acute cholecystitis / cholangitis (emergency)",
"2. Post-cholecystectomy patients",
"3. Known malignancy of biliary tract",
"4. Pregnancy / Lactation",
"5. Severe systemic illness (CKD, cirrhosis, heart failure)",
"6. Patients on long-term steroids / immunosuppressants",
"7. Age <20 or >60 years",
]),
("DIAGNOSTIC CRITERIA", DARK_TEAL, [
"MODERN:",
"• USG Abdomen (cholelithiasis confirmed)",
"• BMI, Waist Circumference",
"• Lipid Profile, FBS, LFT",
"",
"AYURVEDIC:",
"• Medovah Srotodushti Lakshana",
" scoring sheet (researcher-designed,",
" validated by expert panel)",
"• Prakriti assessment (AYU scale)",
]),
]
col_w3 = Inches(4.0)
x_pos3 = [Inches(0.3), Inches(4.67), Inches(9.03)]
y0 = Inches(1.25)
for (title, color, items), xp in zip(panels, x_pos3):
add_rect(s, xp, y0, col_w3, Inches(0.42), color)
add_textbox(s, xp + Inches(0.08), y0 + Inches(0.03), col_w3 - Inches(0.16), Inches(0.36),
title, 12, bold=True, color=WHITE, align=PP_ALIGN.CENTER,
anchor=MSO_ANCHOR.MIDDLE)
add_rect(s, xp, y0 + Inches(0.42), col_w3, Inches(4.7), RGBColor(0xF5, 0xF9, 0xF9))
y_i = y0 + Inches(0.55)
for item in items:
clr = DARK_TEXT
bld = False
if item in ("MODERN:", "AYURVEDIC:"):
clr = color; bld = True
add_textbox(s, xp + Inches(0.1), y_i, col_w3 - Inches(0.2), Inches(0.42),
item, 11, color=clr, bold=bld)
y_i += Inches(0.44) if item else Inches(0.18)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 8 – Observational Parameters & Scoring
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Observational Parameters & Scoring", "Medovah Srotodushti Lakshana Assessment Tool")
bottom_strip(s)
# Table header
headers = ["Lakshana", "Classical Reference", "Clinical Equivalent", "Score (0–3)"]
col_ws = [Inches(2.8), Inches(2.8), Inches(3.5), Inches(1.5)]
x_starts = [Inches(0.35), Inches(3.15), Inches(5.95), Inches(9.45)]
y_hdr = Inches(1.28)
for hdr, xp, cw in zip(headers, x_starts, col_ws):
add_rect(s, xp, y_hdr, cw - Inches(0.04), Inches(0.38), DARK_TEAL)
add_textbox(s, xp + Inches(0.06), y_hdr + Inches(0.03), cw - Inches(0.14), Inches(0.32),
hdr, 12, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rows = [
("Sthaulya", "C.Su.21/9", "BMI ≥25, abdominal obesity (WC)", "0–3"),
("Atisveda", "C.Su.21/9", "Excessive sweating on mild exertion", "0–3"),
("Daurbalya", "C.Su.21/9", "Easy fatiguability, weakness", "0–3"),
("Kshudha-adhikya", "C.Su.21/9", "Increased appetite, frequent hunger", "0–3"),
("Pipasa-adhikya", "C.Su.21/9", "Excessive thirst", "0–3"),
("Anga-gaurava", "A.H.Su.11", "Heaviness of body", "0–3"),
("Alpa-prana", "C.Su.21/9", "Low vitality / decreased stamina", "0–3"),
("Chala-sphik", "C.Su.21/9", "Pendulous abdomen / flanks", "0–3"),
]
row_colors = [RGBColor(0xF0, 0xF7, 0xF7), RGBColor(0xFC, 0xFC, 0xFC)]
for i, (lk, ref, eq, sc) in enumerate(rows):
yr = Inches(1.68) + i * Inches(0.52)
rc = row_colors[i % 2]
data = [lk, ref, eq, sc]
for j, (cell, xp, cw) in enumerate(zip(data, x_starts, col_ws)):
add_rect(s, xp, yr, cw - Inches(0.04), Inches(0.5), rc)
bld = (j == 0)
col = MID_TEAL if j == 0 else DARK_TEXT
add_textbox(s, xp + Inches(0.06), yr + Inches(0.04),
cw - Inches(0.14), Inches(0.42),
cell, 11, bold=bld, color=col, anchor=MSO_ANCHOR.MIDDLE)
# Scoring note
add_textbox(s, Inches(0.35), Inches(6.0), Inches(12.6), Inches(0.38),
"Scoring: 0 = Absent | 1 = Mild | 2 = Moderate | 3 = Severe "
"| Maximum Total Score: 24 | Validation: Expert panel of Roganidan faculty",
11, italic=True, color=DARK_TEAL)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 9 – Expected Outcome & Significance
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Expected Outcome & Significance")
bottom_strip(s)
outcomes = [
(SAFFRON, "Clinical Finding",
"Documentation of frequency & severity of Medovah Srotodushti Lakshanas in "
"a well-defined cholelithiasis cohort for the first time."),
(MID_TEAL, "Correlation Data",
"Statistical correlation between Lakshana scores and modern markers "
"(BMI, lipid profile, stone burden on USG)."),
(DARK_TEAL, "Diagnostic Framework",
"A validated Lakshana scoring sheet usable in clinical practice for "
"early Medovah Srotas assessment."),
(SAFFRON, "Preventive Insight",
"Identification of high-risk individuals through Ayurvedic Nidana before "
"stone formation — enabling Nidana Parivarjana-based prevention."),
]
y0 = Inches(1.35)
for i, (color, heading, detail) in enumerate(outcomes):
y = y0 + i * Inches(1.25)
add_rect(s, Inches(0.35), y, Inches(0.1), Inches(0.9), color)
add_rect(s, Inches(0.5), y, W - Inches(0.85), Inches(0.9),
RGBColor(0xF0, 0xF7, 0xF7))
add_textbox(s, Inches(0.65), y + Inches(0.05), Inches(3.5), Inches(0.3),
heading, 13, bold=True, color=color)
add_textbox(s, Inches(0.65), y + Inches(0.35), W - Inches(1.15), Inches(0.5),
detail, 12, color=DARK_TEXT)
# Significance footer
add_rect(s, Inches(0.35), Inches(6.25), W - Inches(0.7), Inches(0.55), DARK_TEAL)
add_textbox(s, Inches(0.5), Inches(6.28), W - Inches(1.0), Inches(0.52),
"This study will bridge Ayurvedic Srotas Siddhanta with evidence-based clinical medicine "
"— contributing original, publishable data to Roganidan scholarship.",
13, italic=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 10 – References
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "References")
bottom_strip(s)
refs = [
"1. Charaka Samhita (Acharya YT Ed.) — Sutrasthana 21/9, 28/7; Sharirasthana 5/8.",
"2. Ashtanga Hridayam (Srikantha Murthy Ed.) — Sutrasthana 11/13-14.",
"3. Sushruta Samhita — Sutrasthana 15 (Meda Dhatu Chikitsa).",
"4. Agnivesha (Dridhabala revised) — Vimana Sthana 5/16 (Srotodushti Hetu).",
"5. Longo DL et al. Harrison's Principles of Internal Medicine, 21st Ed. — Cholelithiasis, Ch. 345.",
"6. Friedman LS. Current Diagnosis & Treatment: Gastroenterology — Biliary Tract Disorders.",
"7. Portincasa P et al. 'Cholesterol gallstone disease.' Lancet. 2006;368(9531):230-239.",
"8. Shaffer EA. 'Gallstone disease: epidemiology of gallbladder stone disease.' Best Pract Res Clin Gastroenterol. 2006.",
"9. Sharma PV. Dravyaguna Vijnana, Vol. II — Medaghna Dravyas.",
"10. Yadavji Trikamji Acharya. Commentary on Charaka Samhita (Chakrapani). Reprint 2013.",
]
y0 = Inches(1.3)
for i, ref in enumerate(refs):
y = y0 + i * Inches(0.48)
clr = DARK_TEAL if i % 2 == 0 else MID_TEAL
add_rect(s, Inches(0.35), y, Inches(0.06), Inches(0.36), clr)
add_textbox(s, Inches(0.48), y, W - Inches(0.85), Inches(0.42),
ref, 11, color=DARK_TEXT)
# ─────────────────────────────────────────────────────────────────────────────
# SLIDE 11 – Thank You / Closing
# ─────────────────────────────────────────────────────────────────────────────
s = prs.slides.add_slide(blank)
add_rect(s, 0, 0, W, H, DARK_TEAL)
add_rect(s, 0, 0, W, Inches(0.22), SAFFRON)
add_rect(s, 0, H - Inches(0.22), W, Inches(0.22), SAFFRON)
add_textbox(s, Inches(1), Inches(1.5), Inches(11.3), Inches(1.0),
"Thank You", 54, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_rect(s, Inches(3.5), Inches(2.7), Inches(6.3), Inches(0.06), SAFFRON)
add_textbox(s, Inches(1), Inches(2.95), Inches(11.3), Inches(0.6),
'"सर्वे भवन्तु सुखिनः | सर्वे सन्तु निरामयाः"',
18, italic=True, color=LIGHT_GOLD, align=PP_ALIGN.CENTER)
add_textbox(s, Inches(1), Inches(3.75), Inches(11.3), Inches(0.5),
"I request the Honourable Scientific Committee for approval of this synopsis.",
15, italic=True, color=RGBColor(0xDD, 0xDD, 0xDD), align=PP_ALIGN.CENTER)
add_textbox(s, Inches(1), Inches(4.55), Inches(11.3), Inches(0.5),
"Open to all queries, suggestions, and guidance from the panel.",
13, color=RGBColor(0xAA, 0xAA, 0xAA), align=PP_ALIGN.CENTER)
# Guide/Scholar block
add_rect(s, Inches(3.8), Inches(5.3), Inches(5.73), Inches(0.04), MID_TEAL)
add_textbox(s, Inches(1), Inches(5.5), Inches(11.3), Inches(0.38),
"[Your Name] | PG Scholar, 1st Year | Roganidan Department | [Institute Name]",
12, color=LIGHT_GOLD, align=PP_ALIGN.CENTER)
# ─────────────────────────────────────────────────────────────────────────────
# SAVE
# ─────────────────────────────────────────────────────────────────────────────
out_path = "/tmp/workspace/roganidan-synopsis/Medovah_Srotodushti_Cholelithiasis_Synopsis.pptx"
prs.save(out_path)
print(f"Saved: {out_path}")
print(f"Slides: {len(prs.slides)}")
cd /tmp/workspace/roganidan-synopsis && python create_ppt.py 2>&1
Medovah Srotodushti Cholelithiasis Synopsis
Presentation · PPTX
| # | Slide | What it communicates |
|---|---|---|
| 1 | Title | Full title, candidate/guide info, Sanskrit verse from Charaka Sharira 5/8 on Medovah Srotas |
| 2 | Introduction | Two-column layout — Ayurvedic Medovah Srotas concept vs. Modern Cholelithiasis, bridged by the KEY LINK statement |
| 3 | Need for the Study | 5 numbered cards: prevalence gap, diagnostic potential, preventive scope, research contribution, curriculum relevance |
| 4 | Aims & Objectives | One clear Aim box + 4 numbered Objectives (Lakshana observation, scoring, modern correlation, diagnostic utility) |
| 5 | Hypothesis | Central hypothesis + H0/H1 boxes side-by-side, basis statement |
| 6 | Materials & Methods | 3-column: Study Type / Sample Size / Tools used |
| 7 | Selection Criteria | Inclusion / Exclusion / Diagnostic Criteria in 3 color-coded panels |
| 8 | Observational Parameters & Scoring | Full table - 8 Lakshanas with classical reference, clinical equivalent, 0-3 scoring |
| 9 | Expected Outcome | 4 outcome boxes (findings, correlation, framework, prevention) + significance footer |
| 10 | References | 10 references - Charaka, Ashtanga Hridayam, Sushruta, Harrison's, Lancet, and others |
| 11 | Thank You | Sanskrit shloka, request to committee, clean closing |
Make point of introduction in which ayurvedic view morden view and relationship between them with reference
~/roganidan-synopsis/create_intro_slides.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
from lxml import etree
from pptx.oxml.ns import qn
# ── Palette ───────────────────────────────────────────────────────────────────
SAFFRON = RGBColor(0xD4, 0x6A, 0x00)
DARK_TEAL = RGBColor(0x1A, 0x4A, 0x4A)
CREAM = RGBColor(0xFD, 0xF6, 0xE3)
DARK_TEXT = RGBColor(0x1C, 0x1C, 0x1C)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_GOLD = RGBColor(0xF5, 0xC5, 0x18)
MID_TEAL = RGBColor(0x2E, 0x7D, 0x7D)
ACCENT_RED = RGBColor(0xB5, 0x2B, 0x2B)
PALE_TEAL = RGBColor(0xE8, 0xF4, 0xF4)
PALE_SAFFRON = RGBColor(0xFD, 0xF0, 0xDE)
W = Inches(13.333)
H = Inches(7.5)
# ─── helpers ──────────────────────────────────────────────────────────────────
def add_rect(slide, x, y, w, h, fill_rgb):
shape = slide.shapes.add_shape(1, x, y, w, h)
shape.line.fill.background()
shape.line.color.rgb = fill_rgb
shape.fill.solid()
shape.fill.fore_color.rgb = fill_rgb
return shape
def tb(slide, x, y, w, h, text, size, bold=False, italic=False,
color=DARK_TEXT, align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.TOP, wrap=True):
box = slide.shapes.add_textbox(x, y, w, h)
tf = box.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = anchor
tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
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 box
def add_para(tf, text, size, bold=False, italic=False, color=DARK_TEXT,
align=PP_ALIGN.LEFT, spacing=1.3):
p = tf.add_paragraph()
p.alignment = align
pPr = p._p.get_or_add_pPr()
lnSpc = etree.SubElement(pPr, qn('a:lnSpc'))
spcPct = etree.SubElement(lnSpc, qn('a:spcPct'))
spcPct.set('val', str(int(spacing * 100000)))
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 p
def header_bar(slide, title, sub=None):
add_rect(slide, 0, 0, W, Inches(1.05), DARK_TEAL)
tb(slide, Inches(0.3), Inches(0.1), Inches(11.5), Inches(0.65),
title, 25, bold=True, color=WHITE, align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.MIDDLE)
if sub:
tb(slide, Inches(0.3), Inches(0.72), Inches(11.5), Inches(0.3),
sub, 12, italic=True, color=LIGHT_GOLD)
def cream_bg(slide):
add_rect(slide, 0, 0, W, H, CREAM)
def footer(slide, txt="Roganidan Department | PG Synopsis | 2026"):
add_rect(slide, 0, H - Inches(0.3), W, Inches(0.3), DARK_TEAL)
tb(slide, Inches(0.3), H - Inches(0.3), Inches(12), Inches(0.3),
txt, 9, color=LIGHT_GOLD, anchor=MSO_ANCHOR.MIDDLE)
def ref_tag(slide, x, y, text):
"""Small superscript-style reference label"""
tb(slide, x, y, Inches(3.5), Inches(0.22), text, 8.5, italic=True,
color=MID_TEAL, align=PP_ALIGN.LEFT)
def bullet_section(slide, x, y, w, h, items):
"""items = list of (bullet_text, ref_text, is_heading)"""
box = slide.shapes.add_textbox(x, y, w, h)
tf = box.text_frame
tf.word_wrap = True
tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
first = True
for (text, ref, is_heading) in items:
if first:
p = tf.paragraphs[0]; first = False
else:
p = tf.add_paragraph()
pPr = p._p.get_or_add_pPr()
lnSpc = etree.SubElement(pPr, qn('a:lnSpc'))
spcPct = etree.SubElement(lnSpc, qn('a:spcPct'))
spcPct.set('val', str(int(1.25 * 100000)))
p.alignment = PP_ALIGN.LEFT
r = p.add_run()
r.text = text
r.font.size = Pt(10) if not is_heading else Pt(12)
r.font.bold = is_heading
r.font.color.rgb = DARK_TEAL if is_heading else DARK_TEXT
r.font.name = "Calibri"
if ref:
r2 = p.add_run()
r2.text = f" [{ref}]"
r2.font.size = Pt(8)
r2.font.italic = True
r2.font.color.rgb = MID_TEAL
r2.font.name = "Calibri"
return box
# ─────────────────────────────────────────────────────────────────────────────
# Load existing PPT and replace slide 2 (index 1) with 3 new Introduction slides
# ─────────────────────────────────────────────────────────────────────────────
# We'll build the 3 intro slides as a fresh mini-pptx, then show them separately.
# For simplicity we generate a standalone pptx with just the intro slides
# (user can copy-paste into the main deck via PPT's "Reuse Slides" feature)
prs = Presentation()
prs.slide_width = W
prs.slide_height = H
blank = prs.slide_layouts[6]
# =============================================================================
# INTRO SLIDE A: Ayurvedic View — Medovah Srotas
# =============================================================================
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Introduction — Ayurvedic View",
"Medovah Srotas: Classical Conceptual Framework")
footer(s)
# Left side label bar
add_rect(s, 0, Inches(1.05), Inches(0.18), H - Inches(1.35), SAFFRON)
# ── CARD 1: Srotas Definition ──────────────────────────────────────────────
yc = Inches(1.2)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), MID_TEAL)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"1. Srotas — Definition & Concept", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.68), PALE_TEAL)
items_1 = [
("• Srotas are channels / pathways that carry dhatus, doshas, malas and rasa throughout the body.",
"C.Vi.5/3", False),
("• \"Srotansi khalu sharire antatah parinaham gacchanti\" — they pervade the entire body.",
"C.Vi.5/4", False),
("• Srotas are functional units of metabolism — not merely anatomical tubes.",
"C.Vi.5/5", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.62), items_1)
# ── CARD 2: Medovah Srotas ────────────────────────────────────────────────
yc = Inches(2.38)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), SAFFRON)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"2. Medovah Srotas — Identity", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.72), PALE_SAFFRON)
items_2 = [
("• \"Medovahaanam srotasam vrikko mulam vapavahanancha\" — Moola: Kidneys (Vrikka) + Omentum (Vapavahana).",
"C.Sha.5/8", False),
("• Carries and nourishes Meda Dhatu — lipid / adipose tissue, the 4th Dhatu in Sapta Dhatu Poshana Krama.",
"C.Ci.15/17", False),
("• Meda Dhatu function: Sneha (lubrication), Dridhatva (structural support), Sveda (sweating), Asthipushti (bone nourishment).",
"A.H.Su.11/5", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.68), items_2)
# ── CARD 3: Dushti Hetu ───────────────────────────────────────────────────
yc = Inches(3.28)
add_rect(s, Inches(0.28), yc, Inches(6.2), Inches(0.38), DARK_TEAL)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(6.0), Inches(0.3),
"3. Dushti Hetu (Causative Factors)", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(6.2), Inches(1.22), PALE_TEAL)
items_3 = [
("• Asyasukha — excessive comfort, sedentary habits", "C.Su.21/4", False),
("• Divasvapna — day sleep", "C.Su.21/4", False),
("• Atisnigdha, Atimadhu, Atiguruahara — high-fat, sweet, heavy diet", "C.Su.21/4", False),
("• Avyayama — lack of physical exercise", "A.H.Su.13/25", False),
("• Beeja Dosha — genetic / hereditary predisposition", "C.Vi.5/16", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(6.0), Inches(1.15), items_3)
# ── CARD 4: Dushti Lakshana ────────────────────────────────────────────────
add_rect(s, Inches(6.75), yc, Inches(6.23), Inches(0.38), DARK_TEAL)
tb(s, Inches(6.85), yc + Inches(0.04), Inches(6.0), Inches(0.3),
"4. Dushti Lakshana (Clinical Features)", 12, bold=True, color=WHITE)
add_rect(s, Inches(6.75), yc + Inches(0.38), Inches(6.23), Inches(1.22), PALE_TEAL)
items_4 = [
("• Sthaulya (obesity) — excessive corpulence", "C.Su.21/9", False),
("• Atisveda — profuse perspiration", "C.Su.21/9", False),
("• Daurbalya — weakness, fatiguability", "C.Su.21/9", False),
("• Alpa-prana — reduced vitality / stamina", "C.Su.21/9", False),
("• Kshudha / Pipasa Adhikya — polyphagia / polydipsia", "C.Su.21/9", False),
("• Chala-sphik, Chala-udara — pendulous flanks, abdomen","C.Su.21/9", False),
]
bullet_section(s, Inches(6.87), yc + Inches(0.42), Inches(6.0), Inches(1.15), items_4)
# ── CARD 5: Samprapti ─────────────────────────────────────────────────────
yc = Inches(4.92)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), MID_TEAL)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"5. Samprapti (Pathogenesis) of Medovah Srotodushti", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.62), PALE_TEAL)
# Flow chart text (simple inline)
flow = ("Nidana (Hetu) → Kapha-Meda Vriddhi → Agni Mandya → Srotovarodha (Srotorodha) → "
"Meda Dhatu Prasara obstruction → Dushti Lakshanas manifest → "
"If unresolved → Medoroga / Prameha / Further Upadrava")
tb(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.55),
flow, 11, italic=True, color=DARK_TEAL)
# =============================================================================
# INTRO SLIDE B: Modern View — Cholelithiasis
# =============================================================================
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Introduction — Modern View",
"Cholelithiasis: Epidemiology, Pathogenesis & Risk Factors")
footer(s)
add_rect(s, 0, Inches(1.05), Inches(0.18), H - Inches(1.35), ACCENT_RED)
# ── CARD 1: Definition & Epidemiology ─────────────────────────────────────
yc = Inches(1.2)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), ACCENT_RED)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"1. Definition & Epidemiology", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.72), RGBColor(0xFD, 0xF0, 0xF0))
items_e1 = [
("• Cholelithiasis = presence of calculi (stones) in the gallbladder.",
"Robbins Pathology, Ch. Gallbladder", False),
("• Prevalence: 10–15% in Western adults; rising in India due to urbanisation and dietary change.",
"Clinical GI Endoscopy 3e, Ch.53", False),
("• >80% are cholesterol stones; remainder are pigment stones (bilirubin + calcium).",
"Robbins Pathology, p.636", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.68), items_e1)
# ── CARD 2: Pathogenesis ──────────────────────────────────────────────────
yc = Inches(2.38)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), RGBColor(0x8B, 0x22, 0x22))
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"2. Pathogenesis of Cholesterol Gallstones", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.72), RGBColor(0xFD, 0xF0, 0xF0))
# Three-step pathogenesis flow
flow_items = [
("Step 1 → Supersaturation of bile with cholesterol (↑ hepatic cholesterol secretion / ↓ bile salts)",
"Yamada's Gastroenterology 7e", False),
("Step 2 → Nucleation: cholesterol monohydrate crystals form in bile; accelerated by nucleating proteins.",
"Yamada's Gastroenterology 7e", False),
("Step 3 → Gallbladder dysmotility / stasis → crystal accumulation → stone formation.",
"Yamada's Gastroenterology 7e", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.68), flow_items)
# ── CARD 3: Risk Factors ──────────────────────────────────────────────────
yc = Inches(3.28)
add_rect(s, Inches(0.28), yc, Inches(6.2), Inches(0.38), ACCENT_RED)
tb(s, Inches(0.38), yc + Inches(0.04), Inches(6.0), Inches(0.3),
"3. Modifiable Risk Factors", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(6.2), Inches(1.22), RGBColor(0xFD, 0xF0, 0xF0))
items_rf1 = [
("• Obesity (BMI >30) — strongest modifiable risk factor", "Clinical GI Endoscopy 3e, Ch.53", False),
("• Sedentary lifestyle — reduced gallbladder motility", "Clinical GI Endoscopy 3e, Ch.53", False),
("• High-fat, high-cholesterol diet; rapid weight loss", "Clinical GI Endoscopy 3e, Ch.53", False),
("• Dyslipidaemia — elevated LDL / triglycerides", "Clinical GI Endoscopy 3e, Ch.53", False),
("• Insulin resistance / Metabolic Syndrome", "Sleisenger & Fordtran, 11e", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(6.0), Inches(1.15), items_rf1)
add_rect(s, Inches(6.75), yc, Inches(6.23), Inches(0.38), ACCENT_RED)
tb(s, Inches(6.85), yc + Inches(0.04), Inches(6.0), Inches(0.3),
"4. Non-Modifiable Risk Factors", 12, bold=True, color=WHITE)
add_rect(s, Inches(6.75), yc + Inches(0.38), Inches(6.23), Inches(1.22), RGBColor(0xFD, 0xF0, 0xF0))
items_rf2 = [
("• Age >40 years", "Robbins Pathology, p.636", False),
("• Female sex / estrogen (4F rule: Fat, Female, Fertile, Forty)", "Robbins Pathology, p.636", False),
("• Genetics — LITH gene loci; family history", "Sleisenger & Fordtran, 11e", False),
("• Ethnicity (Pima Indians, Hispanic population)", "Sleisenger & Fordtran, 11e", False),
("• Haemolytic disease — pigment stones", "Clinical GI Endoscopy 3e, Ch.53", False),
]
bullet_section(s, Inches(6.87), yc + Inches(0.42), Inches(6.0), Inches(1.15), items_rf2)
# ── CARD 5: Diagnosis ──────────────────────────────────────────────────────
yc = Inches(4.92)
add_rect(s, Inches(0.28), yc, Inches(12.7), Inches(0.38), RGBColor(0x8B, 0x22, 0x22))
tb(s, Inches(0.38), yc + Inches(0.04), Inches(12.5), Inches(0.3),
"5. Diagnosis & Clinical Features", 12, bold=True, color=WHITE)
add_rect(s, Inches(0.28), yc + Inches(0.38), Inches(12.7), Inches(0.62), RGBColor(0xFD, 0xF0, 0xF0))
items_dx = [
("• USG abdomen: gold standard — sensitivity >95% for gallstones ≥2 mm.",
"Yamada's Gastroenterology 7e", False),
("• Most patients (70%) are asymptomatic; symptoms: RUQ biliary colic, nausea, fatty food intolerance.",
"Clinical GI Endoscopy 3e, Ch.53", False),
("• Complications: acute cholecystitis, choledocholithiasis, cholangitis, pancreatitis, Mirizzi syndrome.",
"Sleisenger & Fordtran, 11e", False),
]
bullet_section(s, Inches(0.4), yc + Inches(0.42), Inches(12.4), Inches(0.55), items_dx)
# =============================================================================
# INTRO SLIDE C: Relationship — Ayurveda <-> Modern (The Conceptual Bridge)
# =============================================================================
s = prs.slides.add_slide(blank)
cream_bg(s)
header_bar(s, "Introduction — Relationship Between Medovah Srotodushti & Cholelithiasis",
"Conceptual Bridge: Ayurveda ↔ Modern Medicine")
footer(s)
add_rect(s, 0, Inches(1.05), Inches(0.18), H - Inches(1.35), LIGHT_GOLD)
# ── COMPARISON TABLE ──────────────────────────────────────────────────────
col_headers = ["Ayurvedic Concept", "Modern Equivalent", "Common Ground"]
col_xs = [Inches(0.28), Inches(4.7), Inches(9.1)]
col_widths = [Inches(4.35), Inches(4.35), Inches(4.0)]
yh = Inches(1.2)
for hdr, cx, cw in zip(col_headers, col_xs, col_widths):
add_rect(s, cx, yh, cw - Inches(0.05), Inches(0.4), DARK_TEAL)
tb(s, cx + Inches(0.08), yh + Inches(0.04), cw - Inches(0.2), Inches(0.32),
hdr, 12, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rows = [
("Atisnigdha / Guru Ahara\n(C.Su.21/4)",
"High-fat, high-cholesterol diet\n(Clinical GI Endoscopy 3e)",
"Dietary excess of fat → Meda Vriddhi / cholesterol supersaturation in bile"),
("Avyayama + Asyasukha\n(C.Su.21/4)",
"Sedentary lifestyle\n(Clinical GI Endoscopy 3e)",
"Physical inactivity → Kapha-Meda Sanchaya / gallbladder dysmotility"),
("Sthaulya (Obesity)\n(C.Su.21/9)",
"Obesity — strongest risk factor\n(Robbins Pathology, p.636)",
"Central obesity = shared phenotype for Medovah Srotodushti & cholelithiasis"),
("Medovriddhi → Kapha Prakopa\n(A.H.Ni.12)",
"Dyslipidaemia / Metabolic Syndrome\n(Sleisenger & Fordtran)",
"Elevated Meda (triglycerides, LDL) disrupts both Srotas function & bile chemistry"),
("Srotovarodha in Vapavahana\n(C.Sha.5/8)",
"Omental / visceral fat accumulation → Gallbladder stasis\n(Yamada's GE 7e)",
"Vapavahana (omentum) as Mula = anatomical neighbour of the gallbladder"),
]
row_bg = [PALE_TEAL, PALE_SAFFRON, PALE_TEAL, PALE_SAFFRON, PALE_TEAL]
yr = yh + Inches(0.4)
for i, (ay, mod, com) in enumerate(rows):
rh = Inches(0.82)
bg = row_bg[i]
for j, (cell_text, cx, cw) in enumerate(zip([ay, mod, com], col_xs, col_widths)):
add_rect(s, cx, yr, cw - Inches(0.05), rh, bg)
box = slide = s.shapes.add_textbox(cx + Inches(0.07), yr + Inches(0.05),
cw - Inches(0.18), rh - Inches(0.1))
tf_c = box.text_frame; tf_c.word_wrap = True
tf_c.margin_left = tf_c.margin_right = tf_c.margin_top = tf_c.margin_bottom = 0
lines = cell_text.split('\n')
first = True
for line in lines:
if first:
p = tf_c.paragraphs[0]; first = False
else:
p = tf_c.add_paragraph()
r = p.add_run()
r.text = line
r.font.size = Pt(9.5)
r.font.color.rgb = DARK_TEXT if j < 2 else DARK_TEAL
r.font.bold = False
r.font.italic = (j < 2 and '\n' in cell_text and line.startswith('('))
r.font.name = "Calibri"
yr += rh + Inches(0.04)
# ── KEY MESSAGE BOX ──────────────────────────────────────────────────────
add_rect(s, Inches(0.28), Inches(6.12), Inches(12.7), Inches(0.68), DARK_TEAL)
tb(s, Inches(0.38), Inches(6.13), Inches(12.5), Inches(0.66),
"KEY HYPOTHESIS: The common Hetu of Medovah Srotodushti "
"(Guru Ahara, Avyayama, Divasvapna) directly maps to the modifiable risk "
"factors of cholelithiasis — suggesting that Medovah Srotas Dushti Lakshanas "
"will be clinically demonstrable and quantifiable in cholelithiasis patients.",
12, italic=True, color=WHITE, align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.MIDDLE)
# =============================================================================
# SAVE
# =============================================================================
out = "/tmp/workspace/roganidan-synopsis/Introduction_Slides_3panel.pptx"
prs.save(out)
print("Saved:", out)
print("Slides:", len(prs.slides))
cd /tmp/workspace/roganidan-synopsis && python create_intro_slides.py 2>&1
Introduction Slides 3panel
Presentation · PPTX
| Section | Key Points | Reference |
|---|---|---|
| Srotas Definition | Channels pervading the body; functional metabolic units | C.Vi.5/3-5 |
| Medovah Srotas Identity | Moola = Vrikka + Vapavahana; carries Meda Dhatu (4th Dhatu) | C.Sha.5/8 |
| Dushti Hetu | Asyasukha, Divasvapna, Avyayama, Atisnigdha Ahara, Beeja Dosha | C.Su.21/4; C.Vi.5/16 |
| Dushti Lakshana | Sthaulya, Atisveda, Daurbalya, Alpa-prana, Kshudha/Pipasa Adhikya, Chala-sphik | C.Su.21/9 |
| Samprapti (Pathogenesis) | Hetu → Kapha-Meda Vriddhi → Agni Mandya → Srotovarodha → Lakshanas → Medoroga | C.Su.28 |
| Section | Key Points | Reference |
|---|---|---|
| Epidemiology | 10-15% adults; >80% cholesterol stones; rising in India | Robbins Pathology p.636 |
| Pathogenesis | 3-step: Bile supersaturation → Nucleation → Dysmotility/Stasis | Yamada's Gastroenterology 7e |
| Modifiable Risk Factors | Obesity, sedentary life, high-fat diet, dyslipidaemia, insulin resistance | Clinical GI Endoscopy 3e Ch.53 |
| Non-Modifiable Risk Factors | Age >40, Female sex (4F rule), Genetics (LITH gene), Ethnicity | Robbins Pathology; Sleisenger & Fordtran |
| Diagnosis | USG >95% sensitivity; 70% asymptomatic; complications | Clinical GI Endoscopy 3e |
| Ayurvedic Concept | Modern Equivalent | Common Ground |
|---|---|---|
| Atisnigdha/Guru Ahara | High-fat, high-cholesterol diet | Dietary fat excess → Meda Vriddhi / bile cholesterol supersaturation |
| Avyayama + Asyasukha | Sedentary lifestyle | Inactivity → Kapha-Meda Sanchaya / gallbladder dysmotility |
| Sthaulya (Obesity) | Obesity — strongest risk factor | Shared phenotype for both conditions |
| Medovriddhi → Kapha Prakopa | Dyslipidaemia / Metabolic Syndrome | Elevated Meda = elevated LDL/TG, disrupting bile chemistry |
| Srotovarodha in Vapavahana | Visceral fat / gallbladder stasis | Vapavahana (omentum) is the anatomical neighbour of the gallbladder |
Above material without slide in sentences
review of previous litrecher work
Medovaha srotas Ayurveda clinical study
cholelithiasis obesity metabolic syndrome gallstone
Ayurveda srotas obesity metabolic disorder
review of literature Medovah Srotodushti Lakshana cholelithiasis Ayurveda research studies
Ayurveda obesity Meda Dhatu metabolic syndrome
cholelithiasis obesity visceral fat omental adipose gallbladder
Medovah Srotas Sthaulya clinical study Ayurveda PG thesis Roganidan obesity
PMID: 36506064
https://www.phytojournal.com/archives/2022/vol11issue5/PartD…
https://ijam.co.in/index.php/ijam/article/viewFile/07022016/…
gallstone disease BMI lipid profile insulin resistance prevalence India
gallstone disease metabolic syndrome India prevalence
Diagnosis of morden research work
| Investigation | Purpose | Sensitivity | Specificity | Reference |
|---|---|---|---|---|
| USG Abdomen | Gold standard for gallstones in GB | >95% | ~99% | Schwartz's Surgery 11e |
| LFT (ALP, Bilirubin, GGT) | Biliary obstruction screen | 87-91% | High | Symptom to Diagnosis 4e |
| MRCP | CBD stones, non-invasive | 90% | 95% | Current Surgical Therapy 14e |
| ERCP | CBD stones + therapeutic | >90% | 99% | Symptom to Diagnosis 4e |
| EUS | CBD stones, intermediate risk | 90-100% | 90-100% | Symptom to Diagnosis 4e |
| CT Abdomen | Complications, CBD stones | 75% | Moderate | Symptom to Diagnosis 4e |
| HIDA Scan | Gallbladder function | 88-94% | 78-80% | Mulholland Surgery 7e |
| Lipid Profile / BMI / FBS | Metabolic risk assessment | — | — | Sleisenger & Fordtran 11e |
Research gap in diagnosis of gall stones
gallstone diagnosis early detection asymptomatic screening gap
cholelithiasis metabolic markers early biomarker prediction
PMID: 39052638
PMID: 40181266
gallstone prevention early clinical risk factors lifestyle intervention
Make synopsis accordingly
python3 -c " from docx import Document doc = Document('/tmp/workspace/attachments/a31e9bcc-c2b3-4143-9647-57cd6d37352f/meet patei syn..docx') for p in doc.paragraphs: style = p.style.name if p.style else 'None' if p.text.strip(): print(f'[{style}] {p.text}') " 2>&1
~/roganidan-synopsis/create_synopsis.py
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
from docx.shared import Cm
doc = Document()
# ── Page margins ──────────────────────────────────────────────────────────────
section = doc.sections[0]
section.top_margin = Inches(1.0)
section.bottom_margin = Inches(1.0)
section.left_margin = Inches(1.25)
section.right_margin = Inches(1.0)
# ── Default style ─────────────────────────────────────────────────────────────
style = doc.styles['Normal']
style.font.name = 'Times New Roman'
style.font.size = Pt(12)
# ── Helper functions ─────────────────────────────────────────────────────────
def heading(text, level=1, center=False, underline=False, size=None):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER if center else WD_ALIGN_PARAGRAPH.LEFT
run = p.add_run(text)
run.bold = True
run.underline = underline
run.font.name = 'Times New Roman'
run.font.size = Pt(size if size else (16 if level == 1 else 14 if level == 2 else 12))
return p
def normal(text, bold=False, italic=False, indent=False, center=False, size=12):
p = doc.add_paragraph()
if indent:
p.paragraph_format.left_indent = Inches(0.3)
p.alignment = WD_ALIGN_PARAGRAPH.CENTER if center else WD_ALIGN_PARAGRAPH.JUSTIFY
run = p.add_run(text)
run.bold = bold
run.italic = italic
run.font.name = 'Times New Roman'
run.font.size = Pt(size)
return p
def bullet(text, bold_prefix=None, size=12):
p = doc.add_paragraph(style='List Bullet')
p.paragraph_format.left_indent = Inches(0.3)
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
if bold_prefix:
r1 = p.add_run(bold_prefix + " ")
r1.bold = True
r1.font.name = 'Times New Roman'
r1.font.size = Pt(size)
r2 = p.add_run(text)
r2.font.name = 'Times New Roman'
r2.font.size = Pt(size)
return p
def numbered(num, text, bold_prefix=None, size=12):
p = doc.add_paragraph()
p.paragraph_format.left_indent = Inches(0.3)
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
r0 = p.add_run(f"{num}. ")
r0.bold = True
r0.font.name = 'Times New Roman'
r0.font.size = Pt(size)
if bold_prefix:
r1 = p.add_run(bold_prefix + ": ")
r1.bold = True
r1.font.name = 'Times New Roman'
r1.font.size = Pt(size)
r2 = p.add_run(text)
r2.font.name = 'Times New Roman'
r2.font.size = Pt(size)
return p
def section_heading(text):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
run = p.add_run(text)
run.bold = True
run.underline = True
run.font.name = 'Times New Roman'
run.font.size = Pt(13)
p.paragraph_format.space_before = Pt(10)
p.paragraph_format.space_after = Pt(4)
return p
def sub_heading(text):
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
run = p.add_run(text)
run.bold = True
run.font.name = 'Times New Roman'
run.font.size = Pt(12)
p.paragraph_format.space_before = Pt(6)
return p
def spacer():
doc.add_paragraph()
def hline():
p = doc.add_paragraph()
pPr = p._p.get_or_add_pPr()
pBdr = OxmlElement('w:pBdr')
bottom = OxmlElement('w:bottom')
bottom.set(qn('w:val'), 'single')
bottom.set(qn('w:sz'), '6')
bottom.set(qn('w:space'), '1')
bottom.set(qn('w:color'), '000000')
pBdr.append(bottom)
pPr.append(pBdr)
return p
# =============================================================================
# TITLE PAGE
# =============================================================================
spacer()
heading("SYNOPSIS", level=1, center=True, size=16)
spacer()
normal("Title of Study:", bold=True, center=False)
heading(
"A Clinical Observational Study of Medovah Srotodushti Lakshana in "
"Patients of Cholelithiasis (Gallstone Disease)",
level=1, center=True, underline=False, size=14
)
spacer()
normal("[Name of Your Ayurvedic College & University]", bold=True, center=True, size=13)
normal("Faculty of Ayurveda", bold=False, center=True)
spacer()
normal(
"Synopsis submitted as partial fulfillment for the degree of",
center=True
)
normal("Ayurveda Vachaspati (MD Ayurveda)", bold=True, center=True)
normal("Speciality – Roganidana - Vikritivijnana", bold=True, center=True)
spacer()
normal("Scholar", bold=True, center=True)
normal("[Your Full Name]", center=True)
spacer()
normal("Under the supervision of", center=True)
normal("Guide", bold=True, center=True)
normal("Dr. _________________, MD (Ayu.)", center=True)
normal("Associate Professor", center=True)
normal("Department of Roganidana - Vikritivijnana", center=True)
normal("[Name of Ayurvedic College]", center=True)
normal("[City, State - PIN]", center=True)
spacer()
doc.add_page_break()
# =============================================================================
# INTRODUCTION
# =============================================================================
section_heading("Introduction")
normal(
"According to Ayurveda, the human body is a system of interconnected channels called Srotas, "
"which carry and transform Dhatus, Doshas, Malas, and Rasa throughout the body. "
"Acharya Charaka defines them as channels pervading the entire body — "
'"Srotansi khalu sharire antatah parinaham gacchanti" (C.Vi.5/4). '
"Among the thirteen Srotases described, Medovah Srotas is the channel responsible for "
"carrying and nourishing Meda Dhatu — the adipose or lipid tissue, "
"which is the 4th Dhatu in the Sapta Dhatu Poshana Krama."
)
normal(
"Acharya Charaka clearly identifies the Moola (root origin) of Medovah Srotas as — "
'"Medovahaanam srotasam vrikko mulam vapavahanancha" (C.Sha.5/8), '
"i.e., the Vrikka (kidneys) and the Vapavahana (omentum / mesenteric fat). "
"The Dushti Hetu (causative factors) of Medovah Srotas include "
"Asyasukha (sedentary habits), Divasvapna (day sleep), Atisnigdha and Atiguruahara "
"(high-fat, heavy diet), and Avyayama (lack of exercise) (C.Su.21/4). "
"The resulting Dushti Lakshanas include Sthaulya (obesity), Atisveda (profuse sweating), "
"Daurbalya (weakness), Alpa-prana (reduced vitality), Kshudha-adhikya (increased appetite), "
"Pipasa-adhikya (increased thirst), and Chala-sphik / Chala-udara (pendulous flanks/abdomen) (C.Su.21/9)."
)
normal(
"Cholelithiasis (gallstone disease) is the presence of calculi within the gallbladder. "
"It is one of the most common gastrointestinal conditions worldwide, affecting 10–15% of adults. "
"More than 80% of gallstones are cholesterol stones caused by bile cholesterol supersaturation, "
"gallbladder dysmotility, and cholesterol crystal nucleation. "
"The strongest modifiable risk factors for cholelithiasis are "
"obesity, sedentary lifestyle, high-fat diet, and dyslipidaemia — "
"precisely the same Hetu that Ayurveda identifies for Medovah Srotodushti. "
"Ultrasonography of the abdomen is the gold standard diagnostic investigation, "
"with sensitivity >95% for gallstones."
)
normal(
"A careful comparative analysis reveals a striking convergence at the level of causation, "
"anatomical territory, and metabolic substrate between Medovah Srotodushti and cholelithiasis. "
"The Vapavahana (omentum) — identified as the Moola of Medovah Srotas — "
"is anatomically contiguous with the gallbladder and pericholecystic fat, "
"the same visceral adipose depot implicated in gallbladder dysmotility and bile supersaturation. "
"Despite this clear conceptual convergence, no published study has specifically examined "
"or quantified the Medovah Srotodushti Lakshanas in a clinically confirmed cohort of "
"cholelithiasis patients. This gap forms the rationale for the present study."
)
spacer()
# =============================================================================
# REVIEW OF PREVIOUS RESEARCH WORKS
# =============================================================================
section_heading("Review of Previous Research Works")
sub_heading("A. Ayurvedic Literature")
bullet(
"Acharya Charaka (C.Su.21/9) enumerates eight Medovah Srotodushti Lakshanas: "
"Sthaulya, Atisveda, Daurbalya, Alpa-prana, Kshudha-adhikya, Pipasa-adhikya, "
"Chala-sphik, and Chala-udara. These form the primary observational criteria for this study."
)
bullet(
"Acharya Vagbhata (A.H.Ni.12) describes Medoroga arising from Guru Snigdha Ahara, "
"Avyayama, and Divasvapna — the same Hetu as cholelithiasis risk factors."
)
bullet(
"Smita Dutta Paul and Dr. A.K. Jain (J Pharmacognosy Phytochem, 2022;11(5)) "
"conducted a pathophysiological review of Medovaha Srotas and concluded that "
"Medovah Srotodushti manifests as Sthaulya (obesity) and Prameha-Poorvaroopa (pre-diabetes), "
"correlated with visceral adiposity, metabolic syndrome, and arteriosclerosis."
)
bullet(
"Londhe P.D. (IJAM, 2016;7(1):6-9) reviewed Ayurvedic texts and proposed that "
"cholelithiasis can be understood as Pittashmari (stone in Pittashaya) with "
"Kapha-Pitta Dushti as the predominant Samprapti. "
"The causative factors mapped directly to high-fat diet and metabolic imbalance."
)
bullet(
"Case reports of Ayurvedic management of Pittashmari have been published in "
"AYUSHDHARA (2023) and IJAPR (2022), documenting stone dissolution with "
"Ayurvedic treatment protocols in individual patients, confirming clinical feasibility."
)
sub_heading("B. Modern Literature")
bullet(
"Lyu J. et al. (Front Endocrinol, 2022; PMID: 36506064) — Meta-analysis of 7 studies "
"confirmed that gallstone disease patients have 45% higher risk of metabolic syndrome "
"(OR: 1.45, 95% CI: 1.23-1.67) and that BMI shows a linear dose-response relationship "
"with gallstone incidence (OR: 1.02 per unit BMI). "
"The authors concluded that weight control is the principal preventive strategy for gallstone disease."
)
bullet(
"Han X. et al. (PLoS ONE, 2024; PMID: 39052638) — Systematic review of 30 studies (2,313 participants) "
"found that bile acid profiles are markedly altered in gallstone patients, with serum GCA, TCA, and "
"GCDCA elevated — identifying potential early biomarkers. However, these require sophisticated "
"laboratory equipment not available in routine clinical settings."
)
bullet(
"Zheng H. et al. (BMC Gastroenterol, 2025; PMID: 40181266) — NHANES-based study (n=2,692) found that "
"the Cardiometabolic Index (integrating TG:HDL ratio and waist-to-height ratio) is significantly "
"associated with gallstone risk (OR: 1.90, 95% CI: 1.37-2.62), highlighting the need for a "
"composite clinical metabolic risk marker in gallstone diagnosis."
)
bullet(
"Robbins & Kumar Basic Pathology (11th Ed.) established that risk factors for cholesterol gallstones "
"include obesity, female sex, advancing age, and heredity — the same profile as Medovah Srotodushti Hetu."
)
bullet(
"Yamada's Textbook of Gastroenterology (7th Ed.) describes gallstone pathogenesis as a "
"three-step process: bile supersaturation, nucleation, and gallbladder dysmotility — "
"each driven by the same metabolic derangement Ayurveda terms Meda Dhatu Dushti."
)
sub_heading("C. Research Gap")
bullet(
"No published study has systematically examined or quantified the Medovah Srotodushti "
"Lakshanas in a USG-confirmed cholelithiasis cohort using a structured Ayurvedic scoring tool."
)
bullet(
"Modern diagnosis is reactive — USG detects stones only after formation. "
"No standardised bedside pre-lithogenic clinical scoring tool exists in routine practice."
)
bullet(
"Emerging biomarker research (Han X., 2024; Zheng H., 2025) recognises the need for "
"a composite metabolic risk marker for early gallstone detection but lacks a practical, "
"cost-effective, field-applicable clinical solution."
)
bullet(
"No validated Medovah Srotodushti Lakshana scoring scale has been published for "
"any metabolic or biliary disease cohort in indexed Ayurvedic literature."
)
spacer()
# =============================================================================
# RELEVANCE OF PRESENT STUDY
# =============================================================================
section_heading("Relevance of Present Study")
normal(
"Cholelithiasis shares its cardinal risk factors — high-fat diet, sedentary lifestyle, "
"obesity, and metabolic derangement — with the classical Hetu of Medovah Srotodushti as "
"described by Acharya Charaka. Despite this convergence, no systematic Roganidana study "
"has documented the Medovah Srotodushti Lakshanas in cholelithiasis patients."
)
normal(
"If Medovah Srotodushti Lakshanas are demonstrably present and correlatable in "
"cholelithiasis patients, they can serve as early, non-invasive, cost-free clinical markers "
"for pre-lithogenic metabolic risk — enabling Nidana Parivarjana-based prevention before "
"stone formation. This study will generate the first clinical evidence base for "
"this Ayurvedic diagnostic framework in biliary disease, bridging classical Srotas Siddhanta "
"with evidence-based medicine."
)
spacer()
# =============================================================================
# NEED OF THE STUDY
# =============================================================================
section_heading("Need of the Study")
normal(
"Cholelithiasis is a prevalent gastrointestinal condition with rising incidence in India "
"due to dietary transition and sedentary lifestyles. Modern medicine diagnoses gallstones "
"only after stone formation — with no validated pre-symptomatic clinical risk tool available "
"at the bedside. Approximately 70% of patients are asymptomatic at diagnosis and are managed "
"surgically once symptomatic, with no preventive intervention in the pre-stone phase."
)
normal(
"Ayurveda provides a detailed clinical framework — Medovah Srotodushti Lakshanas — "
"that represents the metabolic precursor state of gallstone disease. "
"However, no clinical evidence currently exists correlating these Lakshanas with "
"confirmed cholelithiasis. Establishing this association would:"
)
bullet("Fill a critical gap in Ayurvedic Roganidana scholarship.")
bullet("Provide a validated bedside clinical tool for early metabolic-biliary risk assessment.")
bullet("Enable preventive Ayurvedic intervention before gallstone formation occurs.")
bullet("Contribute original, publishable clinical data integrating Srotas Siddhanta with modern gastroenterology.")
spacer()
# =============================================================================
# RESEARCH QUESTION
# =============================================================================
section_heading("Research Question")
normal(
"Are the classical Medovah Srotodushti Lakshanas clinically demonstrable and quantifiable "
"in patients with USG-confirmed cholelithiasis, and do they correlate with the severity "
"of gallstone disease and associated metabolic parameters?"
)
spacer()
# =============================================================================
# HYPOTHESIS
# =============================================================================
section_heading("Hypothesis")
sub_heading("Null Hypothesis (H\u2080):")
normal(
"There is no significant presence of Medovah Srotodushti Lakshanas in patients "
"with cholelithiasis above baseline clinical levels."
)
sub_heading("Alternate Hypothesis (H\u2081):")
normal(
"Clinically significant Medovah Srotodushti Lakshanas are demonstrably present "
"in cholelithiasis patients, and their severity positively correlates with "
"the degree of gallstone disease on ultrasonographic parameters and metabolic markers."
)
spacer()
# =============================================================================
# AIMS AND OBJECTIVES
# =============================================================================
section_heading("Aims and Objectives")
sub_heading("Aim:")
normal(
"To study the Medovah Srotodushti Lakshanas in patients of Cholelithiasis and "
"to assess their prevalence, frequency, and severity."
)
sub_heading("Primary Objective:")
normal(
"To observe and document the classical Medovah Srotodushti Lakshanas "
"(Sthaulya, Atisveda, Daurbalya, Alpa-prana, Kshudha-adhikya, Pipasa-adhikya, "
"Chala-sphik, Chala-udara) in USG-confirmed cholelithiasis patients using a "
"validated scoring tool."
)
sub_heading("Secondary Objectives:")
numbered(1, "To assess the frequency and severity of each Medovah Srotodushti Lakshana "
"individually using a standardised scoring scale (0–3).")
numbered(2, "To correlate Medovah Srotodushti Lakshana scores with modern metabolic parameters: "
"BMI, waist circumference, lipid profile (Total Cholesterol, LDL, HDL, Triglycerides), "
"and fasting blood sugar.")
numbered(3, "To correlate Lakshana scores with ultrasonographic parameters of cholelithiasis "
"(stone size, stone number, gallbladder wall thickness).")
numbered(4, "To identify which Medovah Srotodushti Lakshanas are most predominant in "
"cholelithiasis patients and assess their potential as early clinical diagnostic indicators.")
spacer()
# =============================================================================
# EXPECTED OUTCOME
# =============================================================================
section_heading("Expected Outcome")
sub_heading("Primary Outcome:")
normal("Documentation of the prevalence and severity of Medovah Srotodushti Lakshanas "
"in USG-confirmed cholelithiasis patients.")
sub_heading("Secondary Outcomes:")
bullet("Frequency distribution of individual Medovah Srotodushti Lakshanas in the study cohort.")
bullet("Statistically significant correlation between Lakshana scoring and metabolic parameters "
"(BMI, lipid profile, FBS, waist circumference).")
bullet("Correlation between Lakshana severity scores and USG parameters "
"(stone burden, GB wall thickness).")
bullet("A validated Medovah Srotodushti Lakshana scoring sheet usable in clinical Ayurvedic practice.")
spacer()
# =============================================================================
# STUDY DESIGN
# =============================================================================
section_heading("Study Design")
normal("Observational, cross-sectional clinical study.")
normal("Duration of Study: 18 months from the date of IEC approval.")
normal("Setting: OPD and IPD, Department of Roganidana - Vikritivijnana, [Name of Institute].")
normal("Sample Size: 60 patients with USG-confirmed cholelithiasis.")
normal("Sample Size Justification: Calculated using n = Z² × P(1-P) / d² (prevalence-based formula); "
"subject to revision based on IEC-approved protocol and power analysis.")
spacer()
# =============================================================================
# ETHICAL CONSIDERATIONS
# =============================================================================
section_heading("Ethical Considerations")
normal("IEC Approval: The clinical study will be commenced only after obtaining clearance "
"from the Institutional Ethics Committee (IEC) of [Name of Institute].")
normal("Written Informed Consent: Written informed consent will be obtained from all "
"participants prior to their enrollment in the study.")
normal("CTRI Registration: The study will be registered in the Clinical Trials Registry "
"of India (CTRI) before commencement of data collection.")
spacer()
# =============================================================================
# SELECTION CRITERIA
# =============================================================================
section_heading("Selection Criteria of Patients")
sub_heading("Diagnostic Criteria:")
sub_heading("Modern Criteria:")
bullet("USG abdomen confirming presence of gallstone(s) in the gallbladder "
"(single or multiple; any size ≥2 mm detectable on USG).")
bullet("Lipid profile, fasting blood sugar, and BMI recorded for all enrolled patients.")
bullet("LFT (Bilirubin, ALP, ALT, AST) to exclude choledocholithiasis and "
"complicated biliary disease.")
sub_heading("Ayurvedic Criteria:")
bullet("Medovah Srotodushti Lakshana assessment using a structured scoring sheet "
"(researcher-designed; validated by a panel of Roganidana faculty prior to data collection).")
bullet("Prakriti assessment using the AYU validated scale.")
spacer()
sub_heading("Inclusion Criteria:")
bullet("Age 20–60 years, either sex.")
bullet("USG abdomen confirming cholelithiasis (symptomatic or incidentally detected).")
bullet("Willing to participate and provide written informed consent.")
bullet("Ability to attend follow-up visits during the study duration.")
bullet("Not currently on hypolipidemic drugs, bariatric treatment, or Ayurvedic Shodhana therapy.")
sub_heading("Exclusion Criteria:")
bullet("Acute cholecystitis, cholangitis, or biliary pancreatitis requiring emergency management.")
bullet("Post-cholecystectomy patients.")
bullet("Known malignancy of biliary tract or gallbladder carcinoma.")
bullet("Pregnancy and lactation.")
bullet("Severe systemic illness: chronic kidney disease (CKD), cirrhosis, "
"decompensated heart failure, malignancy.")
bullet("Age <20 or >60 years.")
bullet("Patients on long-term corticosteroids or immunosuppressant therapy.")
bullet("Patients with confirmed choledocholithiasis (CBD stones) on MRCP / ERCP.")
bullet("Individuals unwilling to provide informed consent.")
spacer()
# =============================================================================
# INVESTIGATIONS
# =============================================================================
section_heading("Investigations")
sub_heading("Modern Investigations:")
numbered(1, "Ultrasonography (USG) of Abdomen — Confirmatory diagnostic investigation "
"(stone size, number, gallbladder wall thickness, CBD diameter).")
numbered(2, "Fasting Lipid Profile — Total Cholesterol, LDL, HDL, VLDL, Triglycerides.")
numbered(3, "Fasting Blood Sugar (FBS) and HbA1c.")
numbered(4, "Liver Function Tests (LFT) — Serum Bilirubin (total/direct), ALP, ALT, AST, GGT "
"(to exclude choledocholithiasis and biliary obstruction).")
numbered(5, "Complete Blood Count (CBC).")
numbered(6, "Anthropometric Measurements — Height, Weight, BMI, Waist Circumference (WC), "
"Waist-to-Hip Ratio (WHR), Waist-to-Height Ratio (WHtR).")
sub_heading("Ayurvedic Investigations:")
numbered(1, "Ashtavidha Pariksha (eightfold clinical examination): "
"Nadi, Mutra, Mala, Jihwa, Shabda, Sparsha, Drik, Akriti.")
numbered(2, "Medovah Srotodushti Lakshana Scoring Sheet "
"(0 = Absent, 1 = Mild, 2 = Moderate, 3 = Severe; Maximum Score = 24).")
numbered(3, "Prakriti Assessment (AYU scale).")
numbered(4, "Nidana (Hetu) documentation — dietary habits, sleep pattern, physical activity level.")
spacer()
# =============================================================================
# CRITERIA FOR ASSESSMENT
# =============================================================================
section_heading("Criteria for Assessment")
sub_heading("Medovah Srotodushti Lakshana Scoring Sheet:")
# Table
table = doc.add_table(rows=1, cols=4)
table.style = 'Table Grid'
hdr_cells = table.rows[0].cells
for cell, text in zip(hdr_cells, ['Lakshana', 'Classical Reference', 'Clinical Equivalent', 'Score (0-3)']):
cell.text = text
for run in cell.paragraphs[0].runs:
run.bold = True
run.font.name = 'Times New Roman'
run.font.size = Pt(11)
rows_data = [
("Sthaulya", "C.Su.21/9", "BMI ≥25; central obesity (WC >90 cm M / >80 cm F)", "0-3"),
("Atisveda", "C.Su.21/9", "Excessive sweating on minimal exertion", "0-3"),
("Daurbalya", "C.Su.21/9", "Easy fatiguability and muscular weakness", "0-3"),
("Alpa-prana", "C.Su.21/9", "Reduced vitality, poor stamina, breathlessness on exertion","0-3"),
("Kshudha-adhikya", "C.Su.21/9", "Increased appetite; frequent hunger pangs", "0-3"),
("Pipasa-adhikya", "C.Su.21/9", "Excessive thirst", "0-3"),
("Anga-gaurava", "A.H.Su.11/5", "Heaviness of body and limbs", "0-3"),
("Chala-sphik/Udara", "C.Su.21/9", "Pendulous/flaccid flanks, abdomen, and breasts", "0-3"),
]
for r in rows_data:
row_cells = table.add_row().cells
for cell, val in zip(row_cells, r):
cell.text = val
for run in cell.paragraphs[0].runs:
run.font.name = 'Times New Roman'
run.font.size = Pt(11)
spacer()
normal("Scoring: 0 = Absent | 1 = Mild | 2 = Moderate | 3 = Severe | Maximum Total Score: 24",
italic=True)
normal("The scoring sheet will be validated by an expert panel of minimum three Roganidana faculty "
"members before commencement of the study.", italic=True)
spacer()
sub_heading("Modern Correlation Parameters:")
bullet("BMI (kg/m²) — Underweight <18.5 / Normal 18.5-24.9 / Overweight 25-29.9 / Obese ≥30")
bullet("Waist Circumference — Abdominal obesity: Males ≥90 cm; Females ≥80 cm (Asian cutoffs)")
bullet("Lipid Profile — Hypercholesterolaemia: TC >200 mg/dL; LDL >130 mg/dL; TG >150 mg/dL; HDL <40 mg/dL (M) / <50 mg/dL (F)")
bullet("FBS — Normal <100 mg/dL; Pre-diabetes 100-125 mg/dL; Diabetes ≥126 mg/dL")
bullet("USG Parameters — Stone size (mm), stone number, gallbladder wall thickness (mm)")
spacer()
# =============================================================================
# STATISTICAL ANALYSIS
# =============================================================================
section_heading("Statistical Analysis")
normal("Data will be entered and analysed using SPSS version 26.0 / GraphPad Prism software.")
bullet("Descriptive statistics: Mean, Standard Deviation (SD), frequency, and percentage "
"for all demographic and clinical parameters.")
bullet("Correlation analysis: Pearson's / Spearman's correlation coefficient to assess "
"association between Medovah Srotodushti Lakshana scores and metabolic parameters "
"(BMI, lipid profile, FBS, WC).")
bullet("Comparison of Lakshana scores across BMI categories and stone burden: "
"ANOVA / Kruskal-Wallis test as appropriate.")
bullet("Chi-square test for association between categorical variables "
"(Prakriti groups and Lakshana severity).")
bullet("Statistical significance will be set at p < 0.05.")
spacer()
# =============================================================================
# COLLABORATION WITH OTHER DEPARTMENTS
# =============================================================================
section_heading("Collaboration with Other Departments")
normal("The following departments will be consulted for investigations and data analysis:")
bullet("Department of Roganidana - Vikritivijnana (Primary Department), [Institute]")
bullet("Pathology Laboratory, [Institute] — CBC, LFT")
bullet("Bio-Chemistry Laboratory, [Institute] — Lipid Profile, FBS, HbA1c")
bullet("Radiology Department, [Institute] — USG Abdomen reporting")
bullet("Department of Kayachikitsa, [Institute] — Clinical case co-assessment as required")
spacer()
# =============================================================================
# REPORTING OF ADR
# =============================================================================
section_heading("Reporting of Adverse Events")
normal(
"This is a purely observational study with no drug administration or intervention. "
"No adverse events are anticipated. However, if any adverse reaction or clinical "
"deterioration is observed during the study period, it will be reported to the "
"Institutional Ethics Committee (IEC) and, if applicable, to the "
"Pharmacovigilance cell of [Institute]."
)
spacer()
# =============================================================================
# REFERENCES
# =============================================================================
section_heading("References")
refs = [
"Charaka Samhita — Sutrasthana 21/4, 21/9; Vimana Sthana 5/3-5, 5/16; "
"Sharira Sthana 5/8. Acharya YT (Ed.), Chaukhamba Surbharati Prakashan, Varanasi. Reprint 2013.",
"Ashtanga Hridayam — Sutrasthana 11/5, 11/13-14; Nidanasthana 12. "
"Srikantha Murthy KR (Ed.), Krishnadas Academy, Varanasi.",
"Sushruta Samhita — Sutrasthana 15/7; Sharir Sthana 9. "
"Acharya JT (Ed.), Chaukhamba Sanskrit Sansthan, Varanasi.",
"Smita Dutta Paul, Ashutosh Kumar Jain. Pathophysiological understanding of "
"Medovaha Srotas and its clinical significance. J Pharmacognosy Phytochem. "
"2022;11(5):278-284.",
"Londhe PD. The Concept of Cholelithiasis as Per Ayurvedic Text. "
"Int J Ayurvedic Med. 2016;7(1):6-9.",
"Lyu J, Lin Q, Fang Z, Xu Z, Liu Z. Complex impacts of gallstone disease on metabolic "
"syndrome and nonalcoholic fatty liver disease. Front Endocrinol. 2022. PMID: 36506064.",
"Han X, Wang J, Wu Y, Gu H, Zhao N, Liao X. Predictive value of bile acids as metabolite "
"biomarkers for gallstone disease: A systematic review and meta-analysis. "
"PLoS One. 2024. PMID: 39052638.",
"Zheng H, Wu B, Zhuang C, Mao J, Li M, Luo Y. Cardiometabolic index as a predictor "
"of gallstone risk: evidence from NHANES 2017-2020. BMC Gastroenterol. 2025. PMID: 40181266.",
"Schwartz SI, Brunicardi FC (Eds.). Schwartz's Principles of Surgery, 11th Ed. "
"New York: McGraw-Hill; 2019. Chapter 32: Gallbladder and Biliary Tract.",
"Yamada T, Alpers DH (Eds.). Yamada's Textbook of Gastroenterology, 7th Ed. "
"Oxford: Wiley-Blackwell; 2022. Chapter: Cholelithiasis.",
"Townsend CM (Ed.). Sabiston Textbook of Surgery, Current Surgical Therapy, 14th Ed. "
"Philadelphia: Elsevier; 2023. Chapter: Choledocholithiasis.",
"Robbins SL, Kumar V. Robbins & Kumar Basic Pathology, 11th Ed. "
"Philadelphia: Elsevier; 2023. Chapter: Gallbladder Diseases, p.636.",
"Feldman M, Friedman LS, Brandt LJ (Eds.). Sleisenger and Fordtran's Gastrointestinal "
"and Liver Disease, 11th Ed. Philadelphia: Elsevier; 2021.",
"Symptom to Diagnosis: An Evidence-Based Guide, 4th Ed. New York: McGraw-Hill; 2020. "
"Chapter: Choledocholithiasis.",
]
for i, ref in enumerate(refs, 1):
p = doc.add_paragraph()
p.paragraph_format.left_indent = Inches(0.3)
p.paragraph_format.first_line_indent = Inches(-0.3)
p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
r = p.add_run(f"{i}. {ref}")
r.font.name = 'Times New Roman'
r.font.size = Pt(11)
spacer()
# =============================================================================
# PLAN OF STUDY / GANTT CHART
# =============================================================================
section_heading("Plan of Study / Tentative Timeline (Gantt Chart)")
table2 = doc.add_table(rows=1, cols=4)
table2.style = 'Table Grid'
for cell, text in zip(table2.rows[0].cells,
['Sr. No.', 'Activity', 'Duration', 'Months']):
cell.text = text
for run in cell.paragraphs[0].runs:
run.bold = True
run.font.name = 'Times New Roman'
run.font.size = Pt(11)
gantt = [
("1", "IEC Approval and CTRI Registration", "2 months", "1-2"),
("2", "Literature review and tool validation", "2 months", "1-2"),
("3", "Development and validation of scoring sheet", "1 month", "2"),
("4", "Patient enrollment and data collection", "12 months", "3-14"),
("5", "Data compilation and statistical analysis", "2 months", "15-16"),
("6", "Thesis writing and submission", "2 months", "17-18"),
]
for row_data in gantt:
cells = table2.add_row().cells
for cell, val in zip(cells, row_data):
cell.text = val
for run in cell.paragraphs[0].runs:
run.font.name = 'Times New Roman'
run.font.size = Pt(11)
spacer()
# =============================================================================
# DECLARATION
# =============================================================================
section_heading("Declaration")
normal(
"The proposed study will be completed within the stipulated time limit. "
"All ethical guidelines will be strictly followed. "
"The data collected will be used solely for academic and research purposes."
)
spacer()
spacer()
# Signature block
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
run = p.add_run(
"Scholar" + " " * 60 + "Guide"
)
run.font.name = 'Times New Roman'
run.font.size = Pt(12)
spacer()
p2 = doc.add_paragraph()
p2.alignment = WD_ALIGN_PARAGRAPH.LEFT
run2 = p2.add_run(
"[Your Name]" + " " * 48 + "Dr. ________________________"
)
run2.font.name = 'Times New Roman'
run2.font.size = Pt(12)
p3 = doc.add_paragraph()
p3.alignment = WD_ALIGN_PARAGRAPH.LEFT
run3 = p3.add_run(
"PG Scholar, 1st Year" + " " * 38 + "MD (Ayu.), Associate Professor"
)
run3.font.name = 'Times New Roman'
run3.font.size = Pt(12)
p4 = doc.add_paragraph()
p4.alignment = WD_ALIGN_PARAGRAPH.LEFT
run4 = p4.add_run(
"Dept. of Roganidana" + " " * 41 + "Dept. of Roganidana - Vikritivijnana"
)
run4.font.name = 'Times New Roman'
run4.font.size = Pt(12)
# =============================================================================
# SAVE
# =============================================================================
out_path = "/tmp/workspace/roganidan-synopsis/Medovah_Srotodushti_Cholelithiasis_Synopsis.docx"
doc.save(out_path)
print("Saved:", out_path)
cd /tmp/workspace/roganidan-synopsis && python create_synopsis.py 2>&1
python3 -c " from docx import Document doc = Document('/tmp/workspace/roganidan-synopsis/Medovah_Srotodushti_Cholelithiasis_Synopsis.docx') sections = [p.text for p in doc.paragraphs if p.text.strip()] for s in sections[:10]: print(repr(s)) print('...') print('Total paragraphs:', len(doc.paragraphs)) print('Total tables:', len(doc.tables)) " 2>&1
Medovah Srotodushti Cholelithiasis Synopsis
Word Document · DOCX
| Section | Content |
|---|---|
| Title Page | Full title, university, faculty, degree (MD Ayu.), scholar name, guide name, department |
| Introduction | Ayurvedic view (Srotas, Medovah Srotas, Hetu, Lakshana), Modern view (Cholelithiasis, pathogenesis, risk factors), and the conceptual bridge between them — with references |
| Review of Previous Literature | Ayurvedic (Charaka, Vagbhata, Smita Dutta Paul 2022, Londhe 2016), Modern (Lyu 2022, Han 2024, Zheng 2025, Robbins, Yamada), Research Gap |
| Relevance of Present Study | Why this study is needed and what it will contribute |
| Need of the Study | Bullet-pointed justification covering clinical, academic, and preventive angles |
| Research Question | Single focused question |
| Hypothesis | H₀ and H₁ clearly stated |
| Aims & Objectives | One aim + 1 primary + 4 secondary objectives |
| Expected Outcome | Primary and secondary outcomes |
| Study Design | Observational, cross-sectional; 18 months; 60 patients; OPD/IPD |
| Ethical Considerations | IEC, Informed Consent, CTRI registration |
| Selection Criteria | Diagnostic, Inclusion (modern + Ayurvedic), Exclusion |
| Investigations | Modern (USG, Lipid, FBS, LFT, CBC, Anthropometry) + Ayurvedic (Ashtavidha Pariksha, Scoring Sheet, Prakriti) |
| Criteria for Assessment | Full 8-Lakshana scoring table + modern correlation parameters |
| Statistical Analysis | SPSS, Pearson/Spearman, ANOVA, Chi-square |
| Collaboration | Departments listed |
| Adverse Events | Standard observational study declaration |
| References | 14 references (classical texts + modern textbooks + PubMed indexed papers) |
| Gantt Chart | 18-month activity timeline table |
| Declaration + Signatures | Scholar and Guide signature block |
Research question
| Element | Description |
|---|---|
| P — Population | Patients aged 20–60 years with USG-confirmed Cholelithiasis attending OPD/IPD of the Roganidana department |
| I — Intervention / Index Test | Assessment of Medovah Srotodushti Lakshanas using a validated structured scoring sheet (0–3 scale; 8 Lakshanas; maximum score 24) |
| C — Comparator / Correlation | Modern metabolic parameters: BMI, waist circumference, lipid profile, fasting blood sugar; USG parameters: stone size, number, GB wall thickness |
| O — Outcome | Prevalence, frequency, and severity of Medovah Srotodushti Lakshanas; statistical correlation between Lakshana scores and metabolic/USG parameters |
Demonstrable and quantifiable means
"Can we actually show, through clinical examination, that these Lakshanas are present in cholelithiasis patients?"
"Can we not just say these Lakshanas are present or absent, but also measure HOW MUCH or HOW SEVERE they are?"
| Word | What it answers | What it enables |
|---|---|---|
| Demonstrable | Are these Lakshanas actually present in these patients? | Clinical observation, documentation, prevalence data |
| Quantifiable | How much / how severe are they? | Scoring, grading, correlation analysis, statistics |
"Demonstrable means we can prove these Lakshanas exist in cholelithiasis patients through direct clinical examination. Quantifiable means we can measure their severity using a validated scoring scale, making statistical correlation with modern parameters possible."
Severity of gall stone dise
| Grade | Clinical Status | Description |
|---|---|---|
| Grade 0 | Asymptomatic | Stones found incidentally on USG; no symptoms at all (~70% of patients) |
| Grade 1 | Mildly Symptomatic | Occasional mild right upper quadrant discomfort; fatty food intolerance; bloating |
| Grade 2 | Symptomatic (Biliary Colic) | Recurrent attacks of severe RUQ / epigastric pain, lasting 1-5 hrs; nausea/vomiting; pain radiates to right shoulder or back |
| Grade 3 | Complicated | Acute cholecystitis, choledocholithiasis, cholangitis, or gallstone pancreatitis |
| USG Finding | Severity Implication |
|---|---|
| Single stone | Less severe — lower risk of cystic duct impaction |
| Multiple stones (2-5) | Moderate severity |
| Multiple filling defects / sludge + stones | Higher metabolic derangement |
| Stone Size | Clinical Significance |
|---|---|
| < 5 mm | Small stones — higher risk of passing into CBD and causing cholangitis/pancreatitis |
| 5–10 mm | Moderate |
| 10–20 mm | Large — more likely to cause cystic duct obstruction / cholecystitis |
| > 20 mm (>2 cm) | Very large — prophylactic cholecystectomy recommended even in asymptomatic patients due to risk of gallbladder carcinoma |
| GBWT | Interpretation |
|---|---|
| < 3 mm | Normal |
| 3–4 mm | Borderline thickening — mild chronic irritation |
| > 4 mm | Significant — associated with chronic cholecystitis |
| > 6 mm | Acute cholecystitis / complicated disease |
Asymptomatic stones
↓
Biliary Colic (recurrent, uncomplicated)
↓
Acute Cholecystitis (cystic duct obstruction + inflammation)
↓
Choledocholithiasis (stone in CBD → jaundice, elevated ALP/Bilirubin)
↓
Cholangitis (bile duct infection → Charcot's Triad: fever + jaundice + RUQ pain)
↓
Gallstone Pancreatitis (stone at ampulla → acute pancreatitis)
↓
Mirizzi Syndrome / Gallbladder Perforation / Bilioenteric Fistula (rare, severe)
↓
Gallbladder Carcinoma (long-term, associated with large stones / porcelain GB)
| Grade | Severity | Criteria |
|---|---|---|
| Grade I (Mild) | Mild acute cholecystitis | Does not meet Grade II or III criteria; fits for early laparoscopic cholecystectomy |
| Grade II (Moderate) | Moderate acute cholecystitis | WBC >18,000/mm³; palpable tender RUQ mass; duration >72 hours; marked local inflammation (pericholecystic abscess, hepatic abscess, bilious peritonitis) |
| Grade III (Severe) | Severe acute cholecystitis | Organ dysfunction: cardiovascular (hypotension requiring vasopressors), neurological (altered consciousness), respiratory, renal, hepatic, or haematological dysfunction |
| Grade | Description |
|---|---|
| I | Localised inflammation only |
| II | Pericholecystic fluid or wall thickening |
| III | Pericholecystic abscess or perforation |
| IV | Bilioenteric fistula |
| V | Peritonitis |
| Parameter | Mild (1) | Moderate (2) | Severe (3) |
|---|---|---|---|
| Stone size | < 5 mm | 5–15 mm | > 15 mm |
| Stone number | Single | 2–5 | >5 / packed |
| GB wall thickness | < 3 mm | 3–4 mm | > 4 mm |
| Symptoms | Asymptomatic | Occasional colic | Recurrent colic / chronic cholecystitis |
Correlating the total Medovah Srotodushti Lakshana score with the USG severity score — stone size, stone number, and gallbladder wall thickness — to find whether more severe metabolic Srotas Dushti is associated with more severe gallstone disease on imaging.
Hypothesis
"There is no significant presence of Medovah Srotodushti Lakshanas in patients with USG-confirmed Cholelithiasis, and there is no statistically significant correlation between Medovah Srotodushti Lakshana scores and the metabolic parameters (BMI, lipid profile, waist circumference, fasting blood sugar) or ultrasonographic severity parameters (stone size, stone number, gallbladder wall thickness) of gallstone disease."
"Clinically significant Medovah Srotodushti Lakshanas are demonstrably present and quantifiable in patients with USG-confirmed Cholelithiasis, and their total severity score shows a statistically significant positive correlation with modern metabolic parameters (BMI, lipid profile, waist circumference, fasting blood sugar) and with the ultrasonographic severity of gallstone disease (stone size, stone number, gallbladder wall thickness)."
| Variable Type | Variable | How Measured |
|---|---|---|
| Dependent Variable | Medovah Srotodushti Lakshana Score | Structured scoring sheet (0–3 per Lakshana; total 0–24) |
| Independent Variable 1 | Metabolic parameters | BMI, waist circumference, lipid profile, FBS |
| Independent Variable 2 | USG severity of cholelithiasis | Stone size (mm), stone number, GB wall thickness (mm) |
| Confounding Variables | Age, sex, Prakriti, dietary habits | Recorded and controlled in analysis |
| Statistical Test | Purpose |
|---|---|
| Pearson's / Spearman's Correlation | Correlation between Lakshana total score and BMI, lipid profile, stone size |
| ANOVA / Kruskal-Wallis | Compare Lakshana scores across BMI categories and stone burden groups |
| Chi-square test | Association between Prakriti type and severity of Lakshanas |
| Descriptive statistics | Prevalence and frequency of each individual Lakshana |
"H₀ states there is no relationship between Medovah Srotodushti Lakshanas and cholelithiasis. H₁ predicts a significant positive relationship. The study is designed to collect data that will statistically test which hypothesis holds true — and based on the shared Hetu and metabolic substrate of both conditions, we predict H₁ will be supported."
Alternative hypothesis
"Clinically significant Medovah Srotodushti Lakshanas are demonstrably present and quantifiable in patients with USG-confirmed Cholelithiasis, and their total severity score shows a statistically significant positive correlation with modern metabolic parameters (BMI, lipid profile, waist circumference, fasting blood sugar) and with the ultrasonographic severity parameters of gallstone disease (stone size, stone number, gallbladder wall thickness)."
| Medovah Srotodushti Hetu (C.Su.21/4) | Cholelithiasis Risk Factor (Modern) |
|---|---|
| Atisnigdha / Guru Ahara | High-fat, high-cholesterol diet |
| Avyayama | Sedentary lifestyle |
| Asyasukha | Physical inactivity / comfort |
| Divasvapna | Disrupted metabolic rhythm |
| Beeja Dosha | Genetic predisposition (LITH gene) |
"The Alternate Hypothesis states that because Medovah Srotodushti and Cholelithiasis share identical causative factors, the same anatomical territory (Vapavahana/omentum), and the same metabolic substrate (Meda Dhatu disturbance / dyslipidaemia), patients with cholelithiasis will consistently demonstrate classical Medovah Srotodushti Lakshanas — and the severity of these Lakshanas will positively and significantly correlate with their metabolic parameters and gallstone burden on USG."
Secondary objective means
| Aim | Primary Objective | Secondary Objectives | |
|---|---|---|---|
| What it is | The broad purpose | The main single task | Additional supporting tasks |
| How many | One | One | Two or more |
| Priority | Highest | High | Important but supportive |
| If not achieved | Study fails | Study is incomplete | Study is still valid |
Secondary Objectives are the additional questions a researcher explores alongside the primary objective, using the same data, same patients, and same study — to extract more complete and meaningful information.
To observe and document the Medovah Srotodushti Lakshanas in cholelithiasis patients.
"Secondary objectives are additional scientific questions explored within the same study using the same data — they go beyond simply documenting Lakshana presence to examining their severity, metabolic correlation, imaging correlation, and clinical diagnostic utility — making the study scientifically complete and clinically meaningful."
Correlation between medovah Srotoas with cholelithiasis
visceral adiposity omentum gallbladder dysmotility gallstone formation
cholesterol gallstone obesity metabolic syndrome lipid
PMID: 30791781
PMID: 37455265