So, tomorrow is my pharmacology exam, like on full syllabus of second year. Bro, I literally didn't read even one question also. I don't know what should I do right now. I literally have no time. I guess I have- Uh, four hours maybe or three hours, that's it, to complete all the pharmacology syllabus. Actually... I didn't even knew the basics also. So, what was the plan to, like, you know, at least know the topic superficially so that I can write o- on my own. Are you understanding? Yeah. So, tomorrow, I had, uh, PAPPA 1, morning session, and PAPPA 2, pharmacy, evening session. Literally, one-hour gap in between those two exams. That too for eating, that's it. For lunch, that's it. So, bro, just, just give me some advices. What should I do right now? I, I literally can't understand and can't even think properly to what to read right now. But I should read or at least know some basic topics to write the exam tomorrow. Right? Please help me, bro.

Finding Sources
Searching the Web

second year MBBS pharmacology exam important topics syllabus PAPPA

Finding Sources
Reading Web Page

https://www.doctutorials.com/mbbs-curriculum/important-topic…

Alright bro, here's your full 3-4 hour survival plan for tomorrow's PAPPA 1 and PAPPA 2 exams. Read this carefully once, then just execute.

🚨 REALITY CHECK FIRST

You have ~3-4 hours. You cannot read everything. Your goal is NOT to master pharmacology. Your goal is to write something on every question. Examiners give marks for structure, keywords, and showing you know the basics - even superficially.

⏱️ HOW TO SPLIT YOUR 3-4 HOURS

The Golden Rule for Exam Survival:

Read headings + mechanisms + 2 drug names per class = enough to write a 5-6 line answer

πŸ“‹ WHAT TO COVER (Priority Order)

πŸ”΄ HOUR 1 - General Pharmacology (Most Examiner-Favourite, Always Asked)

These are the definitions and concepts - pure theory, no memorizing drug lists needed. Read these first because they appear in PAPPA 1 and give easy marks.
TopicWhat to know
Pharmacokinetics (ADME)Absorption, Distribution, Metabolism, Excretion - each in 2 lines. First pass effect, bioavailability.
Routes of administrationOral, IV, IM, SC - pros and cons of each
Drug receptor interactionsAgonist, antagonist, partial agonist, inverse agonist - definitions
Dose-response curveED50, TD50, therapeutic index = TD50/ED50
Drug interactionsSynergism, antagonism, potentiation
Adverse drug reactionsTypes A, B, C, D - examples
PharmacogenomicsBrief definition only
How to read: Just read the definitions. For each, write one example drug. That's it.

🟠 HOUR 2 - Autonomic Nervous System (ANS) - Always Heavy Marks

This is the most asked topic in 2nd year pharmacology. Spend a full hour here.
TopicWhat to know
Cholinergic drugsAcetylcholine, Pilocarpine, Neostigmine - mechanism (stimulate muscarinic/nicotinic receptors)
Anticholinergic drugsAtropine - uses (bradycardia, preanaesthetic, OPC poisoning), side effects (ABCDE mnemonic)
SympathomimeticsAdrenaline, Noradrenaline, Dopamine - receptors they act on (Ξ±, Ξ²)
Beta-blockersPropranolol (non-selective), Atenolol (selective Ξ²1) - uses: HTN, angina, arrhythmia
Organophosphate poisoningMechanism + treatment (Atropine + Pralidoxime)
Mnemonic for Atropine side effects - "Can't See, Can't Pee, Can't Spit, Can't Sh*t":
  • Mydriasis, urinary retention, dry mouth, constipation

🟑 HOUR 3 - CNS Drugs + Antimicrobials (High Yield for PAPPA 2)

CNS (30 min)

TopicWhat to know
Sedative-hypnoticsBenzodiazepines (Diazepam) - mechanism: GABA-A receptor, antidote: Flumazenil
AntiepilepticsPhenytoin (MOA: Na channel blockade), Valproate (broad spectrum), Carbamazepine
AntipsychoticsChlorpromazine (typical), Clozapine (atypical) - D2 receptor blockade, side effects (EPS)
Opioid analgesicsMorphine - MOA, uses, side effects, antidote (Naloxone)
General anaesthesiaStages (Induction, maintenance), Thiopentone (IV), Halothane (inhalational)

Antimicrobials (30 min)

TopicWhat to know
PenicillinsMOA: inhibit cell wall synthesis (transpeptidase), beta-lactam ring, resistance
CephalosporinsGenerations 1-4, coverage widens with each generation
AminoglycosidesGentamicin - MOA: 30S ribosome, side effects: ototoxicity + nephrotoxicity
Tetracyclines30S ribosome, contraindicated in pregnancy/children, photosensitivity
FluoroquinolonesCiprofloxacin - DNA gyrase inhibitor, UTI drug of choice
AntifungalsAmphotericin B (ergosterol binding), Fluconazole (azole, CYP inhibitor)
AntitubercularHRZE - Isoniazid (peripheral neuropathy, pyridoxine), Rifampicin (red urine), Pyrazinamide (hyperuricemia), Ethambutol (optic neuritis)

🟒 LAST 30-60 MIN - CVS + Quick Hits

