What you are doing for me

I'm Orris, your AI assistant! Here's what I can help you with:
Research & Information
  • Answer questions on any topic - science, history, technology, medicine, law, finance, and more
  • Search the web for current news and up-to-date information
  • Find and summarize academic/medical literature (PubMed, textbooks)
Medical & Clinical
  • Look up drug information, diagnoses, treatments, and clinical guidelines
  • Search a library of medical textbooks for detailed, authoritative answers
  • Find recent peer-reviewed studies and systematic reviews
Document Creation
  • Create Word documents (.docx), PowerPoint presentations (.pptx), PDFs, and Excel spreadsheets (.xlsx)
  • Format professional reports, memos, letters, and templates
Data & Code
  • Write and run code (Python, JavaScript, shell scripts, etc.)
  • Analyze data, generate charts, and process files
  • Work with CSV, JSON, and other data formats
Specialized Knowledge
  • Indian taxation (direct taxes, income tax, CA/CMA prep)
  • GST, indirect taxes, CA Final, and ACCA exam prep
  • Hip surgery clinical guidelines and surgical video analysis
Images & Media
  • Analyze uploaded images and videos
  • Generate original images, diagrams, posters, and flashcards
Just ask me anything - I'll give you a quick answer right away, then dig deeper with sources and tools when needed. What would you like help with today?

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

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Reading File
Reading File
Reading File
Here is your complete, exam-ready study guide on Non-Communicable Diseases as per Park's Textbook of Preventive and Social Medicine, structured specifically for MUHS Nashik MBBS examinations.

NON-COMMUNICABLE DISEASES (NCDs)

As per Park's PSM - MUHS MBBS Exam Notes


PART 1: INTRODUCTION TO NCDs

Definition

NCDs (also called Chronic Diseases) are diseases of long duration, generally slow progression, and are NOT passed from person to person. They are a result of a combination of genetic, physiological, environmental, and behavioral factors.

The "Dual Burden" of Disease in India

  • India faces a dual challenge: the burden from communicable diseases (TB, diarrhoea, neonatal disorders) remains high, while NCDs are rapidly rising.
  • In 2016, NCDs accounted for 60% of all deaths in India.
  • Contributing conditions: heart disease, stroke, diabetes, cancer, chronic lung diseases.

Epidemiological Transition

  • Countries with NCD-to-communicable disease death ratio >0.55 = lowest epidemiological transition level (ETL)
  • Ratio 0.30 or less = highest ETL

PART 2: NCD RISK FACTORS (Very High-Yield for MUHS)

The WHO and Park identify the following major modifiable risk factors:
Risk FactorKey Fact (Exam Fact)
Tobacco7 million deaths/year; 600,000 from second-hand smoke; 170,000 are children; causes 71% lung cancer, 42% chronic respiratory disease, ~10% CVD
Physical Inactivity1.6 million deaths/year; physically inactive persons have 20-30% increased all-cause mortality risk
Harmful Alcohol3.3 million deaths/year; 5.9% of all global deaths; causes cancers, CVD, liver cirrhosis
Unhealthy DietHigh salt = high BP and CVD; low fruit/vegetable intake = stomach & colorectal cancer
Raised BPCauses 9.4 million deaths (~12.8% of all deaths); global prevalence ~22% in adults
Overweight/Obesity2.8 million deaths/year; >42 million children under 5 were overweight (2015)
Raised Cholesterol2.6 million deaths/year; increases heart disease and stroke risk
Cancer-associated Infections2 million cancer cases/year; caused by HPV, HBV, HCV, H. pylori
Environmental factorsAir/water pollution, occupational hazards

Non-Modifiable vs Modifiable Risk Factors

  • Non-modifiable: Age, Sex, Genetic factors (polygenic inheritance for HTN)
  • Modifiable: All the above table items

PART 3: HYPERTENSION

Definition

Systolic BP ≥ 140 mmHg OR Diastolic BP ≥ 90 mmHg

