Communuty health nursing syallubus 5th sem

Asking for Preferences
Searching the Web

INC B.Sc Nursing 5th semester Community Health Nursing syllabus Indian Nursing Council

Reading File
Reading Web Page

https://nc.smbt.edu.in/pdf/syllabus/syllabus-semesters/5-sem…

Here is the complete Community Health Nursing - I syllabus for B.Sc Nursing 5th Semester as per the Indian Nursing Council (INC):

Community Health Nursing - I (CHN-I)

B.Sc Nursing | 5th Semester | INC Syllabus Subject Code: N-COMH(I)310

Course Details

ParameterDetails
PlacementV Semester
Theory5 Credits (100 hours, includes lab hours)
Practicum/Clinical2 Credits (160 hours)

Course Description

This course is designed to help students:
  • Develop broad perspectives of health, its determinants, and community health nursing
  • Understand health care delivery services, health care policies and regulations in India
  • Develop knowledge of environmental science
  • Apply principles of BCC (Behaviour Change Communication) and health education
  • Practice community health nursing for individuals, families and groups at rural, urban and tribal settings
  • Develop knowledge to screen, assess, diagnose, manage and refer clients appropriately

Competencies (On completion, students will be able to)

  1. Explore the evolution of public health in India and community health nursing
  2. Explain the concepts and determinants of health
  3. Describe the natural history of disease and levels of prevention
  4. Explain the health care delivery system in India
  5. Identify health problems of India (communicable, non-communicable, nutritional)
  6. Describe national health programs and policies
  7. Apply epidemiological approaches in community diagnosis
  8. Apply principles and techniques of Behaviour Change Communication (BCC)
  9. Describe community health nursing approaches and concepts
  10. Describe the role and responsibilities of community health nursing personnel
  11. Utilize knowledge and skills to provide comprehensive primary health care across the lifespan
  12. Make effective home visits applying principles and methods
  13. Use epidemiological approach in community diagnosis
  14. Utilize knowledge of epidemiology in caring for people with communicable and non-communicable diseases
  15. Investigate an epidemic of communicable diseases
  16. Assess, diagnose, manage and refer clients for various communicable and non-communicable diseases

Unit-Wise Syllabus

UNIT I - Concepts of Community Health and Community Health Nursing

  • Modern concept of health - definition, dimensions, determinants of health
  • Community health vs. individual health
  • Historical evolution and development of public health in India
  • Natural history of disease
  • Concepts of disease prevention: primary, secondary, and tertiary levels
  • Health problems in India: communicable, non-communicable, nutritional, mental health
  • Role of nurses in community health

UNIT II - Health Care Delivery System in India

  • Health care delivery system - structure and organization
  • National health policy
  • Primary health care (PHC) - concepts, principles, components
  • Health care at various levels: Sub-centre (SC)/Health & Wellness Centre (HWC), PHC, Community Health Centre (CHC), District Hospital (DH)
  • National Rural Health Mission (NRHM) / National Health Mission (NHM)
  • Role of international organizations: WHO, UNICEF, USAID, World Bank

UNIT III - National Health Programs (NHPs)

Communicable Disease Programs:
  • Revised National Tuberculosis Control Program (RNTCP/NTEP)
  • National Vector Borne Disease Control Program (NVBDCP) - malaria, dengue, filaria, Japanese encephalitis
  • National Leprosy Eradication Program (NLEP)
  • Universal Immunization Program (UIP)
  • National AIDS Control Program (NACP)
Non-Communicable Disease Programs (NCD):
  • National Program for Prevention & Control of Cancer, Diabetes, CVD & Stroke (NPCDCS)
  • National Program for Control of Blindness & Visual Impairment
  • National Program for Prevention and Control of Deafness
  • Thyroid diseases
  • Injury and accidents - Road Traffic Injuries
  • Cancers: Cervical, Breast, Oral cancer - epidemiology, risk factors, prevention, screening, early management & referral
  • Palliative care
  • Role of nurse in NCD management

UNIT IV - Environmental Health and Sanitation

  • Concept of environmental health and sanitation
  • Safe water - sources, waterborne diseases, water purification processes, household purification
  • Physical and chemical standards of drinking water quality; bacteriological quality tests
  • Water conservation: rainwater harvesting and watershed management
  • Pollution prevention - air and noise pollution
  • Waste management
  • Acts related to environmental protection and preservation
  • Role of nurse in environmental health

UNIT V - Behaviour Change Communication (BCC) and Health Education

  • Concepts of communication - elements, process, types
  • Barriers to effective communication and methods to overcome them
  • Health promotion and health education - methods/techniques and audio-visual aids
  • SBCC (Social and Behaviour Change Communication) - refer: BCC/SBCC module (MoHFW & USAID)
  • Performance evaluation of health education sessions to individuals and families

UNIT VI - Community Health Nursing Approaches and Concepts

  • Community health nursing approaches:
    • Nursing process approach
    • Epidemiological approach
    • Problem-solving approach
  • Concepts, roles and responsibilities of community health nursing personnel
  • Home visits: principles, methods, purposes
  • Activities of community health nurse to promote and maintain family health
  • Records, reports and documentation:
    • Individual records
    • Facility-level health records
    • Visit reports
    • Report writing and documentation of home visits, clinic/field visits

UNIT VII - Social Issues Affecting Health

  • Women empowerment
  • Women and child abuse
  • Abuse of elders
  • Female foeticide
  • Commercial sex workers
  • Substance abuse
  • Identifying and assisting families to utilize community resources

