Hlo

Hey! How can I help you today?

I have study holidays n have main exam am not in mood to study

That's a super relatable feeling! Here are a few honest thoughts:
Why you're probably feeling this way:
  • Exam pressure can actually cause avoidance, not motivation
  • Your brain is tired or overwhelmed, not lazy
  • The stakes feel too high, so starting feels scary
Small things that actually help:
  1. Start tiny - just 10 minutes, one page, one topic. Starting is the hardest part.
  2. Don't study, just read - tell yourself you're just "looking over" notes, no pressure. Your brain absorbs it anyway.
  3. Change your spot - move to a different room, a cafe, outside. Environment shifts mood.
  4. The 2-minute rule - open your book/notes for just 2 minutes. Most times you'll keep going.
  5. Remove your phone - put it in another room, not just face-down.
Be real with yourself:
  • How many days till the exam?
  • What's the actual cost of not studying today vs. tomorrow?
  • Future you will either thank you or stress harder.
You don't need to be in the mood to study - mood follows action, not the other way around. Start small, and the motivation usually shows up after.
What subject or exam is it? I can help you make a quick, manageable study plan! πŸ“š

Create a study schedule for my exam prep

Asking for Preferences

2

Asking for Preferences

Community medicine and forensic

Asking for Preferences
Here's your 2-week study schedule for Community Medicine & Forensic Medicine - 4-5 hours/day.

πŸ“… 2-Week Exam Prep Schedule

Daily Structure (4-5 hrs)
TimeActivity
Session 1 (2 hrs)New topic - reading + notes
Break (15 min)Walk, snack, stretch
Session 2 (1.5 hrs)Previous day revision + MCQs
Break (10 min)
Session 3 (1 hr)Short notes / mnemonics / diagrams

πŸ₯ Community Medicine (Week 1)

DayTopics
Day 1Concept of health, disease, epidemiology basics, natural history of disease
Day 2Epidemiological methods - descriptive, analytical, experimental studies
Day 3Screening, sensitivity, specificity, predictive values, bias
Day 4Nutrition - PEM, vitamins, minerals, national nutrition programs
Day 5Immunization - EPI schedule, cold chain, vaccines (types, doses)
Day 6Communicable diseases - malaria, TB, leprosy, HIV
Day 7Revision day + MCQ practice (all Week 1 topics)

βš–οΈ Forensic Medicine (Week 2)

DayTopics
Day 8Medical jurisprudence - MLC, consent, dying declaration, professional negligence
Day 9Thanatology - death changes, signs of death, time since death estimation
Day 10Wounds - mechanical injuries, firearm injuries, hanging, drowning
Day 11Sexual offences, POCSO, examination of victim & accused
Day 12Toxicology - general principles, common poisons (organophosphorus, snake bite, alcohol)
Day 13Forensic psychiatry, legal aspects of insanity, NDPS Act
Day 14Full revision - both subjects + mock MCQs + weak area focus

πŸ’‘ Tips for These Subjects

Community Medicine:
  • Focus heavily on national health programs (dates, targets, beneficiaries)
  • Memorize vaccine schedules - very high yield
  • Practice biostatistics formulas (sensitivity, specificity, NNT)
Forensic Medicine:
  • Use mnemonics for rigor mortis, putrefaction stages
  • Learn IPC sections - 302, 304, 376, 498A etc.
  • Draw diagrams for wound patterns - helps retention

πŸ“Š Week Split Summary

WeekFocusHours
Week 1Community Medicine (complete)~30 hrs
Week 2Forensic Medicine + Final Revision~30 hrs

You have plenty of time - 2 weeks is a comfortable window for 2 subjects. The key is showing up daily even for 30 minutes on low-motivation days. Want me to break down any specific topic or make a short-notes cheat sheet for either subject?

Create a quick reference PDF for Community Medicine key points

Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Running Command

mkdir -p /tmp/workspace/community-medicine && ls /tmp/workspace/

Writing File

~/community-medicine/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, PageBreak, ListFlowable, ListItem)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import KeepTogether

OUTPUT = "/tmp/workspace/community-medicine/Community_Medicine_Quick_Reference.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    rightMargin=1.5*cm,
    leftMargin=1.5*cm,
    topMargin=1.8*cm,
    bottomMargin=1.8*cm,
    title="Community Medicine Quick Reference",
    author="Orris Study Companion"
)

# ── Colour Palette ──────────────────────────────────────────────────────────
TEAL       = colors.HexColor("#006d77")
TEAL_LIGHT = colors.HexColor("#83c5be")
CREAM      = colors.HexColor("#ffddd2")
ORANGE     = colors.HexColor("#e29578")
DARK       = colors.HexColor("#222222")
GREY_BG    = colors.HexColor("#f0f4f8")
WHITE      = colors.white
YELLOW_HL  = colors.HexColor("#fff3cd")
RED_LIGHT  = colors.HexColor("#fde8e8")
GREEN_LIGHT= colors.HexColor("#e8f5e9")

