I have mbbs second year professional tripura examination on one month i haven't studied anything yet tell me what to study in microbiology pathology pharmacology like most important and pyqs
I have mbbs second year professional tripura examination on one month i haven't studied anything yet tell me what to study in microbiology pathology pharmacology like most important and pyqs to get good marks like sq lq clinical questions and reasoning questions
Tripura MBBS 2nd year professional exam important topics PYQ microbiology pathology pharmacology
MBBS 2nd year pathology most important topics short questions long questions university exam India
MBBS 2nd year microbiology pharmacology important questions PYQ Indian university exam 2023 2024 2025
https://medical-junction.com/mbbs-2nd-year-pathology-importa…
MBBS 2nd year pharmacology important topics PYQ classifications ANS CVS antimicrobials CNS short long questions
Exam format (NMC pattern): Paper I + Paper II each 100 marks, Practical 100 marks = 300 total per subject. Questions include MCQs, Case Scenarios (Clinical), Short Answer Questions (SAQs/SQs), and Long Answer Questions (LAQs/LQs).
| Topic | Type | What to Cover |
|---|---|---|
| Acute Inflammation | LQ | Types, cardinal signs, mediators (histamine, PGs, cytokines), exudates, outcomes |
| Chronic Inflammation | LQ | Granulomatous inflammation, TB granuloma (classic) |
| Wound Healing | LQ | 1st vs 2nd intention, phases (haemostasis, inflammation, proliferation, remodelling), factors affecting |
| Shock | LQ | Types (hypovolemic, septic, cardiogenic, neurogenic), pathogenesis, stages, morphology |
| Thrombosis & Embolism | LQ | Virchow's triad, DVT, pulmonary embolism, fate of thrombus |
| Neoplasia / Carcinogenesis | LQ | Benign vs malignant, grading vs staging, carcinogens, oncogenes vs tumour suppressor genes, p53, retinoblastoma gene |
| Iron Deficiency Anemia | LQ | Causes, peripheral smear findings, iron studies, treatment |
| Megaloblastic Anemia | LQ | B12 vs Folate, peripheral smear (hypersegmented neutrophils), bone marrow |
| Topic | Organ System | What to Cover |
|---|---|---|
| Myocardial Infarction | CVS | Zones, gross + micro changes time-wise (0-24h, 1-3d, 1-2wk, >2wk), complications |
| Atherosclerosis | CVS | Pathogenesis (foam cells, fatty streak, plaque), complications |
| Hypertensive changes | CVS/Kidney | Benign vs malignant hypertension, onion skin appearance |
| Lobar Pneumonia | Respiratory | 4 stages (congestion, red hepatization, grey hepatization, resolution), organisms |
| TB Lung | Respiratory | Primary vs secondary, Ghon focus, miliary TB, cavitation |
| Peptic Ulcer Disease | GIT | Gastric vs duodenal ulcer differences, H. pylori, complications |
| Crohn's vs Ulcerative Colitis | GIT | Differences table (skip-lesions, transmural vs mucosal, granuloma, crypt abscess) |
| Hepatocellular Carcinoma | Liver | AFP, cirrhosis connection, Mallory's hyaline |
| Liver Cirrhosis | Liver | Alcoholic vs post-hepatitis, macro+micro, complications |
| Glomerulonephritis | Kidney | Nephrotic vs nephritic syndrome, types (MPGN, minimal change, membranous) |
| Nephrotic Syndrome | Kidney | Causes, pathogenesis, complications (hypoalbuminemia, oedema) |
| Breast Carcinoma | Breast | Types (ductal vs lobular), BRCA1/2, scirrhous, grading, staging, lymph drainage |
| Cervical Carcinoma | Female genital | HPV types, CIN grading, Pap smear |
Morphology → Virulence factors → Pathogenesis → Lab Diagnosis → Treatment/Prophylaxis
| Organism | Must-Know Points |
|---|---|
| Mycobacterium tuberculosis | AFB stain, Ziehl-Neelsen, Lowenstein-Jensen medium, Mantoux test, RNTCP/NTEP drugs, MDR-TB |
| Staphylococcus aureus | Coagulase positive, virulence (protein A, toxins: TSST, exfoliatin), MRSA, lab diagnosis, food poisoning |
| Streptococcus pyogenes | Group A, ASO titre, rheumatic fever, scarlet fever, M protein |
| Salmonella typhi | Widal test, H and O antigens, Vi antigen, Rose spots, Typhoid Mary |
| Vibrio cholerae | Rice water stools, Cholera toxin (ADP ribosylation), dark field microscopy, TCBS medium |
| Virus | Must Cover |
|---|---|
| HIV | Structure (gp120/gp41), CD4 count stages, ELISA + Western Blot, HAART drugs, opportunistic infections |
| Hepatitis B | HBsAg, HBeAg, Anti-HBs, serological markers chart, vaccination, vertical transmission |
| Parasite | Key Points |
|---|---|
| Plasmodium (Malaria) | P. vivax vs P. falciparum, Anopheles mosquito, life cycle (asexual in human, sexual in mosquito), RBC changes, cerebral malaria, drugs |
| Entamoeba histolytica | Trophozoite vs cyst, flask-shaped ulcer, amoebic liver abscess, Anchovy sauce pus, diagnosis |
| Taenia | T. solium vs T. saginata differences, cysticercosis, scolex |
| Ascaris lumbricoides | Largest nematode, Löffler syndrome, diagnosis by stool exam |
| Wuchereria bancrofti | Lymphatic filariasis, nocturnal periodicity, microfilaria in blood smear, elephantiasis |
| Leishmania | VL (Kala-azar), CL, Sandfly vector, Leishman-Donovan bodies, spleen/liver, rK39 test |
| Week | Pathology | Microbiology | Pharmacology |
|---|---|---|---|
| Week 1 | General Pathology (Inflammation, Necrosis, Repair, Shock, Thrombosis) | General Micro (Sterilization, Cell wall, Toxins, Gene transfer) + Staphylococcus, Streptococcus | General Pharmacology (PK/PD, ADR, Routes) + ANS |
| Week 2 | Neoplasia + Hematology (Anemias, Leukemia, Lymphoma, Bleeding disorders) | TB, Salmonella, Cholera, Clostridium, Neisseria | CVS drugs (Antihypertensives, Antiarrhythmics, Anticoagulants) |
| Week 3 | Systemic Pathology - CVS, Respiratory, GIT, Liver | Virology: HIV, HBV, Influenza, Rabies, Polio + Parasitology (Malaria, Entamoeba, Taenia, Wuchereria) | Antimicrobials (Penicillin, Cephalosporins, ATT, Aminoglycosides, Fluoroquinolones) + CNS drugs |
| Week 4 | Systemic Pathology - Kidney, Breast, Cervix + Revision + Practice PYQs | Syphilis, Herpes, Fungal infections + Revision + Practice writing lab diagnosis answers | Endocrine drugs (Insulin, Corticosteroids, Thyroid, OCP) + Antifungals, Antivirals + FULL REVISION |
Make this pdf
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/mbbs-study-guide && cat > /tmp/workspace/mbbs-study-guide/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm from reportlab.lib.colors import HexColor, white, black from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, HRFlowable) from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY from reportlab.platypus import KeepTogether OUTPUT = "/tmp/workspace/mbbs-study-guide/MBBS_2ndYear_CrashGuide.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, rightMargin=18*mm, leftMargin=18*mm, topMargin=18*mm, bottomMargin=18*mm, title="MBBS 2nd Year Professional Exam - Crash Study Guide", author="Orris AI" ) # ── Colour palette ────────────────────────────────────────────────────────── C_NAVY = HexColor("#1B2A4A") C_BLUE = HexColor("#2563EB") C_TEAL = HexColor("#0D9488") C_GREEN = HexColor("#16A34A") C_AMBER = HexColor("#D97706") C_RED = HexColor("#DC2626") C_PURPLE = HexColor("#7C3AED") C_LTBLUE = HexColor("#DBEAFE") C_LTGREEN= HexColor("#DCFCE7") C_LTAMB = HexColor("#FEF3C7") C_LTPUR = HexColor("#EDE9FE") C_LTTEAL = HexColor("#CCFBF1") C_GRAY = HexColor("#F3F4F6") C_MID = HexColor("#6B7280") # ── Styles ─────────────────────────────────────────────────────────────────── styles = getSampleStyleSheet() def s(name, **kw): return ParagraphStyle(name, **kw) COVER_TITLE = s("CoverTitle", fontName="Helvetica-Bold", fontSize=26, textColor=white, alignment=TA_CENTER, leading=32) COVER_SUB = s("CoverSub", fontName="Helvetica", fontSize=14, textColor=HexColor("#BFDBFE"), alignment=TA_CENTER, leading=20) COVER_NOTE = s("CoverNote", fontName="Helvetica-Oblique", fontSize=10, textColor=HexColor("#93C5FD"), alignment=TA_CENTER) H1 = s("H1", fontName="Helvetica-Bold", fontSize=16, textColor=white, spaceBefore=4, spaceAfter=4, leading=20, alignment=TA_LEFT) H2 = s("H2", fontName="Helvetica-Bold", fontSize=13, textColor=white, spaceBefore=2, spaceAfter=2, leading=16) H3 = s("H3", fontName="Helvetica-Bold", fontSize=11, textColor=C_NAVY, spaceBefore=6, spaceAfter=2, leading=14) H4 = s("H4", fontName="Helvetica-Bold", fontSize=10, textColor=C_BLUE, spaceBefore=4, spaceAfter=1, leading=13) BODY = s("Body", fontName="Helvetica", fontSize=9, textColor=HexColor("#1F2937"), leading=13, spaceAfter=2) BODYB = s("BodyB", fontName="Helvetica-Bold", fontSize=9, textColor=HexColor("#1F2937"), leading=13) BULLET = s("Bullet", fontName="Helvetica", fontSize=9, textColor=HexColor("#1F2937"), leading=13, leftIndent=10, bulletIndent=0, spaceAfter=1) SUBBUL = s("SubBul", fontName="Helvetica", fontSize=8.5, textColor=HexColor("#374151"), leading=12, leftIndent=20, bulletIndent=10, spaceAfter=1) ITALIC = s("Italic", fontName="Helvetica-Oblique", fontSize=9, textColor=C_MID, leading=12) TIP = s("Tip", fontName="Helvetica-Bold", fontSize=9, textColor=C_NAVY, leading=13) SMALL = s("Small", fontName="Helvetica", fontSize=8, textColor=C_MID, leading=11) # ── Helpers ────────────────────────────────────────────────────────────────── W = A4[0] - 36*mm # usable width def section_header(text, color=C_NAVY): tbl = Table([[Paragraph(text, H1)]], colWidths=[W]) tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), color), ("ROUNDEDCORNERS", [4]), ("TOPPADDING", (0,0),(-1,-1), 6), ("BOTTOMPADDING", (0,0),(-1,-1), 6), ("LEFTPADDING", (0,0),(-1,-1), 10), ])) return tbl def sub_header(text, color=C_BLUE): tbl = Table([[Paragraph(text, H2)]], colWidths=[W]) tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), color), ("TOPPADDING", (0,0),(-1,-1), 4), ("BOTTOMPADDING", (0,0),(-1,-1), 4), ("LEFTPADDING", (0,0),(-1,-1), 8), ])) return tbl def box(content_rows, bg=C_GRAY, border=C_BLUE): """Wrap a list of flowables in a tinted box.""" inner = [[r] for r in content_rows] t = Table([[Paragraph("","Body")]], colWidths=[W]) # dummy – use nested # Actually just return a padded table cells = [] for r in content_rows: cells.append([r]) tbl = Table(cells, colWidths=[W-4]) tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), bg), ("BOX", (0,0),(-1,-1), 0.8, border), ("TOPPADDING", (0,0),(-1,-1), 4), ("BOTTOMPADDING", (0,0),(-1,-1), 3), ("LEFTPADDING", (0,0),(-1,-1), 8), ("RIGHTPADDING", (0,0),(-1,-1), 6), ])) return tbl def two_col_table(rows, header=None, col_widths=None, hdr_color=C_NAVY): if col_widths is None: col_widths = [W*0.32, W*0.68] data = [] if header: data.append([Paragraph(f"<b>{header[0]}</b>", s("th", fontName="Helvetica-Bold", fontSize=9, textColor=white, leading=12)), Paragraph(f"<b>{header[1]}</b>", s("th2", fontName="Helvetica-Bold", fontSize=9, textColor=white, leading=12))]) for r in rows: data.append([Paragraph(r[0], BODYB), Paragraph(r[1], BODY)]) tbl = Table(data, colWidths=col_widths, repeatRows=1 if header else 0) style = [ ("GRID", (0,0),(-1,-1), 0.4, HexColor("#D1D5DB")), ("ROWBACKGROUNDS", (0,0),(-1,-1), [white, C_GRAY]), ("TOPPADDING", (0,0),(-1,-1), 4), ("BOTTOMPADDING", (0,0),(-1,-1), 4), ("LEFTPADDING", (0,0),(-1,-1), 6), ("VALIGN", (0,0),(-1,-1), "TOP"), ] if header: style += [ ("BACKGROUND", (0,0),(-1,0), hdr_color), ("ROWBACKGROUNDS", (0,1),(-1,-1), [white, C_GRAY]), ] tbl.setStyle(TableStyle(style)) return tbl def three_col_table(rows, header=None, col_widths=None, hdr_color=C_NAVY): if col_widths is None: col_widths = [W*0.25, W*0.25, W*0.50] data = [] if header: data.append([Paragraph(f"<b>{h}</b>", s(f"th{i}", fontName="Helvetica-Bold", fontSize=9, textColor=white, leading=12)) for i,h in enumerate(header)]) for r in rows: data.append([Paragraph(c, BODY) for c in r]) tbl = Table(data, colWidths=col_widths, repeatRows=1 if header else 0) style = [ ("GRID", (0,0),(-1,-1), 0.4, HexColor("#D1D5DB")), ("ROWBACKGROUNDS", (0,0),(-1,-1), [white, C_GRAY]), ("TOPPADDING", (0,0),(-1,-1), 4), ("BOTTOMPADDING", (0,0),(-1,-1), 4), ("LEFTPADDING", (0,0),(-1,-1), 6), ("VALIGN", (0,0),(-1,-1), "TOP"), ] if header: style += [ ("BACKGROUND", (0,0),(-1,0), hdr_color), ("ROWBACKGROUNDS", (0,1),(-1,-1), [white, C_GRAY]), ] tbl.setStyle(TableStyle(style)) return tbl def four_col_table(rows, header=None, col_widths=None, hdr_color=C_NAVY): if col_widths is None: col_widths = [W*0.18, W*0.27, W*0.27, W*0.28] data = [] if header: data.append([Paragraph(f"<b>{h}</b>", s(f"fth{i}", fontName="Helvetica-Bold", fontSize=9, textColor=white, leading=12)) for i,h in enumerate(header)]) for r in rows: data.append([Paragraph(c, BODY) for c in r]) tbl = Table(data, colWidths=col_widths, repeatRows=1 if header else 0) style = [ ("GRID", (0,0),(-1,-1), 0.4, HexColor("#D1D5DB")), ("ROWBACKGROUNDS", (0,1),(-1,-1), [white, C_GRAY]), ("TOPPADDING", (0,0),(-1,-1), 4), ("BOTTOMPADDING", (0,0),(-1,-1), 4), ("LEFTPADDING", (0,0),(-1,-1), 6), ("VALIGN", (0,0),(-1,-1), "TOP"), ] if header: style += [("BACKGROUND", (0,0),(-1,0), hdr_color)] tbl.setStyle(TableStyle(style)) return tbl def bullet(text, level=1): sym = "•" if level == 1 else "◦" st = BULLET if level == 1 else SUBBUL return Paragraph(f"{sym} {text}", st) def sp(h=4): return Spacer(1, h) def hr(): return HRFlowable(width=W, thickness=0.5, color=HexColor("#E5E7EB"), spaceAfter=4) # ══════════════════════════════════════════════════════════════════════════════ # BUILD CONTENT # ══════════════════════════════════════════════════════════════════════════════ story = [] # ─── COVER PAGE ────────────────────────────────────────────────────────────── cover_bg = Table( [[Paragraph("MBBS 2<sup>nd</sup> Year Professional", COVER_TITLE)], [Paragraph("Tripura Examination", COVER_TITLE)], [sp(6)], [Paragraph("Crash Study Guide", s("cs2", fontName="Helvetica-Bold", fontSize=20, textColor=HexColor("#93C5FD"), alignment=TA_CENTER, leading=26))], [sp(4)], [Paragraph("Microbiology · Pathology · Pharmacology", COVER_SUB)], [sp(8)], [Paragraph("High-Yield Topics · PYQs · LQ / SQ / Clinical Questions", COVER_SUB)], [sp(12)], [Paragraph("1-Month Strategy · 4-Week Timetable · Answer-Writing Tips", COVER_NOTE)], [sp(16)], [Paragraph("Prepared by Orris AI | July 2026", COVER_NOTE)], ], colWidths=[W] ) cover_bg.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), C_NAVY), ("TOPPADDING", (0,0),(-1,-1), 18), ("BOTTOMPADDING", (0,0),(-1,-1), 6), ("LEFTPADDING", (0,0),(-1,-1), 16), ("RIGHTPADDING", (0,0),(-1,-1), 16), ("BOX", (0,0),(-1,-1), 2, C_BLUE), ])) story.append(cover_bg) # Exam format box story += [sp(14)] fmt_rows = [ ["Format", "MCQs + Case Scenarios + Short Answer (SQ/SAQ) + Long Answer (LQ/LAQ)"], ["Paper I", "General Pathology / General Micro / General Pharma — 100 marks"], ["Paper II", "Systemic Pathology / Systemic Micro & Parasitology / Applied Pharma — 100 marks"], ["Practical / Viva", "100 marks (Spotting, Slides, Viva, OSPE)"], ["Total", "300 marks per subject"], ] story.append(two_col_table(fmt_rows, header=["Component","Details"], hdr_color=C_TEAL)) story.append(PageBreak()) # ─── PATHOLOGY ─────────────────────────────────────────────────────────────── story.append(section_header("📋 PATHOLOGY", C_RED)) story += [sp(6)] story.append(sub_header("PAPER I — General Pathology + Haematology", C_RED)) story += [sp(4)] story.append(Paragraph("TOP LONG QUESTIONS (LQ / Essay — 10 marks each)", H3)) lq_path_rows = [ ["Acute Inflammation", "Cardinal signs, types, chemical mediators (histamine, PGs, cytokines, complement), exudates, outcomes"], ["Chronic Inflammation", "Differences from acute, granulomatous inflammation, TB granuloma with giant cells"], ["Wound Healing", "1st vs 2nd intention, phases (haemostasis → inflammation → proliferation → remodelling), systemic & local factors"], ["Shock", "Types (hypovolemic, septic, cardiogenic, neurogenic), pathogenesis, stages, end-organ morphology"], ["Thrombosis & Embolism", "Virchow's triad, types of thrombus, fate of thrombus, pulmonary embolism"], ["Neoplasia / Carcinogenesis", "Benign vs malignant, grading vs staging, carcinogens, oncogenes, TSGs (p53, Rb), hallmarks of cancer"], ["Iron Deficiency Anaemia", "Causes (diet, blood loss), peripheral smear (microcytic hypochromic), iron studies, treatment"], ["Megaloblastic Anaemia", "B12 vs Folate deficiency, hypersegmented neutrophils, megaloblasts, bone marrow, causes"], ] story.append(two_col_table(lq_path_rows, header=["Topic","What to Cover"], hdr_color=C_RED)) story += [sp(6)] story.append(Paragraph("TOP SHORT NOTES (SQ — 5 marks each)", H3)) sq_gp = [ "Apoptosis vs Necrosis — mechanism & differences", "Types of necrosis (coagulative, liquefactive, caseous, fat, gangrenous) with examples", "Free radical injury / oxidative stress", "Metaplasia — definition + examples", "Dysplasia vs Carcinoma-in-situ", "Oedema — types and pathogenesis (Starling's forces)", "DIC — Disseminated Intravascular Coagulation", "Keloid vs Hypertrophic scar", "Cell cycle, checkpoints, G1/S/G2/M phases", "Stem cells and tissue homeostasis", ] sq_haem = [ "Sickle cell anaemia — pathogenesis, peripheral smear, sickling crisis", "Thalassaemia — alpha vs beta, target cells", "Multiple myeloma — Bence Jones protein, M-band, Rouleaux formation", "Haemophilia A vs B — factor deficiency, PT vs aPTT", "ITP — immune-mediated platelet destruction", "CML vs CLL — comparison table", "Hodgkin's vs Non-Hodgkin's Lymphoma", "Reed-Sternberg cells (owl-eye appearance)", "Auer rods — found in AML", ] sq_data = [(Paragraph("General Pathology", BODYB), Paragraph("<br/>".join(f"• {x}" for x in sq_gp), BODY)), (Paragraph("Haematology", BODYB), Paragraph("<br/>".join(f"• {x}" for x in sq_haem), BODY))] sq_tbl = Table(sq_data, colWidths=[W*0.22, W*0.78]) sq_tbl.setStyle(TableStyle([ ("GRID", (0,0),(-1,-1), 0.4, HexColor("#D1D5DB")), ("BACKGROUND", (0,0),(0,-1), C_LTBLUE), ("VALIGN", (0,0),(-1,-1), "TOP"), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 6), ])) story.append(sq_tbl) story += [sp(8)] story.append(sub_header("PAPER II — Systemic Pathology", C_RED)) story += [sp(4)] story.append(Paragraph("TOP LONG QUESTIONS", H3)) lq_sys = [ ["Myocardial Infarction","Zones of infarct; gross + micro changes (0-24h, 1-3d, 1-2wk, >2wk); complications (rupture, aneurysm, arrhythmia)"], ["Atherosclerosis","Fatty streak → fibrous plaque, foam cells, risk factors, complications"], ["Lobar Pneumonia","4 stages (congestion → red hepatisation → grey hepatisation → resolution), causative organisms"], ["Tuberculosis - Lung","Primary (Ghon focus+complex) vs Secondary TB, miliary TB, cavitation; AFB staining"], ["Peptic Ulcer Disease","Gastric vs duodenal differences, H. pylori, NSAIDs, complications (perforation, haemorrhage)"], ["Crohn's vs UC","Classic comparison: skip lesions vs contiguous, transmural vs mucosal, granuloma, crypt abscess"], ["Liver Cirrhosis","Alcoholic vs post-hepatitic; macro/micro; portal hypertension, hepatic encephalopathy, HCC risk"], ["Glomerulonephritis","Nephrotic vs nephritic syndrome; types (minimal change, MPGN, membranous, RPGN)"], ["Breast Carcinoma","Ductal vs lobular; BRCA1/2; scirrhous carcinoma; grading, staging, lymph node drainage"], ["Cervical Carcinoma","HPV 16/18; CIN grading I-III; Pap smear; squamous cell ca; microinvasive"], ] story.append(two_col_table(lq_sys, header=["Topic","Key Points"], hdr_color=C_RED)) story += [sp(6)] story.append(Paragraph("IMPORTANT SHORT NOTES — Systemic", H3)) sys_sq = [ "Infective endocarditis — vegetation, organisms (Strep viridans, Staph aureus)", "Hypertensive heart disease — LVH, arteriolosclerosis", "Bronchial asthma — Curschmann spirals, Charcot-Leyden crystals, Creola bodies", "COPD — emphysema (centriacinar vs panacinar) vs chronic bronchitis differences", "Bronchiectasis — causes, morphology", "Hepatocellular carcinoma — AFP, cirrhosis connection, Mallory's hyaline", "Renal cell carcinoma — clear cell type, 'golden yellow' tumour", "Wilms' tumour (Nephroblastoma) — children, triphasic histology", "Benign Prostatic Hyperplasia (BPH) — median lobe, complications", "Seminoma testis — gross + micro, AFP vs beta-hCG", "Osteogenic sarcoma — Codman's triangle, sunburst pattern on X-ray", "Down syndrome — trisomy 21, features, Alzheimer risk", "Cholesterol vs Pigment gallstones", ] for item in sys_sq: story.append(bullet(item)) story += [sp(8)] story.append(Paragraph("CLINICAL / REASONING QUESTIONS — Pathology", H3)) story.append(box([ Paragraph("<b>Classic Clinical Scenarios that Repeat:</b>", TIP), sp(2), Paragraph("1. 60yr male smoker, haemoptysis, weight loss → Lung carcinoma — squamous cell type, staging", BODY), Paragraph("2. 45yr, chest pain radiating to left arm, ECG changes → MI — discuss pathology + enzymes (Troponin I, CKMB)", BODY), Paragraph("3. Child — oedema, frothy urine, hypoalbuminaemia → Nephrotic syndrome — minimal change disease", BODY), Paragraph("4. Chronic alcoholic, jaundice, ascites, spider angiomata → Liver cirrhosis — portal hypertension", BODY), Paragraph("5. Pallor, koilonychia, angular stomatitis → Iron deficiency anaemia — investigations + smear", BODY), Paragraph("6. Bone pain, renal failure, high protein in urine → Multiple myeloma — Bence Jones protein, SPEP", BODY), ], bg=HexColor("#FEF2F2"), border=C_RED)) story.append(PageBreak()) # ─── MICROBIOLOGY ──────────────────────────────────────────────────────────── story.append(section_header("🔬 MICROBIOLOGY", C_TEAL)) story += [sp(6)] story.append(box([ Paragraph("<b>Golden Formula for every organism:</b> Morphology → Virulence factors → Pathogenesis → Lab Diagnosis → Treatment/Prophylaxis", TIP), Paragraph("Lab Diagnosis is the MOST tested component — never skip it!", BODY), ], bg=C_LTTEAL, border=C_TEAL)) story += [sp(6)] story.append(sub_header("GENERAL MICROBIOLOGY (Always in Paper I)", C_TEAL)) story += [sp(4)] story.append(Paragraph("HIGH-YIELD Short Notes — General Micro", H3)) gen_micro = [ ["Autoclave vs Hot air oven", "MOST REPEATED: Autoclave 121°C/15 psi/15 min (moist heat); Hot air oven 160°C/1h or 180°C/30 min (dry heat). Which materials each sterilises."], ["Bacterial cell wall", "Gram-positive (thick peptidoglycan, teichoic acid) vs Gram-negative (thin PG + outer membrane with LPS/endotoxin)"], ["Exotoxin vs Endotoxin", "Classic comparison table: source, chemistry (protein vs LPS), heat stability, toxigenicity, vaccine potential"], ["Bacterial gene transfer", "Transformation (naked DNA), Transduction (bacteriophage), Conjugation (F pilus, plasmid)"], ["Lytic vs Lysogenic cycle", "Bacteriophage: lytic = immediate lysis; lysogenic = prophage integration, phage conversion"], ["Bacterial growth curve", "Lag → Log (exponential) → Stationary → Decline phases; significance of log phase"], ["Disinfectants", "High-level (glutaraldehyde), Intermediate (alcohol, iodine), Low-level (quaternary ammonium)"], ["Biomedical waste colour coding", "Yellow (anatomical/pathological), Red (recyclable plastics), Blue/White (glass/metal), Black (general)"], ["Needle-stick injury protocol", "Wash with soap/water, report, assess source, HBV/HIV post-exposure prophylaxis, document"], ["MacConkey agar", "Lactose fermenters (pink: E. coli, Klebsiella) vs Non-fermenters (colourless: Salmonella, Shigella)"], ] story.append(two_col_table(gen_micro, header=["Topic","Key Points"], hdr_color=C_TEAL)) story += [sp(8)] story.append(sub_header("BACTERIOLOGY — Most Important Organisms", C_TEAL)) story += [sp(4)] story.append(Paragraph("LONG QUESTION Bacteria", H3)) bact_lq = [ ["M. tuberculosis (LQ)", "AFB (Ziehl-Neelsen stain), Löwenstein-Jensen medium, Mantoux test (>10mm), RNTCP/NTEP, HRZE regimen, MDR-TB definition"], ["Staphylococcus aureus (LQ)", "Coagulase +ve, Protein A (anti-opsonin), toxins: TSST-1, Exfoliatin, Panton-Valentine leukocidin; MRSA; Mannitol salt agar"], ["Streptococcus pyogenes (LQ)", "Group A, beta-haemolytic; M-protein (antiphagocytic); ASO titre; Rheumatic fever; Scarlet fever; Dick test"], ["Salmonella typhi (LQ)", "Widal test (H & O titres), Vi antigen, Rose spots, 'Typhoid Mary', blood culture best in 1st week"], ["Vibrio cholerae (LQ)", "Rice-water stools; Cholera toxin (cAMP); El Tor biotype; TCBS medium; Dark-field microscopy; ORS treatment"], ] story.append(two_col_table(bact_lq, header=["Organism","Must Know"], hdr_color=C_TEAL)) story += [sp(5)] story.append(Paragraph("SHORT NOTE Bacteria", H3)) bact_sq = [ "Clostridium tetani — tetanospasmin, spastic paralysis, trismus (lockjaw), prophylaxis (TT vaccine)", "Clostridium perfringens — gas gangrene, lecithinase (Nagler reaction), alpha-toxin", "C. difficile — pseudomembranous colitis, antibiotic-associated diarrhoea, toxin A&B, metronidazole/vancomycin", "Neisseria meningitidis — meningococcal meningitis, Waterhouse-Friderichsen syndrome, capsule serogroups", "Neisseria gonorrhoeae — PPNG, Thayer-Martin medium, intracellular diplococci, ophthalmia neonatorum", "Klebsiella pneumoniae — 'Currant jelly' sputum, thick capsule, Friedlander's pneumonia", "H. pylori — urease test (CLO test), peptic ulcer, gastric carcinoma, triple/quadruple therapy", "Bordetella pertussis — whooping cough, Bordet-Gengou medium, paroxysmal cough + whoop", "Treponema pallidum — Syphilis; dark-field microscopy; VDRL (non-specific) vs FTA-ABS (specific); congenital syphilis", "Brucella — undulant fever, zoonosis, Castaneda blood culture medium, cheese/milk source", ] for item in bact_sq: story.append(bullet(item)) story += [sp(8)] story.append(sub_header("VIROLOGY — Most Important", C_TEAL)) story += [sp(4)] story.append(Paragraph("LONG QUESTION Viruses", H3)) vir_lq = [ ["HIV (LQ)", "Structure: gp120 (attachment), gp41 (fusion), reverse transcriptase; CD4 count stages (<200 = AIDS); Lab: ELISA screen → Western Blot confirm; HAART: NRTI+NNRTI+PI; OIs (PCP, CMV, MAC, Crypto)"], ["Hepatitis B (LQ)", "Serological markers chart: HBsAg (surface Ag, first marker), HBeAg (infectivity), Anti-HBs (immunity), Anti-HBc IgM (acute), Window period; Vertical transmission; Vaccination; Chronic → Cirrhosis → HCC"], ] story.append(two_col_table(vir_lq, header=["Virus","Key Points"], hdr_color=C_TEAL, col_widths=[W*0.18, W*0.82])) story += [sp(5)] story.append(Paragraph("SHORT NOTE Viruses", H3)) vir_sq = [ "Influenza — Hemagglutinin (H) + Neuraminidase (N); Antigenic DRIFT (gradual mutation) vs SHIFT (gene reassortment → pandemic)", "Rabies — Negri bodies (Purkinje cells, hippocampus); PCECV vaccine; Post-exposure prophylaxis (wash + RIG + vaccine)", "Herpes Simplex — HSV-1 (oral) vs HSV-2 (genital); Latency in ganglia; Tzanck smear (multi-nucleate giant cells); Acyclovir", "Varicella-Zoster — Chickenpox vs Shingles (reactivation); Tzanck smear; VZV vaccine", "Poliovirus — 3 serotypes; OPV (live oral) vs IPV (inactivated); AFP surveillance; Eradication status", "Hepatitis C — RNA virus; Window period long; PCR for diagnosis; Genotype 1 commonest; DAA treatment", "COVID-19 / Coronavirus — Spike protein; RT-PCR diagnosis; SARS-CoV-2; Variants; mRNA vaccines", ] for item in vir_sq: story.append(bullet(item)) story += [sp(8)] story.append(sub_header("PARASITOLOGY — High-Yield (Diagrams Expected!)", C_TEAL)) story += [sp(4)] para_rows = [ ["Plasmodium\n(Malaria) LQ","Anopheles mosquito (vector); P. vivax (Schüffner's dots, relapsing) vs P. falciparum (ring forms, cerebral malaria, no relapse); Life cycle: asexual in humans, sexual in mosquito; Diagnosis: blood smear, RDT; Drugs: Chloroquine + Primaquine (vivax), ACT for falciparum"], ["Entamoeba\nhistolytica LQ","Trophozoite (10-60 µm, ingested RBCs) vs Cyst (4 nuclei); Flask-shaped ulcer; Amoebic liver abscess (Anchovy sauce pus, RUQ pain); Diagnosis: stool exam, serology; Treatment: Metronidazole"], ["Taenia solium\nvs T. saginata","T. solium (pork, armed scolex, cysticercosis risk) vs T. saginata (beef, unarmed scolex, no cysticercosis); Neurocysticercosis = epilepsy"], ["Wuchereria\nbancrofti","Lymphatic filariasis; Culex mosquito; Nocturnal periodicity (blood smear at midnight); Microfilariae (sheathed); Elephantiasis; DEC treatment"], ["Leishmania","VL (Kala-azar): Sandfly (Phlebotomus), L-D bodies in macrophages, splenomegaly; rK39 rapid test; Amphotericin B; PKDL"], ["Ascaris\nlumbricoides","Largest nematode; Löffler syndrome (pulmonary eosinophilia); Diagnosis: stool exam (bile-stained eggs); Albendazole"], ] story.append(two_col_table(para_rows, header=["Parasite","Key Points"], hdr_color=C_TEAL, col_widths=[W*0.22, W*0.78])) story += [sp(6)] story.append(Paragraph("CLINICAL / REASONING — Microbiology", H3)) story.append(box([ Paragraph("1. Fever 2 weeks, rose spots, hepatosplenomegaly → <b>Typhoid</b> — Widal (1st wk: blood culture best), Sal. typhi", BODY), Paragraph("2. Newborn, purulent eye discharge 2-3 days after birth → <b>Gonococcal ophthalmia neonatorum</b> — Thayer-Martin, gram –ve diplococci", BODY), Paragraph("3. HCW needlestick from HBsAg+ patient → <b>Needlestick protocol</b> — HBIG + HBV vaccine within 24h", BODY), Paragraph("4. Painless penile ulcer, indurated base, inguinal LAP → <b>Primary syphilis</b> — T. pallidum, dark-field microscopy, VDRL", BODY), Paragraph("5. Rice farmer, fever, jaundice, conjunctival suffusion → <b>Leptospirosis</b> — Weil's disease, MAT test, Doxycycline", BODY), Paragraph("6. Patient returns from rural area, splenomegaly, fever with chills/rigors pattern → <b>Malaria</b> — peripheral smear, RDT, species ID", BODY), ], bg=C_LTTEAL, border=C_TEAL)) story.append(PageBreak()) # ─── PHARMACOLOGY ──────────────────────────────────────────────────────────── story.append(section_header("💊 PHARMACOLOGY", C_PURPLE)) story += [sp(6)] story.append(box([ Paragraph("<b>Master Formula for every drug:</b> Classification → Mechanism of Action → Uses → Side Effects → Contraindications → Interactions", TIP), ], bg=C_LTPUR, border=C_PURPLE)) story += [sp(6)] story.append(sub_header("PAPER I — General Pharmacology + ANS + CVS", C_PURPLE)) story += [sp(4)] story.append(Paragraph("LONG QUESTIONS — General Pharmacology", H3)) lq_gph = [ ["Pharmacokinetics","Absorption (bioavailability, first-pass), Distribution (Vd, protein binding, BBB), Metabolism (CYP450, phase I/II), Excretion (renal); Plasma concentration-time curve; half-life; steady state"], ["Drug-Receptor Interactions","Agonist, antagonist (competitive vs non-competitive), partial agonist, inverse agonist; Dose-response curve; ED50, LD50, Therapeutic Index (TI); spare receptors"], ["Adverse Drug Reactions","WHO classification (A-F); Type A (predictable, dose-related) vs Type B (idiosyncratic); Pharmacovigilance; Yellow Card; Teratogenicity; Drug allergy"], ] story.append(two_col_table(lq_gph, header=["Topic","Cover"], hdr_color=C_PURPLE)) story += [sp(5)] story.append(Paragraph("SHORT NOTES — General Pharmacology", H3)) sq_gph = [ "Routes of drug administration — sublingual avoids first-pass metabolism (SL nitrates, buprenorphine)", "Enzyme induction vs inhibition — Inducers: Rifampicin, Phenytoin, Carbamazepine (decrease drug levels); Inhibitors: Erythromycin, Fluconazole, Grapefruit (increase levels)", "Drug tolerance, dependence, addiction — opioids as prototype; cross-tolerance", "Prodrugs — enalapril → enalaprilat; codeine → morphine; examples and reasons", "Therapeutic drug monitoring — drugs with narrow TI: Digoxin, Lithium, Aminoglycosides, Phenytoin", "Pharmacokinetics in special populations — renal/hepatic impairment, elderly, paediatrics, pregnancy", ] for item in sq_gph: story.append(bullet(item)) story += [sp(6)] story.append(Paragraph("ANS — Autonomic Nervous System (Very Heavy)", H3)) lq_ans = [ ["Beta-blockers (LQ)","Selective (Atenolol, Metoprolol) vs Non-selective (Propranolol); Mechanism: block β1 (HR, contractility) ± β2; Uses: HTN, Angina, MI (reduce mortality), Arrhythmia, HF (carvedilol), Glaucoma (timolol); SE: Bradycardia, bronchospasm, cold extremities, mask hypoglycaemia; CI: Asthma, AV block"], ["Cholinergic drugs (LQ)","Muscarinic agonists (pilocarpine-glaucoma, bethanechol-urinary retention); Anticholinesterases (neostigmine-MG/reversal of NMB, physostigmine-glaucoma); OP poisoning: MUDDLES/DUMBELS symptoms, Rx: Atropine + Pralidoxime (2-PAM, before ageing)"], ] story.append(two_col_table(lq_ans, header=["Topic","Key Points"], hdr_color=C_PURPLE)) story += [sp(4)] ans_sq = [ "Atropine — competitive muscarinic antagonist; Uses: OP poisoning (antidote), bradycardia, pre-anaesthetic; SE: dry mouth, blurred vision, urinary retention, tachycardia, hyperthermia", "Adrenaline (Epinephrine) — α+β agonist; Uses: Anaphylaxis (1st line, 0.5 mg IM), cardiac arrest; vasoconstrictor with LA", "Alpha-blockers — Prazosin (α1 selective, HTN, BPH); Phenoxybenzamine (irreversible, phaeochromocytoma)", "Salbutamol — selective β2 agonist; bronchodilator in asthma; SE: tremors, tachycardia", "Neuromuscular blockers — Succinylcholine (depolarising, phase I/II block, suxamethonium apnoea) vs Vecuronium/Atracurium (non-depolarising, reversed by neostigmine)", "Ganglion blockers — Trimethaphan; hypertensive emergency; postural hypotension (SE)", ] for item in ans_sq: story.append(bullet(item)) story += [sp(6)] story.append(Paragraph("CVS DRUGS (High-Yield)", H3)) lq_cvs = [ ["Antihypertensives (LQ)","Full classification: ACE inhibitors (Enalapril — dry cough/bradykinin, CI: pregnancy), ARBs (Losartan — no cough), CCBs (Amlodipine — ankle oedema), β-blockers, Diuretics, Vasodilators. Special situations: DM → ACE-I; Pregnancy → Methyldopa/Labetalol/Nifedipine"], ["Antiarrhythmics (LQ)","Vaughan-Williams: Class I (Na-channel: Lignocaine, Quinidine), Class II (β-blockers), Class III (K-channel: Amiodarone — multiple SE), Class IV (Ca-channel: Verapamil, Diltiazem); Digoxin (SVT)"], ] story.append(two_col_table(lq_cvs, header=["Topic","Key Points"], hdr_color=C_PURPLE)) story += [sp(4)] cvs_sq = [ "Digoxin — Na-K ATPase inhibition → increased Ca2+ → positive inotropy; narrow TI; Toxicity: nausea, visual (yellow), arrhythmias; Hypokalaemia worsens toxicity; Reversal: Digoxin-specific Fab antibody", "Nitrates — GTN; Release NO → cGMP → venodilation (reduced preload), arteriodilation (afterload); CI: PDE5 inhibitors (sildenafil); Tolerance (nitrate-free interval)", "Statins — HMG-CoA reductase inhibitors; Atorvastatin, Rosuvastatin; SE: Myopathy (check CK), hepatotoxicity; Pleiotropic effects; CI: Pregnancy", "Anticoagulants — Heparin (parenteral, immediate, APTT monitoring, reversed by Protamine) vs Warfarin (oral, delayed, PT/INR monitoring, reversed by Vit K/FFP; teratogenic); LMWH (Enoxaparin)", "Fibrinolytics — Streptokinase, Alteplase (tPA); Uses: STEMI, PE, stroke; SE: bleeding; CI: recent surgery/stroke", "Antiplatelets — Aspirin (irreversible COX, 75mg daily); Clopidogrel (ADP receptor P2Y12 blocker); Dual antiplatelet in ACS", ] for item in cvs_sq: story.append(bullet(item)) story.append(PageBreak()) story.append(sub_header("CNS DRUGS", C_PURPLE)) story += [sp(4)] lq_cns = [ ["Opioid Analgesics (LQ)","Morphine — μ-receptor agonist; Uses: severe pain, pulmonary oedema, MI pain, cough; SE: respiratory depression, constipation, miosis (pin-point pupils), euphoria, dependence; Overdose triad: coma + miosis + RD; Antidote: Naloxone (opioid antagonist)"], ["General Anaesthesia (LQ)","Guedel's 4 stages (Analgesia, Excitement, Surgical, Medullary depression); IV agents: Thiopentone (rapid induction), Propofol (TIVA, day surgery), Ketamine (dissociative, bronchodilator, useful in paeds/EM); MAC concept; Inhalational: Halothane (hepatotoxicity), Isoflurane, Sevoflurane"], ] story.append(two_col_table(lq_cns, header=["Topic","Key Points"], hdr_color=C_PURPLE)) story += [sp(4)] cns_sq = [ "Benzodiazepines — Potentiate GABA-A (Cl- influx); Diazepam, Lorazepam, Midazolam; Uses: anxiety, insomnia, seizures, alcohol withdrawal, pre-anaesthesia; Dependence; Antidote: Flumazenil", "Antiepileptics — Phenytoin (Na-channel, gingival hyperplasia, megaloblastic anaemia, teratogenic-cleft palate); Carbamazepine (TN, bipolar, SE: Stevens-Johnson); Valproate (broad spectrum, neural tube defects); Levetiracetam (fewer interactions)", "Antipsychotics — Typical: Haloperidol (high EPS risk); Atypical: Clozapine (agranulocytosis-check WBC), Olanzapine, Risperidone; EPS side effects: dystonia, akathisia, parkinsonism, TD (tardive dyskinesia); NMS (rare, life-threatening)", "Antidepressants — TCAs (Amitriptyline — anticholinergic SE, arrhythmia in OD); SSRIs (Fluoxetine — safer SE profile, serotonin syndrome with MAOIs); MAOIs (Phenelzine — cheese/tyramine interaction = hypertensive crisis)", "Parkinson's drugs — Levodopa + Carbidopa (combination: carbidopa prevents peripheral conversion, reduces dose); DA agonists (Bromocriptine, Pramipexole); MAO-B inhibitors (Selegiline); COMT inhibitors (Entacapone)", "NSAIDs — COX-1+2 (Aspirin, Ibuprofen, Naproxen) vs Selective COX-2 (Celecoxib — less GI SE, more CV risk); Aspirin: irreversible acetylation; Paracetamol: hepatotoxicity (NAPQI), antidote N-acetylcysteine", ] for item in cns_sq: story.append(bullet(item)) story += [sp(8)] story.append(sub_header("ANTIMICROBIALS — Extremely High-Yield (Paper II)", C_PURPLE)) story += [sp(4)] lq_anti = [ ["Penicillins (LQ)","β-lactam ring; inhibit PBP (transpeptidase) → block peptidoglycan cross-linking; Bactericidal; β-lactamase destroys ring; MRSA (altered PBP2a); Classification: Natural (Benzylpenicillin), Broad-spectrum (Ampicillin, Amoxicillin), Anti-pseudomonal (Piperacillin); Clavulanate (β-lactamase inhibitor)"], ["Aminoglycosides (LQ)","Gentamicin, Streptomycin, Amikacin; 30S ribosomal subunit; Concentration-dependent killing; Nephrotoxicity + Ototoxicity (8th nerve — irreversible); TDM essential; Synergy with β-lactams"], ["Fluoroquinolones (LQ)","Ciprofloxacin, Levofloxacin, Moxifloxacin; Inhibit DNA gyrase (topoisomerase II/IV); Avoid in children <18 (cartilage); Chelation with antacids/iron/calcium (take 2h apart); Tendon rupture (Achilles)"], ["Anti-TB Drugs (LQ)","HRZE: Isoniazid (peripheral neuropathy → pyridoxine; hepatotoxicity), Rifampicin (red urine/tears, enzyme inducer, hepatotoxicity), Pyrazinamide (hyperuricaemia, gout, hepatotoxicity), Ethambutol (optic neuritis — check colour vision); MDR-TB: resistant to H+R"], ] story.append(two_col_table(lq_anti, header=["Drug Class","Key Points"], hdr_color=C_PURPLE)) story += [sp(5)] story.append(Paragraph("SHORT NOTE Antimicrobials", H3)) anti_sq = [ "Cephalosporins — generations: 1st (Cephalexin — gram +ve); 2nd (Cefuroxime — gram +ve + some –ve); 3rd (Ceftriaxone — gram –ve, meningitis); 4th (Cefepime — Pseudomonas); 5th (Ceftaroline — MRSA)", "Tetracyclines — 30S ribosome; Broad spectrum; CI: children <8yrs (teeth), pregnancy; Chelation with antacids/dairy; Doxycycline (long half-life, malaria prophylaxis, chlamydia)", "Chloramphenicol — 50S ribosome; Broad spectrum; Grey baby syndrome (immature glucuronyl transferase); Aplastic anaemia (rare, idiosyncratic); Mainly reserved for meningitis/typhoid in resource-limited settings", "Macrolides — Erythromycin, Azithromycin (long t½, azithromycin 1g single dose for chlamydia); 50S ribosome; CYP450 inhibitor (erythromycin); QT prolongation", "Metronidazole — Nitroimidazole; Free radical mechanism (anaerobes + protozoa); Uses: amoeba, giardia, trichomoniasis, C. difficile, bacterial vaginosis; Disulfiram-like reaction with alcohol", "Cotrimoxazole (TMP-SMX) — inhibit folate synthesis (two-step block); Uses: UTI, PCP prophylaxis in HIV, shigella, toxoplasma, typhoid; Megaloblastic anaemia (folate antagonism)", "Antifungals — Amphotericin B (ergosterol binding, nephrotoxic — hydrate patient); Fluconazole (azole, CYP450 inhibitor, less toxic); Griseofulvin (dermatophytes, CI: porphyria)", "Antimalarials — Chloroquine (inhibit haem polymerisation; resistance common in falciparum; retinopathy SE); Primaquine (radical cure vivax — check G6PD first!); Artesunate+Lumefantrine (ACT — 1st line for falciparum)", "Antivirals — Acyclovir (HSV/VZV, thymidine kinase-dependent phosphorylation, renal toxicity); Oseltamivir (influenza NA inhibitor); ART classes: NRTI/NNRTI/PI/INSTI", ] for item in anti_sq: story.append(bullet(item)) story += [sp(6)] story.append(sub_header("ENDOCRINE & OTHER HIGH-YIELD DRUGS", C_PURPLE)) story += [sp(4)] lq_endo = [ ["Insulin & OHAs (LQ)","Insulin types: Rapid (Lispro, Aspart), Short (Regular), Intermediate (NPH), Long (Glargine, Detemir); OHA classification: Biguanides (Metformin — 1st line, lactic acidosis CI: renal failure), Sulfonylureas (Glibenclamide — hypoglycaemia), DPP-4 inhibitors (Sitagliptin), GLP-1 agonists (Liraglutide — weight loss), SGLT2 inhibitors (Empagliflozin — CV+renal benefits)"], ] story.append(two_col_table(lq_endo, header=["Topic","Key Points"], hdr_color=C_PURPLE, col_widths=[W*0.2, W*0.8])) story += [sp(4)] endo_sq = [ "Corticosteroids — Dexamethasone, Prednisolone; Mechanism: glucocorticoid receptor → gene transcription; Uses: allergy, asthma, autoimmune, cerebral oedema, septic shock; SE: Cushingoid, osteoporosis, hyperglycaemia, immunosuppression; Steroid withdrawal — taper gradually (HPA axis suppression)", "Thyroid drugs — Carbimazole/PTU (inhibit peroxidase); PTU also blocks T4→T3 conversion (preferred in thyroid storm + 1st trimester); Radioiodine-131 (post-thyroidectomy, CI: pregnancy); Beta-blockers for symptom control", "Oral contraceptives — Combined OCP (Estrogen+Progestin): inhibit ovulation, alter cervical mucus; CI: DVT, smoker >35, migraine with aura, hypertension; Progestin-only pill (mini-pill): safe in breast-feeding, less DVT risk", "Oxytocin — posterior pituitary; Uses: induction of labour, PPH (AMTSL); SE: uterine hyperstimulation, water retention, hypotension", "Diuretics — Loop (Furosemide: TAL of Henle, hypokalaemia, ototoxicity, effective in renal failure); Thiazide (Hydrochlorothiazide: DCT, hypokalaemia, hypercalcaemia — used in nephrocalcinosis/osteoporosis); Spironolactone (K-sparing, aldosterone antagonist, used in cirrhosis/HF); Acetazolamide (CA inhibitor, glaucoma, altitude sickness)", ] for item in endo_sq: story.append(bullet(item)) story += [sp(6)] story.append(Paragraph("CLINICAL / REASONING — Pharmacology", H3)) story.append(box([ Paragraph("1. Patient on warfarin starts rifampicin — INR drops → <b>Enzyme induction</b>; Rifampicin increases warfarin metabolism; increase warfarin dose", BODY), Paragraph("2. Hypertensive + diabetic — which antihypertensive? → <b>ACE inhibitor</b> (renoprotective, reduces proteinuria, RAAS blockade)", BODY), Paragraph("3. Pregnant woman with HTN — which drug is safe? → <b>Methyldopa</b> (1st choice), Labetalol, Nifedipine; AVOID ACE-I/ARBs (teratogenic)", BODY), Paragraph("4. Patient on MAO inhibitor eats cheese → develops hypertensive crisis → <b>Tyramine interaction</b>; MAOIs prevent tyramine breakdown → catecholamine storm", BODY), Paragraph("5. Organophosphate poisoning — antidote? → <b>Atropine</b> (muscarinic symptoms: DUMBBELS) + <b>Pralidoxime/2-PAM</b> (reactivates AChE, give before 'ageing')", BODY), Paragraph("6. Child given chloramphenicol → grey discolouration, hypotension → <b>Grey baby syndrome</b>; immature glucuronyl transferase; drug accumulates", BODY), Paragraph("7. Patient on INH develops tingling/numbness → <b>Peripheral neuropathy</b>; INH depletes pyridoxine (B6); treat with pyridoxine supplementation", BODY), Paragraph("8. Asthmatic patient given non-selective beta-blocker → bronchospasm → <b>Beta2 blockade</b>; use cardioselective beta-blocker (Atenolol) if essential", BODY), ], bg=C_LTPUR, border=C_PURPLE)) story.append(PageBreak()) # ─── 4-WEEK PLAN ───────────────────────────────────────────────────────────── story.append(section_header("📅 4-WEEK STUDY PLAN", C_NAVY)) story += [sp(6)] plan_rows = [ ["Week", "Pathology", "Microbiology", "Pharmacology"], ["Week 1\n(Days 1-7)", "General Pathology core:\nInflammation, Necrosis, Repair, Shock, Thrombosis, Embolism", "General Micro:\nSterilization, Cell wall, Toxins, Gene transfer\n+\nStaph, Strep, TB", "General Pharmacology:\nPK/PD, Routes, ADR\n+\nANS (Beta-blockers, Cholinergics)"], ["Week 2\n(Days 8-14)", "Neoplasia + Haematology:\nAnaemias, Leukaemia, Lymphoma, Bleeding disorders", "Bacteriology:\nSalmonella, Cholera, Clostridium, Neisseria, H. pylori, Syphilis", "CVS Drugs:\nAntihypertensives, Antiarrhythmics, Digoxin, Anticoagulants, Statins"], ["Week 3\n(Days 15-21)", "Systemic Pathology:\nCVS (MI, Atherosclerosis)\nRespiratory (Pneumonia, TB, COPD)\nGIT, Liver", "Virology:\nHIV, HBV, Influenza, Rabies, Polio, HCV\n+\nParasitology:\nMalaria, Entamoeba, Taenia, Wuchereria, Leishmania", "Antimicrobials:\nPenicillin, Cephalosporins, ATT, Aminoglycosides, Fluoro-quinolones\n+\nCNS Drugs"], ["Week 4\n(Days 22-30)", "Systemic Pathology:\nKidney, Breast, Cervix\n+\nPYQ practice + Answer writing", "Syphilis, Fungal infections, Parasitology revision\n+\nPYQ practice\n+\nLab diagnosis rapid revision", "Endocrine Drugs:\nInsulin, Corticosteroids, Thyroid, OCP, Diuretics\n+\nFull revision + PYQ papers"], ] plan_col_w = [W*0.12, W*0.29, W*0.29, W*0.30] plan_data = [] for i, row in enumerate(plan_rows): plan_data.append([Paragraph(cell.replace('\n','<br/>'), s(f"pc{i}", fontName="Helvetica-Bold" if i==0 else "Helvetica", fontSize=8.5, textColor=white if i==0 else black, leading=12)) for cell in row]) plan_tbl = Table(plan_data, colWidths=plan_col_w, repeatRows=1) plan_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,0), C_NAVY), ("BACKGROUND", (0,1),(0,-1), HexColor("#374151")), ("ROWBACKGROUNDS", (1,1),(-1,-1), [white, C_GRAY]), ("GRID", (0,0),(-1,-1), 0.5, HexColor("#D1D5DB")), ("VALIGN", (0,0),(-1,-1), "TOP"), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 5), ("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"), ("TEXTCOLOR", (0,1),(0,-1), white), ])) story.append(plan_tbl) story += [sp(8)] # ─── ANSWER-WRITING TIPS ───────────────────────────────────────────────────── story.append(section_header("✍️ ANSWER WRITING TIPS", C_AMBER)) story += [sp(6)] tips_data = [ ["For LQ (10 marks)", "• Brief intro/definition (1-2 lines)\n• Subheadings (Classification, Pathogenesis, Morphology, Complications)\n• Flow charts for pathogenesis — examiners LOVE them\n• Draw diagrams (even rough) — label them\n• Tables for comparisons (e.g. Crohn's vs UC, HBV serological markers)\n• End with complications or clinical significance"], ["For SQ (5 marks)", "• 4-6 crisp bullet points — not paragraphs\n• Include 1 diagram if applicable (peripheral smear in anaemia, bacterial growth curve)\n• Lab diagnosis wherever applicable (in micro)\n• Treatment/management in 1-2 lines at the end"], ["For Clinical CQ\n(Reasoning)", "• State most likely diagnosis FIRST (1 line)\n• Give 2-3 reasons from the case scenario (correlate history/exam findings)\n• Investigations (list in order: bedside → lab → imaging)\n• Pathology / mechanism briefly\n• Management outline (1 paragraph)"], ["For MCQs", "• Never leave blank — no negative marking in most university exams\n• Read all options before choosing\n• Eliminate obviously wrong choices\n• Drug of choice / mechanism questions are most common"], ] tips_tbl = Table( [[Paragraph(r[0].replace('\n','<br/>'), s(f"tth{i}", fontName="Helvetica-Bold", fontSize=9, textColor=white, leading=12)), Paragraph(r[1].replace('\n','<br/>'), BODY)] for i,r in enumerate(tips_data)], colWidths=[W*0.24, W*0.76] ) tips_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(0,-1), C_AMBER), ("GRID", (0,0),(-1,-1), 0.4, HexColor("#D1D5DB")), ("ROWBACKGROUNDS", (1,0),(-1,-1), [C_LTAMB, white]), ("VALIGN", (0,0),(-1,-1), "TOP"), ("TOPPADDING", (0,0),(-1,-1), 6), ("BOTTOMPADDING", (0,0),(-1,-1), 6), ("LEFTPADDING", (0,0),(-1,-1), 6), ])) story.append(tips_tbl) story += [sp(10)] # ─── BOOK RECOMMENDATIONS ──────────────────────────────────────────────────── story.append(section_header("📚 RECOMMENDED RESOURCES", C_GREEN)) story += [sp(6)] books = [ ["Pathology", "Robbins Basic Pathology (9th/10th Ed) — shorter version of Big Robbins; Focus on flowcharts and summary boxes. Use Harsh Mohan for Indian perspective."], ["Microbiology", "Ananthanarayan & Paniker — standard Indian textbook. For every organism: focus the Lab Diagnosis section — it is tested most."], ["Pharmacology", "KD Tripathi (KDT) — standard. Write all drug classifications in a notebook on Day 1. Prepladder/Marrow videos for rapid concept building."], ["PYQ Practice", "Collect PYQs from seniors/batch from Tripura Medical College (AGMCh Agartala). Most questions repeat from the same ~50 topic pool listed above."], ["Revision", "Pathology: Devesh Mishra Rapid Review; Micro: Apurba Sastry summary tables; Pharma: GRG quick notes or similar condensed resources for last week."], ] story.append(two_col_table(books, header=["Subject","Resource"], hdr_color=C_GREEN, col_widths=[W*0.18, W*0.82])) story += [sp(8)] # ─── FINAL TIPS BOX ────────────────────────────────────────────────────────── story.append(box([ Paragraph("<b>FINAL 3-DAY STRATEGY BEFORE EXAM:</b>", TIP), sp(3), Paragraph("Day 1: Rapid revision of all LQ topics (one paragraph each) + re-read all classification tables in Pharmacology", BODY), Paragraph("Day 2: Rapid revision of Microbiology lab diagnoses + all PYQ short notes; Practice drawing diagrams (blood smears, growth curves, life cycles)", BODY), Paragraph("Day 3: Rest, light revision, sleep well. Do NOT start new topics.", BODY), sp(4), Paragraph("<b>REMEMBER:</b> Diagrams + Flowcharts + Tables = Extra marks. Presentation matters as much as content. Good luck!", BODYB), ], bg=C_LTAMB, border=C_AMBER)) doc.build(story) print(f"PDF created: {OUTPUT}") PYEOF echo "Script written"
cd /tmp/workspace/mbbs-study-guide && python generate_pdf.py 2>&1