UNIT VIII - Epidemiology

  • Definition, scope and uses of epidemiology
  • Epidemiological approaches: descriptive, analytical and experimental
  • Principles of control measures / levels of prevention of disease
  • Use of basic epidemiological tools for community diagnosis, planning and intervention
  • Investigation of an epidemic of communicable disease

UNIT IX - Communicable and Non-Communicable Diseases

  • Communicable diseases - assessment, management and referral
  • Role of nurse in prevention and control
  • Non-communicable diseases - assessment, management and referral
  • Community-level interventions

Practicum / Clinical Requirements (160 hours)

ActivityDetails
Clinical SettingsRural PHC, Urban PHC, Sub-centre/HWC
Clinical Performance Evaluation2 evaluations (1 in Rural PHC, 1 in Urban PHC)
Community Survey & DiagnosisRequired
Home VisitsWith visit reports
Family Care Plan2 family care plans
End-of-posting OSCE1 exam
Procedure CompletionClinical requirements log

Assessment Pattern

Theory

ComponentMarks
Sessional Exam IFormative
Sessional Exam IITheory (75 marks)
- Essay/Situation type (2/4)15 x 2 = 30 marks
- Short answer (5/6)5 x 5 = 25 marks
- Very Short answer (4/5)4 x 2 = 8 marks
- MCQ (12/12)12 marks

Continuous Assessment (Practical)

AssignmentMarks
Attendance2 marks
Clinical performance evaluations (x2)10 marks
Community survey & diagnosis(included)
Visit reports(included)
Family care plan (x2)10 marks
OSCE5 marks
Procedure completion3 marks

Key Learning Settings

  • Rural PHC / Urban PHC
  • Sub-centre (SC) / Health & Wellness Centre (HWC)
  • Community Health Centre (CHC)
  • District Hospital (DH)
  • Field practice areas (rural, urban, tribal)

Note: As per the 2025 INC revision, the 5th Semester B.Sc Nursing curriculum has been restructured. In some updated frameworks, subjects like Child Health Nursing I, Mental Health Nursing I, Nursing Research & Statistics, and Nursing Management are placed in Semester V, while Community Health Nursing I may appear in a different placement depending on the institution's adoption of the revised scheme. Confirm with your college/university which version of the INC scheme they follow (2020 or 2025 revision).

Create a summary study guide as PDF for quick reference

Reading File
Running Command

mkdir -p /tmp/workspace/chn-study-guide && ls /tmp/workspace/

Writing File

~/chn-study-guide/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate

OUTPUT = "/tmp/workspace/chn-study-guide/CHN1_Study_Guide_5thSem.pdf"

# ─────────── Colour palette ───────────
TEAL       = colors.HexColor("#007A7A")
LIGHT_TEAL = colors.HexColor("#E0F5F5")
DARK_TEAL  = colors.HexColor("#005555")
ORANGE     = colors.HexColor("#E87722")
LIGHT_ORANGE = colors.HexColor("#FFF3E8")
GREY_BG    = colors.HexColor("#F4F6F8")
GREY_LINE  = colors.HexColor("#CBD5E0")
WHITE      = colors.white
BLACK      = colors.HexColor("#1A1A2E")
YELLOW_HL  = colors.HexColor("#FFFBDE")

# ─────────── Styles ───────────
styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

cover_title = S("CoverTitle",
    fontSize=28, fontName="Helvetica-Bold",
    textColor=WHITE, alignment=TA_CENTER, leading=34)

cover_sub = S("CoverSub",
    fontSize=14, fontName="Helvetica",
    textColor=colors.HexColor("#CCF0F0"), alignment=TA_CENTER, leading=20)

cover_badge = S("CoverBadge",
    fontSize=11, fontName="Helvetica-Bold",
    textColor=ORANGE, alignment=TA_CENTER)

unit_header = S("UnitHeader",
    fontSize=13, fontName="Helvetica-Bold",
    textColor=WHITE, alignment=TA_LEFT,
    backColor=TEAL, leftIndent=8, rightIndent=8,
    spaceBefore=10, spaceAfter=4, leading=18,
    borderPad=6)

section_title = S("SectionTitle",
    fontSize=11, fontName="Helvetica-Bold",
    textColor=DARK_TEAL, spaceBefore=8, spaceAfter=3, leading=15)

body = S("Body",
    fontSize=9.5, fontName="Helvetica",
    textColor=BLACK, leading=14, spaceBefore=1, spaceAfter=1)

bullet = S("Bullet",
    fontSize=9.5, fontName="Helvetica",
    textColor=BLACK, leading=14, leftIndent=14, firstLineIndent=-10,
    spaceBefore=1, spaceAfter=1)

sub_bullet = S("SubBullet",
    fontSize=9, fontName="Helvetica",
    textColor=colors.HexColor("#334155"), leading=13,
    leftIndent=28, firstLineIndent=-10,
    spaceBefore=0, spaceAfter=0)

key_point = S("KeyPoint",
    fontSize=9.5, fontName="Helvetica-Bold",
    textColor=DARK_TEAL, leading=14, leftIndent=14,
    firstLineIndent=-10, spaceBefore=1)

tip_style = S("Tip",
    fontSize=9, fontName="Helvetica-Oblique",
    textColor=colors.HexColor("#555500"), leading=13,
    leftIndent=10, spaceBefore=2, spaceAfter=2)

footer_style = S("Footer",
    fontSize=7.5, fontName="Helvetica",
    textColor=colors.HexColor("#888888"), alignment=TA_CENTER)

