Regulatory aspects of QUM in India: Regulation of complementary medicines, Regulation of OTC medicines.
QUM regulation complementary medicines OTC India CDSCO regulatory framework
https://pmc.ncbi.nlm.nih.gov/articles/PMC10201516
India AYUSH complementary medicine regulation Drugs Cosmetics Act traditional medicine QUM
https://www.slideshare.net/slideshow/regulation-of-complemen…
| Legislation | Scope |
|---|---|
| Drugs and Cosmetics Act, 1940 (amended 2009) | Regulates manufacture, import, distribution, and sale of Ayurvedic, Siddha, and Unani (ASU) drugs - specifically under Chapter IVA |
| Drugs and Cosmetics Rules, 1945 | Operational rules; Schedule T covers GMP for ASU drugs; Schedule M-I defines standards |
| Indian Medicines Central Council Act, 1970 | Regulates education and practice of practitioners of Indian medicine |
| Homeopathy Central Council Act, 1973 | Regulates homeopathy education and practice |
| Drugs (Control) Act, 1950 | Supplementary control on drug supply |
"In India, till date, there are no guidelines for licensing OTC medicines. There is no separate category allotted for OTC medicines in India, and the drugs that do not come under the prescription medicines schedule are generally sold as over-the-counter medicines."
| Schedule | Description | OTC Relevance |
|---|---|---|
| Schedule H | Prescription-only drugs (antibiotics, antivirals, etc.) | NOT OTC |
| Schedule H1 | Restricted antibiotics and anti-TB drugs (stricter controls) | NOT OTC |
| Schedule X | Narcotic and psychotropic substances | NOT OTC |
| Schedule G | Drugs to be used under medical supervision (must carry warning) | NOT OTC |
| Schedule K | Drugs exempt from certain licensing provisions; some household remedies | Potential OTC candidates |
| Feature | India (Current) | Most Developed Countries |
|---|---|---|
| Defined OTC category in law | No (being developed) | Yes |
| Rx-to-OTC switch pathway | Absent/informal | Formal, evidence-based |
| Sale in non-pharmacy outlets | Restricted (pharmacy/licensed only) | Permitted for many products |
| Advertising regulation | Partial | Comprehensive |
| OTC labeling requirements | No specific OTC label standard | Mandatory patient information |
| Area | Key Regulatory Body | Primary Legislation | QUM Status |
|---|---|---|---|
| Complementary/AYUSH medicines | Ministry of AYUSH | D&C Act 1940 (Chapter IVA), Indian Medicines Central Council Act 1970 | Structured but workforce-limited; pharmacovigilance established |
| OTC medicines | CDSCO / MoHFW | D&C Act 1940 (Schedule H, K, G, X) | No formal OTC category yet; draft rules pending; largely exclusion-based |
Create a ppt on these topics
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace not found"
mkdir -p /tmp/workspace/qum-india-ppt
~/qum-india-ppt/create_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE
from io import BytesIO
# ── Colour palette ──────────────────────────────────────────────────────────
DEEP_BLUE = RGBColor(0x1A, 0x3A, 0x5C) # dark navy
MID_BLUE = RGBColor(0x1E, 0x6E, 0xB5) # medium blue
ACCENT_GREEN = RGBColor(0x27, 0xAE, 0x60) # green accent
ACCENT_ORG = RGBColor(0xE6, 0x7E, 0x22) # orange accent
LIGHT_BG = RGBColor(0xF0, 0xF4, 0xF9) # very light blue-grey
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x2E)
GREY_TEXT = RGBColor(0x55, 0x55, 0x55)
LIGHT_RULE = RGBColor(0xC5, 0xD8, 0xEE)
TEAL = RGBColor(0x0E, 0x8A, 0x8A)
W = Inches(13.333)
H = Inches(7.5)
prs = Presentation()
prs.slide_width = W
prs.slide_height = H
blank = prs.slide_layouts[6]
# ── Helper functions ─────────────────────────────────────────────────────────
def add_rect(slide, x, y, w, h, fill_rgb, alpha=None, line_rgb=None, line_width=Pt(0)):
shp = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, w, h)
shp.fill.solid()
shp.fill.fore_color.rgb = fill_rgb
if line_rgb:
shp.line.color.rgb = line_rgb
shp.line.width = line_width
else:
shp.line.fill.background()
shp.shadow.inherit = False
return shp
def add_text(slide, txt, x, y, w, h, size=Pt(16), bold=False, color=DARK_TEXT,
align=PP_ALIGN.LEFT, italic=False, font="Calibri"):
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = 0; tf.margin_right = 0
tf.margin_top = 0; tf.margin_bottom = 0
p = tf.paragraphs[0]
p.alignment = align
r = p.add_run()
r.text = txt
r.font.name = font
r.font.size = size
r.font.bold = bold
r.font.italic = italic
r.font.color.rgb = color
return tb
def add_multiline(slide, lines, x, y, w, h, size=Pt(15), bold=False, color=DARK_TEXT,
align=PP_ALIGN.LEFT, line_space=Pt(4), font="Calibri"):
"""lines: list of (text, bold_override, color_override, indent_level)"""
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = Inches(0.05)
tf.margin_right = 0
tf.margin_top = 0
tf.margin_bottom = 0
first = True
for item in lines:
if isinstance(item, str):
txt, b, c, lvl = item, bold, color, 0
else:
txt = item[0]
b = item[1] if len(item) > 1 else bold
c = item[2] if len(item) > 2 else color
lvl = item[3] if len(item) > 3 else 0
if first:
p = tf.paragraphs[0]; first = False
else:
p = tf.add_paragraph()
p.alignment = align
p.level = lvl
if line_space:
from pptx.util import Pt as _Pt
from pptx.oxml.ns import qn
from lxml import etree
pPr = p._pPr if p._pPr is not None else p._p.get_or_add_pPr()
spc = etree.SubElement(pPr, qn('a:spcBef'))
spcPts = etree.SubElement(spc, qn('a:spcPts'))
spcPts.set('val', str(int(line_space.pt * 100)))
r = p.add_run()
r.text = txt
r.font.name = font
r.font.size = size
r.font.bold = b
r.font.color.rgb = c
return tb
def slide_header(slide, title, subtitle=None):
"""Dark navy top bar with title."""
add_rect(slide, 0, 0, W, Inches(1.15), DEEP_BLUE)
add_text(slide, title, Inches(0.45), Inches(0.12), Inches(12), Inches(0.85),
size=Pt(30), bold=True, color=WHITE, align=PP_ALIGN.LEFT)
if subtitle:
add_text(slide, subtitle, Inches(0.45), Inches(0.88), Inches(11), Inches(0.3),
size=Pt(13), bold=False, color=LIGHT_RULE, align=PP_ALIGN.LEFT)
# bottom accent stripe
add_rect(slide, 0, Inches(1.15), W, Inches(0.06), MID_BLUE)
def slide_footer(slide, txt="QUM in India | Regulatory Aspects"):
add_rect(slide, 0, Inches(7.15), W, Inches(0.35), DEEP_BLUE)
add_text(slide, txt, Inches(0.3), Inches(7.17), Inches(10), Inches(0.28),
size=Pt(10), color=LIGHT_RULE, align=PP_ALIGN.LEFT)
def slide_bg(slide):
add_rect(slide, 0, 0, W, H, LIGHT_BG)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 1 — Title slide
# ═══════════════════════════════════════════════════════════════════════════
s1 = prs.slides.add_slide(blank)
# Full bg gradient emulated with 2 rects
add_rect(s1, 0, 0, W, H, DEEP_BLUE)
add_rect(s1, 0, Inches(4.5), W, Inches(3), MID_BLUE)
# Decorative shapes
shp = s1.shapes.add_shape(MSO_SHAPE.OVAL, Inches(10.5), Inches(-1), Inches(4), Inches(4))
shp.fill.solid(); shp.fill.fore_color.rgb = RGBColor(0x1E, 0x5A, 0x8A)
shp.line.fill.background(); shp.shadow.inherit = False
shp2 = s1.shapes.add_shape(MSO_SHAPE.OVAL, Inches(-1), Inches(5.5), Inches(3), Inches(3))
shp2.fill.solid(); shp2.fill.fore_color.rgb = RGBColor(0x0A, 0x2A, 0x4A)
shp2.line.fill.background(); shp2.shadow.inherit = False
# Green accent bar
add_rect(s1, Inches(0.5), Inches(2.8), Inches(0.1), Inches(2), ACCENT_GREEN)
add_text(s1, "Regulatory Aspects of QUM in India",
Inches(0.8), Inches(1.6), Inches(11.5), Inches(1.4),
size=Pt(40), bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_text(s1, "Quality Use of Medicines",
Inches(0.8), Inches(3.0), Inches(10), Inches(0.6),
size=Pt(22), bold=False, color=LIGHT_RULE, align=PP_ALIGN.LEFT)
add_multiline(s1, [
("Regulation of Complementary Medicines", True, ACCENT_GREEN, 0),
("Regulation of OTC Medicines", True, ACCENT_ORG, 0),
], Inches(0.8), Inches(3.7), Inches(10), Inches(1.2), size=Pt(20))
add_text(s1, "Ministry of AYUSH | CDSCO | Drugs & Cosmetics Act, 1940",
Inches(0.8), Inches(5.5), Inches(11), Inches(0.5),
size=Pt(13), color=LIGHT_RULE, align=PP_ALIGN.LEFT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 2 — Agenda
# ═══════════════════════════════════════════════════════════════════════════
s2 = prs.slides.add_slide(blank)
slide_bg(s2)
slide_header(s2, "Agenda")
slide_footer(s2)
agenda = [
(ACCENT_GREEN, "1", "Complementary Medicines — Introduction & Definition"),
(ACCENT_GREEN, "2", "WHO Strategy for Traditional & Complementary Medicine"),
(ACCENT_GREEN, "3", "Legislative Framework for AYUSH in India"),
(ACCENT_GREEN, "4", "Quality Control Mechanisms for AYUSH Drugs"),
(ACCENT_ORG, "5", "OTC Medicines — Current Regulatory Status"),
(ACCENT_ORG, "6", "Key Schedules: H, G, K, X"),
(ACCENT_ORG, "7", "Push for a Formal OTC Framework"),
(ACCENT_ORG, "8", "Risks of Unregulated OTC Environment"),
(MID_BLUE, "9", "India vs Global OTC Comparison & Way Forward"),
]
for i, (col, num, text) in enumerate(agenda):
row_y = Inches(1.35) + i * Inches(0.6)
add_rect(s2, Inches(0.5), row_y, Inches(0.5), Inches(0.45), col)
add_text(s2, num, Inches(0.5), row_y, Inches(0.5), Inches(0.45),
size=Pt(16), bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_text(s2, text, Inches(1.1), row_y + Inches(0.04), Inches(11), Inches(0.4),
size=Pt(16), color=DARK_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 3 — CAM: Introduction
# ═══════════════════════════════════════════════════════════════════════════
s3 = prs.slides.add_slide(blank)
slide_bg(s3)
slide_header(s3, "Complementary Medicines — Introduction", "Definition & Classification")
slide_footer(s3)
# Left card
add_rect(s3, Inches(0.4), Inches(1.35), Inches(5.8), Inches(5.5), WHITE,
line_rgb=LIGHT_RULE, line_width=Pt(1.2))
add_rect(s3, Inches(0.4), Inches(1.35), Inches(5.8), Inches(0.45), ACCENT_GREEN)
add_text(s3, "Complementary Medicine (CM)",
Inches(0.55), Inches(1.38), Inches(5.5), Inches(0.4),
size=Pt(15), bold=True, color=WHITE)
add_multiline(s3, [
("Used ALONGSIDE conventional medicine", False, DARK_TEXT, 0),
("Goal: enhance or support standard treatment", False, DARK_TEXT, 0),
("Examples: Yoga, Ayurveda alongside allopathy", False, DARK_TEXT, 0),
], Inches(0.55), Inches(1.9), Inches(5.5), Inches(1.2), size=Pt(14), line_space=Pt(6))
add_rect(s3, Inches(0.55), Inches(3.3), Inches(5.5), Inches(0.03), LIGHT_RULE)
add_text(s3, "Types of CAM Practices", Inches(0.55), Inches(3.45), Inches(5.5), Inches(0.4),
size=Pt(14), bold=True, color=MID_BLUE)
cam_types = [
"Mind-Body Therapies (Yoga, Meditation, Naturopathy)",
"Biologically Based Practices (Herbs, Dietary supplements)",
"Whole Medical Systems (Ayurveda, Unani, Siddha, Homeopathy)",
"Energy Therapies (Reiki, Magnet therapy)",
"Manipulative Practices (Massage, Chiropractic)",
]
add_multiline(s3, [(t, False, DARK_TEXT, 0) for t in cam_types],
Inches(0.55), Inches(3.9), Inches(5.5), Inches(2.5), size=Pt(13), line_space=Pt(5))
# Right card
add_rect(s3, Inches(6.6), Inches(1.35), Inches(6.3), Inches(5.5), WHITE,
line_rgb=LIGHT_RULE, line_width=Pt(1.2))
add_rect(s3, Inches(6.6), Inches(1.35), Inches(6.3), Inches(0.45), MID_BLUE)
add_text(s3, "Alternative vs. Complementary",
Inches(6.75), Inches(1.38), Inches(6.0), Inches(0.4),
size=Pt(15), bold=True, color=WHITE)
rows = [
("Feature", "Complementary", "Alternative", True),
("Use", "WITH conventional", "INSTEAD OF conventional", False),
("Integration", "High", "Low", False),
("Safety oversight", "Shared with AYUSH", "Variable", False),
("WHO stance", "Encouraged", "Caution advised", False),
]
col_x = [Inches(6.75), Inches(8.85), Inches(11.1)]
col_w = [Inches(2.0), Inches(2.15), Inches(1.7)]
for ri, row in enumerate(rows):
ry = Inches(2.0) + ri * Inches(0.7)
bg = LIGHT_BG if ri % 2 == 0 else WHITE
if ri == 0: bg = DEEP_BLUE
add_rect(s3, Inches(6.75), ry, Inches(6.0), Inches(0.62), bg)
for ci, cell in enumerate(row[:3]):
fc = WHITE if ri == 0 else DARK_TEXT
add_text(s3, cell, col_x[ci], ry + Inches(0.08), col_w[ci], Inches(0.5),
size=Pt(12), bold=(ri == 0), color=fc)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 4 — WHO Strategy
# ═══════════════════════════════════════════════════════════════════════════
s4 = prs.slides.add_slide(blank)
slide_bg(s4)
slide_header(s4, "WHO Strategy for Traditional & Complementary Medicine",
"WHO TM Strategy 2025–2034")
slide_footer(s4)
add_rect(s4, Inches(0.4), Inches(1.35), Inches(12.5), Inches(0.75), MID_BLUE)
add_text(s4, "WHO defines TCIM as experience-based health systems that can align with national healthcare frameworks when implemented safely and with evidence.",
Inches(0.6), Inches(1.42), Inches(12.0), Inches(0.6),
size=Pt(13), italic=True, color=WHITE)
pillars = [
(ACCENT_GREEN, "1. Build Knowledge Base",
["Evidence-based research on T&CM", "Generate clinical trial data", "Establish safety/efficacy standards"]),
(MID_BLUE, "2. Strengthen Regulation",
["National policies on T&CM", "Registration of products & practitioners", "Quality standards & pharmacopoeia"]),
(ACCENT_ORG, "3. Integrate into Health Systems",
["Include T&CM in national health plans", "Train conventional practitioners", "Ensure equitable access"]),
(TEAL, "4. Promote Rational Use",
["Patient information & awareness", "Practitioner competency standards", "Adverse event monitoring (Pharmacovigilance)"]),
]
for i, (col, title, points) in enumerate(pillars):
cx = Inches(0.4) + i * Inches(3.1)
add_rect(s4, cx, Inches(2.3), Inches(3.0), Inches(4.5), WHITE,
line_rgb=col, line_width=Pt(2))
add_rect(s4, cx, Inches(2.3), Inches(3.0), Inches(0.5), col)
add_text(s4, title, cx + Inches(0.1), Inches(2.33), Inches(2.8), Inches(0.45),
size=Pt(13), bold=True, color=WHITE)
add_multiline(s4, [(p, False, DARK_TEXT, 0) for p in points],
cx + Inches(0.15), Inches(2.9), Inches(2.7), Inches(3.7),
size=Pt(12), line_space=Pt(8))
add_text(s4, "India's AYUSH framework aligns with WHO TM Strategy 2025–2034",
Inches(0.4), Inches(6.95), Inches(12), Inches(0.35),
size=Pt(13), bold=True, color=MID_BLUE, align=PP_ALIGN.CENTER)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 5 — Legislative Framework
# ═══════════════════════════════════════════════════════════════════════════
s5 = prs.slides.add_slide(blank)
slide_bg(s5)
slide_header(s5, "Legislative Framework for AYUSH in India",
"Governing Laws & Regulatory Bodies")
slide_footer(s5)
laws = [
(DEEP_BLUE, "Drugs & Cosmetics Act, 1940",
"Chapter IVA governs ASU drugs. Sec 33EEB–33EED: manufacture regulation, prohibition powers. Amended 2009."),
(MID_BLUE, "Drugs & Cosmetics Rules, 1945",
"Schedule T: GMP for ASU drug units. Schedule M-I: quality standards for manufacturing."),
(ACCENT_GREEN, "Indian Medicines Central Council Act, 1970",
"Regulates education & practice of Indian medicine practitioners (Ayurveda, Unani, Siddha)."),
(ACCENT_ORG, "Homeopathy Central Council Act, 1973",
"Regulates homeopathy education and practice across India."),
(TEAL, "Drugs (Control) Act, 1950",
"Supplementary control over drug supply and availability."),
(RGBColor(0x8E, 0x44, 0xAD), "National Policy on ISM & Homeopathy, 2002",
"Strategic direction for integrating T&CM into national healthcare; basis for AYUSH formation."),
]
for i, (col, title, desc) in enumerate(laws):
row = i // 2
col_n = i % 2
lx = Inches(0.4) + col_n * Inches(6.4)
ly = Inches(1.45) + row * Inches(1.85)
add_rect(s5, lx, ly, Inches(6.1), Inches(1.65), WHITE,
line_rgb=col, line_width=Pt(2))
add_rect(s5, lx, ly, Inches(0.18), Inches(1.65), col)
add_text(s5, title, lx + Inches(0.28), ly + Inches(0.1), Inches(5.7), Inches(0.5),
size=Pt(14), bold=True, color=col)
add_text(s5, desc, lx + Inches(0.28), ly + Inches(0.62), Inches(5.65), Inches(0.9),
size=Pt(12), color=GREY_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 6 — AYUSH Regulatory Authority
# ═══════════════════════════════════════════════════════════════════════════
s6 = prs.slides.add_slide(blank)
slide_bg(s6)
slide_header(s6, "Ministry of AYUSH — Regulatory Authority",
"Structure, Timeline & Key Functions")
slide_footer(s6)
# Timeline bar
add_rect(s6, Inches(0.5), Inches(2.6), Inches(12.0), Inches(0.08), MID_BLUE)
timeline = [
(Inches(0.9), "1995", "Dept. of ISM & H\ncreated", ACCENT_GREEN),
(Inches(3.6), "2002", "National Policy on\nISM & Homeopathy", MID_BLUE),
(Inches(7.0), "2014", "AYUSH elevated to\nfull Ministry", ACCENT_ORG),
(Inches(10.5), "2025", "WHO TM Strategy\n2025-2034 alignment", TEAL),
]
for tx, yr, lbl, col in timeline:
shp = s6.shapes.add_shape(MSO_SHAPE.OVAL, tx - Inches(0.12), Inches(2.45), Inches(0.25), Inches(0.25))
shp.fill.solid(); shp.fill.fore_color.rgb = col
shp.line.fill.background(); shp.shadow.inherit = False
add_text(s6, yr, tx - Inches(0.3), Inches(1.95), Inches(0.8), Inches(0.4),
size=Pt(13), bold=True, color=col, align=PP_ALIGN.CENTER)
add_text(s6, lbl, tx - Inches(0.5), Inches(2.85), Inches(1.2), Inches(0.7),
size=Pt(11), color=GREY_TEXT, align=PP_ALIGN.CENTER)
add_text(s6, "Key Functions of Ministry of AYUSH",
Inches(0.5), Inches(3.7), Inches(12), Inches(0.4),
size=Pt(17), bold=True, color=DEEP_BLUE)
funcs = [
("Policy & Standards", "Formulates national policy, quality guidelines & pharmacopoeia standards for AYUSH drugs"),
("Regulation & Licensing", "Oversees >8,369 licensed ASU&H manufacturing units; 29 SDTLs & 81 approved labs"),
("Pharmacovigilance", "Monitors adverse events; ASU&H pharmacovigilance centres across India"),
("International Coordination", "Certifications: WHO CoPP, AYUSH Premium Mark (QCI), BIS collaborations"),
]
for i, (title, desc) in enumerate(funcs):
fx = Inches(0.4) + i * Inches(3.2)
add_rect(s6, fx, Inches(4.2), Inches(3.0), Inches(2.5), WHITE,
line_rgb=MID_BLUE, line_width=Pt(1))
add_rect(s6, fx, Inches(4.2), Inches(3.0), Inches(0.42), MID_BLUE)
add_text(s6, title, fx + Inches(0.1), Inches(4.22), Inches(2.8), Inches(0.38),
size=Pt(13), bold=True, color=WHITE)
add_text(s6, desc, fx + Inches(0.1), Inches(4.72), Inches(2.8), Inches(1.85),
size=Pt(12), color=DARK_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 7 — Quality Control of AYUSH
# ═══════════════════════════════════════════════════════════════════════════
s7 = prs.slides.add_slide(blank)
slide_bg(s7)
slide_header(s7, "Quality Control Mechanisms for AYUSH Drugs",
"Standards, GMP, Pharmacopoeia & Pharmacovigilance")
slide_footer(s7)
qc_items = [
(ACCENT_GREEN, "Pharmacopoeia Standards",
["Ayurvedic Pharmacopoeia of India (API)",
"National Formulary of Ayurvedic Medicine (NFAM)",
"Unani Pharmacopoeia of India (UPI)",
"Siddha Pharmacopoeia of India",
"Define: identity, purity & quality of raw materials"]),
(MID_BLUE, "GMP Requirements",
["Schedule M-I: GMP for ASU manufacturing units",
"Schedule T: Good Manufacturing Practice rules",
">8,369 licensed ASU&H manufacturing units",
"Technically qualified staff mandatory (degree in Ayurveda/Siddha/Unani)",
"Risk-based inspections by CDSCO & State Drug Controllers"]),
(ACCENT_ORG, "Testing Laboratories",
["29 State Drug Testing Laboratories (SDTLs)",
"81 labs approved under D&C Rules 1945",
"27 SDTLs strengthened under National AYUSH Mission",
"Private & central labs also approved",
"Standards accreditation with BIS & QCI"]),
(TEAL, "Pharmacovigilance & Certification",
["ASU&H Pharmacovigilance Centres — nationwide",
"Monitor adverse events from AYUSH products",
"Surveillance of misleading advertisements",
"WHO Certification of Pharmaceutical Products (CoPP)",
"AYUSH Premium Mark by Quality Council of India (QCI)"]),
]
for i, (col, title, points) in enumerate(qc_items):
cx = Inches(0.35) + i * Inches(3.25)
add_rect(s7, cx, Inches(1.35), Inches(3.1), Inches(5.5), WHITE,
line_rgb=col, line_width=Pt(1.5))
add_rect(s7, cx, Inches(1.35), Inches(3.1), Inches(0.48), col)
add_text(s7, title, cx + Inches(0.1), Inches(1.38), Inches(2.9), Inches(0.42),
size=Pt(13), bold=True, color=WHITE)
add_multiline(s7, [(p, False, DARK_TEXT, 0) for p in points],
cx + Inches(0.15), Inches(1.95), Inches(2.85), Inches(4.7),
size=Pt(12), line_space=Pt(6))
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 8 — National AYUSH Mission
# ═══════════════════════════════════════════════════════════════════════════
s8 = prs.slides.add_slide(blank)
slide_bg(s8)
slide_header(s8, "National AYUSH Mission (2014–2021)",
"Government Initiatives for Quality AYUSH Medicines")
slide_footer(s8)
add_rect(s8, Inches(0.4), Inches(1.35), Inches(12.5), Inches(0.7), DEEP_BLUE)
add_text(s8, "The National AYUSH Mission provided grant-in-aid and infrastructure support to ensure quality assurance across India's traditional medicine sector.",
Inches(0.6), Inches(1.42), Inches(12.0), Inches(0.55),
size=Pt(13), italic=True, color=WHITE)
activities = [
(ACCENT_GREEN, "A", "Strengthening AYUSH\nPharmacies & DTLs",
"Up-gradation to higher standards; state govt AYUSH pharmacies received grant-in-aid support."),
(MID_BLUE, "B", "Pharmacovigilance\n& Ad Surveillance",
"National centres to monitor adverse events and misleading advertising about AYUSH products."),
(ACCENT_ORG, "C", "Regulatory Framework\nCapacity Building",
"Technical human resource training for AYUSH drug inspectors and regulatory staff."),
(TEAL, "D", "Standards &\nAccreditation",
"Development of standards with BIS, QCI; AYUSH Premium Mark for third-party quality evaluation."),
]
for i, (col, ltr, title, desc) in enumerate(activities):
ax = Inches(0.4) + i * Inches(3.2)
ay = Inches(2.25)
# Icon circle
shp = s8.shapes.add_shape(MSO_SHAPE.OVAL, ax + Inches(1.0), ay, Inches(1.1), Inches(1.1))
shp.fill.solid(); shp.fill.fore_color.rgb = col
shp.line.fill.background(); shp.shadow.inherit = False
add_text(s8, ltr, ax + Inches(1.0), ay, Inches(1.1), Inches(1.1),
size=Pt(28), bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_text(s8, title, ax, ay + Inches(1.2), Inches(3.0), Inches(0.8),
size=Pt(13), bold=True, color=col, align=PP_ALIGN.CENTER)
add_rect(s8, ax + Inches(0.1), ay + Inches(2.15), Inches(2.9), Inches(2.4), WHITE,
line_rgb=col, line_width=Pt(1.2))
add_text(s8, desc, ax + Inches(0.2), ay + Inches(2.25), Inches(2.7), Inches(2.2),
size=Pt(12), color=GREY_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 9 — OTC: Current Regulatory Status
# ═══════════════════════════════════════════════════════════════════════════
s9 = prs.slides.add_slide(blank)
slide_bg(s9)
slide_header(s9, "OTC Medicines — Current Regulatory Status in India",
"The Regulatory Gap")
slide_footer(s9)
# Key fact banner
add_rect(s9, Inches(0.4), Inches(1.35), Inches(12.5), Inches(0.85), RGBColor(0xFF, 0xF3, 0xCD))
add_rect(s9, Inches(0.4), Inches(1.35), Inches(0.15), Inches(0.85), ACCENT_ORG)
add_text(s9, "KEY FACT: India currently has NO separate legally defined category for OTC medicines. Drugs not on a prescription schedule are sold OTC by default.",
Inches(0.65), Inches(1.45), Inches(12.0), Inches(0.65),
size=Pt(14), bold=False, color=RGBColor(0x7D, 0x41, 0x00))
# Two column layout
add_rect(s9, Inches(0.4), Inches(2.35), Inches(6.1), Inches(4.5), WHITE,
line_rgb=LIGHT_RULE, line_width=Pt(1))
add_rect(s9, Inches(0.4), Inches(2.35), Inches(6.1), Inches(0.45), ACCENT_ORG)
add_text(s9, "How OTC is Currently Defined", Inches(0.55), Inches(2.38), Inches(5.8), Inches(0.4),
size=Pt(15), bold=True, color=WHITE)
curr_pts = [
("Exclusion-based", True, MID_BLUE),
("If NOT on Schedule H, H1, X or G → can be sold OTC", False, DARK_TEXT),
("No dedicated OTC licensing guidelines", False, DARK_TEXT),
("No affirmative OTC registration process", False, DARK_TEXT),
("Schedule K", True, MID_BLUE),
("Household remedies e.g. Paracetamol, Eucalyptus oil,", False, DARK_TEXT),
("Liquid paraffin, Tinctures, Cough & cold formulations", False, DARK_TEXT),
("Non-chemists can dispense in areas <1,000 population", False, DARK_TEXT),
]
add_multiline(s9, [(t, b, c, 0) for t, b, c in curr_pts],
Inches(0.55), Inches(2.9), Inches(5.8), Inches(3.7), size=Pt(13), line_space=Pt(5))
add_rect(s9, Inches(6.8), Inches(2.35), Inches(6.1), Inches(4.5), WHITE,
line_rgb=LIGHT_RULE, line_width=Pt(1))
add_rect(s9, Inches(6.8), Inches(2.35), Inches(6.1), Inches(0.45), DEEP_BLUE)
add_text(s9, "Distribution & Access", Inches(6.95), Inches(2.38), Inches(5.8), Inches(0.4),
size=Pt(15), bold=True, color=WHITE)
access_pts = [
("Sales channels (currently):", True, MID_BLUE),
("Licensed pharmacy/chemist shops only", False, DARK_TEXT),
("NOT available in supermarkets, convenience stores,", False, DARK_TEXT),
("petrol stations or online (unlike many nations)", False, DARK_TEXT),
("Emerging channel:", True, MID_BLUE),
("Post offices targeted for rural OTC distribution", False, DARK_TEXT),
("Faster, broader, economical reach to rural population", False, DARK_TEXT),
("Advertising of selected OTC products permitted", False, DARK_TEXT),
]
add_multiline(s9, [(t, b, c, 0) for t, b, c in access_pts],
Inches(6.95), Inches(2.9), Inches(5.8), Inches(3.7), size=Pt(13), line_space=Pt(5))
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 10 — Key Drug Schedules
# ═══════════════════════════════════════════════════════════════════════════
s10 = prs.slides.add_slide(blank)
slide_bg(s10)
slide_header(s10, "Key Drug Schedules Relevant to OTC Classification",
"Drugs & Cosmetics Act 1940 / Rules 1945")
slide_footer(s10)
schedules = [
("Schedule H", DEEP_BLUE, "Prescription-Only (Rx)",
"NOT OTC", RGBColor(0xC0, 0x39, 0x2B),
"Antibiotics, antifungals, antivirals — require doctor's prescription. Must not be sold OTC."),
("Schedule H1", MID_BLUE, "Restricted Prescription",
"NOT OTC", RGBColor(0xC0, 0x39, 0x2B),
"Specific antibiotics (3rd gen cephalosporins, carbapenems) and all anti-TB drugs. Stricter monitoring required."),
("Schedule X", RGBColor(0x8E, 0x44, 0xAD), "Narcotics & Psychotropics",
"NOT OTC", RGBColor(0xC0, 0x39, 0x2B),
"Narcotic and psychotropic substances. Special license needed; strict controls on storage, dispensing, records."),
("Schedule G", ACCENT_ORG, "Medical Supervision",
"NOT OTC", RGBColor(0xC0, 0x39, 0x2B),
"Drugs that must carry 'To be sold under medical supervision' label. May not be freely self-medicated."),
("Schedule K", ACCENT_GREEN, "Household Remedies",
"OTC Eligible", ACCENT_GREEN,
"Paracetamol, Eucalyptus oil, Liquid paraffin, Tinctures. Can be dispensed by non-chemists in areas < 1000 population."),
("Schedule N", TEAL, "Pharmacies",
"Regulatory", TEAL,
"Minimum equipment standards and storage conditions for pharmacy premises."),
]
for i, (name, hdr_col, category, otc_status, status_col, desc) in enumerate(schedules):
row = i // 2
c = i % 2
sx = Inches(0.4) + c * Inches(6.4)
sy = Inches(1.45) + row * Inches(1.95)
add_rect(s10, sx, sy, Inches(6.1), Inches(1.8), WHITE,
line_rgb=hdr_col, line_width=Pt(1.5))
add_rect(s10, sx, sy, Inches(1.4), Inches(1.8), hdr_col)
add_text(s10, name, sx, sy + Inches(0.45), Inches(1.4), Inches(0.9),
size=Pt(16), bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_text(s10, otc_status, sx, sy + Inches(1.25), Inches(1.4), Inches(0.4),
size=Pt(11), bold=True, color=status_col, align=PP_ALIGN.CENTER)
add_text(s10, category, sx + Inches(1.5), sy + Inches(0.07), Inches(4.4), Inches(0.38),
size=Pt(13), bold=True, color=hdr_col)
add_text(s10, desc, sx + Inches(1.5), sy + Inches(0.5), Inches(4.45), Inches(1.2),
size=Pt(11.5), color=GREY_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 11 — Push for Formal OTC Framework
# ═══════════════════════════════════════════════════════════════════════════
s11 = prs.slides.add_slide(blank)
slide_bg(s11)
slide_header(s11, "Push for a Formal OTC Framework in India",
"Ahooja Committee | Drugs Consultative Committee | MoHFW Draft Rules")
slide_footer(s11)
# Ahooja Committee box
add_rect(s11, Inches(0.4), Inches(1.35), Inches(5.9), Inches(5.5), WHITE,
line_rgb=ACCENT_GREEN, line_width=Pt(2))
add_rect(s11, Inches(0.4), Inches(1.35), Inches(5.9), Inches(0.5), ACCENT_GREEN)
add_text(s11, "Ahooja Committee Recommendations",
Inches(0.55), Inches(1.38), Inches(5.6), Inches(0.44),
size=Pt(15), bold=True, color=WHITE)
steps = [
"1. Define and prepare an initial list of OTC drugs",
"2. Regulate the Rx-to-OTC switch process",
"3. Regulate new OTC drug approvals",
"4. Regulate distribution & sale of OTC drugs",
"5. Regulate advertising of OTC drugs",
]
add_multiline(s11, [(s, False, DARK_TEXT, 0) for s in steps],
Inches(0.55), Inches(2.0), Inches(5.6), Inches(3.5), size=Pt(14), line_space=Pt(10))
add_rect(s11, Inches(0.55), Inches(5.25), Inches(5.6), Inches(1.3), LIGHT_BG)
add_text(s11, "Approved by Drugs Consultative Committee (DCC)",
Inches(0.65), Inches(5.35), Inches(5.4), Inches(0.4),
size=Pt(13), bold=True, color=DEEP_BLUE)
add_text(s11, "Recommendations form the basis for India's forthcoming formal OTC regulatory framework.",
Inches(0.65), Inches(5.75), Inches(5.4), Inches(0.7),
size=Pt(12), color=GREY_TEXT)
# Right side: MoHFW Draft + Rx to OTC switch
add_rect(s11, Inches(6.6), Inches(1.35), Inches(6.3), Inches(2.5), WHITE,
line_rgb=ACCENT_ORG, line_width=Pt(2))
add_rect(s11, Inches(6.6), Inches(1.35), Inches(6.3), Inches(0.5), ACCENT_ORG)
add_text(s11, "MoHFW Draft Rules — 16 Identified OTC Drugs",
Inches(6.75), Inches(1.38), Inches(6.0), Inches(0.44),
size=Pt(15), bold=True, color=WHITE)
add_text(s11, "For the FIRST TIME, India's MoHFW draft rules formally identified 16 drugs as OTC candidates (including antifungals). The term 'OTC' recommended as a DISTINCT drug category in Indian law.",
Inches(6.75), Inches(1.95), Inches(6.0), Inches(1.7),
size=Pt(13), color=DARK_TEXT)
add_rect(s11, Inches(6.6), Inches(4.05), Inches(6.3), Inches(2.8), WHITE,
line_rgb=MID_BLUE, line_width=Pt(2))
add_rect(s11, Inches(6.6), Inches(4.05), Inches(6.3), Inches(0.5), MID_BLUE)
add_text(s11, "Rx-to-OTC Switch Criteria",
Inches(6.75), Inches(4.08), Inches(6.0), Inches(0.44),
size=Pt(15), bold=True, color=WHITE)
criteria = [
"Extent of evidence for safety",
"Wide therapeutic index (large safety margin)",
"Need for patient accessibility",
"Non-habit-forming nature",
"Existing supply-chain mechanism",
"Socio-economic conditions of India",
]
add_multiline(s11, [(c, False, DARK_TEXT, 0) for c in criteria],
Inches(6.75), Inches(4.65), Inches(6.0), Inches(2.05), size=Pt(13), line_space=Pt(5))
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 12 — Risks of Unregulated OTC
# ═══════════════════════════════════════════════════════════════════════════
s12 = prs.slides.add_slide(blank)
slide_bg(s12)
slide_header(s12, "Risks of the Current Unregulated OTC Environment",
"QUM Concerns with Absence of a Formal OTC Framework")
slide_footer(s12)
add_rect(s12, Inches(0.4), Inches(1.35), Inches(12.5), Inches(0.65), MID_BLUE)
add_text(s12, "Benefits of OTC access: faster & cheaper access, reduced burden on healthcare, consumer empowerment",
Inches(0.6), Inches(1.42), Inches(12.0), Inches(0.5),
size=Pt(13), bold=False, color=WHITE)
risks = [
(RGBColor(0xC0, 0x39, 0x2B), "Excessive Dosage",
"Without pharmacist oversight, patients may exceed recommended doses, especially with analgesics (paracetamol, NSAIDs) and antihistamines."),
(RGBColor(0xE6, 0x7E, 0x22), "Polypharmacy",
"Self-medication with multiple OTC products simultaneously increases risk of drug-drug interactions without professional review."),
(RGBColor(0x8E, 0x44, 0xAD), "Drug Abuse",
"Antihistamines, cough suppressants (codeine-based), and some analgesics are prone to misuse when freely available."),
(RGBColor(0x16, 0xA0, 0x85), "Special Populations",
"Pediatric, geriatric, pregnant, and renally impaired patients face heightened risk with unsupervised OTC use."),
(RGBColor(0x1A, 0x3A, 0x5C), "Drug Interactions",
"OTC + prescription drug combinations can cause serious interactions (e.g. NSAIDs with anticoagulants, antihistamines with CNS depressants)."),
(RGBColor(0x27, 0xAE, 0x60), "Spurious Products",
"Absence of strict OTC quality standards allows substandard/counterfeit products to enter the supply chain under OTC-type categories."),
]
for i, (col, title, desc) in enumerate(risks):
row = i // 3
c = i % 3
rx = Inches(0.4) + c * Inches(4.25)
ry = Inches(2.15) + row * Inches(2.35)
add_rect(s12, rx, ry, Inches(4.0), Inches(2.15), WHITE,
line_rgb=col, line_width=Pt(1.8))
add_rect(s12, rx, ry, Inches(4.0), Inches(0.45), col)
add_text(s12, title, rx + Inches(0.12), ry + Inches(0.06), Inches(3.7), Inches(0.38),
size=Pt(14), bold=True, color=WHITE)
add_text(s12, desc, rx + Inches(0.12), ry + Inches(0.55), Inches(3.75), Inches(1.5),
size=Pt(12), color=GREY_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 13 — India vs Global Comparison
# ═══════════════════════════════════════════════════════════════════════════
s13 = prs.slides.add_slide(blank)
slide_bg(s13)
slide_header(s13, "India vs Global OTC Regulatory Comparison",
"Current Status & Way Forward")
slide_footer(s13)
# Table header
headers = ["Feature", "India (Current)", "Developed Countries"]
col_x2 = [Inches(0.4), Inches(4.0), Inches(8.9)]
col_w2 = [Inches(3.5), Inches(4.8), Inches(4.0)]
hdr_y = Inches(1.4)
for ci, (hdr, cx, cw) in enumerate(zip(headers, col_x2, col_w2)):
bc = DEEP_BLUE if ci == 0 else (ACCENT_ORG if ci == 1 else ACCENT_GREEN)
add_rect(s13, cx, hdr_y, cw, Inches(0.5), bc)
add_text(s13, hdr, cx + Inches(0.1), hdr_y + Inches(0.06), cw - Inches(0.2), Inches(0.38),
size=Pt(14), bold=True, color=WHITE)
rows13 = [
("Defined OTC category in law", "No (draft rules pending)", "Yes — legally defined"),
("Rx-to-OTC switch pathway", "Absent / informal", "Formal, evidence-based"),
("Sale in non-pharmacy outlets", "Restricted (pharmacy only)", "Permitted for many products"),
("OTC labeling standards", "No specific OTC label standard", "Mandatory patient leaflets"),
("Advertising regulation", "Partial (some products allowed)", "Comprehensive framework"),
("Pharmacovigilance for OTC", "Limited / developing", "Established post-market surveillance"),
("Essential medicines OTC list", "Not formally designated", "34 countries include herbal OTCs"),
]
for ri, row in enumerate(rows13):
ry2 = Inches(1.9) + ri * Inches(0.62)
bg2 = LIGHT_BG if ri % 2 == 0 else WHITE
for ci2, (cell, cx2, cw2) in enumerate(zip(row, col_x2, col_w2)):
add_rect(s13, cx2, ry2, cw2, Inches(0.6), bg2)
fc2 = DEEP_BLUE if ci2 == 0 else (RGBColor(0xA0, 0x40, 0x00) if ci2 == 1 else RGBColor(0x14, 0x60, 0x2E))
add_text(s13, cell, cx2 + Inches(0.1), ry2 + Inches(0.08), cw2 - Inches(0.15), Inches(0.48),
size=Pt(12), bold=(ci2 == 0), color=fc2)
add_text(s13, "Global: 125 countries have OTC registration systems (2018); 79 countries sell herbal medicines OTC; 34 countries include herbal OTC in essential medicines list",
Inches(0.4), Inches(6.38), Inches(12.5), Inches(0.45),
size=Pt(11), italic=True, color=GREY_TEXT)
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 14 — Way Forward & Summary
# ═══════════════════════════════════════════════════════════════════════════
s14 = prs.slides.add_slide(blank)
slide_bg(s14)
slide_header(s14, "Summary & Way Forward",
"QUM Regulatory Aspects — Complementary & OTC Medicines in India")
slide_footer(s14)
# Two summary boxes
add_rect(s14, Inches(0.4), Inches(1.35), Inches(6.0), Inches(5.5), WHITE,
line_rgb=ACCENT_GREEN, line_width=Pt(2))
add_rect(s14, Inches(0.4), Inches(1.35), Inches(6.0), Inches(0.5), ACCENT_GREEN)
add_text(s14, "Complementary Medicines (AYUSH)", Inches(0.55), Inches(1.38), Inches(5.7), Inches(0.44),
size=Pt(15), bold=True, color=WHITE)
cm_pts = [
"Governed by D&C Act 1940 (Ch. IVA) + Indian Medicines Central Council Act 1970",
"Ministry of AYUSH (2014) oversees all regulation & standards",
">8,369 licensed manufacturing units; 29 SDTLs; 81 approved labs",
"Pharmacopoeia standards: API, UPI, Siddha Pharmacopoeia",
"GMP: Schedule T & M-I",
"Pharmacovigilance centres for ASU&H drugs nationwide",
"Certifications: WHO CoPP, AYUSH Premium Mark (QCI)",
"Aligned with WHO TM Strategy 2025–2034",
"GAP: Limited inspectors relative to unit volume",
]
add_multiline(s14, [(p, False, DARK_TEXT, 0) for p in cm_pts],
Inches(0.55), Inches(1.95), Inches(5.7), Inches(4.7), size=Pt(12.5), line_space=Pt(5))
add_rect(s14, Inches(6.8), Inches(1.35), Inches(6.1), Inches(5.5), WHITE,
line_rgb=ACCENT_ORG, line_width=Pt(2))
add_rect(s14, Inches(6.8), Inches(1.35), Inches(6.1), Inches(0.5), ACCENT_ORG)
add_text(s14, "OTC Medicines", Inches(6.95), Inches(1.38), Inches(5.8), Inches(0.44),
size=Pt(15), bold=True, color=WHITE)
otc_pts = [
"No separate OTC category in Indian law — defined by exclusion",
"Schedule K provides the closest OTC-like list (Paracetamol, etc.)",
"Ahooja Committee + DCC outlined 5-point OTC framework",
"MoHFW draft rules: first time 16 drugs identified as OTC",
"No formal Rx-to-OTC switch pathway yet",
"Advertising of selective OTC products permitted",
"Sales restricted to licensed pharmacies only",
"Post offices emerging as rural OTC access channel",
"Risks: polypharmacy, abuse, interactions, special populations",
]
add_multiline(s14, [(p, False, DARK_TEXT, 0) for p in otc_pts],
Inches(6.95), Inches(1.95), Inches(5.8), Inches(4.7), size=Pt(12.5), line_space=Pt(5))
# ═══════════════════════════════════════════════════════════════════════════
# SLIDE 15 — Thank You / References
# ═══════════════════════════════════════════════════════════════════════════
s15 = prs.slides.add_slide(blank)
add_rect(s15, 0, 0, W, H, DEEP_BLUE)
add_rect(s15, 0, Inches(5.0), W, Inches(2.5), MID_BLUE)
add_rect(s15, Inches(1.5), Inches(3.0), Inches(0.12), Inches(1.8), ACCENT_GREEN)
add_text(s15, "Thank You",
Inches(1.8), Inches(2.0), Inches(10), Inches(1.4),
size=Pt(54), bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_text(s15, "Regulatory Aspects of QUM in India",
Inches(1.8), Inches(3.2), Inches(10), Inches(0.65),
size=Pt(20), color=LIGHT_RULE, align=PP_ALIGN.LEFT)
refs = [
"Drugs & Cosmetics Act 1940 (as amended 2009) — Government of India",
"Ministry of AYUSH, Govt. of India — cdsco.gov.in / ayush.gov.in",
"PMC10201516 — Regulatory, safety and economic considerations of OTC medicines in India (2023)",
"WHO Traditional Medicine Strategy 2025–2034",
"Ahooja Committee Report on OTC Drug Policy — MoHFW, India",
]
add_multiline(s15, [(r, False, LIGHT_RULE, 0) for r in refs],
Inches(1.0), Inches(5.15), Inches(11.5), Inches(2.0), size=Pt(11), line_space=Pt(6))
# ── Save ─────────────────────────────────────────────────────────────────
out = "/tmp/workspace/qum-india-ppt/QUM_India_Regulatory_Aspects.pptx"
buf = BytesIO()
prs.save(buf)
with open(out, "wb") as f:
f.write(buf.getvalue())
print(f"Saved: {out}")
print(f"Slides: {len(prs.slides)}")
cd /tmp/workspace/qum-india-ppt && python create_ppt.py 2>&1
QUM India Regulatory Aspects
Presentation · PPTX
| # | Slide |
|---|---|
| 1 | Title Slide — Regulatory Aspects of QUM in India |
| 2 | Agenda — colour-coded by topic (green = complementary, orange = OTC, blue = comparison) |
| 3 | CAM Introduction — definition, types, complementary vs alternative comparison table |
| 4 | WHO Strategy — 4 pillars of WHO TM Strategy 2025-2034 |
| 5 | Legislative Framework — 6 key laws (D&C Act, Indian Medicines Central Council Act, etc.) |
| 6 | Ministry of AYUSH — timeline (1995 → 2025) + 4 key functions |
| 7 | Quality Control Mechanisms — Pharmacopoeia, GMP, Labs, Pharmacovigilance |
| 8 | National AYUSH Mission 2014-2021 — 4 activity areas (A-D) |
| 9 | OTC Current Status — the regulatory gap, Schedule K, distribution channels |
| 10 | Key Drug Schedules — H, H1, X, G, K, N with OTC eligibility |
| 11 | Formal OTC Framework — Ahooja Committee 5 steps, MoHFW draft rules, Rx-to-OTC switch criteria |
| 12 | Risks of Unregulated OTC — 6 risk categories (dosage, polypharmacy, abuse, special populations, etc.) |
| 13 | India vs Global Comparison — feature-by-feature table |
| 14 | Summary & Way Forward — dual-column summary for both topics |
| 15 | Thank You / References |