"Tracking" of Blood Pressure (Exam Favorite)

  • Blood pressure levels in children tend to "track" into adulthood - those with high BP in childhood tend to have high BP as adults.
  • Useful for identifying children "at risk" of future hypertension.

Risk Factors for Hypertension

1. Non-Modifiable
  • Age (BP rises with age)
  • Sex (men > women in young/middle age; reverses post-menopause)
  • Genetic factors (polygenic; children of two hypertensive parents have 45% chance vs 3% if both normotensive)
2. Modifiable
  • Obesity
  • High salt intake
  • Alcohol
  • Physical inactivity
  • Stress
  • Oral contraceptive pills (most common cause of secondary hypertension)

Prevention of Hypertension (WHO Recommended)

1. Primary Prevention
(a) Population Strategy - directed at the whole population:
  • Reduce salt intake to <5 g/day
  • Moderate fat intake
  • Avoid high alcohol
  • Weight reduction (BMI <25)
  • Regular exercise
  • Behavioural changes (stress reduction, yoga)
  • Health education
  • Self-care (patients take their own BP - log-book method)
(b) High-Risk Strategy - targeted at individuals with high risk factors
2. Secondary Prevention
  • Early detection by screening
  • Treatment with antihypertensives to prevent complications (stroke, CHD, renal failure)

PART 4: STROKE

Definition (WHO)

"Rapidly developed clinical signs of focal disturbance of cerebral function, lasting more than 24 hours or leading to death, with no apparent cause other than vascular origin."
  • NOTE: Excludes TIA (lasts <24 hours), subdural haemorrhage, tumors, and trauma.

Classification

A. Ischaemic Stroke (more common):
  • Lacunar infarct
  • Carotid circulation obstruction
  • Vertebro-basilar obstruction
B. Haemorrhagic Stroke:
  • Spontaneous intracerebral haemorrhage
  • Subarachnoid haemorrhage
  • Intracranial aneurysm
  • Arteriovenous malformations

Epidemiology

  • Cerebrovascular disease caused 5.78 million deaths worldwide in 2016 (10.2% of all deaths)
  • 33.72% of stroke deaths were in persons <70 years
  • Most deaths in developing countries
  • Leading cause of adult disability
  • Hemiplegia is the main neurological deficit in ~90% of patients

Stroke Control Programme

  • Reduction of modifiable risk factors (same as HTN prevention)
  • Emergency management of acute stroke
  • Rehabilitation of stroke survivors

PART 5: CANCER

Definition

A group of diseases characterized by:
  1. Abnormal growth of cells
  2. Ability to invade adjacent tissues and distant organs
  3. Ultimate death if not treated in time

Classification

  • Carcinomas - from epithelial cells (mouth, oesophagus, uterus, skin)
  • Sarcomas - from mesodermal/connective tissue (fat, bone, fibrous tissue)
  • Lymphomas, Myeloma, Leukaemias - from bone marrow and immune cells

Global Burden (2020)

  • 19.292 million new cases; 9.958 million deaths
  • Most common diagnosed: Breast > Lung > Prostate > Colon > Stomach
  • Most common cause of death: Lung > Liver > Stomach > Breast

Cancer in India

  • Breast cancer is the top-most cancer in India: 178,361 new cases in 2020 (13.6% of all cancers)
  • Oral cancer is very common due to tobacco use

Causes of Cancer

1. Environmental Factors:
  • Tobacco (most important - >1 million cancers/year preventable by tobacco control alone)
  • Diet (high fat, low fibre, preserved foods)
  • Radiation (UV, ionizing)
  • Occupational carcinogens (asbestos, benzene, arsenic)
  • Air pollution
  • Viruses: HPV (cervix), HBV/HCV (liver), EBV (lymphoma), H. pylori (stomach)
2. Genetic Factors:
  • Retinoblastoma
  • Down syndrome and leukaemia
  • Complex interaction of hereditary susceptibility + environmental carcinogens

Cancer Control