# ─────────── Page callbacks ───────────
def on_page(canvas, doc):
    canvas.saveState()
    w, h = A4
    # header bar
    canvas.setFillColor(DARK_TEAL)
    canvas.rect(0, h - 22*mm, w, 22*mm, fill=1, stroke=0)
    canvas.setFont("Helvetica-Bold", 9)
    canvas.setFillColor(WHITE)
    canvas.drawString(1.5*cm, h - 14*mm, "Community Health Nursing – I  |  B.Sc Nursing 5th Semester  |  INC Syllabus")
    canvas.setFont("Helvetica", 8)
    canvas.drawRightString(w - 1.5*cm, h - 14*mm, f"Page {doc.page}")
    # footer
    canvas.setFont("Helvetica", 7)
    canvas.setFillColor(colors.HexColor("#AAAAAA"))
    canvas.drawCentredString(w/2, 8*mm, "Quick Reference Study Guide  •  For Academic Use Only")
    canvas.restoreState()

def on_first_page(canvas, doc):
    # full-page cover gradient background
    w, h = A4
    canvas.saveState()
    canvas.setFillColor(DARK_TEAL)
    canvas.rect(0, 0, w, h, fill=1, stroke=0)
    canvas.setFillColor(TEAL)
    canvas.rect(0, h*0.35, w, h*0.65, fill=1, stroke=0)
    # decorative circles
    canvas.setFillColor(colors.HexColor("#009999"))
    canvas.circle(w + 20, h - 30, 120, fill=1, stroke=0)
    canvas.setFillColor(colors.HexColor("#006666"))
    canvas.circle(-30, 50, 90, fill=1, stroke=0)
    canvas.restoreState()

# ─────────── Helper builders ───────────
def unit_box(title):
    return Table(
        [[Paragraph(title, unit_header)]],
        colWidths=[17*cm],
        style=TableStyle([
            ("BACKGROUND", (0,0), (-1,-1), TEAL),
            ("TOPPADDING",    (0,0), (-1,-1), 7),
            ("BOTTOMPADDING", (0,0), (-1,-1), 7),
            ("LEFTPADDING",   (0,0), (-1,-1), 10),
            ("RIGHTPADDING",  (0,0), (-1,-1), 10),
            ("ROUNDEDCORNERS", [4]),
        ])
    )

def info_table(rows, col_widths=None, header=None):
    if col_widths is None:
        col_widths = [5*cm, 12*cm]
    data = []
    if header:
        data.append([Paragraph(f"<b>{header[0]}</b>", section_title),
                     Paragraph(f"<b>{header[1]}</b>", section_title)])
    for r in rows:
        data.append([Paragraph(str(r[0]), bullet), Paragraph(str(r[1]), body)])
    ts = TableStyle([
        ("BACKGROUND", (0,0), (-1,0), LIGHT_TEAL),
        ("BACKGROUND", (0,1), (-1,-1), GREY_BG),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, GREY_BG]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("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"),
    ])
    if header:
        ts.add("BACKGROUND", (0,0), (-1,0), TEAL)
        ts.add("TEXTCOLOR", (0,0), (-1,0), WHITE)
    return Table(data, colWidths=col_widths, style=ts, repeatRows=1 if header else 0)

def highlight_box(text, bg=YELLOW_HL, border=ORANGE):
    return Table(
        [[Paragraph(text, tip_style)]],
        colWidths=[17*cm],
        style=TableStyle([
            ("BACKGROUND", (0,0), (-1,-1), bg),
            ("LINEBEFORETABLE", (0,0), (-1,-1), 3, border),
            ("BOX", (0,0), (-1,-1), 0.5, border),
            ("TOPPADDING",    (0,0), (-1,-1), 6),
            ("BOTTOMPADDING", (0,0), (-1,-1), 6),
            ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ])
    )

def bullets(items, style=bullet):
    return [Paragraph(f"• {i}", style) for i in items]

def kv_2col(left_items, right_items):
    """Two-column bullet layout"""
    max_rows = max(len(left_items), len(right_items))
    data = []
    for i in range(max_rows):
        l = Paragraph(f"• {left_items[i]}", bullet) if i < len(left_items) else Paragraph("", body)
        r = Paragraph(f"• {right_items[i]}", bullet) if i < len(right_items) else Paragraph("", body)
        data.append([l, r])
    return Table(data, colWidths=[8.3*cm, 8.7*cm],
                 style=TableStyle([
                     ("TOPPADDING",    (0,0), (-1,-1), 2),
                     ("BOTTOMPADDING", (0,0), (-1,-1), 2),
                     ("LEFTPADDING",   (0,0), (-1,-1), 4),
                     ("VALIGN",        (0,0), (-1,-1), "TOP"),
                 ]))

# ═══════════════════════════════════════
# BUILD DOCUMENT
# ═══════════════════════════════════════
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2.8*cm, bottomMargin=2*cm,
    title="CHN-I Study Guide | B.Sc Nursing 5th Sem",
    author="Quick Reference Guide"
)

story = []

# ══════════ COVER PAGE ══════════
story.append(Spacer(1, 3*cm))
story.append(Paragraph("COMMUNITY HEALTH NURSING – I", cover_title))
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph("Quick Reference Study Guide", cover_sub))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("B.Sc Nursing  •  5th Semester  •  INC Syllabus", cover_sub))
story.append(Spacer(1, 1.8*cm))