styles = getSampleStyleSheet()

# Custom styles
h_title = ParagraphStyle("h_title", parent=styles["Normal"],
    fontSize=22, textColor=WHITE, fontName="Helvetica-Bold",
    alignment=TA_CENTER, spaceAfter=4)

h_sub = ParagraphStyle("h_sub", parent=styles["Normal"],
    fontSize=11, textColor=TEAL_LIGHT, fontName="Helvetica",
    alignment=TA_CENTER, spaceAfter=2)

h1 = ParagraphStyle("h1", parent=styles["Normal"],
    fontSize=13, textColor=WHITE, fontName="Helvetica-Bold",
    alignment=TA_LEFT, spaceBefore=6, spaceAfter=4,
    leftIndent=6, borderPad=4)

h2 = ParagraphStyle("h2", parent=styles["Normal"],
    fontSize=11, textColor=TEAL, fontName="Helvetica-Bold",
    spaceBefore=6, spaceAfter=3)

body = ParagraphStyle("body", parent=styles["Normal"],
    fontSize=8.5, textColor=DARK, fontName="Helvetica",
    leading=12, spaceAfter=2)

bullet = ParagraphStyle("bullet", parent=styles["Normal"],
    fontSize=8.5, textColor=DARK, fontName="Helvetica",
    leading=12, leftIndent=10, bulletIndent=2, spaceAfter=1)

bold_kv = ParagraphStyle("bold_kv", parent=styles["Normal"],
    fontSize=8.5, textColor=DARK, fontName="Helvetica-Bold",
    leading=12, spaceAfter=1)

footer_style = ParagraphStyle("footer", parent=styles["Normal"],
    fontSize=7, textColor=colors.grey, alignment=TA_CENTER)

story = []

# ── Helper Functions ─────────────────────────────────────────────────────────

def section_header(text):
    """Teal banner section header."""
    tbl = Table([[Paragraph(text, h1)]], colWidths=[17.5*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), TEAL),
        ("ROUNDEDCORNERS", [4,4,4,4]),
        ("TOPPADDING",  (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING", (0,0),(-1,-1), 8),
    ]))
    story.append(tbl)
    story.append(Spacer(1, 4))

def subsection(text):
    story.append(Paragraph(text, h2))

def bp(text):
    story.append(Paragraph(f"β€’ {text}", bullet))

def kv(key, val):
    story.append(Paragraph(f"<b>{key}:</b> {val}", body))

def note_box(text, bg=YELLOW_HL):
    tbl = Table([[Paragraph(f"⚑ {text}", body)]], colWidths=[17.5*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND",(0,0),(-1,-1), bg),
        ("TOPPADDING",(0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",(0,0),(-1,-1), 8),
        ("GRID",(0,0),(-1,-1), 0.5, ORANGE),
    ]))
    story.append(tbl)
    story.append(Spacer(1,4))

def two_col_table(headers, rows, col_widths=None, bg=GREY_BG):
    if col_widths is None:
        col_widths = [5*cm, 12.5*cm]
    data = [headers] + rows
    tbl = Table(data, colWidths=col_widths, repeatRows=1)
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,0), TEAL),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",   (0,0), (-1,-1), 8),
        ("BACKGROUND", (0,1), (-1,-1), bg),
        ("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, GREY_BG]),
        ("GRID",       (0,0), (-1,-1), 0.4, TEAL_LIGHT),
        ("TOPPADDING", (0,0), (-1,-1), 4),
        ("BOTTOMPADDING",(0,0),(-1,-1), 4),
        ("LEFTPADDING", (0,0),(-1,-1), 5),
        ("VALIGN",     (0,0),(-1,-1), "TOP"),
        ("FONTNAME",   (0,1),(-1,-1), "Helvetica"),
    ]))
    story.append(tbl)
    story.append(Spacer(1,5))

def spacer(h=5):
    story.append(Spacer(1, h))

# ─────────────────────────────────────────────────────────────────────────────
# TITLE PAGE BANNER
# ─────────────────────────────────────────────────────────────────────────────
title_data = [[
    Paragraph("COMMUNITY MEDICINE", h_title),
    ],[
    Paragraph("Quick Reference Guide  |  Based on Park's Textbook of Preventive & Social Medicine", h_sub),
    ],[
    Paragraph("Exam Prep Edition  β€’  2026", h_sub),
]]
title_tbl = Table([[Paragraph("COMMUNITY MEDICINE", h_title)],
                   [Paragraph("Quick Reference Guide  |  Park's Textbook of Preventive & Social Medicine", h_sub)],
                   [Paragraph("Exam Prep Edition  β€’  July 2026", h_sub)]],
                  colWidths=[17.5*cm])