1. Primary Prevention:
  • Control tobacco and alcohol
  • Personal hygiene (reduces cervical cancer)
  • Reduce radiation exposure
  • Occupational cancer prevention
  • Immunization: Hepatitis B vaccine (liver cancer), HPV vaccine (cervical cancer)
  • Test foods/drugs for carcinogens
  • Air pollution control
  • Treat precancerous lesions
  • Legislation (COTPA Act)
  • Cancer education - 8 Danger Signals of Cancer:
    1. Lump/hard area in breast
    2. Change in a wart or mole
    3. Persistent change in bowel/digestive habits
    4. Persistent cough or hoarseness
    5. Excessive/abnormal menstrual bleeding
    6. Blood from any natural orifice
    7. A swelling or sore that does not heal
    8. Unexplained weight loss
2. Secondary Prevention:
  • Cancer registration (population-based and hospital-based)
  • Cancer Screening:
    • Cervical cancer: Pap smear, VIA (Visual Inspection with Acetic acid)
    • Breast cancer: Breast self-examination (BSE), mammography, CBE
    • Lung cancer: Chest X-ray, sputum cytology (high risk groups)
    • Oral cancer: Visual examination (especially tobacco users)

Selected Cancers (Epidemiology)

1. Oral Cancer:
  • Strong association with tobacco (chewing + smoking), alcohol, betel nut
  • Most common cancer in Indian men
2. Cancer Cervix:
  • Linked to HPV (especially types 16, 18)
  • Risk factors: early sexual activity, multiple partners, poor genital hygiene, HIV, multiparity
  • Screened by Pap smear / VIA
3. Breast Cancer:
  • Leading cancer in women globally (surpassed lung cancer in 2020): 2.3 million new cases
  • In India: 25.8 per 1,00,000 population; top cancer in Indian women
  • Survival drops 2.7 times from Stage I to Stage IV
  • Risk factors: Age >35, nulliparity, early menarche, late menopause, HRT, family history, BRCA1/BRCA2, OCP use

PART 6: DIABETES MELLITUS

Definition

A group of metabolic disorders characterized by hyperglycaemia due to defects in insulin secretion, insulin action, or both.

WHO Classification of Diabetes (2019)

TypeDescription
Type 1Beta-cell destruction (immune-mediated); absolute insulin deficiency; onset in childhood/young adulthood
Type 2Most common; beta-cell dysfunction + insulin resistance; associated with overweight/obesity
Hybrid formsSlowly evolving immune-mediated diabetes of adults (formerly LADA); Ketosis-prone type 2
Other specific typesMonogenic diabetes (MODY), diseases of exocrine pancreas, endocrine disorders, drug-induced
Gestational DiabetesHyperglycaemia first detected in pregnancy

Complications of Diabetes

  • Microvascular: Retinopathy, Nephropathy, Neuropathy
  • Macrovascular: Coronary artery disease, Peripheral arterial disease, Cerebrovascular disease
  • Others: Obesity, Cataracts, Erectile dysfunction, Non-alcoholic fatty liver disease, Increased risk of TB

PART 7: NATIONAL PROGRAMMES FOR NCDs


A. NPCDCS - National Programme for Prevention and Control of Cancer, Diabetes, Cardiovascular Diseases and Stroke

Background:
  • India's NCDs accounted for 60% of deaths in 2016.
  • Originally started as National Programme on Prevention and Control of Diabetes, CVD and Stroke.
  • Later integrated with National Cancer Control Programme to form NPCDCS.
  • During 11th Five Year Plan: covered 100 districts in 21 states.
  • During 12th Five Year Plan: extended to all districts of the country.
Major Objectives:
  1. Prevent and control NCDs through behaviour and lifestyle changes
  2. Provide early diagnosis and management
  3. Build capacity at all levels of healthcare
  4. Train doctors, paramedics, nurses
  5. Establish palliative and rehabilitative care
