What you are doing for me
Teach me the complete topic of non communicable diseases and related programs given as in parks psm textbook in such a way that I represent those topics properly in muhs nashik university exam of mbbs
| Risk Factor | Key Fact (Exam Fact) |
|---|---|
| Tobacco | 7 million deaths/year; 600,000 from second-hand smoke; 170,000 are children; causes 71% lung cancer, 42% chronic respiratory disease, ~10% CVD |
| Physical Inactivity | 1.6 million deaths/year; physically inactive persons have 20-30% increased all-cause mortality risk |
| Harmful Alcohol | 3.3 million deaths/year; 5.9% of all global deaths; causes cancers, CVD, liver cirrhosis |
| Unhealthy Diet | High salt = high BP and CVD; low fruit/vegetable intake = stomach & colorectal cancer |
| Raised BP | Causes 9.4 million deaths (~12.8% of all deaths); global prevalence ~22% in adults |
| Overweight/Obesity | 2.8 million deaths/year; >42 million children under 5 were overweight (2015) |
| Raised Cholesterol | 2.6 million deaths/year; increases heart disease and stroke risk |
| Cancer-associated Infections | 2 million cancer cases/year; caused by HPV, HBV, HCV, H. pylori |
| Environmental factors | Air/water pollution, occupational hazards |
| Type | Description |
|---|---|
| Type 1 | Beta-cell destruction (immune-mediated); absolute insulin deficiency; onset in childhood/young adulthood |
| Type 2 | Most common; beta-cell dysfunction + insulin resistance; associated with overweight/obesity |
| Hybrid forms | Slowly evolving immune-mediated diabetes of adults (formerly LADA); Ketosis-prone type 2 |
| Other specific types | Monogenic diabetes (MODY), diseases of exocrine pancreas, endocrine disorders, drug-induced |
| Gestational Diabetes | Hyperglycaemia first detected in pregnancy |
| Level | Activities |
|---|---|
| Sub-Centre | Health promotion, interpersonal communication; opportunistic screening of persons >30 years by BP measurement and blood glucose (strip method); referral of suspected cases to CHC |
| CHC (NCD Clinic) | Diagnosis by blood sugar, lipid profile, ultrasound, ECG, X-ray; management and stabilization of CVD, diabetes, stroke; home visits by nurse for bedridden cases; refer complicated cases to District Hospital |
| District Hospital (NCD Clinic) | Screening of persons >30 years; detailed investigations; regular management and annual assessment; home-based palliative care; health education and counselling |
| Facilities | March 2014 | September 2015 |
|---|---|---|
| State NCD Cells | 21 | 36 |
| District NCD Cells | 96 | 195 |
| District NCD Clinics | 95 | 201 |
| District CCU facilities | 51 | 65 |
| District Day Care Centres | 38 | 61 |
| CHC NCD Clinics | 204 | 1362 |
Source: Park's Textbook of Preventive and Social Medicine, Chapters 6 and 7 (pages 425-540). All content directly derived from the textbook to ensure MUHS exam accuracy.
Create a comprehensive study guide PDF with tables and mnemonics I can download
ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /home/daytona/workspace/ncd-study-guide && python3 -c "import reportlab…
~/ncd-study-guide/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import BalancedColumns
from reportlab.lib.colors import HexColor, white, black
import os
OUTPUT = "/home/daytona/workspace/ncd-study-guide/NCD_Study_Guide_MUHS.pdf"
# ── COLOUR PALETTE ──────────────────────────────────────────────
C_NAVY = HexColor("#1a3a5c")
C_TEAL = HexColor("#0d7377")
C_AMBER = HexColor("#f59e0b")
C_ROSE = HexColor("#e63946")
C_GREEN = HexColor("#2d6a4f")
C_PURPLE = HexColor("#6d3a9c")
C_LTBLUE = HexColor("#dbeafe")
C_LTGRN = HexColor("#d1fae5")
C_LTAMB = HexColor("#fef3c7")
C_LTROSE = HexColor("#fee2e2")
C_LTPUR = HexColor("#ede9fe")
C_CREAM = HexColor("#fffbf0")
C_GREY = HexColor("#f1f5f9")
C_DGREY = HexColor("#64748b")
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="NCD Study Guide - MUHS MBBS",
author="Park's PSM"
)
W, H = A4
content_w = W - 3.6*cm
styles = getSampleStyleSheet()
# Custom styles
def S(name, **kw):
return ParagraphStyle(name, **kw)
sTitle = S("sTitle", fontSize=26, leading=32, textColor=white,
fontName="Helvetica-Bold", alignment=TA_CENTER)
sSubtitle = S("sSubtitle", fontSize=13, leading=18, textColor=HexColor("#bfdbfe"),
fontName="Helvetica", alignment=TA_CENTER)
sH1 = S("sH1", fontSize=14, leading=18, textColor=white,
fontName="Helvetica-Bold", alignment=TA_LEFT, spaceAfter=4)
sH2 = S("sH2", fontSize=12, leading=16, textColor=C_NAVY,
fontName="Helvetica-Bold", spaceAfter=4, spaceBefore=8)
sH3 = S("sH3", fontSize=10.5, leading=14, textColor=C_TEAL,
fontName="Helvetica-Bold", spaceAfter=3, spaceBefore=6)
sBody = S("sBody", fontSize=9.5, leading=14, textColor=HexColor("#1e293b"),
fontName="Helvetica", spaceAfter=4, alignment=TA_JUSTIFY)
sBullet = S("sBullet", fontSize=9.5, leading=14, textColor=HexColor("#1e293b"),
fontName="Helvetica", leftIndent=14, spaceAfter=2,
bulletIndent=4, bulletFontName="Helvetica", bulletFontSize=9.5)
sMnem = S("sMnem", fontSize=11, leading=16, textColor=C_PURPLE,
fontName="Helvetica-Bold", alignment=TA_CENTER)
sCell = S("sCell", fontSize=8.5, leading=12, textColor=HexColor("#1e293b"),
fontName="Helvetica")
sCellB = S("sCellB", fontSize=8.5, leading=12, textColor=white,
fontName="Helvetica-Bold")
sNote = S("sNote", fontSize=8.5, leading=12, textColor=C_DGREY,
fontName="Helvetica-Oblique", alignment=TA_CENTER)
sWarn = S("sWarn", fontSize=9, leading=13, textColor=C_ROSE,
fontName="Helvetica-Bold")
sTag = S("sTag", fontSize=8, leading=10, textColor=white,
fontName="Helvetica-Bold", alignment=TA_CENTER)
story = []
# ═══════════════════════════════════════════════════════════════
# HELPER FUNCTIONS
# ═══════════════════════════════════════════════════════════════
def section_header(title, color=C_NAVY, icon=""):
"""Coloured banner heading."""
tbl = Table([[Paragraph(f"{icon} {title}" if icon else title, sH1)]],
colWidths=[content_w])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), color),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
("ROUNDEDCORNERS", [6,6,6,6]),
]))
return tbl
def sub_header(title, color=C_TEAL):
tbl = Table([[Paragraph(title, S("sh2", fontSize=11, leading=14,
textColor=white, fontName="Helvetica-Bold"))]],
colWidths=[content_w])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), color),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 10),
]))
return tbl
def mnemonic_box(mnem_title, letters, bg=C_LTPUR, border=C_PURPLE):
"""Box for a mnemonic."""
rows = [[Paragraph(f"<b>MNEMONIC:</b> {mnem_title}",
S("mt", fontSize=10, leading=13, textColor=C_PURPLE, fontName="Helvetica-Bold"))]]
for letter, meaning in letters:
rows.append([Paragraph(f"<b><font color='#{C_PURPLE.hexval()[2:]}'> {letter}</font></b> - {meaning}",
S("ml", fontSize=9.5, leading=13, fontName="Helvetica"))])
tbl = Table(rows, colWidths=[content_w - 20])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
("BOX", (0,0), (-1,-1), 1.5, border),
("LINEBELOW", (0,0), (0,0), 1, border),
]))
wrapper = Table([[tbl]], colWidths=[content_w])
wrapper.setStyle(TableStyle([
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
]))
return wrapper
def key_fact_box(text, bg=C_LTAMB, border=C_AMBER):
tbl = Table([[Paragraph(f"★ {text}",
S("kf", fontSize=9.5, leading=13, textColor=HexColor("#92400e"),
fontName="Helvetica-Bold"))]],
colWidths=[content_w])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 12),
("BOX", (0,0), (-1,-1), 1.5, border),
]))
return tbl
def exam_tip(text):
tbl = Table([[Paragraph(f"EXAM TIP: {text}",
S("et", fontSize=9, leading=12, textColor=HexColor("#7c3aed"),
fontName="Helvetica-Bold"))]],
colWidths=[content_w])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_LTPUR),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 12),
("LEFTBORDERPADDING", (0,0), (-1,-1), 3),
]))
return tbl
def simple_table(headers, rows, col_widths=None, hdr_bg=C_NAVY):
data = [[Paragraph(h, S("th", fontSize=8.5, leading=11, textColor=white,
fontName="Helvetica-Bold")) for h in headers]]
for row in rows:
data.append([Paragraph(str(c), sCell) for c in row])
if col_widths is None:
col_widths = [content_w / len(headers)] * len(headers)
tbl = Table(data, colWidths=col_widths, repeatRows=1)
style = [
("BACKGROUND", (0,0), (-1,0), hdr_bg),
("ROWBACKGROUNDS", (0,1), (-1,-1), [white, C_GREY]),
("GRID", (0,0), (-1,-1), 0.5, HexColor("#cbd5e1")),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 7),
("RIGHTPADDING", (0,0), (-1,-1), 7),
("VALIGN", (0,0), (-1,-1), "TOP"),
]
tbl.setStyle(TableStyle(style))
return tbl
def bullet(text, indent=0):
return Paragraph(f"• {text}", S("b"+str(indent), fontSize=9.5, leading=13,
textColor=HexColor("#1e293b"), fontName="Helvetica",
leftIndent=12+indent*10, spaceAfter=2))
def sp(h=6):
return Spacer(1, h)
def hr(color=C_TEAL, thickness=0.8):
return HRFlowable(width="100%", thickness=thickness, color=color, spaceAfter=6, spaceBefore=4)
# ═══════════════════════════════════════════════════════════════
# COVER PAGE
# ═══════════════════════════════════════════════════════════════
cover_data = [[Paragraph("NON-COMMUNICABLE DISEASES", sTitle)],
[Paragraph("Complete Study Guide for MUHS Nashik MBBS", sSubtitle)],
[Paragraph("Based on Park's Textbook of Preventive & Social Medicine", sSubtitle)],
[sp(10)],
[Paragraph("Community Medicine | PSM | Preventive & Social Medicine",
S("cs", fontSize=11, textColor=HexColor("#93c5fd"),
fontName="Helvetica", alignment=TA_CENTER))]]
cover = Table(cover_data, colWidths=[content_w])
cover.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_NAVY),
("TOPPADDING", (0,0), (-1,-1), 12),
("BOTTOMPADDING", (0,0), (-1,-1), 12),
("LEFTPADDING", (0,0), (-1,-1), 20),
("RIGHTPADDING", (0,0), (-1,-1), 20),
("ROUNDEDCORNERS", [10,10,10,10]),
]))
story.append(cover)
story.append(sp(16))
# Quick index box
idx_data = [
[Paragraph("CONTENTS AT A GLANCE", S("idx", fontSize=11, textColor=C_NAVY,
fontName="Helvetica-Bold", alignment=TA_CENTER))],
[simple_table(
["Section", "Topic", "Exam Weight"],
[
["1", "Introduction to NCDs + Dual Burden", "★★"],
["2", "NCD Risk Factors (WHO)", "★★★★★"],
["3", "Hypertension - Risk Factors & Prevention", "★★★★★"],
["4", "Stroke - Definition, Classification", "★★★★"],
["5", "Cancer - Control, Screening, Danger Signals", "★★★★★"],
["6", "Diabetes Mellitus - Classification", "★★★★"],
["7", "NPCDCS Programme", "★★★★★"],
["8", "NTCP + COTPA Act", "★★★★"],
["9", "NMHP + NPCB / Vision 2020", "★★★"],
["10", "Mnemonics & Quick Revision", "★★★★★"],
],
col_widths=[1.5*cm, 11*cm, 3*cm],
)]
]
idx_tbl = Table(idx_data, colWidths=[content_w])
idx_tbl.setStyle(TableStyle([
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("BOX", (0,0), (-1,-1), 1.5, C_TEAL),
]))
story.append(idx_tbl)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 1: INTRODUCTION
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 1: INTRODUCTION TO NCDs", C_NAVY))
story.append(sp(8))
story.append(Paragraph("Definition", sH2))
story.append(Paragraph(
"NCDs (Chronic Diseases) are diseases of <b>long duration</b>, generally <b>slow progression</b>, "
"that are <b>NOT passed from person to person</b>. They result from a combination of genetic, "
"physiological, environmental, and behavioural factors.", sBody))
story.append(sp(4))
story.append(Paragraph("The Dual Burden of Disease in India", sH2))
story.append(simple_table(
["Communicable Diseases (Still High)", "Non-Communicable Diseases (Rapidly Rising)"],
[
["Diarrhoea, lower respiratory infections", "Heart disease, Stroke"],
["Tuberculosis", "Diabetes Mellitus"],
["Neonatal disorders", "Cancer, Chronic Lung Disease"],
],
col_widths=[content_w/2, content_w/2],
hdr_bg=C_TEAL
))
story.append(sp(6))
story.append(key_fact_box("In 2016, NCDs accounted for 60% of ALL deaths in India (Park's PSM)"))
story.append(sp(8))
story.append(Paragraph("Epidemiological Transition Level (ETL)", sH2))
story.append(simple_table(
["NCD : Communicable Disease Death Ratio", "ETL Category"],
[
["> 0.55", "Lowest ETL (still heavily communicable)"],
["0.41 – 0.55", "Lower-middle ETL"],
["0.31 – 0.40", "Higher-middle ETL"],
["≤ 0.30", "Highest ETL (NCDs dominant)"],
],
col_widths=[content_w*0.5, content_w*0.5]
))
story.append(sp(6))
story.append(exam_tip("India faces a DUAL BURDEN — absolute burden from CDs remains high while NCD contribution is rising. This is a favourite MCQ point."))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 2: NCD RISK FACTORS
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 2: NCD RISK FACTORS (WHO)", C_ROSE))
story.append(sp(8))
story.append(simple_table(
["Risk Factor", "Deaths/Year", "Key Exam Fact"],
[
["Tobacco", "7 million", "71% lung ca, 42% chr resp dis, ~10% CVD; 600,000 from 2nd-hand smoke; 170,000 are children"],
["Physical Inactivity", "1.6 million", "20–30% ↑ all-cause mortality; highest in high-income countries"],
["Harmful Alcohol", "3.3 million", "5.9% of all global deaths; 5.1% of DALYs"],
["Raised Blood Pressure", "9.4 million", "12.8% of all deaths; global prevalence ~22% in adults (2015)"],
["Overweight/Obesity", "2.8 million", ">42 million children under 5 were overweight (2015); 11% men, 15% women obese (2016)"],
["Raised Cholesterol", "2.6 million", "Highest in high-income countries"],
["Unhealthy Diet", "—", "High salt = ↑ BP; Low fruit/veg = stomach & colorectal cancer risk"],
["Cancer Infections", "2 million cases/yr", "HPV, HBV, HCV, H. pylori = 18% of global cancer burden"],
],
col_widths=[3.2*cm, 2.5*cm, 9.9*cm],
hdr_bg=C_ROSE
))
story.append(sp(8))
story.append(mnemonic_box(
'"TOP CHAR" - NCD Risk Factors',
[
("T", "Tobacco"),
("O", "Obesity / Overweight"),
("P", "Physical inactivity"),
("C", "Cholesterol (raised)"),
("H", "Harmful alcohol use"),
("A", "Alcohol / Abdominal fat"),
("R", "Raised blood pressure + diet (unhealthy)"),
],
bg=C_LTPUR, border=C_PURPLE
))
story.append(sp(6))
story.append(Paragraph("Modifiable vs Non-Modifiable Risk Factors", sH2))
story.append(simple_table(
["Non-Modifiable", "Modifiable"],
[
["Age", "Tobacco use"],
["Sex", "Physical inactivity"],
["Genetic factors (polygenic for HTN)", "Unhealthy diet"],
["Race / Ethnicity", "Harmful alcohol use"],
["Family history", "Overweight / Obesity"],
["", "Raised BP, Raised cholesterol"],
],
col_widths=[content_w/2, content_w/2]
))
story.append(sp(6))
story.append(Paragraph("Gaps in Natural History of Chronic Diseases", sH2))
for item in [
"<b>Absence of known agent</b> — unlike CDs, most NCDs have no single identifiable agent",
"<b>Multifactorial causation</b> — result from cumulative effects of multiple risk factors",
"<b>Long latent period</b> — years/decades between exposure and disease onset",
"<b>Difficulty in defining cases</b> — no sharp boundary between normal and disease",
"<b>Multiple outcomes</b> — same risk factor can cause different diseases (e.g., tobacco → lung cancer, CVD, COPD)",
]:
story.append(bullet(item))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 3: HYPERTENSION
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 3: HYPERTENSION", C_TEAL))
story.append(sp(8))
story.append(key_fact_box('Definition: Systolic BP ≥ 140 mmHg OR Diastolic BP ≥ 90 mmHg'))
story.append(sp(6))
story.append(Paragraph('"Tracking" of Blood Pressure (Exam Favourite!)', sH2))
story.append(Paragraph(
"If BP levels of individuals are followed from childhood into adult life, those with initially high BP "
"continue in the same 'track' as adults. Low BP tends to remain low; high BP tends to become higher. "
"This <b>persistence of rank order</b> of blood pressure = <b>TRACKING</b>. "
"Helps identify children at risk of future hypertension.", sBody))
story.append(sp(6))
story.append(Paragraph("Risk Factors for Hypertension", sH2))
story.append(simple_table(
["Non-Modifiable", "Modifiable"],
[
["Age – BP rises with age in both sexes", "Obesity (BMI > 25)"],
["Sex – Men > Women in young/middle age; reverses post-menopause", "High salt intake (>5g/day)"],
["Genetic – Polygenic; 45% risk if both parents hypertensive vs 3% if both normotensive", "Alcohol consumption"],
["", "Physical inactivity"],
["", "Stress"],
["", "Oral Contraceptive Pills (most common cause of secondary HTN)"],
],
col_widths=[content_w/2, content_w/2]
))
story.append(sp(6))
story.append(key_fact_box("Children of 2 hypertensive parents = 45% risk. Children of 2 normotensive parents = 3% risk."))
story.append(sp(6))
story.append(Paragraph("Prevention of Hypertension (WHO Recommended)", sH2))
story.append(simple_table(
["Level", "Strategy", "Details"],
[
["Primary", "Population Strategy",
"Reduce salt <5g/day; Moderate fat; No high alcohol; Weight reduction (BMI <25); Regular exercise; Yoga/stress reduction; Health education; Self-care (log-book BP monitoring)"],
["Primary", "High-Risk Strategy", "Target individuals with identifiable risk factors; close monitoring and early intervention"],
["Secondary", "Early Detection + Treatment", "Screening programmes; Antihypertensive therapy to prevent stroke, CHD, renal failure"],
],
col_widths=[2*cm, 4.5*cm, 9.1*cm]
))
story.append(sp(6))
story.append(mnemonic_box(
'"SWEBS" - Population Strategy for HTN Prevention',
[
("S", "Salt restriction (<5g/day)"),
("W", "Weight reduction (BMI <25)"),
("E", "Exercise (regular physical activity)"),
("B", "Behaviour change (stress, smoking, yoga)"),
("S", "Self-care + Health education (log-book BP)"),
]
))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 4: STROKE
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 4: STROKE", C_GREEN))
story.append(sp(8))
story.append(key_fact_box(
'WHO Definition: "Rapidly developed clinical signs of focal disturbance of cerebral function, '
'lasting >24 hours or leading to death, with no apparent cause other than vascular origin."'))
story.append(sp(4))
story.append(bullet("<b>Excludes:</b> TIA (lasts <24 hrs), subdural haemorrhage, tumours, poisoning, trauma"))
story.append(sp(6))
story.append(Paragraph("Classification of Stroke", sH2))
story.append(simple_table(
["Type", "Subtypes"],
[
["A. Ischaemic Stroke (More common)", "1. Lacunar infarct\n2. Carotid circulation obstruction\n3. Vertebro-basilar obstruction"],
["B. Haemorrhagic Stroke", "1. Spontaneous intracerebral haemorrhage\n2. Subarachnoid haemorrhage\n3. Intracranial aneurysm\n4. Arteriovenous malformations"],
],
col_widths=[content_w*0.4, content_w*0.6]
))
story.append(sp(6))
story.append(Paragraph("Epidemiology of Stroke", sH2))
for fact in [
"Caused <b>5.78 million deaths</b> worldwide in 2016 = 10.2% of all deaths",
"<b>33.72%</b> of stroke deaths were in persons <b>aged less than 70 years</b>",
"Most deaths occur in developing countries",
"Leading cause of <b>adult disability</b>",
"Hemiplegia = main neurological deficit in ~<b>90% of patients</b>",
"Cerebral haemorrhage is more common in Japan than elsewhere",
]:
story.append(bullet(fact))
story.append(sp(6))
story.append(mnemonic_box(
'"LASH" - Haemorrhagic Stroke types',
[
("L", "Lack of ... → Spontaneous intracerebral haemorrhage"),
("A", "Aneurysm (Intracranial)"),
("S", "Subarachnoid haemorrhage"),
("H", "Haemangioma (Arteriovenous malformations)"),
],
bg=C_LTGRN, border=C_GREEN
))
story.append(sp(6))
story.append(exam_tip("TIA vs Stroke: TIA resolves within 24 hours; Stroke persists beyond 24 hours. This distinction is frequently tested."))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 5: CANCER
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 5: CANCER", C_ROSE))
story.append(sp(8))
story.append(Paragraph("Definition", sH2))
story.append(Paragraph(
"A group of diseases characterized by: (i) Abnormal growth of cells, "
"(ii) Ability to invade adjacent tissues and distant organs, "
"(iii) Eventual death if tumour has progressed beyond removable stage.", sBody))
story.append(sp(4))
story.append(Paragraph("Classification", sH2))
story.append(simple_table(
["Type", "Origin", "Examples"],
[
["Carcinomas", "Epithelial cells lining internal surfaces", "Mouth, oesophagus, uterus, skin"],
["Sarcomas", "Mesodermal / Connective tissue cells", "Fibrous tissue, fat, bone"],
["Lymphomas, Myeloma, Leukaemias", "Bone marrow and immune system cells", "Hodgkin's, NHL, Multiple myeloma, ALL/CML"],
],
col_widths=[3.5*cm, 6*cm, 6.1*cm]
))
story.append(sp(6))
story.append(Paragraph("Global Burden (2020)", sH2))
story.append(simple_table(
["Metric", "Data"],
[
["Total new cases (2020)", "19.292 million"],
["Total deaths (2020)", "9.958 million"],
["Most common (incidence)", "Breast > Lung > Prostate > Colon > Stomach"],
["Most common (mortality)", "Lung > Liver > Stomach > Breast"],
["India – Top cancer", "Breast cancer: 178,361 new cases (2020) = 13.6% of all cancers"],
["India – Incidence rate", "25.8 per 1,00,000 population"],
],
col_widths=[content_w*0.4, content_w*0.6]
))
story.append(sp(6))
story.append(key_fact_box("Breast cancer surpassed lung cancer as the LEADING CANCER GLOBALLY in 2020 (2.3 million new cases)."))
story.append(sp(6))
story.append(Paragraph("8 Danger Signals of Cancer (CAUTION+)", sH2))
story.append(mnemonic_box(
'"CAUTION UP" – 8 Danger Signals',
[
("C", "Change in bowel or bladder habits"),
("A", "A sore that does not heal"),
("U", "Unusual bleeding or discharge from any orifice"),
("T", "Thickening or lump in breast or elsewhere"),
("I", "Indigestion or difficulty in swallowing"),
("O", "Obvious change in wart or mole"),
("N", "Nagging cough or hoarseness"),
("U", "Unexplained weight loss"),
("P", "Period abnormalities / abnormal menstrual bleeding"),
],
bg=C_LTROSE, border=C_ROSE
))
story.append(sp(6))
story.append(Paragraph("Cancer Control – Primary Prevention", sH2))
story.append(simple_table(
["Measure", "Details"],
[
["Tobacco & Alcohol Control", "Would reduce >1 million cancers/year if tobacco alone is controlled"],
["Personal Hygiene", "Reduces cancer cervix incidence"],
["Radiation Control", "Reduce medical + environmental radiation"],
["Occupational Protection", "Prevent exposure to industrial carcinogens"],
["Immunization", "HBV vaccine (liver cancer); HPV vaccine (cervical cancer)"],
["Food/Drug Testing", "Screen for carcinogens"],
["Air Pollution Control", "Reduces lung cancer risk"],
["Treat Precancerous Lesions", "Cervical tears, intestinal polyposis, warts, chronic gastritis"],
["Legislation", "COTPA Act; environmental carcinogen control"],
["Cancer Education", "Motivate people to seek early diagnosis; CAUTION signs"],
],
col_widths=[5*cm, content_w-5*cm]
))
story.append(sp(6))
story.append(Paragraph("Cancer Screening Methods", sH2))
story.append(simple_table(
["Cancer", "Screening Method"],
[
["Cervical Cancer", "Pap smear; VIA (Visual Inspection with Acetic Acid); VILI"],
["Breast Cancer", "Breast Self-Examination (BSE); Clinical Breast Examination (CBE); Mammography"],
["Lung Cancer", "Chest X-ray; Sputum cytology (high-risk groups)"],
["Oral Cancer", "Visual examination (especially tobacco/betel nut users)"],
["Colorectal Cancer", "Faecal Occult Blood Test (FOBT); Colonoscopy"],
],
col_widths=[4*cm, content_w-4*cm]
))
story.append(sp(6))
story.append(Paragraph("Epidemiology of Selected Cancers", sH2))
story.append(simple_table(
["Cancer", "Key Risk Factors", "India Fact"],
[
["Oral Cancer", "Tobacco (chewing + smoking), Alcohol, Betel nut", "Most common in Indian men"],
["Cancer Cervix", "HPV (types 16, 18), Early sexual activity, Multiple partners, HIV, Multiparity, Poor hygiene", "VIA/Pap smear screening"],
["Breast Cancer", "Age >35, Nulliparity, Early menarche, Late menopause, HRT, BRCA1/2, OCP", "Top cancer in Indian women; survival ↓ 2.7x from Stage I to Stage IV"],
],
col_widths=[3*cm, 8*cm, 4.6*cm]
))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 6: DIABETES
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 6: DIABETES MELLITUS", C_PURPLE))
story.append(sp(8))
story.append(key_fact_box(
"Definition: Group of metabolic disorders characterized by HYPERGLYCAEMIA due to defects in "
"insulin secretion, insulin action, or both."))
story.append(sp(6))
story.append(Paragraph("WHO Classification of Diabetes (2019)", sH2))
story.append(simple_table(
["Type", "Key Features"],
[
["Type 1", "Beta-cell destruction (immune-mediated); absolute insulin deficiency; onset in childhood/young adulthood"],
["Type 2 (most common)", "Degrees of beta-cell dysfunction + insulin resistance; associated with overweight/obesity"],
["Slowly evolving immune-mediated (formerly LADA)", "Like type 1 in adults; often has metabolic syndrome features; single GAD autoantibody; retains beta-cell function longer"],
["Ketosis-prone Type 2", "Presents with ketosis and insulin deficiency but later does not require insulin; not immune-mediated"],
["Monogenic (MODY)", "Caused by specific gene mutations; several clinical forms; some neonatal onset"],
["Diseases of exocrine pancreas", "Trauma, tumour, inflammation causing hyperglycaemia"],
["Endocrine disorders", "Excess insulin-antagonist hormones (Cushing's, acromegaly, etc.)"],
["Gestational Diabetes", "Hyperglycaemia first detected during pregnancy"],
],
col_widths=[5*cm, content_w-5*cm],
hdr_bg=C_PURPLE
))
story.append(sp(6))
story.append(Paragraph("Complications of Diabetes", sH2))
story.append(simple_table(
["Category", "Specific Complications"],
[
["Microvascular", "Retinopathy, Nephropathy, Neuropathy (3 Ns - Nerve, Nephron, Net/Retina)"],
["Macrovascular", "Coronary artery disease, Peripheral arterial disease, Cerebrovascular disease"],
["Others", "Obesity, Cataracts, Erectile dysfunction, Non-alcoholic fatty liver disease, ↑ risk of TB"],
],
col_widths=[4*cm, content_w-4*cm]
))
story.append(sp(6))
story.append(mnemonic_box(
'"3Ns" - Microvascular Complications of Diabetes',
[
("N", "Nephropathy (kidney)"),
("N", "Neuropathy (nerves)"),
("N", "Net-opathy = Retinopathy (eye - retina like a 'net')"),
],
bg=C_LTPUR, border=C_PURPLE
))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 7: NPCDCS
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 7: NPCDCS", C_TEAL))
story.append(sp(6))
story.append(Paragraph("National Programme for Prevention and Control of Cancer, Diabetes, Cardiovascular Diseases and Stroke", sH3))
story.append(sp(6))
story.append(simple_table(
["Item", "Details"],
[
["Origin", "Integrated from: National Programme on Prevention and Control of Diabetes, CVD and Stroke + National Cancer Control Programme"],
["11th Five Year Plan", "100 districts in 21 states"],
["12th Five Year Plan", "Extended to ALL districts of India (phased manner)"],
["NCD Burden trigger", "NCDs = 60% of deaths in India (2016)"],
],
col_widths=[4*cm, content_w-4*cm]
))
story.append(sp(6))
story.append(Paragraph("5 Major Objectives", sH2))
for obj in [
"Prevent and control common NCDs through behaviour and lifestyle changes",
"Provide early diagnosis and management of common NCDs",
"Build capacity at various levels of health care for prevention, diagnosis and treatment",
"Train human resource (doctors, paramedics, nursing staff) for NCD management",
"Establish and develop capacity for palliative and rehabilitative care",
]:
story.append(bullet(obj))
story.append(sp(6))
story.append(Paragraph("Activities at Different Levels", sH2))
story.append(simple_table(
["Level", "Key Activities"],
[
["Sub-Centre",
"• Health promotion and behaviour change (camps, IPC, posters, banners)\n"
"• Opportunistic screening of persons >30 years by BP + blood glucose (strip method)\n"
"• Refer suspected cases to CHC/higher facility"],
["CHC (NCD Clinic)",
"• Diagnosis: blood sugar, lipid profile, ultrasound, ECG, X-ray\n"
"• Management and stabilization of CVD, diabetes, stroke (OPD + IPD)\n"
"• Nurse does home visits for bedridden cases\n"
"• Refer complicated cases to District Hospital"],
["District Hospital (NCD Clinic)",
"• Screen persons >30 years for DM, HTN, CVD\n"
"• Detailed investigations for high-risk individuals\n"
"• Regular management and annual assessment\n"
"• Home-based palliative care\n"
"• Health education and counselling"],
],
col_widths=[3*cm, content_w-3*cm]
))
story.append(sp(6))
story.append(Paragraph("Urban Health Check-up Scheme (Diabetes and High BP)", sH2))
for obj in [
"Screen urban slum population for diabetes and high BP",
"Create database for prevalence of diabetes and high BP in urban slums",
"Sensitize urban slum population about healthy lifestyle",
]:
story.append(bullet(f"Objective: {obj}"))
story.append(bullet("<b>Target:</b> Blood sugar + BP for all persons ≥30 years AND all pregnant women (any age)"))
story.append(sp(6))
story.append(Paragraph("Referral Guidelines under NPCDCS (2016)", sH2))
story.append(simple_table(
["Finding", "Action"],
[
["Systolic BP >140 OR Diastolic BP >90 mmHg", "Refer to medical officer at nearest facility"],
["Random blood sugar ≥140 mg/dL", "Refer to medical officer"],
["Cancer / precancerous lesion positive", "Refer to PHC/CHC/District Hospital for specialist care"],
["Confirmed DM/HTN diagnosis", "Min. 1-month drug supply from PHC; ANM/ASHA monthly follow-up"],
],
col_widths=[6*cm, content_w-6*cm]
))
story.append(sp(6))
story.append(Paragraph("Achievements under NPCDCS (Sept 2015)", sH2))
story.append(simple_table(
["Facility", "March 2014", "September 2015"],
[
["State NCD Cells", "21", "36"],
["District NCD Cells", "96", "195"],
["District NCD Clinics", "95", "201"],
["District CCU Facilities", "51", "65"],
["District Day Care Centres", "38", "61"],
["CHC NCD Clinics", "204", "1362"],
],
col_widths=[8*cm, 3.5*cm, 4.1*cm]
))
story.append(sp(6))
story.append(Paragraph("New Initiatives under NPCDCS", sH2))
for init in [
"Intervention for Rheumatic Heart Disease (under NPCDCS + RBSK)",
"Integration of AYUSH with NPCDCS",
"Integration of RNTCP with NPCDCS for TB-Diabetes co-morbidity management",
]:
story.append(bullet(init))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 8: NTCP + COTPA
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 8: NTCP & TOBACCO CONTROL", C_AMBER))
story.append(sp(8))
story.append(Paragraph("COTPA Act, 2003 – Key Facts", sH2))
story.append(simple_table(
["Item", "Fact"],
[
["Full name", "Cigarettes and other Tobacco Products (Prohibition of Advertisement and Regulation of Trade and Commerce, Production, Supply and Distribution) Act, 2003"],
["Passed by Parliament", "April 2003"],
["Gazette notification", "25th February 2004"],
["Smoking in public places banned from", "2nd October 2008"],
["Pictorial health warnings (85% of pack)", "Notified 24 Sept 2015; effective 1st April 2016"],
["Pack warning composition", "60% picture + 25% text = 85% total on both sides"],
],
col_widths=[5*cm, content_w-5*cm],
hdr_bg=C_AMBER
))
story.append(sp(6))
story.append(Paragraph("6 Key Provisions of COTPA", sH2))
for prov in [
"Prohibition of smoking in public places",
"Prohibition of direct AND indirect advertisement of tobacco products",
"Prohibition of sale to persons <18 years of age",
"Prohibition of sale near educational institutions",
"Mandatory statutory warnings (including pictorial warnings) on tobacco packs",
"Mandatory depiction of tar and nicotine content on tobacco packs",
]:
story.append(bullet(prov))
story.append(sp(6))
story.append(mnemonic_box(
'"PS3M" – COTPA Key Provisions',
[
("P", "Prohibition of smoking in public places"),
("S", "Sale prohibited to <18 years"),
("S", "Sale near schools prohibited"),
("S", "Statutory warnings mandatory on packs"),
("M", "Media ads – direct and indirect prohibited"),
],
bg=C_LTAMB, border=C_AMBER
))
story.append(sp(8))
story.append(Paragraph("National Tobacco Control Programme (NTCP)", sH2))
story.append(simple_table(
["Item", "Details"],
[
["Launched", "11th Five Year Plan"],
["Coverage", "108 districts in 31 states"],
["International link", "WHO – Framework Convention on Tobacco Control (FCTC)"],
],
col_widths=[4*cm, content_w-4*cm]
))
story.append(sp(6))
story.append(Paragraph("9 Components of NTCP", sH2))
for i, comp in enumerate([
"Public awareness / mass media campaigns for awareness and behavioural change",
"Establishment of tobacco product testing laboratories",
"Mainstreaming under NRHM framework",
"Research for alternate crops and livelihood",
"Monitoring and evaluation (including Adult Tobacco Survey)",
"Dedicated tobacco control cells for implementation and monitoring",
"Training of health/social workers, NGOs, school teachers",
"School programme",
"Provision of tobacco cessation facilities",
], 1):
story.append(bullet(f"{i}. {comp}"))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 9: NMHP + NPCB
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 9: NMHP & NPCB / VISION 2020", C_GREEN))
story.append(sp(8))
story.append(sub_header("National Mental Health Programme (NMHP)", C_GREEN))
story.append(sp(4))
story.append(simple_table(
["Item", "Details"],
[
["Launched", "1982"],
["Current coverage", "517 districts in 36 states"],
["3 Aims", "1. Prevention/treatment of mental & neurological disorders\n2. Use mental health technology in general health\n3. Apply mental health principles in national development"],
["3 Objectives",
"1. Ensure minimum MH care for all (esp. vulnerable sections)\n"
"2. Encourage MH knowledge in general health care and social development\n"
"3. Promote community participation in MH services"],
["Key Strategy", "Integration of mental health with primary health care through NMHP"],
],
col_widths=[5*cm, content_w-5*cm]
))
story.append(sp(10))
story.append(sub_header("National Programme for Control of Blindness (NPCB) & Vision 2020", C_TEAL))
story.append(sp(4))
story.append(simple_table(
["Initiative", "Details"],
[
["Vision 2020: The Right to Sight", "Global initiative launched by WHO on 18th February 1999"],
["Objective", "Eliminate AVOIDABLE blindness from: Cataract, Xerophthalmia, Refractive error, Trachoma, Corneal blindness by year 2020"],
["Concept", "Sight as a FUNDAMENTAL HUMAN RIGHT (differs from previous initiatives)"],
["Global Eye Health Action Plan", "2014–2019"],
["5 Principles", "Universal access + equity; Human rights; Evidence-based practice; Life course approach; Empowerment of visually impaired"],
["Target", "25% reduction in avoidable visual impairment prevalence by 2019 (from 2010 baseline)"],
["3 Progress Indicators", "1. Prevalence and causes of visual impairment\n2. Number of eye care personnel\n3. Cataract surgery rate"],
],
col_widths=[5*cm, content_w-5*cm]
))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 10: MNEMONICS & QUICK REVISION
# ═══════════════════════════════════════════════════════════════
story.append(section_header("SECTION 10: MNEMONICS & QUICK REVISION", C_PURPLE))
story.append(sp(8))
story.append(Paragraph("Master Mnemonic Collection", sH2))
story.append(sp(4))
mnemonics = [
("NCD Risk Factors – 'TOP CHAR'",
[("T","Tobacco"),("O","Obesity/Overweight"),("P","Physical inactivity"),
("C","Cholesterol raised"),("H","Harmful alcohol"),("A","Alcohol-related liver"),("R","Raised BP + diet")]),
("HTN Prevention – 'SWEBS'",
[("S","Salt restriction (<5g/day)"),("W","Weight reduction"),("E","Exercise"),
("B","Behaviour change (yoga, stress)"),("S","Self-care + Health education")]),
("8 Danger Signals of Cancer – 'CAUTION UP'",
[("C","Change in bowel/bladder habits"),("A","A sore that doesn't heal"),
("U","Unusual bleeding/discharge"),("T","Thickening or lump"),
("I","Indigestion/difficulty swallowing"),("O","Obvious change in wart/mole"),
("N","Nagging cough/hoarseness"),("U","Unexplained weight loss"),
("P","Period abnormalities")]),
("Microvascular DM Complications – '3 Ns'",
[("N","Nephropathy"),("N","Neuropathy"),("N","Net-opathy = Retinopathy")]),
("COTPA Provisions – 'PS3M'",
[("P","Public places – smoking banned"),("S","Sale to <18 banned"),
("S","Schools – no sale nearby"),("S","Statutory warnings mandatory"),
("M","Media (direct + indirect) ads banned")]),
("NPCDCS Objectives – 'PREVENT'",
[("P","Prevent NCDs via lifestyle change"),("R","Refer and diagnose early"),
("E","Establish capacity at all levels"),("V","Vocational training of health staff"),
("E","Enable palliative/rehab care"),("N","NCD clinics at CHC and district level"),
("T","Train human resources")]),
]
for title, letters in mnemonics:
story.append(mnemonic_box(title, letters))
story.append(sp(6))
story.append(PageBreak())
# QUICK REVISION TABLE
story.append(section_header("QUICK REVISION - HIGH YIELD NUMBERS", C_NAVY))
story.append(sp(8))
story.append(simple_table(
["Topic", "Number / Fact"],
[
["NCDs share of India's deaths (2016)", "60%"],
["Tobacco deaths/year globally", "7 million (600,000 from 2nd-hand smoke; 170,000 children)"],
["Tobacco: % lung cancer caused", "71%"],
["Tobacco: % chronic respiratory disease", "42%"],
["Physical inactivity deaths/year", "1.6 million"],
["Physical inactivity: ↑ all-cause mortality", "20-30%"],
["Harmful alcohol deaths/year", "3.3 million = 5.9% of all global deaths"],
["Raised BP deaths/year", "9.4 million = 12.8% of all deaths"],
["Global BP prevalence (adults, 2015)", "~22%"],
["Overweight deaths/year", "2.8 million"],
["Overweight children <5 yrs (2015)", ">42 million"],
["Men obese (2016)", "11%"], ["Women obese (2016)", "15%"],
["Raised cholesterol deaths/year", "2.6 million"],
["Infection-related cancers/year", "2 million cases = 18% of global cancer burden"],
["Global cancer new cases (2020)", "19.292 million"],
["Global cancer deaths (2020)", "9.958 million"],
["India breast cancer new cases (2020)", "178,361 (13.6% of all cancers)"],
["India breast cancer incidence", "25.8 per 1,00,000"],
["HTN: both parents hypertensive → child risk", "45%"],
["HTN: both parents normotensive → child risk", "3%"],
["Salt restriction target (WHO)", "<5 g/day"],
["Stroke deaths globally (2016)", "5.78 million = 10.2% of all deaths"],
["Stroke: hemiplegia in patients", "~90%"],
["NPCDCS 11th FYP", "100 districts, 21 states"],
["NPCDCS 12th FYP", "All districts, phased"],
["NPCDCS screening age", ">30 years"],
["NTCP coverage", "108 districts, 31 states"],
["COTPA Act gazette notification", "25th Feb 2004"],
["Smoking in public places banned from", "2nd October 2008"],
["Pictorial warnings on packs", "85% of principal display area (60% pic + 25% text)"],
["NMHP launched", "1982"],
["NMHP current coverage", "517 districts, 36 states"],
["Vision 2020 launched by WHO", "18th February 1999"],
["Global Eye Health Action Plan", "2014-2019, target: 25% reduction in avoidable blindness"],
],
col_widths=[8*cm, content_w-8*cm]
))
story.append(sp(8))
# EXAM QUESTION TABLE
story.append(Paragraph("Predicted MUHS Exam Questions", sH2))
story.append(simple_table(
["Marks", "Question"],
[
["10", "Describe NPCDCS – objectives, strategies at different levels, referral guidelines and achievements."],
["10", "Enumerate risk factors for NCDs. Describe prevention of hypertension (WHO approach)."],
["10", "Describe cancer control in India including primary prevention, cancer screening and national cancer programme."],
["5", "Write about National Tobacco Control Programme (NTCP) and COTPA Act 2003."],
["5", "Define stroke (WHO). Classify stroke. Write epidemiology and control."],
["5", "Describe diabetes mellitus classification (WHO 2019) and complications."],
["5", "Write about Vision 2020 and Global Eye Health Action Plan."],
["3", "Write a short note on 'Tracking of Blood Pressure'."],
["3", "Enumerate 8 danger signals of cancer with mnemonic CAUTION UP."],
["3", "Short note on National Mental Health Programme (NMHP)."],
["3", "Short note on epidemiological transition."],
["2", "Define NCD. What is dual burden of disease?"],
],
col_widths=[1.5*cm, content_w-1.5*cm]
))
story.append(sp(10))
story.append(Paragraph("Source: Park's Textbook of Preventive and Social Medicine, Chapters 6 & 7 (pp. 425–540)", sNote))
story.append(Paragraph("Prepared for MUHS Nashik MBBS – Community Medicine / PSM", sNote))
doc.build(story)
print(f"PDF generated: {OUTPUT}")
cd /home/daytona/workspace/ncd-study-guide && python3 generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/ncd-study-guide/NCD_Study_Guide_MUHS.pdf
NCD Study Guide MUHS
PDF Document · PDF
| Section | Content |
|---|---|
| Cover Page | Colour-coded title + Contents at a Glance with exam weight stars |
| Section 1 | Introduction to NCDs, Dual Burden, Epidemiological Transition Table |
| Section 2 | NCD Risk Factors table (deaths/year + exam facts) + "TOP CHAR" mnemonic + Modifiable vs Non-Modifiable table |
| Section 3 | Hypertension - Tracking, Risk Factors, Prevention (Population + High-risk + Secondary) + "SWEBS" mnemonic |
| Section 4 | Stroke - WHO definition, Classification table, Epidemiology key facts + "LASH" mnemonic |
| Section 5 | Cancer - Global burden 2020, 8 Danger Signals with "CAUTION UP" mnemonic, Primary prevention, Screening methods, Selected cancers |
| Section 6 | Diabetes - WHO 2019 classification table, Complications + "3 Ns" mnemonic |
| Section 7 | NPCDCS - Full programme table, Activities at 3 levels, Referral guidelines, Achievements table, New initiatives |
| Section 8 | COTPA Act key dates, 6 provisions + "PS3M" mnemonic, NTCP 9 components |
| Section 9 | NMHP (1982), NPCB, Vision 2020, Global Eye Health Action Plan |
| Section 10 | All 6 mnemonics collected, High-Yield Numbers quick revision table, 12 Predicted MUHS Exam Questions |