title_tbl.setStyle(TableStyle([
    ("BACKGROUND",(0,0),(-1,-1), TEAL),
    ("TOPPADDING",(0,0),(-1,-1),8),
    ("BOTTOMPADDING",(0,0),(-1,-1),8),
    ("LEFTPADDING",(0,0),(-1,-1),10),
]))
story.append(title_tbl)
story.append(Spacer(1,12))

# ─────────────────────────────────────────────────────────────────────────────
# 1. CONCEPTS OF HEALTH & DISEASE
# ─────────────────────────────────────────────────────────────────────────────
section_header("1. CONCEPTS OF HEALTH & DISEASE")

subsection("Definitions of Health")
two_col_table(
    [Paragraph("<b>Source</b>",body), Paragraph("<b>Definition</b>",body)],
    [
        ["WHO 1948", "A state of complete physical, mental and social well-being, not merely absence of disease or infirmity."],
        ["WHO 1984 (revised)", "Extent to which an individual/group is able to realise aspirations, satisfy needs, cope with environment."],
        ["Positive health", "Physical fitness + mental well-being + social adjustment + spiritual health + high morale."],
    ]
)

subsection("Spectrum of Disease / Natural History")
bp("Stage 1 – Susceptibility (pre-pathogenesis): risk factors present, no disease yet")
bp("Stage 2 – Pre-symptomatic: pathological changes, no symptoms (ideal for screening)")
bp("Stage 3 – Clinical disease: symptoms appear")
bp("Stage 4 – Disability / Death: outcome stage")
note_box("Levels of Prevention: Primary (health promotion + specific protection) | Secondary (early diagnosis + treatment) | Tertiary (rehabilitation)")

subsection("Iceberg Phenomenon")
bp("Tip (visible): clinical cases")
bp("Submerged (invisible): subclinical, latent, carrier states")
bp("Importance: true disease burden is always underestimated")

spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 2. EPIDEMIOLOGY
# ─────────────────────────────────────────────────────────────────────────────
section_header("2. EPIDEMIOLOGY – METHODS & MEASURES")

subsection("Key Rates & Formulas")
two_col_table(
    [Paragraph("<b>Measure</b>",body), Paragraph("<b>Formula / Key Point</b>",body)],
    [
        ["Incidence Rate", "New cases / Population at risk Γ— 1000 (per time period)"],
        ["Prevalence", "All existing cases / Total population Γ— 100"],
        ["Prevalence vs Incidence", "Prevalence = Incidence Γ— Duration of disease"],
        ["Attack Rate", "Cases during outbreak / Population exposed Γ— 100"],
        ["Secondary Attack Rate (SAR)", "New cases among contacts / Susceptible contacts Γ— 100"],
        ["CFR (Case Fatality Rate)", "Deaths from disease / Cases of disease Γ— 100"],
        ["Proportional Mortality Rate", "Deaths from cause X / Total deaths Γ— 100"],
        ["Infant Mortality Rate (IMR)", "Deaths <1 yr / Live births Γ— 1000 (sensitive index of development)"],
        ["MMR", "Maternal deaths / Live births Γ— 100,000"],
        ["NMR (Neonatal)", "Deaths <28 days / Live births Γ— 1000"],
    ]
)

subsection("Study Designs (High-Yield)")
two_col_table(
    [Paragraph("<b>Study Type</b>",body), Paragraph("<b>Key Features</b>",body)],
    [
        ["Randomized Controlled Trial", "Gold standard for causation; experimental; prospective; minimises confounding"],
        ["Cohort Study", "Prospective; exposure β†’ outcome; calculates RELATIVE RISK (RR); good for rare exposures"],
        ["Case-Control Study", "Retrospective; outcome β†’ exposure; calculates ODDS RATIO (OR); good for rare diseases"],
        ["Cross-Sectional", "Prevalence study; one time point; calculates prevalence; quick & cheap"],
        ["Ecological Study", "Group level data; cannot infer individual causality (ecological fallacy)"],
        ["Systematic Review/Meta-analysis", "Highest level of evidence in hierarchy"],
    ]
)

subsection("Screening Criteria (Wilson & Jungner)")
bp("Disease should be an important health problem")
bp("Natural history well understood; recognisable latent stage")
bp("Acceptable, effective treatment available")
bp("Suitable test available: sensitive, specific, acceptable to population")
bp("Cost-effective and continuous process")