Strategies at Different Levels:
LevelActivities
Sub-CentreHealth 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
Urban Health Check-up Scheme (Diabetes and High BP):
  • Objectives:
    1. Screen urban slum population for diabetes and high BP
    2. Create database of prevalence in urban slums
    3. Sensitize urban slum population about healthy lifestyle
  • Target: Blood sugar + BP checked for all ≥30 years and all pregnant women of any age
Guidelines for Referral under NPCDCS (2016):
  • Systolic BP >140 mmHg OR Diastolic BP >90 mmHg → refer to medical officer
  • Random blood sugar ≥140 mg/dL → refer to medical officer
  • Cancer/precancerous lesions positive → refer to PHC/CHC/District Hospital
  • Once diagnosed with HTN/Diabetes: minimum 1 month's drug supply from PHC; followed by ANM/ASHA for compliance, diet, lifestyle monitoring
New Initiatives under NPCDCS:
  1. Intervention for prevention and control of Rheumatic Heart Disease (under NPCDCS + RBSK)
  2. Integration of AYUSH with NPCDCS
  3. Integration of RNTCP with NPCDCS for TB-Diabetes co-morbidity management
Achievements (as on Sept 2015):
FacilitiesMarch 2014September 2015
State NCD Cells2136
District NCD Cells96195
District NCD Clinics95201
District CCU facilities5165
District Day Care Centres3861
CHC NCD Clinics2041362

B. National Tobacco Control Programme (NTCP)

Tobacco Control Legislation (COTPA Act, 2003):
  • Full name: "The Cigarettes and other Tobacco Products (Prohibition of Advertisement and Regulation of Trade and Commerce, Production, Supply and Distribution) Act, 2003"
  • Notified in Gazette of India: 25th February 2004
  • Prohibition of smoking in public places (came into force: 2nd October 2008)
  • Key Provisions:
    1. Prohibition of smoking in public places
    2. Prohibition of direct and indirect advertisement of tobacco products
    3. Prohibition of sale to persons below 18 years
    4. Prohibition of sale near educational institutions
    5. Mandatory statutory warnings (including pictorial) on tobacco packs
    6. Mandatory depiction of tar and nicotine content on packs
  • Pictorial health warnings: 85% of principal display area on tobacco packs (both sides: 60% picture + 25% text) - notified 24th Sept 2015, effective 1st April 2016
National Tobacco Control Programme (NTCP):
  • Launched in 11th Five Year Plan
  • Covers 108 districts in 31 states
  • Linked to WHO - Framework Convention on Tobacco Control (FCTC)
Main Components of NTCP:
  1. Public awareness/mass media campaigns for behavioural change
  2. Establishment of tobacco product testing laboratories (under COTPA)
  3. Mainstreaming under NRHM framework
  4. Mainstream research for alternate crops and livelihood
  5. Monitoring and evaluation including surveillance (Adult Tobacco Survey)
  6. Dedicated tobacco control cells for implementation and monitoring
  7. Training of health/social workers, NGOs, school teachers
  8. School programme
  9. Provision of tobacco cessation facilities

C. National Mental Health Programme (NMHP)

Launched: 1982
Aims:
  1. Prevention and treatment of mental and neurological disorders
  2. Use of mental health technology to improve general health services
  3. Application of mental health principles in national development
Objectives:
  1. Ensure minimum mental health care for all, especially vulnerable/underprivileged
  2. Encourage mental health knowledge in general health care and social development
  3. Promote community participation in mental health service development
Programme Strategies:
  1. Integration of mental health with primary health care through NMHP
  2. Currently covers 517 districts in 36 states

D. National Programme for Control of Blindness and Visual Impairment (NPCB)

  • Details given in Chapter 7 of Park's PSM (Eye and ENT chapter)
  • Vision 2020: The Right to Sight - global initiative launched by WHO on 18th February 1999
    • Objective: Eliminate avoidable blindness from major causes: cataract, xerophthalmia, refractive error, trachoma by year 2020
    • Based on Rights issues - sight as a fundamental human right
  • Global Eye Health Action Plan 2014-2019:
    • Based on 5 principles: universal access and equity, human rights, evidence-based practice, life course approach, empowerment of visually impaired
    • Target: 25% reduction in prevalence of avoidable visual impairment by 2019 (from 2010 baseline)
    • 3 progress indicators: (1) Prevalence and causes of visual impairment, (2) Number of eye care personnel, (3) Cataract surgery rate