TopicWhat to know
AntihypertensivesACE inhibitors (Enalapril - cough), ARBs (Losartan), Ca channel blockers (Amlodipine), Thiazides
AntiarrhythmicsQuinidine (Class 1A), Lidocaine (1B), Amiodarone (Class 3)
AnticoagulantsHeparin (antidote: Protamine), Warfarin (antidote: Vitamin K), mechanism difference
Diabetes drugsMetformin (biguanide, lactic acidosis), Sulfonylureas (Glibenclamide), Insulin types
CorticosteroidsUses, side effects (Cushing's, osteoporosis, hyperglycemia)
NSAIDsAspirin (COX inhibitor, Reye's syndrome), Ibuprofen, Paracetamol (overdose: N-acetylcysteine)

✍️ HOW TO WRITE IN THE EXAM (Even If You Don't Know Much)

For any question, structure your answer like this:
  1. Definition (1 line)
  2. Classification (even if you only know 2-3 drugs, list them with a subheading)
  3. Mechanism of Action (MOA) - most important, always gets marks
  4. Uses/Indications (2-3 bullet points)
  5. Side Effects (2-3 bullet points)
  6. Contraindications (optional, 1-2 lines)
Even a half-page structured answer with correct drug names and MOA will score 5-6/10 marks. That's passing territory.

🧠 QUICK MEMORY TRICKS

  • ATM for Anti-TB: Adverse effects = Teach kids: Isoniazidβ†’neuropathy, Rifampicinβ†’red urine, Ethambutolβ†’eye
  • ABCDE of Atropine toxicity: Antimuscariniic, Bladder retention, Constipation, Dry mouth, Eye (mydriasis)
  • MRSA treatment: Vancomycin (always)
  • First pass effect = oral drugs destroyed by liver before reaching systemic circulation β†’ example: GTN given sublingually to avoid it

⚑ BETWEEN PAPPA 1 AND PAPPA 2 (1 hour gap / lunch break)

  • Eat something - seriously, low blood sugar kills recall
  • Use the last 20 min to flip through antimicrobials + CVS notes quickly
  • Don't try to cram new topics - only revise what you already read

πŸ“š WHERE TO READ FAST

Since you have textbook access, here's the order of priority:
  1. KD Tripathi (if you have it) - best for quick reading, short chapters
  2. Lippincott Pharmacology - has excellent tables and summaries per class
  3. If you only have notes - just read the classification tables + MOA bullet points

Bro, you CAN get through this. Three hours of focused, structured reading of the above topics = enough to write on most questions. Don't panic, don't try to read everything - pick these topics, understand the pattern (MOA + uses + side effects for every drug class), and you'll be writing something meaningful tomorrow. You've got this. πŸ’ͺ

Create a cheat sheet of all drug names, MOAs & side effects organized by system

Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/pharma-cheatsheet && ls /home/daytona/workspace…

Writing File

~/pharma-cheatsheet/generate_cheatsheet.py

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

OUTPUT = "/home/daytona/workspace/pharma-cheatsheet/Pharmacology_Cheatsheet.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
CLR = {
    "ANS":     colors.HexColor("#1a73e8"),
    "CNS":     colors.HexColor("#9c27b0"),
    "CVS":     colors.HexColor("#d32f2f"),
    "RESP":    colors.HexColor("#00897b"),
    "GIT":     colors.HexColor("#f57c00"),
    "ENDO":    colors.HexColor("#558b2f"),
    "ANTI":    colors.HexColor("#c62828"),
    "BLOOD":   colors.HexColor("#6a1b9a"),
    "MISC":    colors.HexColor("#37474f"),
    "GENERAL": colors.HexColor("#00695c"),
    "HEAD":    colors.HexColor("#212121"),
}

LIGHT = {k: colors.HexColor(v.hexval().replace("#","")).__class__(
    min(int(v.hexval()[1:3],16)+180,255),
    min(int(v.hexval()[3:5],16)+180,255),
    min(int(v.hexval()[5:7],16)+180,255)
) for k,v in CLR.items()}

# simpler light backgrounds
BGCLR = {
    "ANS":     colors.HexColor("#e8f0fe"),
    "CNS":     colors.HexColor("#f3e5f5"),
    "CVS":     colors.HexColor("#fce8e8"),
    "RESP":    colors.HexColor("#e0f2f1"),
    "GIT":     colors.HexColor("#fff3e0"),
    "ENDO":    colors.HexColor("#f1f8e9"),
    "ANTI":    colors.HexColor("#ffebee"),
    "BLOOD":   colors.HexColor("#f3e5f5"),
    "MISC":    colors.HexColor("#eceff1"),
    "GENERAL": colors.HexColor("#e0f7fa"),
    "HEAD":    colors.HexColor("#f5f5f5"),
}

doc = SimpleDocTemplate(OUTPUT, pagesize=A4,
                        leftMargin=10*mm, rightMargin=10*mm,
                        topMargin=12*mm, bottomMargin=12*mm)

styles = getSampleStyleSheet()
W = A4[0] - 20*mm  # usable width

title_style = ParagraphStyle("title", fontSize=18, fontName="Helvetica-Bold",
                              textColor=colors.HexColor("#1a1a2e"),
                              alignment=TA_CENTER, spaceAfter=2)
subtitle_style = ParagraphStyle("sub", fontSize=9, fontName="Helvetica",
                                 textColor=colors.grey, alignment=TA_CENTER, spaceAfter=6)
section_style = ParagraphStyle("sec", fontSize=11, fontName="Helvetica-Bold",
                                textColor=colors.white, alignment=TA_CENTER)
drug_style = ParagraphStyle("drug", fontSize=7.5, fontName="Helvetica-Bold",
                              textColor=colors.HexColor("#1a1a2e"), leading=10)
moa_style = ParagraphStyle("moa", fontSize=7, fontName="Helvetica",
                             textColor=colors.HexColor("#1b5e20"), leading=10)
se_style  = ParagraphStyle("se",  fontSize=7, fontName="Helvetica",
                             textColor=colors.HexColor("#b71c1c"), leading=10)
use_style = ParagraphStyle("use", fontSize=7, fontName="Helvetica",
                             textColor=colors.HexColor("#0d47a1"), leading=10)
hdr_style = ParagraphStyle("hdr", fontSize=7.5, fontName="Helvetica-Bold",
                             textColor=colors.white, alignment=TA_CENTER)
note_style = ParagraphStyle("note", fontSize=6.5, fontName="Helvetica-Oblique",
                              textColor=colors.HexColor("#555555"), leading=9)

story = []

# ── Title page header ────────────────────────────────────────────────────────
story.append(Paragraph("PHARMACOLOGY CHEAT SHEET", title_style))
story.append(Paragraph("2nd Year MBBS Β· Drug Names | MOA | Side Effects | Uses Β· Organized by System", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor("#1a73e8")))
story.append(Spacer(1, 4*mm))

# ── Helper to build a colour-coded section table ─────────────────────────────
def section_header(title, color_key):
    c = CLR[color_key]
    data = [[Paragraph(f"β–Ά  {title}", section_style)]]
    t = Table(data, colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), c),
        ("TOPPADDING",    (0,0),(-1,-1), 4),
        ("BOTTOMPADDING", (0,0),(-1,-1), 4),
        ("LEFTPADDING",   (0,0),(-1,-1), 6),
        ("RIGHTPADDING",  (0,0),(-1,-1), 6),
        ("ROUNDEDCORNERS",(0,0),(-1,-1),[3,3,3,3]),
    ]))
    return t