subsection("Sensitivity, Specificity & Predictive Values")
two_col_table(
    [Paragraph("<b>Term</b>",body), Paragraph("<b>Formula & Meaning</b>",body)],
    [
        ["Sensitivity (Se)", "TP / (TP+FN) Γ— 100 β€” ability to detect TRUE positives (\"SnNout\" – sensitive test, negative result rules OUT)"],
        ["Specificity (Sp)", "TN / (TN+FP) Γ— 100 β€” ability to identify TRUE negatives (\"SpPin\" – specific test, positive result rules IN)"],
        ["PPV", "TP / (TP+FP) Γ— 100 β€” probability that positive test = true disease; rises with prevalence"],
        ["NPV", "TN / (TN+FN) Γ— 100 β€” probability that negative test = truly disease-free"],
        ["Likelihood Ratio +ve", "Sensitivity / (1-Specificity)"],
    ]
)
note_box("High sensitivity β†’ use for SCREENING. High specificity β†’ use for CONFIRMATION/diagnosis.")

spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 3. NUTRITION
# ─────────────────────────────────────────────────────────────────────────────
section_header("3. NUTRITION")

subsection("Protein-Energy Malnutrition (PEM)")
two_col_table(
    [Paragraph("<b>Condition</b>",body), Paragraph("<b>Features</b>",body)],
    [
        ["Kwashiorkor", "Protein deficiency dominant; oedema (hallmark); moon face; skin changes (flaky paint); growth retardation; fatty liver; age: 1–3 years"],
        ["Marasmus", "Calorie deficiency; severe wasting; no oedema; 'bag of bones' appearance; alert child; age: <1 year"],
        ["Marasmic Kwashiorkor", "Mixed features; worst prognosis"],
    ]
)

subsection("Vitamin Deficiency Diseases")
two_col_table(
    [Paragraph("<b>Vitamin</b>",body), Paragraph("<b>Deficiency Disease / Features</b>",body)],
    [
        ["Vitamin A", "Night blindness β†’ Bitot's spots β†’ Xerophthalmia β†’ Keratomalacia (preventable blindness). Treat: 2 lakh IU vitamin A"],
        ["Vitamin D", "Rickets (children) – bow legs, Harrison's sulcus. Osteomalacia (adults). Sunlight is key source."],
        ["Vitamin C (Ascorbic acid)", "Scurvy – bleeding gums, perifollicular haemorrhage, corkscrew hair, Fraenkel's sign"],
        ["Vitamin B1 (Thiamine)", "Beriberi – Wet (cardiac, oedema), Dry (peripheral neuropathy), Wernicke's encephalopathy"],
        ["Vitamin B2 (Riboflavin)", "Cheilosis, angular stomatitis, glossitis, corneal vascularisation"],
        ["Niacin (B3)", "Pellagra – 3 Ds: Dermatitis, Diarrhoea, Dementia (+Death = 4th D)"],
        ["Vitamin B12 / Folate", "Megaloblastic anaemia; B12 deficiency β†’ subacute combined degeneration of spinal cord"],
        ["Iodine", "Goitre, cretinism, hypothyroidism. Universal Salt Iodisation: 15 ppm at retail level"],
        ["Iron", "IDA – most common nutritional deficiency globally. Koilonychia, pallor, fatigue"],
    ]
)

note_box("National Vitamin A Prophylaxis: 5 doses in first 5 years – 1 lakh IU at 9 months, then 2 lakh IU every 6 months up to 5 years.")

subsection("Anthropometric Indices (Malnutrition Classification)")
two_col_table(
    [Paragraph("<b>Index</b>",body), Paragraph("<b>Indicates</b>",body)],
    [
        ["Weight for Age (W/A)", "Overall nutritional status; used in Gomez classification (Grade I/II/III PEM)"],
        ["Height for Age (H/A)", "Chronic malnutrition β†’ Stunting"],
        ["Weight for Height (W/H)", "Acute malnutrition β†’ Wasting"],
        ["MUAC <12.5 cm (child)", "Severe acute malnutrition (SAM)"],
    ]
)
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 4. IMMUNIZATION
# ─────────────────────────────────────────────────────────────────────────────
section_header("4. IMMUNIZATION & NATIONAL IMMUNIZATION SCHEDULE")

subsection("Universal Immunization Programme (UIP) – India")
two_col_table(
    [Paragraph("<b>Age</b>",body), Paragraph("<b>Vaccines</b>",body)],
    [
        ["Birth", "BCG, OPV-0 (birth dose), Hepatitis B (birth dose)"],
        ["6 weeks", "OPV-1, IPV-1, Penta-1 (DPT+HepB+Hib), Rota-1, PCV-1"],
        ["10 weeks", "OPV-2, Penta-2, Rota-2, PCV-2"],
        ["14 weeks", "OPV-3, IPV-2, Penta-3, Rota-3, PCV-3"],
        ["9 months", "MR-1, JE-1 (endemic areas), Vitamin A-1 (1 lakh IU)"],
        ["12 months", "PCV Booster"],
        ["16–24 months", "MR-2, DPT Booster-1, OPV Booster, JE-2 (endemic), Vitamin A (2nd dose)"],
        ["5–6 years", "DPT Booster-2"],
        ["10 years & 16 years", "Td (Tetanus + diphtheria adult formulation)"],
        ["Pregnant women", "TT-1 (early pregnancy), TT-2 (4 wks after TT-1), TT Booster (if prev vaccinated within 3 yrs)"],
    ]
)