# badges row
badge_data = [
    [Paragraph("📘 9 Units", cover_badge),
     Paragraph("🕐 100 Hrs Theory", cover_badge),
     Paragraph("🏥 160 Hrs Clinical", cover_badge),
     Paragraph("⭐ 5 Credits", cover_badge)]
]
badge_table = Table(badge_data, colWidths=[4.25*cm]*4,
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), colors.HexColor("#00676766")),
        ("BOX", (0,0), (-1,-1), 1, ORANGE),
        ("INNERGRID", (0,0), (-1,-1), 0.5, colors.HexColor("#FFFFFF44")),
        ("TOPPADDING",    (0,0), (-1,-1), 10),
        ("BOTTOMPADDING", (0,0), (-1,-1), 10),
        ("ALIGN", (0,0), (-1,-1), "CENTER"),
        ("ROUNDEDCORNERS", [6]),
    ]))
story.append(badge_table)
story.append(Spacer(1, 2.5*cm))
story.append(Paragraph("Subject Code: N-COMH(I)310", cover_sub))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Indian Nursing Council  |  Revised Curriculum", cover_sub))
story.append(PageBreak())

# ══════════ PAGE 2: OVERVIEW + COMPETENCIES ══════════
story.append(Paragraph("COURSE OVERVIEW", section_title))
story.append(HRFlowable(width="100%", thickness=2, color=TEAL, spaceAfter=6))

overview_rows = [
    ("Placement", "V Semester – B.Sc Nursing"),
    ("Theory Credits", "5 Credits | 100 Hours (includes lab hours)"),
    ("Clinical Credits", "2 Credits | 160 Hours"),
    ("Settings", "Rural PHC, Urban PHC, Sub-centre (SC/HWC), CHC, District Hospital"),
    ("Subject Code", "N-COMH(I)310"),
]
story.append(info_table(overview_rows, col_widths=[5.5*cm, 11.5*cm]))
story.append(Spacer(1, 0.5*cm))

story.append(Paragraph("AIM OF THE COURSE", section_title))
story.append(HRFlowable(width="100%", thickness=1, color=TEAL, spaceAfter=4))
story.append(Paragraph(
    "To develop broad perspectives of health, its determinants, community health nursing, "
    "healthcare delivery system, and health policies in India. To apply epidemiological and "
    "BCC principles for health promotion at individual, family and community levels across "
    "rural, urban and tribal settings.",
    body))
story.append(Spacer(1, 0.5*cm))

story.append(Paragraph("KEY COMPETENCIES", section_title))
story.append(HRFlowable(width="100%", thickness=1, color=TEAL, spaceAfter=4))
comp_left = [
    "Evolution of public health in India",
    "Concepts & determinants of health",
    "Natural history of disease",
    "Health care delivery system in India",
    "National Health Programs (NHPs)",
    "BCC/SBCC & health education",
    "Community health nursing approaches",
]
comp_right = [
    "Role of community health nurses",
    "Primary health care across lifespan",
    "Home visiting principles",
    "Epidemiological approach",
    "Communicable disease investigation",
    "NCD assessment, management & referral",
    "Environmental health & sanitation",
]
story.append(kv_2col(comp_left, comp_right))
story.append(Spacer(1, 0.4*cm))