def drug_table(headers, rows, color_key, col_widths):
    bg = BGCLR[color_key]
    hdr_c = CLR[color_key]
    hdr_row = [Paragraph(h, hdr_style) for h in headers]
    data = [hdr_row]
    for r in rows:
        styled = []
        for i, cell in enumerate(r):
            if i == 0:
                styled.append(Paragraph(cell, drug_style))
            elif i == 1:
                styled.append(Paragraph(cell, moa_style))
            elif i == 2:
                styled.append(Paragraph(cell, se_style))
            else:
                styled.append(Paragraph(cell, use_style))
        data.append(styled)
    t = Table(data, colWidths=col_widths, repeatRows=1)
    style = [
        ("BACKGROUND",    (0,0), (-1,0), hdr_c),
        ("TEXTCOLOR",     (0,0), (-1,0), colors.white),
        ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",      (0,0), (-1,0), 7.5),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.white, bg]),
        ("GRID",          (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 4),
        ("RIGHTPADDING",  (0,0), (-1,-1), 4),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]
    t.setStyle(TableStyle(style))
    return t

# col widths for 4-col tables
CW4 = [W*0.18, W*0.30, W*0.30, W*0.22]
CW3 = [W*0.20, W*0.40, W*0.40]

HDRS4 = ["DRUG", "MOA", "SIDE EFFECTS", "USES"]
HDRS3 = ["DRUG", "MOA", "SIDE EFFECTS"]

# ═══════════════════════════════════════════════════════════════════════════════
# 1. GENERAL PHARMACOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("1. GENERAL PHARMACOLOGY β€” Key Concepts", "GENERAL"))
story.append(Spacer(1,2*mm))

gen_data = [
    ["CONCEPT","DEFINITION","EXAMPLE / KEY FACT"],
    [Paragraph("Bioavailability (F)", drug_style),
     Paragraph("Fraction of drug reaching systemic circulation unchanged", moa_style),
     Paragraph("IV = 100%; oral aspirin ~68%; GTN sublingual to avoid first-pass", use_style)],
    [Paragraph("First-Pass Effect", drug_style),
     Paragraph("Hepatic metabolism of oral drug before reaching systemic circulation β†’ ↓ bioavailability", moa_style),
     Paragraph("Morphine, GTN, Lignocaine β€” given parenterally/sublingually", use_style)],
    [Paragraph("Therapeutic Index (TI)", drug_style),
     Paragraph("TI = TD50 / ED50  |  Wide TI = safer drug", moa_style),
     Paragraph("Digoxin & Lithium = narrow TI (need monitoring)", use_style)],
    [Paragraph("Agonist / Antagonist", drug_style),
     Paragraph("Agonist: activates receptor. Partial agonist: submaximal effect. Antagonist: blocks receptor", moa_style),
     Paragraph("Morphine (agonist), Buprenorphine (partial), Naloxone (antagonist)", use_style)],
    [Paragraph("Zero-order kinetics", drug_style),
     Paragraph("Constant amount eliminated per unit time (saturation kinetics)", moa_style),
     Paragraph("Phenytoin, Ethanol, Aspirin (high dose)", use_style)],
    [Paragraph("Volume of Distribution (Vd)", drug_style),
     Paragraph("Apparent volume in which drug is distributed; Vd = Dose / Plasma conc.", moa_style),
     Paragraph("High Vd = extensive tissue binding (e.g., Chloroquine Vd ~200 L/kg)", use_style)],
]
gen_t = Table(gen_data, colWidths=[W*0.22, W*0.42, W*0.36], repeatRows=1)
gen_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), CLR["GENERAL"]),
    ("TEXTCOLOR",     (0,0), (-1,0), colors.white),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,0), 7.5),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.white, BGCLR["GENERAL"]]),
    ("GRID",          (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
    ("TOPPADDING",    (0,0), (-1,-1), 3), ("BOTTOMPADDING",(0,0),(-1,-1),3),
    ("LEFTPADDING",   (0,0), (-1,-1), 4), ("RIGHTPADDING", (0,0),(-1,-1),4),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(gen_t)
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 2. ANS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("2. AUTONOMIC NERVOUS SYSTEM (ANS)", "ANS"))
story.append(Spacer(1,2*mm))

ans_rows = [
    ["Acetylcholine (ACh)", "Binds muscarinic (M1-M5) & nicotinic (Nm, Nn) receptors β†’ parasympathomimetic", "↓HR, bronchoconstriction, lacrimation, urination, defecation (SLUDD)", "Glaucoma, Ileus (theoretical)"],
    ["Pilocarpine", "Direct muscarinic agonist", "Sweating, ↓BP, bradycardia", "Glaucoma (eye drops), Xerostomia"],
    ["Neostigmine", "Reversible AChE inhibitor β†’ ↑ACh at NMJ & autonomic ganglia", "SLUDD + muscle fasciculations, bradycardia", "Myasthenia gravis, post-op ileus, reverse NMJ blockade"],
    ["Physostigmine", "Reversible AChE inhibitor (crosses BBB)", "SLUDD, CNS effects", "Glaucoma; antidote for atropine OD"],
    ["Atropine", "Competitive muscarinic antagonist (M-blocker)", "ABCDE: tachycardia, dry mouth, urinary retention, constipation, mydriasis/blurred vision, fever", "Preanaesthetic, bradycardia, OPC poisoning, peptic ulcer, motion sickness"],
    ["Organophosphates (OPC)", "Irreversible AChE inhibitor β†’ ↑↑ACh β†’ SLUDGE", "SLUDGE+M: Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis + muscle paralysis", "Insecticides; Treatment: Atropine + Pralidoxime (2-PAM)"],
    ["Adrenaline (Epinephrine)", "Ξ±1,Ξ±2, Ξ²1, Ξ²2 agonist β†’ sympathomimetic", "Palpitations, hypertension, anxiety, arrhythmia, hyperglycaemia", "Anaphylaxis (1st line), cardiac arrest, local anaesthetic adjuvant"],
    ["Noradrenaline", "Ξ±1, Ξ±2, Ξ²1 agonist (NO Ξ²2)", "↑↑BP, reflex bradycardia, tissue necrosis on extravasation", "Septic shock (vasopressor)"],
    ["Dopamine", "D1,D2, Ξ²1 (low/mod dose); Ξ±1 (high dose)", "Nausea, arrhythmia, hypertension (high dose)", "Cardiogenic shock, acute renal failure (low dose β†’ renal vasodilation)"],
    ["Salbutamol (Albuterol)", "Selective Ξ²2 agonist β†’ bronchodilation, uterine relaxation", "Tremor, tachycardia, hypokalaemia", "Asthma (SABA), premature labour (tocolysis)"],
    ["Propranolol", "Non-selective Ξ²1+Ξ²2 blocker", "Bradycardia, bronchospasm (CI in asthma), cold extremities, ↑TG, mask hypoglycaemia", "Hypertension, angina, arrhythmias, thyrotoxicosis, migraine prophylaxis"],
    ["Atenolol", "Selective Ξ²1 blocker (cardioselective)", "Bradycardia, fatigue, less bronchospasm than propranolol", "Hypertension, angina, post-MI"],
    ["Prazosin", "Selective Ξ±1 blocker", "Postural hypotension (1st dose effect!), dizziness, nasal stuffiness", "Hypertension, BPH"],
    ["Clonidine", "Central Ξ±2 agonist β†’ ↓sympathetic outflow", "Dry mouth, sedation, rebound hypertension on withdrawal", "Hypertensive urgency, ADHD, opioid withdrawal"],
]
story.append(drug_table(HDRS4, ans_rows, "ANS", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 3. CNS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("3. CENTRAL NERVOUS SYSTEM (CNS)", "CNS"))
story.append(Spacer(1,2*mm))

cns_rows = [
    ["Diazepam (BZD)", "Potentiates GABA-A β†’ ↑Cl⁻ influx β†’ hyperpolarisation (↑frequency of Cl⁻ channel opening)", "Sedation, dependence, respiratory depression, anterograde amnesia\nAntidote: Flumazenil", "Anxiety, status epilepticus, alcohol withdrawal, muscle spasm, preanaesthetic"],
    ["Phenobarbitone", "GABA-A modulator β†’ ↑duration of Cl⁻ channel opening (vs BZD = frequency)", "Sedation, dependence, enzyme inducer (↓OCP, warfarin)", "Epilepsy (all types except absence), neonatal seizures"],
    ["Phenytoin", "Blocks voltage-gated Na⁺ channels β†’ stabilises neuronal membranes (zero-order kinetics!)", "Gingival hyperplasia, hirsutism, megaloblastic anaemia, teratogen (fetal hydantoin syndrome), nystagmus, ataxia, Steven-Johnson syndrome", "Epilepsy (grand mal, focal); Arrhythmias (digoxin-induced)"],
    ["Valproate", "↑GABA (inhibits GABA transaminase) + blocks Na⁺ channels", "Hepatotoxicity, teratogen (neural tube defects - CI in pregnancy), weight gain, tremor, alopecia, pancreatitis", "Broad-spectrum epilepsy; bipolar disorder; migraine prophylaxis"],
    ["Carbamazepine", "Blocks Na⁺ channels", "Diplopia, ataxia, hyponatraemia (SIADH), teratogen, enzyme inducer, Steven-Johnson syndrome", "Trigeminal neuralgia (DOC), epilepsy, bipolar disorder"],
    ["Ethosuximide", "Blocks T-type Ca²⁺ channels in thalamus", "GI upset, headache; not effective in other seizure types", "Absence seizures (DOC)"],
    ["Haloperidol (Typical antipsychotic)", "D2 receptor blocker (mesolimbic pathway)", "EPS (tardive dyskinesia, parkinsonism, acute dystonia), hyperprolactinaemia, NMS", "Schizophrenia, mania, Tourette's syndrome"],
    ["Clozapine (Atypical)", "D4 > D2 + 5-HT2A blocker (limbic selectivity)", "Agranulocytosis (monitor WBC weekly!), seizures, hypersalivation, metabolic syndrome; minimal EPS", "Treatment-resistant schizophrenia"],
    ["Chlorpromazine", "D2 + Ξ±1 + M + H1 blocker", "Sedation, postural hypotension, photosensitivity, corneal deposits, EPS, hyperprolactinaemia", "Schizophrenia, intractable hiccups, anti-emetic"],
    ["Morphine (Opioid)", "ΞΌ (mu) opioid receptor agonist β†’ ↓pain transmission\nAntidote: Naloxone", "Respiratory depression, constipation (no tolerance), miosis, nausea, dependence, histamine release (urticaria)", "Severe pain, MI pain, pulmonary oedema, cough (low dose), preanaesthetic"],
    ["Pethidine", "ΞΌ opioid agonist (weak); also atropine-like", "Norpethidine (metabolite) β†’ convulsions; tachycardia; CI with MAOIs (serotonin syndrome)", "Obstetric analgesia (preferred over morphine), smooth muscle spasm"],
    ["Tramadol", "Weak ΞΌ agonist + inhibits NA/5-HT reuptake", "Seizures, serotonin syndrome (with SSRIs), nausea", "Moderate-severe pain, neuropathic pain"],
    ["Thiopentone", "IV barbiturate β†’ GABA-A agonist β†’ rapid unconsciousness (30 sec)", "Apnoea, laryngospasm, ↓BP; small therapeutic index; CI in porphyria", "Induction of general anaesthesia"],
    ["Halothane", "Inhalational anaesthetic (MAC = 0.75%)", "Hepatotoxicity (halothane hepatitis, rare), cardiac sensitisation to adrenaline β†’ arrhythmias, malignant hyperthermia (rare)", "Maintenance of GA (being replaced by sevoflurane)"],
    ["Ketamine", "NMDA receptor antagonist (dissociative anaesthetic)", "Emergence delirium/hallucinations (give BZD preop), ↑HR, ↑BP, ↑ICP, ↑IOP", "Paediatric anaesthesia, procedural sedation, burns dressing, asthmatic patients (bronchodilator)"],
    ["Imipramine (TCA)", "Inhibits NA & 5-HT reuptake + muscarinic block", "Anticholinergic (dry mouth, urinary retention), cardiac arrhythmias (QT prolongation), sedation, weight gain; overdose = fatal arrhythmia", "Depression, enuresis (bedwetting), neuropathic pain"],
    ["Fluoxetine (SSRI)", "Selective serotonin reuptake inhibitor", "Nausea, sexual dysfunction, insomnia, serotonin syndrome (with MAOIs)", "Depression, OCD, panic disorder, bulimia"],
    ["Lithium", "Inhibits inositol phosphatase β†’ ↓neuronal excitability (exact MOA unclear)", "Fine tremor, polyuria (NDI), hypothyroidism, teratogen (Ebstein anomaly), narrow TI β†’ toxicity: coarse tremor, confusion, arrhythmia", "Bipolar disorder (mood stabiliser, DOC for mania prophylaxis)"],
    ["Levodopa + Carbidopa", "L-DOPA β†’ dopamine in brain; Carbidopa = peripheral dopa decarboxylase inhibitor (↓peripheral SE)", "On-off phenomenon, dyskinesias, nausea, psychosis, postural hypotension, darkening of urine", "Parkinson's disease (most effective drug)"],
    ["Donepezil", "Reversible AChE inhibitor β†’ ↑ACh in cortex", "Nausea, diarrhoea, bradycardia, muscle cramps, insomnia", "Alzheimer's dementia"],
]
story.append(drug_table(HDRS4, cns_rows, "CNS", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 4. CVS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(section_header("4. CARDIOVASCULAR SYSTEM (CVS)", "CVS"))
story.append(Spacer(1,2*mm))

cvs_rows = [
    ["Enalapril (ACE-I)", "Inhibits ACE β†’ ↓Angiotensin II β†’ vasodilation + ↓aldosterone β†’ ↓Na/water retention", "Dry cough (↑bradykinin), hyperkalaemia, first-dose hypotension, angioedema (CI), teratogen", "Hypertension, heart failure, diabetic nephropathy"],
    ["Losartan (ARB)", "Blocks AT1 receptor (angiotensin II receptor antagonist)", "Hyperkalaemia, dizziness; NO cough (unlike ACE-I)", "Hypertension (if ACE-I intolerant), heart failure, diabetic nephropathy"],
    ["Amlodipine (CCB - DHP)", "Blocks L-type Ca²⁺ channels β†’ ↓vascular smooth muscle tone β†’ vasodilation", "Ankle oedema, flushing, reflex tachycardia, headache", "Hypertension, stable angina"],
    ["Verapamil (CCB - non-DHP)", "Blocks L-type Ca²⁺ in heart > vessels β†’ ↓HR, ↓contractility, ↓AV conduction", "Constipation, bradycardia, heart block; CI with beta-blockers (AV block)", "Supraventricular tachycardias (SVT), angina, hypertension"],
    ["Hydrochlorothiazide", "Inhibits Na-Cl cotransporter in DCT β†’ ↑Na/water excretion", "Hypokalaemia, hyperuricaemia (gout), hyperglycaemia, hypercalcaemia", "Hypertension (1st line), oedema, nephrogenic DI"],
    ["Frusemide (Loop diuretic)", "Inhibits Na-K-2Cl cotransporter in LOH β†’ powerful diuresis", "Hypokalaemia, hyponatraemia, metabolic alkalosis, ototoxicity, hyperuricaemia", "Pulmonary oedema (acute), CCF, hypertension, hypercalcaemia"],
    ["Spironolactone", "Aldosterone antagonist β†’ K-sparing diuretic", "Hyperkalaemia, gynaecomastia, menstrual irregularities", "Heart failure (↓mortality), hypertension, hyperaldosteronism, cirrhotic ascites"],
    ["Digoxin", "Inhibits Na-K-ATPase β†’ ↑intracellular Ca²⁺ β†’ +ve inotrope; also vagal (↓HR, ↑PR interval). Narrow TI!", "Nausea, xanthopsia (yellow vision), bradycardia, heart block, arrhythmias; toxicity worsened by ↓K⁺", "Heart failure (↑contractility), atrial fibrillation (rate control)"],
    ["GTN (Nitroglycerin)", "Releases NO β†’ ↑cGMP β†’ venodilation (↓preload) at low dose; arterial dilation (↓afterload) at high dose", "Headache (↑ICP), postural hypotension, reflex tachycardia, tolerance with continuous use", "Acute angina (sublingual), acute MI, heart failure"],
    ["Quinidine (Class 1A)", "Blocks Na⁺ channels (↓phase 0) + K⁺ channels β†’ ↑QRS + ↑QT", "Cinchonism (tinnitus, headache, diarrhoea), QT prolongation β†’ TdP, thrombocytopenia", "Atrial fibrillation (now rarely used)"],
    ["Lignocaine (Class 1B)", "Blocks Na⁺ channels preferentially in ischaemic tissue (↑APD)", "CNS toxicity (tinnitus, convulsions), CV depression at high dose", "Ventricular arrhythmias (especially post-MI), local anaesthesia"],
    ["Amiodarone (Class 3)", "Blocks K⁺ channels (↑APD) + Na⁺, Ca²⁺, Ξ²-block β†’ broad spectrum", "Thyroid (hypo/hyper), pulmonary fibrosis, photosensitivity (grey skin), corneal microdeposits, hepatotoxicity; very long tΒ½ (40 days)", "Life-threatening ventricular arrhythmias, AF/flutter"],
    ["Streptokinase", "Binds plasminogen β†’ converts to plasmin β†’ thrombolysis", "Bleeding (major), allergic reactions, fever; CI: recent surgery, stroke", "Acute MI (thrombolysis), PE, DVT"],
    ["Heparin", "Activates antithrombin III β†’ inhibits thrombin (IIa) + Xa\nAntidote: Protamine sulphate", "Bleeding, HIT (heparin-induced thrombocytopenia), osteoporosis (long-term)", "DVT/PE (treatment + prophylaxis), MI, dialysis"],
    ["Warfarin", "Inhibits Vit K reductase β†’ ↓synthesis of factors II, VII, IX, X, protein C&S\nAntidote: Vitamin K / FFP", "Bleeding, teratogen (CI in 1st trimester β†’ warfarin embryopathy), skin necrosis (early, protein C def)", "DVT/PE, AF (stroke prevention), prosthetic heart valves"],
    ["Aspirin (low dose)", "Irreversibly inhibits COX-1 β†’ ↓TXA2 β†’ ↓platelet aggregation (for life of platelet ~7–10 days)", "GI bleed, Reye's syndrome (children + viral illness - CI!), bronchospasm in aspirin-sensitive asthma", "Antiplatelet: MI prophylaxis, ACS, stroke prevention"],
    ["Clopidogrel", "ADP receptor (P2Y12) antagonist β†’ ↓platelet aggregation (prodrug, activated by CYP2C19)", "Bleeding, TTP (rare), less GI bleed than aspirin", "ACS, post-coronary stent, stroke prevention (with aspirin = dual antiplatelet)"],
    ["Atorvastatin", "Inhibits HMG-CoA reductase β†’ ↓cholesterol synthesis β†’ ↑LDL receptors on hepatocytes", "Myopathy/rhabdomyolysis (↑CK), hepatotoxicity (↑LFTs), teratogen", "Hypercholesterolaemia, CAD prevention, diabetic dyslipidaemia"],
]
story.append(drug_table(HDRS4, cvs_rows, "CVS", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 5. RESPIRATORY
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("5. RESPIRATORY SYSTEM", "RESP"))
story.append(Spacer(1,2*mm))

resp_rows = [
    ["Salbutamol (SABA)", "Selective Ξ²2 agonist β†’ bronchodilation (quick onset 5 min)", "Tremor, tachycardia, hypokalaemia (high dose)", "Acute asthma (rescue), COPD (symptom relief)"],
    ["Salmeterol (LABA)", "Selective Ξ²2 agonist (long-acting, 12 hrs)", "Same as salbutamol; NOT for acute attack", "Asthma maintenance (always with ICS), COPD"],
    ["Ipratropium (SAMA)", "Muscarinic antagonist β†’ bronchodilation (blocks bronchoconstriction)", "Dry mouth, urinary retention, blurred vision", "COPD (preferred over Ξ²2 in COPD), acute severe asthma (add-on)"],
    ["Beclomethasone (ICS)", "Inhaled corticosteroid β†’ ↓airway inflammation, ↓mucus, ↓hyperreactivity", "Oropharyngeal candidiasis (rinse mouth!), hoarseness; systemic SE at high dose", "Asthma maintenance (cornerstone of persistent asthma)"],
    ["Montelukast", "Leukotriene receptor antagonist (CysLT1 blocker) β†’ ↓bronchoconstriction + inflammation", "Headache, GI upset, rare neuropsychiatric effects", "Asthma (add-on), exercise-induced asthma, allergic rhinitis"],
    ["Theophylline", "Non-selective PDE inhibitor β†’ ↑cAMP β†’ bronchodilation + mild anti-inflammatory; also adenosine antagonist", "Narrow TI! Nausea, vomiting, arrhythmias, seizures (toxic). Enzyme inducers ↓levels, inhibitors ↑levels", "Asthma/COPD (now 3rd line), apnoea of prematurity (neonates)"],
    ["Codeine", "Weak opioid + direct effect on cough centre", "Constipation, sedation, dependence", "Dry non-productive cough, mild pain, diarrhoea"],
    ["Dextromethorphan", "Non-opioid; acts on sigma receptor / cough centre", "Dizziness, sedation (no analgesia, no constipation)", "OTC cough suppressant"],
    ["N-Acetylcysteine (NAC)", "Replenishes glutathione (antioxidant) + mucolytic (breaks disulfide bonds in mucus)", "Nausea, anaphylactoid (IV)", "Paracetamol overdose antidote; mucolytic in COPD/cystic fibrosis"],
]
story.append(drug_table(HDRS4, resp_rows, "RESP", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 6. GIT
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("6. GASTROINTESTINAL TRACT (GIT)", "GIT"))
story.append(Spacer(1,2*mm))

git_rows = [
    ["Omeprazole (PPI)", "Irreversibly inhibits H⁺/K⁺-ATPase (proton pump) on parietal cells β†’ profound acid suppression", "Headache, diarrhoea; long-term: hypomagnesaemia, ↑C. diff risk, ↓Vit B12, ↑fracture risk, ↑gastrin", "Peptic ulcer, GERD, H. pylori eradication, ZES"],
    ["Ranitidine (H2 blocker)", "Competitive H2 receptor antagonist on parietal cells β†’ ↓acid", "Headache, dizziness, rarely gynaecomastia (cimetidine >> ranitidine)", "Peptic ulcer, GERD (less potent than PPIs)"],
    ["Antacids (Mg/Al salts)", "Neutralise gastric acid (chemical neutralisation, not pump inhibition)", "Al: constipation; Mg: diarrhoea; hypophosphataemia (Al); ↓absorption of other drugs", "Symptomatic relief of heartburn/peptic ulcer"],
    ["Sucralfate", "Polymerises in acid β†’ viscous gel coating ulcer base (protective barrier)", "Constipation, ↓absorption of other drugs (give 2hr apart)", "Peptic ulcer (especially duodenal); stress ulcer prophylaxis"],
    ["Misoprostol", "PGE1 analogue β†’ ↑mucus/bicarbonate + ↓acid (Ep3 receptor)", "Diarrhoea, abdominal cramps, uterine contractions (CI pregnancy for ulcers)", "NSAID-induced ulcer prevention; cervical ripening; PPH management"],
    ["Metoclopramide", "D2 antagonist (central + peripheral) + 5-HT4 agonist β†’ ↑GI motility + anti-emetic", "Tardive dyskinesia (long-term), acute dystonic reactions, hyperprolactinaemia, sedation", "Nausea/vomiting, gastroparesis, GERD"],
    ["Ondansetron", "5-HT3 receptor antagonist (central & peripheral) β†’ anti-emetic", "Headache, constipation, QT prolongation (high dose)", "Chemotherapy-induced N&V (DOC), post-op N&V"],
    ["Loperamide", "Peripheral ΞΌ-opioid receptor agonist β†’ ↓GI motility + ↓secretion (no CNS penetration)", "Constipation, bloating; avoid in infective diarrhoea", "Acute/chronic diarrhoea (not for dysentery)"],
    ["Lactulose", "Synthetic disaccharide β†’ osmotic laxative; ↑NH3 metabolism by colonic bacteria", "Flatulence, abdominal cramps, diarrhoea", "Constipation; hepatic encephalopathy (↓ammonia absorption)"],
    ["Ursodeoxycholic acid", "Hydrophilic bile acid β†’ ↓cholesterol secretion + dissolves cholesterol gallstones", "Diarrhoea, transient ↑LFTs", "Cholesterol gallstones (small, radiolucent), primary biliary cirrhosis"],
]
story.append(drug_table(HDRS4, git_rows, "GIT", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 7. ENDOCRINE
# ═══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(section_header("7. ENDOCRINE & METABOLIC", "ENDO"))
story.append(Spacer(1,2*mm))

endo_rows = [
    ["Metformin (Biguanide)", "↓Hepatic gluconeogenesis (activates AMPK) + ↑peripheral glucose uptake; does NOT cause hypoglycaemia", "Lactic acidosis (rare, CI in renal failure/contrast dye), GI upset (N/V/D), ↓Vit B12; NO weight gain", "Type 2 DM (1st line, especially obese patients)"],
    ["Glibenclamide (Sulfonylurea)", "Closes ATP-sensitive K⁺ channel on Ξ²-cells β†’ depolarisation β†’ ↑insulin release", "Hypoglycaemia (major), weight gain", "Type 2 DM"],
    ["Insulin (various types)", "Binds insulin receptor (RTK) β†’ ↑GLUT4 translocation β†’ ↑glucose uptake; ↑glycogen synthesis", "Hypoglycaemia, weight gain, lipodystrophy at injection site, hypokalaemia (IV insulin)", "Type 1 DM (essential), Type 2 DM (when OHAs fail), DKA, hyperkalaemia"],
    ["Thiazolidinediones (Pioglitazone)", "PPAR-Ξ³ agonist β†’ ↑insulin sensitivity in fat/muscle (insulin sensitiser)", "Weight gain, oedema, heart failure (CI), bladder cancer risk, fractures", "Type 2 DM (insulin sensitiser)"],
    ["Levothyroxine (T4)", "Synthetic T4 β†’ converted to T3; acts on nuclear receptors β†’ ↑metabolism", "Signs of hyperthyroidism if overdose: tachycardia, weight loss, insomnia, osteoporosis", "Hypothyroidism (DOC), myxoedema coma, goitre suppression"],
    ["Propylthiouracil (PTU)", "Inhibits thyroid peroxidase (TPO) β†’ ↓T3/T4 synthesis; also blocks T4β†’T3 conversion", "Agranulocytosis (0.5%), skin rash, hepatotoxicity, teratogen (less than MMI), vasculitis", "Hyperthyroidism (preferred in 1st trimester, thyroid storm)"],
    ["Methimazole (MMI) / Carbimazole", "Inhibits TPO β†’ ↓T3/T4 synthesis (does NOT block T4β†’T3 conversion)", "Agranulocytosis, skin rash, teratogen (aplasia cutis - avoid in 1st trimester)", "Hyperthyroidism (preferred maintenance; avoid in 1st trimester)"],
    ["Dexamethasone / Prednisolone", "Binds glucocorticoid receptor β†’ ↓NF-ΞΊB β†’ ↓inflammatory cytokines; ↑gluconeogenesis", "Cushing's syndrome (obesity, buffalo hump, moon face), osteoporosis, hyperglycaemia, peptic ulcer, adrenal suppression, immunosuppression, psychosis", "Asthma, COPD exacerbation, autoimmune diseases, anaphylaxis (2nd line), cerebral oedema"],
    ["Fludrocortisone", "Synthetic mineralocorticoid β†’ ↑Na retention, ↑K excretion", "Hypertension, oedema, hypokalaemia", "Addison's disease (adrenal insufficiency), postural hypotension"],
    ["Octreotide", "Somatostatin analogue β†’ ↓GH, ↓insulin, ↓glucagon, ↓GI secretions", "Gallstones (↓bile motility), GI discomfort, bradycardia, steatorrhoea", "Acromegaly, carcinoid syndrome, variceal bleeding (acute), VIPoma"],
    ["Alendronate (Bisphosphonate)", "Inhibits osteoclast-mediated bone resorption (inhibits farnesyl pyrophosphate synthase)", "Oesophageal erosions (take upright, plenty water), osteonecrosis of jaw, atypical femoral fracture", "Osteoporosis, Paget's disease, hypercalcaemia of malignancy"],
]
story.append(drug_table(HDRS4, endo_rows, "ENDO", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 8. ANTIMICROBIALS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("8. ANTIMICROBIAL AGENTS", "ANTI"))
story.append(Spacer(1,2*mm))

anti_rows = [
    ["Penicillin G / Amoxicillin", "Ξ²-lactam ring β†’ inhibits transpeptidase (PBP) β†’ ↓cell wall synthesis (bactericidal)", "Hypersensitivity (anaphylaxis!), GI upset, pseudomembranous colitis, Jarisch-Herxheimer reaction", "Strep throat, syphilis, pneumonia, meningitis, H. pylori (amox)"],
    ["Cloxacillin / Flucloxacillin", "Penicillinase-resistant penicillin β†’ active against MSSA", "Cholestatic jaundice (flucloxacillin), hypersensitivity", "Staphylococcal infections (skin, bone, joint - MSSA only)"],
    ["Cephalosporins (Gen 1-4)", "Ξ²-lactam ring β†’ inhibits PBPs β†’ cell wall synthesis inhibition (bactericidal)", "Hypersensitivity (10% cross-react with PCN), pseudomembranous colitis, ↑INR; Ceftriaxone: gallbladder sludge", "Gen 1 (Cefalexin): skin/UTI; Gen 3 (Ceftriaxone): meningitis, gonorrhoea, typhoid; Gen 4 (Cefepime): pseudomonas"],
    ["Vancomycin", "Inhibits cell wall synthesis by binding D-Ala-D-Ala terminus (different to Ξ²-lactams; no cross-resistance)", "Nephrotoxicity, ototoxicity, Red man syndrome (slow infusion to prevent), thrombophlebitis", "MRSA (DOC!), C. diff (oral, 2nd line), PCN-allergic severe infections"],
    ["Gentamicin (Aminoglycoside)", "Binds 30S ribosome β†’ mistranslation β†’ bactericidal (concentration-dependent); requires O2 (aerobic only)", "Nephrotoxicity + ototoxicity (irreversible); CI in pregnancy; neuromuscular blockade", "Gram-negative sepsis, UTI, endocarditis (synergy), plague"],
    ["Tetracycline / Doxycycline", "Binds 30S ribosome β†’ ↓tRNA binding β†’ bacteriostatic; chelates Ca²⁺/Mg²⁺", "Teeth discolouration (CI <8yr, pregnancy), photosensitivity, GI upset, oesophageal ulcers, antacids/dairy reduce absorption", "Atypicals (Mycoplasma, Chlamydia, Rickettsia), acne, malaria prophylaxis (doxy), MRSA (doxy/minocycline)"],
    ["Erythromycin / Azithromycin (Macrolides)", "Binds 50S ribosome (23S rRNA) β†’ inhibits translocation β†’ bacteriostatic; Azithromycin: tΒ½ 3 days", "QT prolongation, GI motility (N/V), cholestatic jaundice (erythromycin estolate), CYP inhibitor (erythromycin)", "Atypicals, H. pylori (clarithromycin), STIs (azithromycin single dose), PCN-allergic patients"],
    ["Chloramphenicol", "Binds 50S ribosome β†’ inhibits peptidyl transferase β†’ bacteriostatic (or cidal for H. flu, Neisseria)", "Grey baby syndrome (neonates - lack glucuronyl transferase), aplastic anaemia (idiosyncratic), reversible bone marrow suppression (dose-related)", "Typhoid (now 3rd line), meningitis, rickettsial disease, plague"],
    ["Ciprofloxacin (Fluoroquinolone)", "Inhibits DNA gyrase (topoisomerase II) + topoisomerase IV β†’ ↓DNA replication (bactericidal)", "Tendinopathy/tendon rupture (CI in athletes/elderly), photosensitivity, QT prolongation, CI in children (cartilage damage), arthropathy", "UTI (DOC uncomplicated), typhoid, anthrax, STIs (gonorrhoea)"],
    ["Metronidazole", "Reduced by bacterial/protozoal proteins β†’ toxic intermediates β†’ DNA strand breaks (bactericidal/protozoicidal; anaerobic only)", "Metallic taste, disulfiram-like reaction (avoid alcohol!), peripheral neuropathy, dark urine, nausea", "Anaerobic infections, H. pylori, C. diff (1st line for mild/mod), Trichomoniasis, Giardia, Amoebiasis"],
    ["Co-trimoxazole (TMP-SMX)", "Sulfamethoxazole inhibits dihydropteroate synthase; Trimethoprim inhibits DHFR β†’ sequential block of folate synthesis", "Bone marrow suppression, Stevens-Johnson syndrome, hyperkalaemia, nephrotoxicity, CI in G6PD deficiency", "UTI (prophylaxis), Pneumocystis jirovecii pneumonia (PCP - DOC), Nocardia, Toxoplasma"],
    ["INH (Isoniazid)", "Inhibits InhA (mycolic acid synthesis) β†’ only active against dividing MTB. Bactericidal for intracellular + extracellular", "Peripheral neuropathy (pyridoxine B6 deficiency β†’ give B6 prophylactically!), hepatotoxicity, lupus-like syndrome, fast vs slow acetylators", "TB (1st line; all phases)"],
    ["Rifampicin", "Inhibits DNA-dependent RNA polymerase (bacterial, NOT mammalian)", "Red-orange discolouration of body fluids (warn patient!), hepatotoxicity, potent enzyme inducer (↓OCP, warfarin, AEDs!), flu-like syndrome (intermittent), thrombocytopenia", "TB (1st line; sterilising drug), leprosy, meningococcal prophylaxis"],
    ["Pyrazinamide (PZA)", "Converted to pyrazinoic acid β†’ inhibits fatty acid synthase β†’ active in acidic pH (intracellular)", "Hyperuricaemia (gout!), hepatotoxicity, arthralgia, flushing", "TB (1st 2 months - intensive phase; kills dormant intracellular bacilli)"],
    ["Ethambutol (E)", "Inhibits arabinosyl transferase β†’ ↓arabinogalactan (cell wall) synthesis; bacteriostatic", "Optic neuritis β†’ colour blindness (red-green) + ↓visual acuity (dose-dependent, reversible); hyperuricaemia", "TB (1st line for initial 2 months)"],
    ["Amphotericin B", "Binds ergosterol in fungal cell membrane β†’ forms pores β†’ cell lysis (fungicidal)", "Nephrotoxicity (major, dose-limiting), hypokalaemia, hypomagnesaemia, infusion reactions (fever, chills - pre-medicate with paracetamol/antihistamine), anaemia", "Severe systemic fungal infections (aspergillosis, cryptococcosis, mucormycosis, candida), visceral leishmaniasis"],
    ["Fluconazole (Azole)", "Inhibits lanosterol 14Ξ±-demethylase (CYP51) β†’ ↓ergosterol synthesis β†’ ↑membrane permeability", "Hepatotoxicity, QT prolongation, teratogen (CI in 1st trimester), drug interactions (CYP inhibitor - ↑warfarin, statins)", "Candidiasis (oral, vaginal, systemic), cryptococcal meningitis, prophylaxis in immunocompromised"],
    ["Chloroquine", "Accumulates in parasite vacuole β†’ inhibits haem polymerisation β†’ toxic haem accumulates β†’ kills parasite; also immunomodulatory", "Retinopathy (long-term β†’ visual field defects, CI in pre-existing eye disease), pruritus (esp. in Africans), QT prolongation, G6PD-haemolysis, exacerbates psoriasis", "Malaria (P. vivax, P. ovale, chloroquine-sensitive P. falciparum), RA, SLE"],
    ["Artemisinin (Artesunate)", "Endoperoxide bridge β†’ free radicals β†’ oxidative damage to parasite; rapid acting; artemisinin combination therapy (ACT)", "GI upset, dizziness, rare neurotoxicity; teratogenic in 1st trimester", "Severe/complicated malaria (P. falciparum, IV artesunate = DOC); ACT for uncomplicated falciparum malaria"],
]
story.append(drug_table(HDRS4, anti_rows, "ANTI", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 9. ANALGESICS / NSAIDs / AUTOCOIDS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(section_header("9. ANALGESICS, NSAIDs & AUTOCOIDS", "MISC"))
story.append(Spacer(1,2*mm))

misc_rows = [
    ["Aspirin (analgesic dose)", "Irreversibly inhibits COX-1 & COX-2 β†’ ↓PG synthesis β†’ analgesia + anti-inflammatory + antipyretic + antiplatelet", "GI ulcer/bleed, Reye's syndrome (children + virus β†’ CI!), bronchospasm (aspirin-sensitive asthma), salicylism (tinnitus, vomiting at high dose)", "Pain, fever, inflammation, anti-platelet (75-150mg), Kawasaki disease"],
    ["Ibuprofen", "Reversibly inhibits COX-1 & COX-2 β†’ ↓PGs", "GI upset/ulcer, fluid retention, ↑BP, renal impairment, ↑MI risk (COX-2 selectivity β†’ ↑TXA2/PGI2 ratio)", "Mild-moderate pain, fever, dysmenorrhoea, rheumatoid arthritis"],
    ["Celecoxib (selective COX-2 inhibitor)", "Selectively inhibits COX-2 β†’ ↓inflammation without ↓TXA2 (platelet-sparing)", "↑Cardiovascular risk (↑TXA2:PGI2 ratio β†’ thrombosis); less GI ulcer; sulfonamide allergy CI", "Arthritis (RA, OA) in patients with GI risk, familial adenomatous polyposis"],
    ["Paracetamol (Acetaminophen)", "Inhibits PG synthesis centrally (COX-3?); also endocannabinoid pathway; no anti-inflammatory peripherally", "Hepatotoxicity (overdose β†’ NAPQI β†’ glutathione depletion β†’ hepatic necrosis)\nAntidote: N-acetylcysteine (NAC)", "Mild-moderate pain, fever; safe in pregnancy (1st line), peptic ulcer patients"],
    ["Colchicine", "Binds tubulin β†’ ↓microtubule polymerisation β†’ ↓neutrophil migration/phagocytosis β†’ ↓urate crystal-induced inflammation", "GI upset (dose-limiting: diarrhoea), myopathy, neuropathy (long-term), bone marrow suppression", "Acute gout (treatment), gout prophylaxis, familial Mediterranean fever, pericarditis"],
    ["Allopurinol", "Inhibits xanthine oxidase β†’ ↓uric acid synthesis (↓hypoxanthine β†’ xanthine β†’ urate)", "Rash, SJS (HLA-B*5801 in Asians!), GI upset, acute gout flare on initiation (add colchicine); do NOT start during acute attack", "Chronic gout (prevention), hyperuricaemia (chemotherapy), renal stones (urate)"],
    ["Histamine (H1) blockers - Chlorphenamine", "Competitive H1 receptor antagonist β†’ ↓allergic response (1st gen: sedating, anticholinergic)", "Sedation, anticholinergic (dry mouth, urinary retention), paradoxical excitation in children", "Allergic rhinitis, urticaria, anaphylaxis (adjunct to adrenaline), motion sickness, cold symptoms"],
    ["Cetirizine / Loratadine (2nd gen H1)", "Peripheral H1 antagonist; less CNS penetration", "Non-sedating; occasional headache, dry mouth", "Allergic rhinitis, urticaria, atopic dermatitis"],
    ["5-HT (Serotonin)", "Complex: 5-HT1 (vasoconstriction in brain), 5-HT2 (platelet aggregation, smooth muscle), 5-HT3 (vomiting), 5-HT4 (GI motility)", "Serotonin syndrome (with SSRIs/MAOIs): hyperthermia, tremor, clonus, agitation, diaphoresis", "Physiological mediator; ergotamine (5-HT1 agonist) = migraine"],
    ["Sumatriptan", "Selective 5-HT1B/1D agonist β†’ cerebral vasoconstriction + ↓trigeminal neuropeptide release", "Chest tightness, flushing, paresthesia; CI: CAD, CVD, ergotamine within 24hr, pregnancy", "Acute migraine attack (DOC), cluster headache"],
]
story.append(drug_table(HDRS4, misc_rows, "MISC", CW4))
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 10. QUICK ANTIDOTES TABLE
# ═══════════════════════════════════════════════════════════════════════════════
story.append(section_header("10. ANTIDOTES & REVERSAL AGENTS (HIGH YIELD!)", "HEAD"))
story.append(Spacer(1,2*mm))

antidote_data = [
    [Paragraph("POISON / DRUG OVERDOSE", hdr_style), Paragraph("ANTIDOTE", hdr_style), Paragraph("MECHANISM / NOTE", hdr_style)],
    [Paragraph("Opioids (Morphine, Pethidine)", drug_style), Paragraph("Naloxone (IV/IM)", moa_style), Paragraph("ΞΌ-receptor antagonist; short tΒ½ β†’ may need repeat doses or infusion", note_style)],
    [Paragraph("Benzodiazepines", drug_style), Paragraph("Flumazenil", moa_style), Paragraph("GABA-A antagonist; short acting β†’ resedation possible; CI in BZD-dependent (seizures)", note_style)],
    [Paragraph("Paracetamol (Acetaminophen)", drug_style), Paragraph("N-Acetylcysteine (NAC)", moa_style), Paragraph("Replenishes glutathione; give within 8-10hr of OD for max effect; Rumack-Matthew nomogram", note_style)],
    [Paragraph("Organophosphates (OPC)", drug_style), Paragraph("Atropine + Pralidoxime (2-PAM)", moa_style), Paragraph("Atropine: blocks muscarinic SE; Pralidoxime: reactivates AChE (give EARLY before ageing)", note_style)],
    [Paragraph("Heparin", drug_style), Paragraph("Protamine sulphate", moa_style), Paragraph("Positively charged β†’ neutralises negatively charged heparin; 1mg/100 units heparin", note_style)],
    [Paragraph("Warfarin / Vit K antagonists", drug_style), Paragraph("Vit K (slow) / FFP (fast) / PCC", moa_style), Paragraph("Vit K reverses in 12-24hr; FFP = immediate; Beriplex (4-factor PCC) = fastest", note_style)],
    [Paragraph("Cyanide poisoning", drug_style), Paragraph("Hydroxocobalamin / Dicobalt edetate / Sodium thiosulphate", moa_style), Paragraph("Hydroxocobalamin (Cyanokit) = DOC; binds CN to form cyanocobalamin", note_style)],
    [Paragraph("Carbon Monoxide (CO)", drug_style), Paragraph("100% O2 (hyperbaric O2 in severe)", moa_style), Paragraph("↑CO displacement from Hb; HBO if coma/cardiac involvement/pregnancy", note_style)],
    [Paragraph("Methanol / Ethylene glycol", drug_style), Paragraph("Fomepizole (4-MP) / Ethanol", moa_style), Paragraph("Competitive inhibition of alcohol dehydrogenase β†’ prevent toxic metabolite formation", note_style)],
    [Paragraph("Digoxin toxicity", drug_style), Paragraph("Digoxin-specific Fab antibody fragments (Digibind)", moa_style), Paragraph("Bind and neutralise digoxin; correct hypokalaemia", note_style)],
    [Paragraph("Beta-blocker OD", drug_style), Paragraph("Glucagon / High-dose insulin", moa_style), Paragraph("Glucagon: ↑cAMP bypassing Ξ²-receptor; HIET (high-dose insulin euglycaemia therapy)", note_style)],
    [Paragraph("Iron OD", drug_style), Paragraph("Desferrioxamine (DFO)", moa_style), Paragraph("Chelates free iron β†’ urinary excretion; urine turns orange-red (vin rosΓ©)", note_style)],
    [Paragraph("Lead poisoning", drug_style), Paragraph("DMSA (Succimer) / EDTA / BAL", moa_style), Paragraph("DMSA (oral) for mild-mod; EDTA for severe; BAL for encephalopathy", note_style)],
    [Paragraph("Atropine (anticholinergic) OD", drug_style), Paragraph("Physostigmine", moa_style), Paragraph("Reversible AChE inhibitor; crosses BBB β†’ reverses central + peripheral effects", note_style)],
    [Paragraph("Methotrexate / Pyrimethamine", drug_style), Paragraph("Folinic acid (Leucovorin)", moa_style), Paragraph("Bypasses DHFR block; rescue therapy", note_style)],
]

antidote_t = Table(antidote_data, colWidths=[W*0.32, W*0.30, W*0.38], repeatRows=1)
antidote_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), CLR["HEAD"]),
    ("TEXTCOLOR",     (0,0), (-1,0), colors.white),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.white, BGCLR["MISC"]]),
    ("GRID",          (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
    ("TOPPADDING",    (0,0), (-1,-1), 3), ("BOTTOMPADDING",(0,0),(-1,-1),3),
    ("LEFTPADDING",   (0,0), (-1,-1), 4), ("RIGHTPADDING", (0,0),(-1,-1),4),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(antidote_t)
story.append(Spacer(1,4*mm))

# ═══════════════════════════════════════════════════════════════════════════════
# 11. BLOOD & ANTICOAGULANTS - additional details already in CVS
# Renals / Diuretics already in CVS
# ═══════════════════════════════════════════════════════════════════════════════

# Footer note
story.append(HRFlowable(width="100%", thickness=1, color=colors.grey))
story.append(Spacer(1,2*mm))
story.append(Paragraph(
    "Colour coding: GREEN text = MOA  |  RED text = Side Effects  |  BLUE text = Uses  |  BOLD = Drug name   "
    "|| KEY MNEMONICS: OPC antidote = Atropine + Pralidoxime  |  Anti-TB SE: INH→Neuropathy, Rifampicin→Red urine, PZA→Gout, Ethambutol→Eye  "
    "|| 30S ribosomes: Aminoglycosides, Tetracyclines  |  50S ribosomes: Macrolides, Chloramphenicol, Clindamycin  "
    "|| DOC Absence seizure = Ethosuximide  |  DOC Trigeminal neuralgia = Carbamazepine  |  DOC MRSA = Vancomycin",
    ParagraphStyle("footer", fontSize=6, fontName="Helvetica", textColor=colors.HexColor("#555555"), leading=9)
))

doc.build(story)
print("PDF generated:", OUTPUT)
Running Command

cd /home/daytona/workspace/pharma-cheatsheet && python generate_cheatsheet.py 2>…

Editing File

~/pharma-cheatsheet/generate_cheatsheet.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-cheatsheet/generate_cheatsheet.py'
Running Command

cd /home/daytona/workspace/pharma-cheatsheet && python generate_cheatsheet.py 2>…

Running Command

ls -lh /home/daytona/workspace/pharma-cheatsheet/Pharmacology_Cheatsheet.pdf

Your cheat sheet is ready bro! Download it here:

Pharmacology Cheatsheet

PDF Document Β· PDF


What's inside (colour-coded, A4 printable):

SectionDrugs Covered
1. General PharmacologyBioavailability, First-pass, TI, Agonists, Zero-order kinetics, Vd
2. ANSACh, Pilocarpine, Neostigmine, Atropine, OPC poisoning, Adrenaline, Dopamine, Salbutamol, Propranolol, Atenolol, Prazosin, Clonidine (14 drugs)
3. CNSDiazepam, Phenobarbitone, Phenytoin, Valproate, Carbamazepine, Ethosuximide, Haloperidol, Clozapine, Chlorpromazine, Morphine, Pethidine, Tramadol, Thiopentone, Halothane, Ketamine, Imipramine, Fluoxetine, Lithium, Levodopa, Donepezil (20 drugs)
4. CVSACE-I, ARB, Amlodipine, Verapamil, Thiazide, Frusemide, Spironolactone, Digoxin, GTN, Quinidine, Lignocaine, Amiodarone, Heparin, Warfarin, Aspirin, Clopidogrel, Atorvastatin, Streptokinase (18 drugs)
5. RespiratorySalbutamol, Salmeterol, Ipratropium, Beclomethasone, Montelukast, Theophylline, Codeine, Dextromethorphan, NAC (9 drugs)
6. GITOmeprazole, Ranitidine, Antacids, Sucralfate, Misoprostol, Metoclopramide, Ondansetron, Loperamide, Lactulose, UDCA (10 drugs)
7. EndocrineMetformin, Glibenclamide, Insulin, Pioglitazone, Levothyroxine, PTU, MMI, Dexamethasone, Fludrocortisone, Octreotide, Alendronate (11 drugs)
8. AntimicrobialsPenicillin, Cloxacillin, Cephalosporins, Vancomycin, Gentamicin, Tetracycline, Erythromycin, Chloramphenicol, Ciprofloxacin, Metronidazole, Co-trimoxazole, INH, Rifampicin, PZA, Ethambutol, Amphotericin B, Fluconazole, Chloroquine, Artesunate (19 drugs)
9. Analgesics/NSAIDsAspirin, Ibuprofen, Celecoxib, Paracetamol, Colchicine, Allopurinol, Antihistamines, Sumatriptan (10 drugs)
10. Antidotes15 poison-antidote pairs (Naloxone, Flumazenil, NAC, Atropine+Pralidoxime, Protamine, Vit K, etc.)
Each drug row has: Drug name | MOA | Side effects | Uses - colour coded so you can scan fast. The bottom of the PDF has key mnemonics and ribosome targets (30S vs 50S) to memorise quickly. Good luck tomorrow! πŸ’ͺ
This is a shared conversation. Sign in to Orris to start your own chat.