note_box("BCG – given at birth; protects against TB meningitis & miliary TB (not pulmonary TB in adults). Scar appears 2–6 weeks after vaccination.")

subsection("Cold Chain")
bp("Temperature: +2Β°C to +8Β°C for most vaccines (walk-in coolers, ice-lined refrigerators, cold boxes)")
bp("OPV: stored at -15Β°C to -25Β°C (freezer)")
bp("Walk-in Freezer (WIF): District level | Walk-in Cooler (WIC): District level | ILR: PHC level | Cold box/vaccine carrier: field level")
bp("Vaccine Vial Monitor (VVM): colour change indicates heat exposure β€” DO NOT USE if inner square = outer circle colour")

subsection("Types of Immunity")
two_col_table(
    [Paragraph("<b>Type</b>",body), Paragraph("<b>Examples</b>",body)],
    [
        ["Active Natural", "Recovery from infection (e.g., measles, chickenpox)"],
        ["Active Artificial", "Vaccination (e.g., OPV, BCG, DPT)"],
        ["Passive Natural", "Maternal antibodies via placenta (IgG) / breast milk (IgA)"],
        ["Passive Artificial", "Immunoglobulin injections, anti-tetanus serum (ATS)"],
    ]
)
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 5. COMMUNICABLE DISEASES
# ─────────────────────────────────────────────────────────────────────────────
section_header("5. COMMUNICABLE DISEASES – HIGH YIELD")

subsection("Tuberculosis")
two_col_table(
    [Paragraph("<b>Aspect</b>",body), Paragraph("<b>Details</b>",body)],
    [
        ["Causative agent", "Mycobacterium tuberculosis (acid-fast bacillus)"],
        ["Diagnosis", "Sputum smear (Ziehl-Neelsen stain), CBNAAT/GeneXpert (gold standard for drug resistance), Mantoux test"],
        ["Mantoux test", "5 TU PPD; read at 48–72 hrs; induration β‰₯10 mm = positive (β‰₯5 mm in HIV/immunocompromised)"],
        ["DOTS", "Directly Observed Treatment Short-course; cornerstone of RNTCP/NikshayNi-kshay program"],
        ["RNTCP β†’ NI-KSHAY", "Category I (new): 2HRZE / 4HR; Category II (retreatment): 2HRZES / 1HRZE / 5HRE"],
        ["Contact tracing", "All household contacts screened; children <6 yrs = Isoniazid prophylaxis"],
    ]
)

subsection("Malaria")
two_col_table(
    [Paragraph("<b>Aspect</b>",body), Paragraph("<b>Details</b>",body)],
    [
        ["Species", "P. falciparum (malignant tertian, severe, chloroquine resistance) | P. vivax (benign tertian, relapse due to hypnozoites)"],
        ["Vector", "Female Anopheles mosquito; bites at night; breeds in clean, stagnant water"],
        ["Incubation period", "P. vivax: 12–14 days | P. falciparum: 9–14 days"],
        ["Diagnosis", "Thick blood smear (most sensitive for parasitaemia) | RDT (antigen-based)"],
        ["Complications P.f.", "Cerebral malaria, blackwater fever, algid malaria, ARDS, DIC"],
        ["Treatment", "P. vivax: Chloroquine + Primaquine (14 days). P. falciparum: ACT (Artesunate-based) + Primaquine single dose"],
        ["API", "Annual Parasite Incidence = Positive blood slides / Population Γ— 1000"],
        ["ABER", "Annual Blood Examination Rate (target β‰₯10%)"],
    ]
)

subsection("Leprosy")
two_col_table(
    [Paragraph("<b>Aspect</b>",body), Paragraph("<b>Details</b>",body)],
    [
        ["Causative agent", "Mycobacterium leprae (cannot be cultured in vitro)"],
        ["Classification", "Paucibacillary (PB): 1–5 skin lesions, slit skin smear negative | Multibacillary (MB): >5 lesions, smear positive"],
        ["MDT regimen", "PB (6 months): Dapsone + Rifampicin monthly. MB (12 months): Dapsone + Clofazimine daily + Rifampicin monthly"],
        ["Reactions", "Type 1 (reversal): CMI-mediated | Type 2 (ENL): immune complex"],
        ["Disability grading", "Grade 0: no anaesthesia, no deformity | Grade 1: anaesthesia, no visible deformity | Grade 2: visible deformity"],
        ["Elimination target", "Prevalence <1 per 10,000 population (India achieved 2005)"],
    ]
)
spacer(3)
story.append(PageBreak())

# ─────────────────────────────────────────────────────────────────────────────
# 6. NATIONAL HEALTH PROGRAMMES
# ─────────────────────────────────────────────────────────────────────────────
section_header("6. NATIONAL HEALTH PROGRAMMES – KEY TARGETS")