# ══════════ UNITS ══════════
# --- UNIT I ---
story.append(unit_box("UNIT I  –  Concepts of Community Health & Community Health Nursing"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Definition & Concepts", section_title))
u1_topics = [
    "<b>Health (WHO)</b> – State of complete physical, mental and social well-being",
    "<b>Community Health</b> – Focuses on prevention & promotion at population level (vs. individual care)",
    "<b>CHN</b> – Combines nursing + public health principles for community-level health improvement",
    "<b>Dimensions of Health</b> – Physical, Mental, Social, Emotional, Spiritual, Environmental, Occupational",
    "<b>Determinants</b> – Biological, behavioural, socio-economic, environmental, healthcare access",
]
story.extend(bullets(u1_topics))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Natural History of Disease & Prevention", section_title))
prevention_data = [
    [Paragraph("<b>Level</b>", body), Paragraph("<b>Stage</b>", body), Paragraph("<b>Action</b>", body)],
    [Paragraph("Primary", body), Paragraph("Pre-pathogenesis", body), Paragraph("Health promotion, specific protection (vaccines, sanitation)", body)],
    [Paragraph("Secondary", body), Paragraph("Early pathogenesis", body), Paragraph("Early diagnosis, prompt treatment, disability limitation", body)],
    [Paragraph("Tertiary", body), Paragraph("Advanced disease", body), Paragraph("Rehabilitation, prevent complications", body)],
]
story.append(Table(prevention_data, colWidths=[3.5*cm, 4.5*cm, 9*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, GREY_BG]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Health Problems of India", section_title))
hp_left  = ["Communicable: TB, Malaria, HIV/AIDS", "Non-communicable: CVD, Diabetes, Cancer", "Nutritional: PEM, Anaemia, Vit-A deficiency"]
hp_right = ["Mental health disorders", "Maternal & child health issues", "Environmental & occupational health"]
story.append(kv_2col(hp_left, hp_right))

# --- UNIT II ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT II  –  Health Care Delivery System in India"))
story.append(Spacer(1, 0.2*cm))

hcd_rows = [
    ("Sub-centre (SC) / HWC", "Peripheral-most unit; 1 ANM + 1 MPW(M); covers 3,000–5,000 population in plains"),
    ("PHC (Primary Health Centre)", "First doctor contact; 30,000 pop (plains); 20,000 (hilly/tribal)"),
    ("CHC (Community Health Centre)", "4 PHCs; 80,000–1,20,000 pop; specialist care (surgeon, physician, OBG, paediatrician)"),
    ("District Hospital (DH)", "Apex referral at district level; all specialities"),
]
story.append(info_table(hcd_rows, col_widths=[4.5*cm, 12.5*cm], header=["Level", "Key Features"]))
story.append(Spacer(1, 0.2*cm))
story.append(highlight_box(
    "⚡ Exam Tip: NHM = National Rural Health Mission (2005) + National Urban Health Mission (2013). "
    "ASHA is a key community volunteer under NHM. Know the population norms for each level."))

story.append(Paragraph("Key Organizations", section_title))
org_left  = ["WHO – Global health standards", "UNICEF – Child & maternal health", "World Bank – Health financing"]
org_right = ["USAID – Technical assistance (BCC/SBCC)", "MoHFW – Policy & programs", "ICMR – Medical research India"]
story.append(kv_2col(org_left, org_right))

# --- UNIT III ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT III  –  National Health Programs (NHPs)"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Communicable Disease Programs", section_title))
nhp_comm = [
    ("<b>NTEP</b> (formerly RNTCP)", "National TB Elimination Programme; DOTS therapy; target: eliminate TB by 2025"),
    ("<b>NVBDCP</b>", "Malaria, Dengue, Filaria, Kala-azar, Chikungunya, Japanese Encephalitis"),
    ("<b>NLEP</b>", "National Leprosy Eradication Programme; Multi-drug therapy (MDT)"),
    ("<b>UIP</b>", "Universal Immunisation Programme; BCG, OPV, DPT, Measles, HepB, IPV, Rota etc."),
    ("<b>NACP</b>", "National AIDS Control Programme; 4th phase (NACP-IV); focus on prevention + treatment"),
]
story.append(info_table(nhp_comm, col_widths=[4*cm, 13*cm]))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Non-Communicable Disease Programs", section_title))
nhp_ncd = [
    ("<b>NPCDCS</b>", "Cancer, Diabetes, CVD & Stroke – prevention, early detection, management"),
    ("<b>NPCB&VI</b>", "Control of Blindness & Visual Impairment; cataract surgeries, school eye screening"),
    ("<b>NPPCD</b>", "Prevention & Control of Deafness; newborn & school screening"),
    ("<b>Thyroid Diseases</b>", "Iodine deficiency – IDD control; universal salt iodization"),
    ("<b>Road Traffic Injuries</b>", "Risk factors; operational guidelines for trauma care on highways"),
]
story.append(info_table(nhp_ncd, col_widths=[4*cm, 13*cm]))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Cancers (High-Yield)", section_title))
cancer_data = [
    [Paragraph("<b>Cancer</b>", body), Paragraph("<b>Screening Tool</b>", body), Paragraph("<b>Prevention</b>", body)],
    [Paragraph("Cervical", body), Paragraph("Pap smear / VIA / VILI", body), Paragraph("HPV vaccine, early detection", body)],
    [Paragraph("Breast", body), Paragraph("BSE, CBE, Mammography", body), Paragraph("Monthly self-exam, screening", body)],
    [Paragraph("Oral", body), Paragraph("Visual oral exam", body), Paragraph("Quit tobacco/alcohol, oral hygiene", body)],
]
story.append(Table(cancer_data, colWidths=[4*cm, 5*cm, 8*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), ORANGE),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_ORANGE]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.2*cm))
story.append(highlight_box(
    "⚡ Exam Tip: Palliative care = comfort & quality of life when cure is not possible. "
    "Nurse's role: pain management, emotional support, family counselling."))

# --- UNIT IV ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT IV  –  Environmental Health & Sanitation"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Water Quality Standards", section_title))
story.extend(bullets([
    "<b>Coliform count</b> – Zero coliforms in 100 mL of drinking water (WHO standard)",
    "<b>Turbidity</b> – ≤ 5 NTU; Colour – ≤ 15 TCU; pH 6.5–8.5",
    "<b>Chlorine residual</b> – 0.2 mg/L at point of use",
    "<b>Waterborne diseases</b> – Cholera, Typhoid, Hepatitis A, Dysentery, Polio",
    "<b>Household purification</b> – Boiling, chlorination, solar disinfection (SODIS), filtration",
]))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Pollution & Waste Management", section_title))
poll_left  = ["Air pollution: indoor (biomass) & outdoor", "Noise pollution: >85 dB harmful", "Soil pollution: pesticides, heavy metals"]
poll_right = ["Biomedical waste: colour-coded bags (Yellow, Red, White, Blue)", "Water conservation: rainwater harvesting", "Watershed management; Acts: EPA 1986, WPCPA"]
story.append(kv_2col(poll_left, poll_right))
story.append(Spacer(1, 0.2*cm))
story.append(highlight_box(
    "⚡ Colour-coded biomedical waste bags: Yellow = anatomical/infectious, Red = plastic recyclables, "
    "White/Translucent = sharps, Blue = glassware. Know these for OSCE!"))

# --- UNIT V ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT V  –  BCC & Health Education"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Communication Process", section_title))
comm_items = [
    "Elements: Sender → Message → Channel → Receiver → Feedback",
    "<b>Types</b>: Verbal (words), Non-verbal (body language), Written, Visual",
    "<b>Barriers</b>: Language, culture, noise, illiteracy, attitudes, physical disability",
    "Methods to overcome: simple language, local dialect, visual aids, active listening",
]
story.extend(bullets(comm_items))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Health Education Methods & AV Aids", section_title))
he_data = [
    [Paragraph("<b>Method</b>", body), Paragraph("<b>Examples</b>", body), Paragraph("<b>Best For</b>", body)],
    [Paragraph("Individual", body), Paragraph("Counselling, home visit, bedside teaching", body), Paragraph("Personal behaviour change", body)],
    [Paragraph("Group", body), Paragraph("Lecture, group discussion, demonstration, role play", body), Paragraph("Small community groups", body)],
    [Paragraph("Mass", body), Paragraph("Radio, TV, posters, social media, newspaper", body), Paragraph("Large community awareness", body)],
]
story.append(Table(he_data, colWidths=[3.5*cm, 7.5*cm, 6*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_TEAL]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("<b>SBCC</b> (Social & Behaviour Change Communication)", section_title))
story.extend(bullets([
    "Builds on BCC – addresses social norms, community values, interpersonal communication",
    "Strategies: community mobilization, mass media campaigns, interpersonal communication (IPC)",
    "Reference: BCC/SBCC module by MoHFW & USAID",
]))

# --- UNIT VI ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT VI  –  CHN Approaches, Concepts & Home Visits"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Approaches in Community Health Nursing", section_title))
approach_items = [
    "<b>Nursing Process Approach</b>: Assessment → Diagnosis → Planning → Implementation → Evaluation",
    "<b>Epidemiological Approach</b>: Identify health problems using person-place-time analysis",
    "<b>Problem-Solving Approach</b>: Identify problem → Gather data → Analyse → Implement → Evaluate",
]
story.extend(bullets(approach_items))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Home Visiting", section_title))
hv_items = [
    "Purpose: health assessment, treatment follow-up, health education, referral support",
    "Principles: planned, purposeful, focused on family needs, maintain confidentiality",
    "<b>Bag Technique</b> – keeps nurse's bag clean; newspaper as 'clean area'; never place bag on floor",
    "Steps: Pre-visit preparation → Introduction → Assessment → Intervention → Documentation",
]
story.extend(bullets(hv_items))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Role of CHN Nurse", section_title))
role_left  = ["Care provider", "Health educator", "Counsellor / Advocate", "Case manager"]
role_right = ["Change agent", "Researcher", "Coordinator / Collaborator", "Supervisor (of ASHA, ANM)"]
story.append(kv_2col(role_left, role_right))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Records & Documentation", section_title))
story.extend(bullets([
    "Individual records: family folder, immunisation card, ANC card",
    "Facility records: OPD register, birth/death register, stock register",
    "Visit reports: document all activities during home visits and field trips",
    "Family care plan: assessment → nursing diagnosis → goals → interventions → evaluation",
]))

# --- UNIT VII ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT VII  –  Social Issues Affecting Health"))
story.append(Spacer(1, 0.2*cm))

social_items = [
    "<b>Women Empowerment</b> – Education, economic independence, legal rights (PCPNDT Act, Dowry Act)",
    "<b>Women & Child Abuse</b> – Domestic violence, child labour, trafficking; nurse's role: identify, report, refer",
    "<b>Elder Abuse</b> – Physical, emotional, financial; Maintenance & Welfare of Parents Act 2007",
    "<b>Female Foeticide</b> – PCPNDT Act 1994 (prohibits sex determination tests)",
    "<b>Substance Abuse</b> – Tobacco, alcohol, drugs; NDPS Act 1985; de-addiction counselling",
    "<b>Commercial Sex Workers</b> – HIV risk, social stigma; harm reduction, outreach programs",
]
story.extend(bullets(social_items))
story.append(Spacer(1, 0.2*cm))
story.append(highlight_box(
    "⚡ Key Acts: PCPNDT Act 1994 | Domestic Violence Act 2005 | POCSO Act 2012 (child sexual abuse) | "
    "NDPS Act 1985 | Maintenance & Welfare of Parents & Senior Citizens Act 2007"))

# --- UNIT VIII ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT VIII  –  Epidemiology"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Core Concepts", section_title))
epi_rows = [
    ("<b>Epidemiology</b>", "Study of distribution & determinants of health-related states in populations"),
    ("<b>Incidence</b>", "New cases in a population during a specific period"),
    ("<b>Prevalence</b>", "All existing cases (new + old) at a given point or period"),
    ("<b>Attack Rate</b>", "% of exposed persons who develop disease (used in outbreaks)"),
    ("<b>Herd Immunity</b>", "% of population immune → protects susceptibles; threshold varies by disease"),
]
story.append(info_table(epi_rows, col_widths=[4*cm, 13*cm]))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Epidemiological Approaches", section_title))
epi_app = [
    "<b>Descriptive</b> – Who? Where? When? (person, place, time). Generates hypotheses",
    "<b>Analytical</b> – Case-control, Cohort studies. Tests hypotheses, finds associations",
    "<b>Experimental</b> – RCTs, field/community trials. Establishes causation",
]
story.extend(bullets(epi_app))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Epidemic Investigation Steps (Outbreak)", section_title))
steps = [
    "1. Confirm diagnosis / verify the epidemic",
    "2. Establish case definition",
    "3. Find & count cases (line listing)",
    "4. Describe by person, place, time (epidemic curve)",
    "5. Formulate hypothesis (source, mode of transmission)",
    "6. Test hypothesis (case-control study)",
    "7. Implement control measures",
    "8. Communicate findings & prepare report",
]
story.extend([Paragraph(s, bullet) for s in steps])

# --- UNIT IX ---
story.append(Spacer(1, 0.3*cm))
story.append(unit_box("UNIT IX  –  Communicable & Non-Communicable Diseases"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Common Communicable Diseases – Quick Recall", section_title))
comm_disease_data = [
    [Paragraph("<b>Disease</b>", body), Paragraph("<b>Causative Agent</b>", body),
     Paragraph("<b>Mode of Transmission</b>", body), Paragraph("<b>Key Control</b>", body)],
    [Paragraph("Tuberculosis", body), Paragraph("M. tuberculosis", body),
     Paragraph("Droplet / airborne", body), Paragraph("DOTS, BCG vaccine", body)],
    [Paragraph("Malaria", body), Paragraph("Plasmodium spp.", body),
     Paragraph("Female Anopheles mosquito", body), Paragraph("ITN, IRS, ACT", body)],
    [Paragraph("Dengue", body), Paragraph("Dengue virus (Flavivirus)", body),
     Paragraph("Aedes aegypti mosquito", body), Paragraph("Vector control, no vaccine routine", body)],
    [Paragraph("Cholera", body), Paragraph("Vibrio cholerae", body),
     Paragraph("Contaminated water/food", body), Paragraph("ORS, safe water, vaccine", body)],
    [Paragraph("HIV/AIDS", body), Paragraph("HIV (Retrovirus)", body),
     Paragraph("Sexual, blood, mother-to-child", body), Paragraph("ART, condom, PPTCT", body)],
    [Paragraph("Leprosy", body), Paragraph("M. leprae", body),
     Paragraph("Prolonged contact/droplet", body), Paragraph("MDT (Dapsone+Rifampicin+Clofazimine)", body)],
]
story.append(Table(comm_disease_data, colWidths=[3.5*cm, 3.5*cm, 4.5*cm, 5.5*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), DARK_TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_TEAL]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("FONTSIZE",   (0,1), (-1,-1), 8.5),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Common NCDs – Quick Recall", section_title))
ncd_data = [
    [Paragraph("<b>NCD</b>", body), Paragraph("<b>Risk Factors</b>", body), Paragraph("<b>Nurse's Role</b>", body)],
    [Paragraph("Hypertension", body),
     Paragraph("Obesity, salt, stress, smoking, sedentary", body),
     Paragraph("BP monitoring, lifestyle counselling, medication adherence", body)],
    [Paragraph("Type 2 Diabetes", body),
     Paragraph("Obesity, family history, diet, inactivity", body),
     Paragraph("Blood glucose monitoring, diet education, foot care", body)],
    [Paragraph("CVD", body),
     Paragraph("HTN, diabetes, dyslipidaemia, smoking", body),
     Paragraph("Risk stratification, ECG, referral", body)],
    [Paragraph("COPD / Asthma", body),
     Paragraph("Smoking, indoor air pollution, occupational", body),
     Paragraph("Spirometry awareness, inhaler technique, smoking cessation", body)],
]
story.append(Table(ncd_data, colWidths=[3.5*cm, 6.5*cm, 7*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), ORANGE),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_ORANGE]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("FONTSIZE",   (0,1), (-1,-1), 8.5),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.3*cm))

# ══════════ ASSESSMENT & PRACTICUM ══════════
story.append(unit_box("ASSESSMENT PATTERN & PRACTICUM REQUIREMENTS"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Theory Examination Pattern", section_title))
exam_data = [
    [Paragraph("<b>Question Type</b>", body), Paragraph("<b>Choice</b>", body),
     Paragraph("<b>Marks Each</b>", body), Paragraph("<b>Total</b>", body)],
    [Paragraph("Essay / Situation type", body), Paragraph("2 out of 4", body),
     Paragraph("15 marks", body), Paragraph("30 marks", body)],
    [Paragraph("Short answer", body), Paragraph("5 out of 6", body),
     Paragraph("5 marks", body), Paragraph("25 marks", body)],
    [Paragraph("Very Short answer", body), Paragraph("4 out of 5", body),
     Paragraph("4 marks", body), Paragraph("8 marks (×2=16 if weighted)", body)],
    [Paragraph("MCQ", body), Paragraph("12 out of 12", body),
     Paragraph("1 mark", body), Paragraph("12 marks", body)],
    [Paragraph("<b>TOTAL</b>", body), Paragraph("", body),
     Paragraph("", body), Paragraph("<b>75 marks</b>", body)],
]
story.append(Table(exam_data, colWidths=[5*cm, 3.5*cm, 4*cm, 4.5*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("BACKGROUND", (0,-1), (-1,-1), LIGHT_TEAL),
        ("FONTNAME",   (0,-1), (-1,-1), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-2), [WHITE, GREY_BG]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Continuous Assessment (Practical)", section_title))
prac_data = [
    [Paragraph("<b>Component</b>", body), Paragraph("<b>Details</b>", body), Paragraph("<b>Marks</b>", body)],
    [Paragraph("Attendance", body), Paragraph("95-100%: 2 | 90-94%: 1.5 | 85-89%: 1 | 80-84%: 0.5", body), Paragraph("2 marks", body)],
    [Paragraph("Clinical Performance", body), Paragraph("2 evaluations (1 Rural PHC + 1 Urban PHC) × 50 marks", body), Paragraph("10 marks", body)],
    [Paragraph("Community Survey & Diagnosis", body), Paragraph("2 × 10 marks", body), Paragraph("Included", body)],
    [Paragraph("Visit Reports", body), Paragraph("All visits documented", body), Paragraph("Included", body)],
    [Paragraph("Family Care Plan", body), Paragraph("2 plans × 20 marks", body), Paragraph("10 marks", body)],
    [Paragraph("End-of-Posting OSCE", body), Paragraph("1 structured clinical exam", body), Paragraph("5 marks", body)],
    [Paragraph("Procedure Completion", body), Paragraph("Clinical requirements log", body), Paragraph("3 marks", body)],
]
story.append(Table(prac_data, colWidths=[5*cm, 9*cm, 3*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, GREY_BG]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.3*cm))

# ══════════ QUICK REVISION ══════════
story.append(unit_box("QUICK REVISION – HIGH-YIELD MNEMONICS & KEY FACTS"))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("Must-Know Numbers", section_title))
num_data = [
    [Paragraph("<b>Item</b>", body), Paragraph("<b>Value</b>", body),
     Paragraph("<b>Item</b>", body), Paragraph("<b>Value</b>", body)],
    [Paragraph("Sub-centre population (plains)", body), Paragraph("3,000–5,000", body),
     Paragraph("PHC population (plains)", body), Paragraph("30,000", body)],
    [Paragraph("CHC population", body), Paragraph("80,000–1,20,000", body),
     Paragraph("PHC population (hilly/tribal)", body), Paragraph("20,000", body)],
    [Paragraph("WHO safe drinking water (coliforms)", body), Paragraph("Zero/100 mL", body),
     Paragraph("Residual chlorine (point of use)", body), Paragraph("0.2 mg/L", body)],
    [Paragraph("Noise harmful level", body), Paragraph(">85 dB", body),
     Paragraph("Normal pH of drinking water", body), Paragraph("6.5–8.5", body)],
    [Paragraph("MDT duration – Paucibacillary leprosy", body), Paragraph("6 months", body),
     Paragraph("MDT duration – Multibacillary leprosy", body), Paragraph("12 months", body)],
]
story.append(Table(num_data, colWidths=[5.5*cm, 3*cm, 5.5*cm, 3*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), DARK_TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_TEAL]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("FONTSIZE",   (0,1), (-1,-1), 8.5),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Mnemonics", section_title))
mnemonic_data = [
    [Paragraph("<b>Topic</b>", body), Paragraph("<b>Mnemonic</b>", body)],
    [Paragraph("Levels of Prevention", body), Paragraph("PPP – Primordial, Primary, (Secondary, Tertiary) → 'Pre-path, Path, Post-path'", body)],
    [Paragraph("Nursing Process", body), Paragraph("<b>ADPIE</b> – Assessment, Diagnosis, Planning, Implementation, Evaluation", body)],
    [Paragraph("Outbreak Investigation", body), Paragraph("<b>CVEHTCR</b> – Confirm, Verify, Enumerate, Hypothesize, Test, Control, Report", body)],
    [Paragraph("MDT drugs for Leprosy (MB)", body), Paragraph("<b>DCR</b> – Dapsone, Clofazimine, Rifampicin", body)],
    [Paragraph("UIP Vaccines (key)", body), Paragraph("<b>BCG POTM HHR</b> – BCG, OPV, TT, MCV, HepB, Hib, Rota", body)],
    [Paragraph("Communication Elements", body), Paragraph("<b>SMCRF</b> – Sender, Message, Channel, Receiver, Feedback", body)],
]
story.append(Table(mnemonic_data, colWidths=[4.5*cm, 12.5*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,0), ORANGE),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LIGHT_ORANGE]),
        ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 7),
        ("FONTSIZE",   (0,1), (-1,-1), 8.5),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
    ])))
story.append(Spacer(1, 0.4*cm))
story.append(highlight_box(
    "📌 Before Exam Checklist: Know all NHP abbreviations & full forms  •  Population norms for SC/PHC/CHC  •  "
    "Levels of prevention with examples  •  Epidemic investigation steps  •  "
    "Bag technique procedure  •  Colour-coded BMW bags  •  Key Acts & their years"))

# ── build ──
doc.build(story,
          onFirstPage=on_first_page,
          onLaterPages=on_page)

print("PDF generated successfully:", OUTPUT)
Running Command

cd /tmp/workspace/chn-study-guide && python generate_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/chn-study-guide/CHN1_Study_Guide_5thSem.pdf

Your study guide PDF is ready! Download it here:

CHN1 Study Guide 5thSem

PDF Document · PDF


Here's what's inside the guide:
Cover Page
  • Subject name, semester, INC badge, key stats (9 Units | 100 Hrs Theory | 160 Hrs Clinical | 5 Credits)
Page 2 - Course Overview & Competencies
  • Course details table, aim, all 15+ competencies in a two-column layout
Units I–IX (colour-coded, structured)
UnitTopicHighlights
IConcepts of CHNDimensions of health, 3-level prevention table
IIHealth Care Delivery SystemSC/PHC/CHC/DH population norms table
IIINational Health ProgramsCommunicable + NCD programs, Cancer screening table
IVEnvironmental HealthWater standards, pollution, BMW colour-coded bags
VBCC & Health EducationCommunication elements, methods table (individual/group/mass)
VICHN Approaches & Home VisitsADPIE, bag technique, nurse's roles
VIISocial IssuesKey Acts with years (PCPNDT, POCSO, NDPS etc.)
VIIIEpidemiologyIncidence/prevalence, 3 approaches, 8-step outbreak investigation
IXCommunicable & NCDsTwo quick-reference tables for diseases
Assessment Page
  • Theory exam pattern (75 marks breakdown)
  • Practical continuous assessment components
Quick Revision Page
  • Must-know numbers (population norms, water standards, leprosy MDT duration)
  • Mnemonics (ADPIE, DCR, SMCRF, etc.)
  • Pre-exam checklist
This is a shared conversation. Sign in to Orris to start your own chat.