PART 8: GAPS IN NATURAL HISTORY OF CHRONIC DISEASES (Short Answer Ready)

  1. Absence of known agent - unlike communicable diseases, most NCDs have no single identifiable agent; makes specific prevention difficult
  2. Multifactorial causation - result from cumulative effects of multiple risk factors (environmental + behavioural + constitutional)
  3. Long latent period - years or decades between exposure and disease onset
  4. Difficulty in defining "cases" - no sharp boundary between normal and disease
  5. Multiple outcomes - same risk factor may cause different diseases (e.g., tobacco causes lung cancer, CVD, and COPD)

MUHS EXAM TIPS - High-Yield Points

Likely Long Answer Questions (10 marks):
  • "Describe the National Programme for Prevention and Control of Cancer, Diabetes, Cardiovascular Diseases and Stroke (NPCDCS)"
  • "Enumerate risk factors for NCDs. Describe prevention and control of hypertension as per Park's PSM"
  • "Describe cancer control in India. Write about cancer screening methods"
  • "Write about National Tobacco Control Programme and COTPA Act"
Likely Short Answer Questions (5 marks):
  • NCD risk factors (enumerate and explain)
  • Tobacco - epidemiology and control
  • Cancer danger signals (8 points)
  • Vision 2020 / Global Eye Health Action Plan
  • Stroke - definition and classification
  • Urban Health Check-up Scheme
  • National Mental Health Programme
Likely Short Notes (2-3 marks):
  • Tracking of blood pressure
  • WHO definition of stroke
  • Classification of diabetes (2019)
  • COTPA Act provisions
  • Cancer registration
  • Epidemiological transition

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

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/ncd-study-guide && python3 -c "import reportlab…

Writing File

~/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 &amp; Social Medicine", sSubtitle)],
              [sp(10)],
              [Paragraph("Community Medicine | PSM | Preventive &amp; 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}")
Running Command

cd /home/daytona/workspace/ncd-study-guide && python3 generate_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/ncd-study-guide/NCD_Study_Guide_MUHS.pdf

Your PDF study guide is ready! Here's your download link:

NCD Study Guide MUHS

PDF Document · PDF


What's inside the PDF (10 Sections, ~15 pages, A4 format):
SectionContent
Cover PageColour-coded title + Contents at a Glance with exam weight stars
Section 1Introduction to NCDs, Dual Burden, Epidemiological Transition Table
Section 2NCD Risk Factors table (deaths/year + exam facts) + "TOP CHAR" mnemonic + Modifiable vs Non-Modifiable table
Section 3Hypertension - Tracking, Risk Factors, Prevention (Population + High-risk + Secondary) + "SWEBS" mnemonic
Section 4Stroke - WHO definition, Classification table, Epidemiology key facts + "LASH" mnemonic
Section 5Cancer - Global burden 2020, 8 Danger Signals with "CAUTION UP" mnemonic, Primary prevention, Screening methods, Selected cancers
Section 6Diabetes - WHO 2019 classification table, Complications + "3 Ns" mnemonic
Section 7NPCDCS - Full programme table, Activities at 3 levels, Referral guidelines, Achievements table, New initiatives
Section 8COTPA Act key dates, 6 provisions + "PS3M" mnemonic, NTCP 9 components
Section 9NMHP (1982), NPCB, Vision 2020, Global Eye Health Action Plan
Section 10All 6 mnemonics collected, High-Yield Numbers quick revision table, 12 Predicted MUHS Exam Questions
This is a shared conversation. Sign in to Orris to start your own chat.