two_col_table(
    [Paragraph("<b>Programme</b>",body), Paragraph("<b>Key Points</b>",body)],
    [
        ["RNTCP / Ni-kshay", "Detect β‰₯85% cases; DOTS treatment; cure rate β‰₯85%; Ni-kshay Poshan Yojana: β‚Ή500/month to TB patient"],
        ["NMEP (Malaria)", "API <1 target for elimination by 2030; slide examination, DDT spraying, bed nets"],
        ["NLEP (Leprosy)", "MDT free of cost; elimination achieved 2005 (<1/10,000)"],
        ["NVBDCP", "National Vector Borne Disease Control Programme: Malaria, Dengue, Filaria, Kala-azar, JE, Chikungunya"],
        ["NPCB (Blindness)", "Reduce blindness to 0.3%; cataract surgery; school eye screening; Vit A prophylaxis"],
        ["NIDDCP (Iodine)", "Goitre control; iodised salt; target: USI"],
        ["NCD Mission (NPCDCS)", "Prevention of Cancer, Diabetes, CVD, Stroke; screening at 30+ yrs"],
        ["IDSP", "Integrated Disease Surveillance Programme: P (presumptive), L (lab-confirmed), S (syndromic) forms"],
        ["Ayushman Bharat – PMJAY", "β‚Ή5 lakh/family/yr; secondary & tertiary care; 107.4 crore beneficiaries"],
        ["NHM", "Rural + Urban Health Mission; strengthens PHC infrastructure; ASHA as key community link worker"],
        ["Janani Suraksha Yojana", "Cash incentive for institutional delivery; for BPL families"],
        ["PMMVY", "Pradhan Mantri Matru Vandana Yojana: β‚Ή5000 for 1st live birth; conditional cash transfer"],
    ],
    col_widths=[5*cm, 12.5*cm]
)
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 7. FAMILY PLANNING & REPRODUCTIVE HEALTH
# ─────────────────────────────────────────────────────────────────────────────
section_header("7. FAMILY PLANNING & REPRODUCTIVE HEALTH")

subsection("Contraceptive Methods – Pearl Index (failures per 100 woman-years)")
two_col_table(
    [Paragraph("<b>Method</b>",body), Paragraph("<b>Pearl Index / Notes</b>",body)],
    [
        ["Combined OCP", "0.1–1; inhibits ovulation; taken Day 1–21; SE: nausea, DVT risk"],
        ["IUCD (Cu-T 380A)", "0.6–0.8; 10 years effective; MoA: spermicidal effect of copper ions; best: post-partum/post-abortion"],
        ["Condom", "2–15; also STI protection; female condom available"],
        ["DMPA (Depo-Provera)", "0.3; injection every 3 months; progestogen only"],
        ["Tubectomy (Minilap)", "<0.5; permanent; Pomeroy's technique most common; best: post-partum within 48 hrs or interval"],
        ["Vasectomy", "<0.15; permanent male sterilization; NSV (No-Scalpel Vasectomy) preferred in India"],
        ["Emergency Contraception", "Levonorgestrel 1.5 mg within 72 hrs (up to 120 hrs); Ulipristal up to 5 days; Cu-T within 5 days"],
        ["Lactational Amenorrhoea (LAM)", "<2; exclusive BF + amenorrhoea + <6 months postpartum (all 3 must be present)"],
    ]
)

subsection("Maternal & Child Health Targets (NHM)")
bp("MMR target: <100 per 100,000 live births by 2020 (current ~97 per NHM 2022)")
bp("IMR target: <25 per 1000 live births")
bp("NMR target: <10 per 1000 live births")
bp("TFR target: 2.1 (replacement level) β€” achieved nationally ~2.0 (NFHS-5)")
bp("Under-5 mortality target: <25 per 1000")
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 8. ENVIRONMENT & WATER
# ─────────────────────────────────────────────────────────────────────────────
section_header("8. ENVIRONMENT, WATER & SANITATION")

subsection("Water Quality Standards (BIS / WHO)")
two_col_table(
    [Paragraph("<b>Parameter</b>",body), Paragraph("<b>Standard</b>",body)],
    [
        ["Turbidity", "≀5 NTU (acceptable), ≀1 NTU (treated water)"],
        ["pH", "6.5 – 8.5"],
        ["Residual chlorine", "0.5 mg/L at source; 0.2 mg/L at tap (WHO)"],
        ["Fluoride", "0.5–1.5 mg/L (optimal 1 mg/L for dental health; >1.5 = dental fluorosis; >3 = skeletal fluorosis)"],
        ["Nitrate", "<45 mg/L (>45 = methaemoglobinaemia / blue baby syndrome)"],
        ["Coliforms", "0 per 100 mL in treated water (E. coli indicator of faecal contamination)"],
        ["Total Dissolved Solids", "<500 mg/L acceptable; <2000 permissible"],
    ]
)

subsection("Disinfection Methods")
bp("Chlorination: most widely used; Breakpoint chlorination; Residual chlorine 0.5 mg/L")
bp("Boiling: 100Β°C for 1 minute; kills all pathogens; most reliable for household")
bp("UV radiation: effective, no residual; used for bottled water")
bp("Bleaching powder (CaOCl2): contains 25–33% available chlorine; dose 2–3 mg/L")

subsection("Air Pollution Standards – WHO 2021 (PM2.5)")
bp("Annual mean: 5 ΞΌg/mΒ³ | 24-hr mean: 15 ΞΌg/mΒ³")
bp("PM10: Annual 15 ΞΌg/mΒ³ | 24-hr: 45 ΞΌg/mΒ³")
bp("COPD, lung cancer, IHD are major outcomes of long-term exposure")
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 9. BIOSTATISTICS – MUST KNOW
# ─────────────────────────────────────────────────────────────────────────────
section_header("9. BIOSTATISTICS ESSENTIALS")

two_col_table(
    [Paragraph("<b>Term</b>",body), Paragraph("<b>Meaning / Formula</b>",body)],
    [
        ["Mean", "Sum of all values / n; affected by outliers"],
        ["Median", "Middle value; not affected by outliers; used for skewed data"],
        ["Mode", "Most frequent value"],
        ["Normal distribution", "Mean = Median = Mode; bell-shaped curve; Β±1 SD = 68.2%, Β±2 SD = 95.4%, Β±3 SD = 99.7%"],
        ["Standard Deviation (SD)", "Measure of spread around mean"],
        ["Standard Error (SE)", "SD / √n ; measures precision of sample mean"],
        ["95% CI", "Mean Β± 1.96 SE; if CI does not include null = statistically significant"],
        ["p-value", "<0.05 = statistically significant (5% chance results due to chance)"],
        ["Relative Risk (RR)", "Incidence in exposed / Incidence in unexposed; used in cohort studies"],
        ["Odds Ratio (OR)", "Odds of exposure in cases / Odds of exposure in controls; case-control studies"],
        ["Attributable Risk (AR)", "Incidence exposed – Incidence unexposed; disease burden due to exposure"],
        ["NNT", "1 / Absolute Risk Reduction; number needed to treat"],
        ["Chi-square test", "Comparison of proportions / categorical data"],
        ["Student's t-test", "Comparison of means; 2 groups"],
        ["ANOVA", "Comparison of means; >2 groups"],
        ["Pearson's r", "Linear correlation; r=+1 perfect positive, r=-1 perfect negative, r=0 no correlation"],
    ]
)

note_box("Type I error (Ξ±): Rejecting a true null hypothesis (false positive). Type II error (Ξ²): Accepting a false null hypothesis (false negative). Power = 1 – Ξ².")
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# 10. HEALTH SYSTEM & ADMINISTRATION
# ─────────────────────────────────────────────────────────────────────────────
section_header("10. HEALTH SYSTEM & ADMINISTRATION")

subsection("Primary Health Care (Alma Ata Declaration, 1978)")
bp("Essential health care; first level of contact; universally accessible; affordable")
bp("8 components: Education, Nutrition, Safe water & sanitation, MCH & FP, Immunisation, Endemic disease control, Essential drugs, Treatment of common diseases")
bp("Principles: Equitable distribution, Community participation, Intersectoral coordination, Appropriate technology")

subsection("Rural Health Infrastructure (India)")
two_col_table(
    [Paragraph("<b>Level</b>",body), Paragraph("<b>Population Served / Details</b>",body)],
    [
        ["Sub-Centre (SC)", "5000 plains / 3000 hilly; ANM + Male Health Worker (MPW-M); first contact point"],
        ["Primary Health Centre (PHC)", "30,000 plains / 20,000 hilly; 1 MO + 14 paramedical staff; 6-bed facility; ESSENTIAL health services"],
        ["Community Health Centre (CHC)", "1,20,000 population; 30 beds; 4 specialists (surgeon, physician, OBG, paeds)"],
        ["District Hospital", "District HQ; 100–500 beds; all specialities"],
        ["Sub-Divisional Hospital", "Between CHC and District hospital"],
    ]
)

subsection("ASHA (Accredited Social Health Activist)")
bp("1 per 1000 rural population; link between community and health system")
bp("Minimum: 8th std pass, married/widow/divorced, 25–45 yrs (18 yrs in some states)")
bp("Incentive-based (not salaried); trained for 23 days + 4 rounds refresher")
bp("Key roles: JSY facilitation, immunisation tracking, DOTS, FP counselling, IMNCI")

subsection("Millennium Development Goals β†’ Sustainable Development Goals")
bp("SDGs (2015–2030): 17 goals, 169 targets. SDG 3 = Ensure healthy lives & well-being for all at all ages")
bp("Key SDG 3 targets: End AIDS/TB/malaria; reduce NMR to ≀12; MMR to <70; UHC; road traffic injury reduction")
spacer()

# ─────────────────────────────────────────────────────────────────────────────
# MNEMONICS PAGE
# ─────────────────────────────────────────────────────────────────────────────
section_header("⚑ QUICK MNEMONICS & MEMORY HOOKS")

mnemonic_data = [
    ["Pellagra (4 Ds)", "Dermatitis, Diarrhoea, Dementia, Death (Niacin deficiency)"],
    ["Primary Health Care components (8)", "\"Every Nation Should Make Immunization Everyone's Duty True\" β†’ Education, Nutrition, Safe water, MCH-FP, Immunization, Endemic disease, Essential drugs, Treatment"],
    ["Wilson-Jungner criteria (10)", "Important condition | Known natural history | Recognisable latent stage | Acceptable test | Acceptable treatment | Agreed policy | Facilities available | Recognisable early symptoms | Cost-effective | Continuous process"],
    ["Tetrad of malaria", "Fever, Chills, Rigors, Diaphoresis (sweating cycle)"],
    ["Leprosy disability grades", "0 = No problem, 1 = Anaesthesia, 2 = Deformity visible"],
    ["ASHA eligibility", "Married/Widow/Divorced, 25–45 yrs, 8th pass, local resident"],
    ["Kwashiorkor vs Marasmus", "Kwashiorkor = K for K (protein), has oedema | Marasmus = M for More calorie deficit, wasting"],
    ["CHC specialists (4)", "SOMP β†’ Surgeon, Obstetrician, Medicine physician, Paediatrician"],
]

tbl = Table(
    [[Paragraph("<b>Concept</b>", body), Paragraph("<b>Mnemonic / Hook</b>", body)]] +
    [[Paragraph(r[0], body), Paragraph(r[1], body)] for r in mnemonic_data],
    colWidths=[5*cm, 12.5*cm], repeatRows=1
)
tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), ORANGE),
    ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
    ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",   (0,0), (-1,-1), 8),
    ("ROWBACKGROUNDS",(0,1),(-1,-1),[CREAM, WHITE]),
    ("GRID",       (0,0), (-1,-1), 0.4, ORANGE),
    ("TOPPADDING", (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING", (0,0),(-1,-1), 5),
    ("VALIGN",     (0,0),(-1,-1), "TOP"),
    ("FONTNAME",   (0,1),(-1,-1), "Helvetica"),
]))
story.append(tbl)
spacer(8)

# ─────────────────────────────────────────────────────────────────────────────
# FOOTER NOTE
# ─────────────────────────────────────────────────────────────────────────────
story.append(HRFlowable(width="100%", thickness=0.5, color=TEAL_LIGHT))
spacer(4)
story.append(Paragraph(
    "Prepared by Orris Study Companion  β€’  Based on Park's Textbook of Preventive & Social Medicine  β€’  July 2026  β€’  For exam revision use only",
    footer_style
))

# ─────────────────────────────────────────────────────────────────────────────
# BUILD
# ─────────────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF saved to: {OUTPUT}")
Running Command

cd /tmp/workspace/community-medicine && python generate_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/community-medicine/Community_Medicine_Quick_Reference.pdf

Your Community Medicine Quick Reference PDF is ready! πŸŽ‰

Community Medicine Quick Reference

PDF Document Β· PDF


What's inside (10 sections, exam-optimised):
SectionContent
1. Concepts of Health & DiseaseWHO definitions, spectrum of disease, iceberg phenomenon, levels of prevention
2. EpidemiologyStudy designs, key rates & formulas, sensitivity/specificity, screening criteria
3. NutritionPEM (Kwashiorkor vs Marasmus), vitamin deficiency diseases, anthropometry
4. ImmunizationFull UIP schedule, cold chain, types of immunity
5. Communicable DiseasesTB (DOTS/Ni-kshay), Malaria (P.f. vs P.v.), Leprosy (MDT)
6. National Health ProgrammesRNTCP, NVBDCP, Ayushman Bharat, NHM, JSY, PMMVY + targets
7. Family PlanningPearl Index table, contraceptive methods, MCH targets
8. Environment & WaterWater quality standards, disinfection, air pollution
9. BiostatisticsAll key formulas, RR, OR, p-value, CI, statistical tests
10. Health SystemAlma Ata, rural health infrastructure (SC/PHC/CHC), ASHA
MnemonicsQuick memory hooks for all high-yield topics
Based on Park's Textbook of Preventive & Social Medicine. Print it, stick it on your wall, or keep it on your phone for quick revision! Want a similar one for Forensic Medicine too?
This is a shared conversation. Sign in to Orris to start your own chat.