analyse_media
analyse_media
analyse_media
analyse_media
I have all the content. Now let me provide complete, detailed answers to every question in this exam paper.

Pharmacology Exam - Complete Answer Key

Abhishek I Mishra Memorial Medical College & Research, Bhilai (CG)

SECTION I: MCQ ANSWERS (1×20 = 20 Marks)

QAnswerExplanation
1B) AtenololAtenolol is cardioselective (beta-1 selective). Propranolol, Timolol, and Sotalol are non-selective beta-blockers.
2D) 4-5Steady-state is reached after ~4-5 half-lives regardless of dose during constant-rate IV infusion (first-order kinetics).
3C) Reye's SyndromeAspirin in children with viral illness (influenza, varicella) causes Reye's Syndrome - acute hepatic encephalopathy with fatty liver degeneration.
4A) Intramuscular adrenalineIM adrenaline (epinephrine) 0.5 mg into the anterolateral thigh is the drug of choice. IV route is reserved for cardiac arrest only.
5D) Long-acting beta-2 agonist (LABA) for maintenance therapySalmeterol is a LABA (duration ~12 hours), used for maintenance/prevention, NOT for acute rescue.
6B) Inhibit the acetylcholinesterase enzymeNeostigmine reversibly inhibits AChE, preventing ACh breakdown at the NMJ, increasing availability of ACh to act on remaining functional receptors.
7C) IndomethacinIndomethacin (NSAID) is first-line for acute gout. Allopurinol/probenecid are for chronic prophylaxis, not acute attacks.
8C) LoratadineLoratadine is a 2nd-generation H1 antagonist - non-sedating because it does not cross the blood-brain barrier well. Diphenhydramine, Promethazine, Chlorpheniramine are all 1st-generation (sedating).
9C) PrazosinPrazosin is a non-selective alpha-1 blocker that effectively treats both hypertension AND BPH. Tamsulosin/Silodosin are uro-selective (alpha-1A) - good for BPH but less effective for BP. Alfuzosin is similar. Prazosin addresses both.
10Blocking voltage-gated sodium channels (not listed as option in image - answer is D: Blocking voltage-gated sodium channels)Local anesthetics block Na+ channels from the intracellular side, preventing depolarization and nerve conduction.
11C) Contraction leading to urine voidingM3 receptors on the detrusor muscle mediate contraction → bladder empties. M3 antagonism (e.g., oxybutynin) causes urinary retention.
12D) Alpha-1 receptor agonismPhenylephrine is a direct alpha-1 agonist. It dilates the pupil (mydriasis) by contracting the radial/dilator pupillae muscle without cycloplegia.
13B) DextromethorphanDextromethorphan is a centrally acting antitussive for dry, non-productive cough. Ambroxol, Bromhexine, Guaifenesin are mucolytics/expectorants - for productive cough.
14B) MethotrexateMethotrexate is the gold-standard anchor DMARD for rheumatoid arthritis. It inhibits dihydrofolate reductase, suppressing the immune response.
15C) DantroleneDantrolene is the specific antidote for malignant hyperthermia. It inhibits ryanodine receptor (RyR1), preventing Ca²+ release from sarcoplasmic reticulum.
16B) Substantially longer half-lifePrazosin has a half-life of ~3 hours vs. phentolamine's ~20 minutes. Phentolamine also blocks alpha-2 (causing reflex tachycardia), while prazosin is selective for alpha-1. Both options B and A are partially correct, but the PRIMARY pharmacological reason favoring prazosin for chronic use is its selectivity (alpha-1 only, no reflex tachycardia) - A) Selectively antagonizes alpha-1 receptors is the best answer.
17B) Ligand-gated sodium channelNicotinic receptors (Nm at NMJ) are ionotropic receptors - ligand-gated Na+/K+ (predominantly Na+) ion channels. Binding of ACh opens the channel directly.
18C) 5-HT3 serotonin receptorsOndansetron is a selective 5-HT3 antagonist. It blocks serotonin receptors in the gut (afferent vagal fibers) and the chemoreceptor trigger zone.
19B) AlbuminAlbumin is the primary plasma protein binding acidic drugs (e.g., warfarin, NSAIDs, penicillins). Alpha-1 acid glycoprotein binds basic drugs.
20A) Prior to the "aging" of the phosphorylated enzymePralidoxime (2-PAM) must be given early (within 24-48 hours) before aging occurs. Once aging happens, the AChE-OP bond becomes irreversible and pralidoxime is ineffective.

SECTION II: STRUCTURED LONG QUESTIONS (2×10 = 20 Marks)

Question 1: Organophosphate (OP) Poisoning (10 Marks)

Clinical Scenario: 35-year-old farmer - excessive salivation, vomiting, cramps, involuntary urination, bradycardia (HR 50), hypotension (100/60), pinpoint pupils, muscle fasciculations, garlic odor.

a) Most Likely Diagnosis + Molecular Mechanism of Toxicity (3 Marks)
Diagnosis: Acute Organophosphate (OP) Insecticide Poisoning - causing a Cholinergic Crisis.
Molecular Mechanism:
  • OP compounds (e.g., malathion, parathion) are irreversible inhibitors of acetylcholinesterase (AChE).
  • They bind covalently to the serine residue at the esteratic site of AChE via phosphorylation.
  • This prevents hydrolysis of ACh → ACh accumulates at all cholinergic synapses (muscarinic + nicotinic).
  • Excess ACh overstimulates both muscarinic receptors (SLUDGE/DUMBELS symptoms) and nicotinic receptors (NMJ - fasciculations → paralysis; ganglia - hypertension initially).
  • The garlic odor is characteristic of many OP compounds.

b) Pharmacological Management + Mechanism + Clinical Endpoint (4 Marks)
Step 1 - Primary Life-Saving Drug: Atropine
  • Mechanism: Competitive antagonist at muscarinic (M1, M2, M3) receptors. Blocks the effects of accumulated ACh at muscarinic sites.
  • Given IV in large, escalating doses (2 mg IV every 5-10 min; up to hundreds of mg may be needed).
  • Clinical Endpoint (Atropinization):
    • Drying of secretions (dry mouth, cessation of bronchial secretions) - most important end-point
    • HR > 80 beats/min
    • Pupils dilate (mydriasis)
    • Skin becomes dry and flushed
    • Note: Atropine does NOT reverse nicotinic effects (fasciculations, paralysis)
Step 2 - Pralidoxime (2-PAM):
  • Mechanism: Oxime compound that reactivates AChE by nucleophilic attack on the phosphorus atom of the OP-AChE complex, releasing free AChE.
  • Addresses BOTH muscarinic AND nicotinic effects.
  • Must be given early, before "aging."
Supportive: Airway management, oxygen, decontamination, benzodiazepines for seizures.

c) Enzyme "Aging" and Clinical Impact on Pralidoxime (3 Marks)
Enzyme Aging:
  • After OP binds to AChE, a time-dependent process occurs where the phosphorylated enzyme undergoes dealkylation (loss of one alkyl group from the phosphate moiety).
  • This makes the OP-AChE bond extremely stable and resistant to hydrolysis or nucleophilic attack.
  • The enzyme becomes permanently inactivated - no longer reactivatable.
  • Time to aging varies by OP compound: dimethyl compounds age in ~hours; diethyl compounds take longer (days).
Clinical Impact:
  • Pralidoxime (2-PAM) MUST be administered before aging occurs (ideally within 24-48 hours of exposure, preferably within 6-12 hours).
  • After aging, pralidoxime is completely ineffective - the covalent bond cannot be broken.
  • Recovery then depends solely on synthesis of new AChE (weeks) and symptomatic management with atropine.
  • This explains why early diagnosis and treatment are critical.

Question 2: Propranolol + Aspirin precipitating Asthma exacerbation (3+3+2+2 = 10 Marks)

Clinical Scenario: 45-year-old asthmatic on Propranolol (for migraine prophylaxis) who took high-dose Aspirin → severe bronchospasm within 2 hours.

a) Propranolol mechanism + Asthma exacerbation (3 Marks)
Mechanism of Propranolol:
  • Propranolol is a non-selective beta-adrenergic blocker (blocks beta-1 AND beta-2 receptors).
  • Normally, endogenous catecholamines (adrenaline) act on beta-2 receptors in bronchial smooth muscle → adenylate cyclase activation → increased cAMP → bronchodilation.
How it causes exacerbation:
  • By blocking beta-2 receptors, Propranolol removes the physiological bronchodilator tone in airways.
  • Unopposed parasympathetic (muscarinic) activity now dominates → bronchoconstriction.
  • Beta-2 blockade also inhibits mast cell membrane stabilization → facilitates mediator release.
  • In an asthmatic, whose airways are already hyperreactive, this beta-2 blockade precipitates severe, potentially life-threatening bronchospasm.
  • Cardioselective beta-blockers (atenolol, metoprolol) are relatively safer but still not ideal in asthmatics.

b) Aspirin mechanism + Asthma exacerbation (3 Marks)
Mechanism of Aspirin:
  • Aspirin irreversibly inhibits COX-1 and COX-2 (cyclooxygenase enzymes) by acetylation of a serine residue.
  • This blocks conversion of arachidonic acid to prostaglandins and thromboxanes.
How it causes exacerbation (Aspirin-Exacerbated Respiratory Disease / Samter's Triad):
  • With COX pathway blocked, arachidonic acid is shunted into the 5-lipoxygenase (5-LOX) pathway.
  • This dramatically increases production of cysteinyl leukotrienes (LTC4, LTD4, LTE4).
  • Leukotrienes are potent bronchoconstrictors (1000x more potent than histamine), cause mucosal edema, and increase mucus secretion.
  • This is "Aspirin-sensitive asthma" or "aspirin-induced bronchospasm" - occurs in ~10% of asthmatics.
  • All NSAIDs can trigger this (cross-reactive), but paracetamol at standard doses is safe.

c) Four Therapeutic Uses of Propranolol (2 Marks)
  1. Hypertension - reduces cardiac output and renin secretion
  2. Angina pectoris - reduces myocardial oxygen demand
  3. Cardiac arrhythmias - supraventricular tachycardia, ventricular arrhythmias
  4. Migraine prophylaxis - mechanism unclear, possibly stabilizes cerebral vasculature
  5. (Bonus: Thyrotoxicosis, essential tremor, anxiety, pheochromocytoma, post-MI)

d) Two Uses + Two Side Effects of Aspirin (2 Marks)
Therapeutic Uses:
  1. Anti-platelet (low dose 75-150 mg): Prevention of MI, stroke, DVT
  2. Analgesic/antipyretic/anti-inflammatory: Pain, fever, rheumatic fever
Side Effects:
  1. Peptic ulcer/GI bleeding - inhibition of COX-1 reduces protective prostaglandins (PGE2, PGI2) in gastric mucosa
  2. Reye's Syndrome in children; also: Salicylism (tinnitus, vertigo, nausea at high doses), bleeding tendency

SECTION III: SHORT NOTES - REASONING (5×3 = 15 Marks)

1. Why non-selective beta-blockers are avoided in Diabetes Mellitus

  • Hypoglycemia masking: The symptoms of hypoglycemia (tachycardia, palpitations, tremor) are mediated by the sympathoadrenal response via beta-2 receptors. Non-selective beta-blockers blunt these warning symptoms → patient unaware of dangerous hypoglycemia. (Note: sweating is preserved as it is cholinergic.)
  • Impaired glycogenolysis: Beta-2 stimulation in the liver promotes glycogenolysis (conversion of glycogen to glucose) in response to hypoglycemia. Non-selective blockers inhibit this → prolonged, more severe hypoglycemia.
  • Impaired glucagon secretion: Beta-adrenergic stimulation aids glucagon release, which is counter-regulatory.
  • Cardioselective beta-1 blockers (atenolol, metoprolol) are relatively safer as they have less effect on beta-2-mediated glucose metabolism.

2. Why drugs with high plasma protein binding have long duration of action

  • Plasma proteins (mainly albumin) act as a reservoir - the drug-protein complex is pharmacologically inactive and too large to be filtered or metabolized.
  • Only free (unbound) drug is pharmacologically active, can cross membranes, reach the site of action, be metabolized by the liver, or be excreted by the kidneys.
  • As free drug is metabolized/excreted, the bound drug dissociates and replenishes the free fraction → maintains drug levels for longer.
  • This equilibrium (drug ⇌ protein-drug complex) means the drug is "stored" in plasma, slowly releasing → prolonged effect.
  • Example: Warfarin (99% protein bound) has a half-life of ~40 hours.
  • The volume of distribution is also reduced with high protein binding (drug stays in the vascular compartment).

3. Why Succinylcholine is contraindicated in Burns patients

Succinylcholine is a depolarizing neuromuscular blocker. In burns patients:
  • Thermal injury causes proliferation (upregulation) of extra-junctional nicotinic acetylcholine receptors (nAChRs) throughout the entire muscle membrane (not just at the NMJ). This begins 24-48 hours post-burn and peaks at ~2 weeks.
  • When succinylcholine is given, it depolarizes all these extra-junctional receptors simultaneously.
  • This causes massive, uncontrolled efflux of potassium from the muscle cells into the plasma.
  • Results in life-threatening hyperkalemia (serum K+ can rise by 5-10 mEq/L acutely).
  • Can cause ventricular fibrillation and cardiac arrest.
  • Same risk applies to: crush injuries, denervation injuries, prolonged immobilization, upper/lower motor neuron lesions.
  • This contraindication begins ~48 hours after the burn and can persist for up to 1-2 years.

4. Why Pralidoxime is NOT used in carbamate poisoning

  • Carbamates (e.g., neostigmine, physostigmine, carbaryl) also inhibit AChE, but the binding is reversible and spontaneous - the carbamate-AChE complex hydrolyzes on its own within 30-60 minutes.
  • In OP poisoning, pralidoxime reactivates AChE by breaking the stable phosphate bond before aging.
  • In carbamate poisoning, aging does NOT occur - the carbamylated AChE automatically regenerates.
  • Pralidoxime is NOT needed because AChE recovers spontaneously.
  • Furthermore, some evidence suggests pralidoxime may actually worsen carbamate toxicity by enhancing inhibition of AChE or through direct toxic effects.
  • Treatment of carbamate poisoning: Atropine alone (to block muscarinic effects) + supportive care.

5. Why NSAIDs cause peptic ulcer

NSAIDs cause peptic ulcers by two mechanisms:
1. Direct (Local) Effect:
  • NSAIDs are weak acids (e.g., aspirin pKa ~3.5). In the acidic gastric environment, they remain un-ionized and lipid-soluble → penetrate gastric epithelial cells → become ionized intracellularly → trapped → direct cellular toxicity.
2. Systemic (Main) Mechanism - COX-1 inhibition:
  • COX-1 is constitutively expressed in the gastric mucosa.
  • It normally produces cytoprotective prostaglandins (PGE2 and PGI2).
  • These prostaglandins: stimulate mucus secretion, stimulate HCO3- secretion, maintain mucosal blood flow, inhibit gastric acid secretion, and promote epithelial proliferation.
  • NSAIDs inhibit COX-1 → reduced cytoprotective prostaglandins → reduced mucus and HCO3- → increased acid → gastric mucosal damage → erosions/ulcers.
  • Note: Selective COX-2 inhibitors (e.g., celecoxib) spare COX-1 → lower GI risk (but higher cardiovascular risk).

SECTION IV: SHORT NOTES (APPLIED) (4×5 = 20 Marks)

Question 1: TB drugs + OCP failure → Pregnancy (1+3+1)

a) Drug Responsible: Rifampicin (Rifampin)
b) Pharmacokinetic Mechanism (3 Marks):
  • Rifampicin is a potent inducer of hepatic cytochrome P450 enzymes (particularly CYP3A4, CYP2C9, and CYP2C19) and also induces P-glycoprotein (drug efflux transporter).
  • Combined oral contraceptive pills (COCPs) contain synthetic estrogens (ethinylestradiol) and progestins, which are primarily metabolized by CYP3A4 in the liver and gut wall.
  • Rifampicin induction of CYP3A4 dramatically increases the first-pass metabolism of both estrogen and progestin components.
  • This leads to significantly reduced plasma levels of the contraceptive hormones (plasma levels can fall by 50-70%).
  • The hormones drop below the threshold needed to reliably:
    • Suppress ovulation
    • Thicken cervical mucus
    • Prevent implantation
  • Result: Contraceptive failure → unintended pregnancy.
  • Effect begins within days of starting Rifampicin and persists for up to 4-8 weeks after stopping it.
c) Alternative Contraceptive Advice (1 Mark):
  • Barrier methods (condoms ± spermicide) - most reliable non-hormonal option during TB treatment.
  • Intrauterine device (IUD/copper-T) - highly effective, not affected by enzyme induction.
  • Hormonal alternatives are unreliable during Rifampicin therapy.
  • If hormonal contraception is strongly preferred, advise using a higher-dose OCP + additional barrier method (not recommended as sole method).
  • Counsel that contraceptive protection should continue for at least 4-8 weeks after completing Rifampicin.

Question 2: Anaphylactic Shock - Bee sting (1+3+1)

a) Drug of Choice: Adrenaline (Epinephrine) 0.5 mg IM into the anterolateral thigh (1:1000 solution)
b) Mechanism reversing bronchospasm + hypotension (3 Marks):
Adrenaline acts on both alpha-1 and beta-2 adrenoceptors:
ReceptorLocationEffectBenefit in Anaphylaxis
Alpha-1Arteriolar smooth muscleVasoconstrictionReverses hypotension, reduces angioedema
Beta-1HeartIncreased HR and contractilityImproves cardiac output
Beta-2Bronchial smooth muscleBronchodilation (via cAMP ↑)Relieves bronchospasm
Beta-2Mast cellsInhibits further mediator release (histamine, leukotrienes)Stops the reaction
  • In anaphylaxis, massive histamine, LTC4/D4, and PAF release causes widespread vasodilation, increased vascular permeability, and bronchoconstriction.
  • Epinephrine's alpha-1 action: vasoconstriction → raises blood pressure, reduces mucosal edema.
  • Epinephrine's beta-2 action: relaxes bronchial smooth muscle → reverses bronchospasm; also stabilizes mast cells preventing further degranulation.
  • This dual mechanism makes epinephrine uniquely life-saving in anaphylaxis.
c) Why Noradrenaline is NOT suitable (1 Mark):
  • Noradrenaline acts mainly on alpha-1 and alpha-2 receptors with very minimal beta-2 activity.
  • It will cause vasoconstriction (helps BP) but cannot reverse bronchospasm (no meaningful beta-2 activity).
  • It also causes reflex bradycardia (via baroreceptor reflex from vasoconstriction).
  • It lacks the mast cell stabilizing (beta-2) effect.
  • Therefore, it addresses only the cardiovascular component and not the bronchoconstriction - making it inadequate as sole treatment.

Question 3: Allopurinol in Acute Gout (2+1+2)

a) Why Allopurinol worsened the acute attack (2 Marks):
  • Allopurinol is a xanthine oxidase inhibitor that lowers serum uric acid levels by reducing its synthesis.
  • When started during an acute attack, the rapid decrease in serum uric acid levels creates a uric acid gradient.
  • This mobilizes urate crystals from established tophaceous deposits in joints and periarticular tissues into the synovial fluid.
  • The fluctuating uric acid levels also promote new crystal formation in the joint space.
  • The crystals in synovial fluid trigger acute inflammation → neutrophil influx → phagocytosis of crystals → lysosomal enzyme release → more inflammation.
  • This is called a "mobilization flare" or paradoxical worsening.
  • Clinical rule: Allopurinol should NEVER be started during an acute attack. It is initiated 2-4 weeks after the acute attack resolves, under NSAID cover.
b) Mechanism of action of Allopurinol in chronic gout (1 Mark):
  • Allopurinol (and its active metabolite oxypurinol) is a competitive/non-competitive inhibitor of xanthine oxidase.
  • Xanthine oxidase normally converts hypoxanthine → xanthine → uric acid.
  • Inhibition leads to accumulation of hypoxanthine and xanthine (more soluble than uric acid) and reduced uric acid production.
  • Over time, this lowers serum and urinary uric acid levels, dissolves existing tophi, and prevents new crystal deposition.
c) Cellular target of Colchicine in relieving acute pain (2 Marks):
  • Colchicine binds to tubulin (beta-tubulin subunits), preventing its polymerization into microtubules.
  • This disrupts microtubule assembly → impairs neutrophil motility and chemotaxis (neutrophils can't migrate to the site of crystal deposition).
  • Also inhibits inflammasome activation (NLRP3 inflammasome) → reduces IL-1beta production.
  • Inhibits neutrophil phagocytosis of urate crystals and degranulation.
  • Net effect: Neutrophils cannot respond to the crystals → inflammation is suppressed → pain relief.
  • Colchicine does NOT lower uric acid levels - it only treats the inflammatory component.

Question 4: Primary Open-Angle Glaucoma (POAG) (2+3)

a) Classification of drugs used in treatment (2 Marks):
ClassExamplesMechanism
Prostaglandin analoguesLatanoprost, Bimatoprost, TravoprostIncrease uveoscleral outflow
Beta-blockersTimolol, BetaxololDecrease aqueous humor production
Alpha-2 agonistsBrimonidine, ApraclonidineDecrease production + increase uveoscleral outflow
Carbonic anhydrase inhibitorsDorzolamide (topical), Acetazolamide (systemic)Decrease aqueous humor production
Miotics (Cholinergics)PilocarpineIncrease trabecular outflow (open drainage angle)
Rho kinase inhibitorsNetarsudilIncrease trabecular outflow
b) Mechanism of Latanoprost and Timolol reducing IOP (3 Marks):
Latanoprost:
  • A prostaglandin F2-alpha (FP receptor) analogue (prodrug - converted to latanoprost acid by corneal esterases).
  • Activates FP prostanoid receptors in the ciliary body and trabecular meshwork.
  • Remodels the extracellular matrix of the ciliary muscle → increases the uveoscleral (unconventional) outflow of aqueous humor by 50-100%.
  • Uveoscleral pathway: aqueous humor flows through the ciliary muscle into the suprachoroidal space and exits via the sclera.
  • Does NOT significantly affect aqueous humor production.
  • Administered once daily at night (highest efficacy); main side effect: increased iris/periorbital pigmentation, eyelash growth.
Timolol:
  • A non-selective beta-adrenergic blocker (blocks beta-1 and beta-2 receptors).
  • The ciliary body epithelium (which produces aqueous humor) has abundant beta-2 receptors; their activation by catecholamines stimulates adenylate cyclase → increased cAMP → enhanced aqueous humor production.
  • Timolol blocks these beta-2 receptors → decreased cAMP → reduced aqueous humor secretion by the ciliary body (by approximately 25-35%).
  • Also has some effect on beta-1 receptors → reduces aqueous humor production via that mechanism too.
  • Does NOT affect outflow.
  • Systemic absorption can cause bradycardia, bronchospasm (contraindicated in asthma/COPD).
  • Combined, Latanoprost + Timolol work complementarily (one increases outflow, the other decreases production).

SECTION V: SHORT NOTES (5×5 = 25 Marks)

1. Differences between Zero-Order and First-Order Kinetics

FeatureZero-Order KineticsFirst-Order Kinetics
DefinitionRate of elimination is constant, independent of drug concentrationRate of elimination is proportional to drug concentration
EquationdC/dt = -k₀ (constant)dC/dt = -kC
Amount eliminatedConstant amount per unit timeConstant fraction (%) per unit time
Half-lifeNot constant - increases as concentration risesConstant, independent of concentration
Plasma concentration curveLinear (straight line) on regular scaleExponential decay (straight line on log scale)
SaturationElimination enzymes are saturatedElimination enzymes are NOT saturated
Steady-stateCannot predict easily; accumulation riskReached predictably in ~4-5 half-lives
ExamplesEthanol, Aspirin (high dose), Phenytoin (high dose), HeparinMost drugs at therapeutic doses (e.g., penicillin, digoxin, paracetamol)
Clinical significanceSmall dose increases cause disproportionately large rises in plasma levels → toxicity riskPredictable, proportional relationship between dose and plasma level
Michaelis-MentenOccurs when concentration >> KmOccurs when concentration << Km

2. Adverse Effects of Alpha-Blockers

Non-selective alpha-blockers (phentolamine, phenoxybenzamine):
  • Reflex tachycardia (from alpha-2 blockade → increased NE release + baroreceptor reflex)
  • Palpitations
  • Nasal congestion (vasodilation of nasal mucosa)
  • GI effects: diarrhea, nausea (increased gut motility via alpha-2 blockade)
  • Sodium and water retention (via aldosterone)
  • Miosis (pupil constriction)
Selective alpha-1 blockers (prazosin, terazosin, doxazosin):
  • "First-dose phenomenon": Severe postural hypotension and syncope with the first dose → advise to take at bedtime. Mechanism: sudden loss of sympathetic vasoconstriction.
  • Postural/orthostatic hypotension (ongoing risk)
  • Dizziness and headache
  • Reflex tachycardia (less than non-selective)
  • Nasal congestion
  • Fluid retention (edema)
  • Sexual dysfunction: retrograde ejaculation (particularly tamsulosin - relaxes internal urethral sphincter)
  • Intraoperative Floppy Iris Syndrome (IFIS): Particularly with tamsulosin - iris becomes floppy during cataract surgery → complication.

3. Agonist and Antagonist acting on 5-HT System + Therapeutic Uses

5-HT (Serotonin) System Overview:
  • Multiple receptor subtypes: 5-HT1, 5-HT2, 5-HT3, 5-HT4, etc.
Agonists:
DrugReceptorTherapeutic Use
Sumatriptan (triptan)5-HT1B/1D agonistAcute migraine treatment (causes cranial vasoconstriction + inhibits CGRP release)
Buspirone5-HT1A partial agonistGeneralized anxiety disorder (GAD)
Metoclopramide5-HT4 agonist (+ D2 antagonist)Prokinetic - gastroparesis, GERD, nausea
Ergotamine5-HT1 partial agonistMigraine (older drug)
Antagonists:
DrugReceptorTherapeutic Use
Ondansetron5-HT3 antagonistCINV, post-operative nausea and vomiting
Cyproheptadine5-HT2 + H1 antagonistCarcinoid syndrome, allergic conditions, appetite stimulation
Ketanserin5-HT2A antagonistHypertension (limited use)
Clozapine/Risperidone5-HT2A + D2 antagonistSchizophrenia (atypical antipsychotics)
Methysergide5-HT2 antagonistMigraine prophylaxis (limited, risk of fibrosis)

4. Mechanism of Non-Depolarizing Blockers + Toxicity of Neuromuscular Blockers

Non-Depolarizing (Competitive) Neuromuscular Blockers (e.g., Vecuronium, Rocuronium, Atracurium, Pancuronium):
Mechanism:
  • Compete with ACh at the nicotinic receptor (Nm) at the NMJ - bind to alpha-subunits of the receptor without activating it.
  • Block is competitive - can be overcome by increasing ACh concentration.
  • Do NOT cause initial fasciculations (unlike succinylcholine).
  • Produce flaccid paralysis (muscle relaxation without prior excitation).
  • Reversal: Anticholinesterases (neostigmine, edrophonium) inhibit AChE → ACh accumulates → competes back the blocker off the receptor. Newer: Sugammadex (specifically reverses rocuronium/vecuronium by encapsulating them).
  • Order of paralysis: small muscles (eye, face) → limbs → intercostals → diaphragm (last to be paralyzed, first to recover).
Toxicity of Neuromuscular Blockers:
ToxicityCause/Mechanism
Respiratory paralysisParalysis of respiratory muscles → main life-threatening complication → requires mechanical ventilation
Histamine releaseAtracurium, mivacurium → bronchospasm, hypotension, urticaria
Malignant hyperthermiaSuccinylcholine (depolarizing) + volatile anesthetics → uncontrolled Ca²+ release
HyperkalemiaSuccinylcholine in burns, crush, denervation injuries → fatal arrhythmias
Prolonged paralysisIn pseudocholinesterase deficiency (succinylcholine apnea - hours of paralysis instead of minutes)
Cardiovascular effectsPancuronium → tachycardia (vagolytic); vecuronium → minimal cardiovascular effects
Phase II blockSuccinylcholine in high doses → converts to non-depolarizing-like block

5. Factors Modifying Drug Action

Drug action can be modified by patient-related, drug-related, and environmental factors:
1. Age:
  • Neonates/Infants: Immature hepatic enzymes (CYP450), reduced GFR, different body composition (more water), altered protein binding → higher drug sensitivity. Example: Gray Baby Syndrome (chloramphenicol).
  • Elderly: Reduced hepatic blood flow and enzyme activity, reduced renal function, reduced albumin, increased body fat → higher sensitivity to most drugs.
2. Body Weight / Obesity:
  • Drug doses often need adjustment based on body weight (mg/kg dosing).
  • Lipophilic drugs distribute more widely in obese patients → larger volume of distribution → prolonged action.
3. Genetics (Pharmacogenetics):
  • Slow vs. fast acetylators (isoniazid metabolism - NAT2 polymorphism).
  • G6PD deficiency → hemolysis with oxidant drugs.
  • Pseudocholinesterase deficiency → prolonged succinylcholine effect.
  • CYP2D6 polymorphism → variable codeine/tramadol metabolism.
4. Sex:
  • Women generally have less body water, more adipose tissue, lower gastric acid → altered drug distribution and kinetics.
  • Hormonal variations affect drug metabolism.
5. Disease States:
  • Liver disease: Reduced metabolism of hepatically metabolized drugs → accumulation.
  • Renal disease: Reduced excretion of renally eliminated drugs → toxicity (e.g., aminoglycosides, digoxin).
  • Cardiac failure: Reduced hepatic blood flow, altered volume of distribution.
  • Thyroid disease: Hyperthyroidism accelerates drug metabolism; hypothyroidism slows it.
6. Drug Interactions:
  • Enzyme induction (rifampicin, phenobarbitone): Increases metabolism of co-administered drugs → reduced effect.
  • Enzyme inhibition (ketoconazole, erythromycin, grapefruit): Decreases metabolism → increased toxicity.
  • Protein binding displacement: Two drugs compete for albumin binding → increased free drug → enhanced/toxic effect.
  • Pharmacodynamic interactions: Synergism (alcohol + benzodiazepines → additive CNS depression) or antagonism.
7. Route of Administration:
  • IV → 100% bioavailability, immediate onset.
  • Oral → subject to first-pass metabolism, variable absorption.
  • Sublingual → bypasses first-pass, rapid onset (e.g., GTN).
8. Tolerance and Tachyphylaxis:
  • Tolerance: Reduced response to a drug after prolonged use (e.g., opioids, nitrates).
  • Tachyphylaxis: Rapid tolerance to rapidly repeated doses (e.g., ephedrine, repeated IV amphetamine).
9. Placebo Effect: Psychological expectation can modify perceived drug response.
10. Time of Administration (Chronopharmacology):
  • Cortisol follows a diurnal rhythm → steroid therapy timing matters.
  • Antihypertensives may need timing adjustments for morning BP surge.

This covers all questions across all five sections of the exam paper. Each answer is aligned with standard pharmacology principles as would be expected at the MBBS level.

Make this in pdf guild

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/phar…

Writing File

~/pharmacology-exam/generate_pdf.py

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

output_path = "/home/daytona/workspace/pharmacology-exam/Pharmacology_Exam_Answer_Guide.pdf"

doc = SimpleDocTemplate(
    output_path,
    pagesize=A4,
    rightMargin=2*cm,
    leftMargin=2*cm,
    topMargin=2.5*cm,
    bottomMargin=2*cm,
    title="Pharmacology Exam - Complete Answer Guide",
    author="Orris AI"
)

styles = getSampleStyleSheet()

# Custom styles
title_style = ParagraphStyle(
    'CustomTitle',
    parent=styles['Title'],
    fontSize=16,
    textColor=colors.HexColor('#1a237e'),
    spaceAfter=4,
    spaceBefore=0,
    alignment=TA_CENTER,
    fontName='Helvetica-Bold'
)
subtitle_style = ParagraphStyle(
    'SubTitle',
    parent=styles['Normal'],
    fontSize=11,
    textColor=colors.HexColor('#283593'),
    spaceAfter=2,
    alignment=TA_CENTER,
    fontName='Helvetica'
)
section_heading = ParagraphStyle(
    'SectionHeading',
    parent=styles['Heading1'],
    fontSize=13,
    textColor=colors.white,
    backColor=colors.HexColor('#1a237e'),
    spaceBefore=14,
    spaceAfter=6,
    leftIndent=-10,
    rightIndent=-10,
    borderPadding=(4, 8, 4, 8),
    fontName='Helvetica-Bold'
)
question_heading = ParagraphStyle(
    'QuestionHeading',
    parent=styles['Heading2'],
    fontSize=11,
    textColor=colors.HexColor('#1a237e'),
    spaceBefore=10,
    spaceAfter=3,
    fontName='Helvetica-Bold'
)
sub_heading = ParagraphStyle(
    'SubHeading',
    parent=styles['Heading3'],
    fontSize=10,
    textColor=colors.HexColor('#283593'),
    spaceBefore=7,
    spaceAfter=2,
    fontName='Helvetica-Bold'
)
body_style = ParagraphStyle(
    'BodyText',
    parent=styles['Normal'],
    fontSize=9.5,
    leading=14,
    spaceAfter=4,
    alignment=TA_JUSTIFY,
    fontName='Helvetica'
)
bullet_style = ParagraphStyle(
    'Bullet',
    parent=styles['Normal'],
    fontSize=9.5,
    leading=13,
    leftIndent=14,
    spaceAfter=2,
    fontName='Helvetica'
)
answer_box = ParagraphStyle(
    'AnswerBox',
    parent=styles['Normal'],
    fontSize=10,
    leading=14,
    backColor=colors.HexColor('#e8eaf6'),
    borderColor=colors.HexColor('#3949ab'),
    borderWidth=1,
    borderPadding=(4, 8, 4, 8),
    spaceBefore=2,
    spaceAfter=6,
    fontName='Helvetica-Bold'
)
note_style = ParagraphStyle(
    'Note',
    parent=styles['Normal'],
    fontSize=9,
    leading=13,
    textColor=colors.HexColor('#b71c1c'),
    leftIndent=14,
    fontName='Helvetica-Oblique'
)
footer_style = ParagraphStyle(
    'Footer',
    parent=styles['Normal'],
    fontSize=8,
    textColor=colors.grey,
    alignment=TA_CENTER
)

def section_bar(text):
    """Returns a colored section header as a table."""
    data = [[Paragraph(f"  {text}", ParagraphStyle(
        'SH', parent=styles['Normal'], fontSize=12, textColor=colors.white,
        fontName='Helvetica-Bold', leading=16
    ))]]
    t = Table(data, colWidths=[17*cm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#1a237e')),
        ('ROWPADDING', (0,0), (-1,-1), 6),
        ('LEFTPADDING', (0,0), (-1,-1), 10),
    ]))
    return t

def q_header(text):
    data = [[Paragraph(f"  {text}", ParagraphStyle(
        'QH', parent=styles['Normal'], fontSize=10.5, textColor=colors.white,
        fontName='Helvetica-Bold', leading=14
    ))]]
    t = Table(data, colWidths=[17*cm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#3949ab')),
        ('ROWPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING', (0,0), (-1,-1), 10),
    ]))
    return t

def answer_highlight(text):
    data = [[Paragraph(f"<b>Answer: {text}</b>", ParagraphStyle(
        'AH', parent=styles['Normal'], fontSize=10, textColor=colors.HexColor('#1b5e20'),
        fontName='Helvetica-Bold', leading=14
    ))]]
    t = Table(data, colWidths=[17*cm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#e8f5e9')),
        ('ROWPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING', (0,0), (-1,-1), 10),
        ('BOX', (0,0), (-1,-1), 1, colors.HexColor('#388e3c')),
    ]))
    return t

def make_table(headers, rows, col_widths=None):
    if col_widths is None:
        col_widths = [17*cm / len(headers)] * len(headers)
    header_row = [Paragraph(f"<b>{h}</b>", ParagraphStyle('TH', parent=styles['Normal'],
        fontSize=9, textColor=colors.white, fontName='Helvetica-Bold', leading=12)) for h in headers]
    body_rows = []
    for row in rows:
        body_rows.append([Paragraph(str(cell), ParagraphStyle('TD', parent=styles['Normal'],
            fontSize=9, leading=12, fontName='Helvetica')) for cell in row])
    data = [header_row] + body_rows
    t = Table(data, colWidths=col_widths, repeatRows=1)
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#283593')),
        ('TEXTCOLOR', (0,0), (-1,0), colors.white),
        ('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#9fa8da')),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f3f4fc')]),
        ('VALIGN', (0,0), (-1,-1), 'TOP'),
        ('ROWPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING', (0,0), (-1,-1), 6),
        ('RIGHTPADDING', (0,0), (-1,-1), 6),
    ]))
    return t

# ─────────────────────────────────────────────────
# BUILD CONTENT
# ─────────────────────────────────────────────────
story = []

# ── COVER ──────────────────────────────────────
story.append(Spacer(1, 1.5*cm))
story.append(Paragraph("Pharmacology Exam", title_style))
story.append(Paragraph("Complete Answer Guide", ParagraphStyle('CT2', parent=styles['Normal'],
    fontSize=14, textColor=colors.HexColor('#3949ab'), alignment=TA_CENTER, fontName='Helvetica-Bold', spaceAfter=4)))
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("Abhishek I Mishra Memorial Medical College &amp; Research, Bhilai (CG)", subtitle_style))
story.append(Paragraph("Department of Pharmacology", subtitle_style))
story.append(Paragraph("Theory Supplementary and Missed Examination | Max Marks: 100", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.5*cm))

# ── SECTION I: MCQ ─────────────────────────────
story.append(section_bar("SECTION I: MCQ ANSWERS  (1×20 = 20 Marks)"))
story.append(Spacer(1, 0.3*cm))

mcq_headers = ["Q", "Correct Answer", "Key Explanation"]
mcq_rows = [
    ["1", "B) Atenolol", "Cardioselective (beta-1 selective). Propranolol, Timolol, Sotalol are non-selective."],
    ["2", "D) 4-5 half-lives", "Steady-state is reached in ~4-5 half-lives during constant-rate IV infusion (first-order kinetics)."],
    ["3", "C) Reye's Syndrome", "Aspirin + viral illness in children → acute hepatic encephalopathy + fatty liver (Reye's Syndrome)."],
    ["4", "A) IM Adrenaline", "Epinephrine 0.5 mg IM (anterolateral thigh) is DOC. IV only for cardiac arrest."],
    ["5", "D) Long-acting beta-2 agonist (LABA)", "Salmeterol is a LABA (duration ~12 hr), for maintenance/prevention — NOT acute rescue."],
    ["6", "B) Inhibit acetylcholinesterase", "Neostigmine reversibly inhibits AChE → ACh accumulates at NMJ → acts on remaining functional receptors."],
    ["7", "C) Indomethacin", "Indomethacin (NSAID) is first-line for acute gout. Allopurinol/probenecid are for chronic prophylaxis."],
    ["8", "C) Loratadine", "2nd-generation H1 antagonist — non-sedating (does not cross BBB). Diphenhydramine, Promethazine, Chlorpheniramine are 1st-gen (sedating)."],
    ["9", "C) Prazosin", "Non-selective alpha-1 blocker treating both hypertension AND BPH. Tamsulosin/Silodosin are uro-selective (BPH only)."],
    ["10", "Blocking voltage-gated Na+ channels", "Local anesthetics block Na+ channels intracellularly, preventing depolarization and action potential propagation."],
    ["11", "C) Contraction → urine voiding", "M3 on detrusor = contraction → bladder empties. M3 antagonists (e.g., oxybutynin) cause urinary retention."],
    ["12", "D) Alpha-1 receptor agonism", "Phenylephrine is a direct alpha-1 agonist → contracts dilator pupillae → mydriasis (no cycloplegia)."],
    ["13", "B) Dextromethorphan", "Central antitussive for dry/non-productive cough. Ambroxol/Bromhexine/Guaifenesin are mucolytics for productive cough."],
    ["14", "B) Methotrexate", "Gold-standard anchor DMARD for RA. Inhibits dihydrofolate reductase → suppresses immune response."],
    ["15", "C) Dantrolene", "Specific antidote for malignant hyperthermia. Inhibits RyR1 receptor → blocks sarcoplasmic Ca2+ release."],
    ["16", "A) Selectively antagonizes alpha-1 receptors", "Prazosin is alpha-1 selective — no alpha-2 blockade, so no reflex tachycardia (unlike phentolamine)."],
    ["17", "B) Ligand-gated sodium channel", "Nicotinic Nm receptors are ionotropic — direct Na+/K+ ion channels, gated by ACh binding."],
    ["18", "C) 5-HT3 serotonin receptors", "Ondansetron blocks 5-HT3 in gut afferents and CTZ → prevents CINV."],
    ["19", "B) Albumin", "Albumin is the main plasma protein binding acidic drugs (warfarin, NSAIDs, penicillins). Alpha-1 AGP binds basic drugs."],
    ["20", "A) Prior to 'aging' of the enzyme", "Pralidoxime must be given early (before aging — irreversible dealkylation of AChE-OP bond). After aging, it is completely ineffective."],
]
story.append(make_table(mcq_headers, mcq_rows, col_widths=[1*cm, 4.5*cm, 11.5*cm]))
story.append(Spacer(1, 0.5*cm))

# ── SECTION II: LONG QUESTIONS ─────────────────
story.append(PageBreak())
story.append(section_bar("SECTION II: STRUCTURED LONG QUESTIONS  (2×10 = 20 Marks)"))
story.append(Spacer(1, 0.4*cm))

# Q1 OP Poisoning
story.append(q_header("Question 1: Organophosphate (OP) Poisoning  (10 Marks)"))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Clinical Scenario:</b> 35-year-old farmer — excessive salivation, vomiting, cramps, "
    "involuntary urination, bradycardia (HR 50), hypotension (100/60 mmHg), pinpoint pupils, "
    "muscle fasciculations, garlic odor on breath.",
    ParagraphStyle('ClinBox', parent=styles['Normal'], fontSize=9.5, leading=13,
        backColor=colors.HexColor('#fff8e1'), borderColor=colors.HexColor('#f9a825'),
        borderWidth=1, borderPadding=(4,8,4,8), spaceAfter=8, fontName='Helvetica')
))

story.append(Paragraph("a) Most Likely Diagnosis + Molecular Mechanism of Toxicity  (3 Marks)", sub_heading))
story.append(answer_highlight("Acute Organophosphate Poisoning — Cholinergic Crisis"))
story.append(Paragraph("<b>Molecular Mechanism:</b>", body_style))
for pt in [
    "OP compounds (e.g., malathion, parathion) are <b>irreversible inhibitors of acetylcholinesterase (AChE)</b>.",
    "They covalently bind via <b>phosphorylation of the serine residue</b> at the esteratic site of AChE.",
    "AChE cannot hydrolyze ACh → ACh accumulates at all cholinergic synapses (muscarinic + nicotinic).",
    "Excess ACh overstimulates <b>muscarinic receptors</b> → SLUDGE/DUMBELS features (salivation, lacrimation, urination, diarrhea, GI cramps, emesis + bradycardia, bronchoconstriction).",
    "Excess ACh overstimulates <b>nicotinic receptors</b> → NMJ fasciculations → paralysis; ganglionic stimulation → early hypertension.",
    "Garlic odor is characteristic of many organophosphate compounds.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("b) Pharmacological Management + Mechanism + Clinical Endpoint  (4 Marks)", sub_heading))
story.append(Paragraph("<b>Step 1 — Primary Life-Saving Drug: ATROPINE (IV)</b>", body_style))
for pt in [
    "<b>Mechanism:</b> Competitive antagonist at muscarinic (M1, M2, M3) receptors. Blocks effects of accumulated ACh at muscarinic sites.",
    "Given IV in large escalating doses (2 mg every 5–10 min; may need hundreds of mg).",
    "Does NOT reverse nicotinic effects (fasciculations, paralysis).",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))
story.append(Paragraph("<b>Clinical Endpoint (Atropinization):</b>", body_style))
for pt in [
    "Drying of secretions (dry mouth, cessation of bronchial secretions) — <b>most important endpoint</b>",
    "Heart rate >80 beats/min",
    "Mydriasis (pupil dilation)",
    "Dry, flushed skin",
]:
    story.append(Paragraph(f"  → {pt}", bullet_style))

story.append(Paragraph("<b>Step 2 — Pralidoxime (2-PAM): Enzyme Reactivator</b>", body_style))
for pt in [
    "<b>Mechanism:</b> Oxime compound — nucleophilic attack on the phosphorus of the AChE-OP complex → regenerates free, active AChE.",
    "Addresses BOTH muscarinic AND nicotinic effects.",
    "Must be given early, <b>before aging occurs</b>.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))
story.append(Paragraph("<b>Supportive:</b> Airway management, O₂, decontamination, benzodiazepines for seizures.", body_style))

story.append(Paragraph("c) Enzyme 'Aging' and Clinical Impact on Pralidoxime  (3 Marks)", sub_heading))
for pt in [
    "<b>Aging:</b> After OP binds AChE, time-dependent <b>dealkylation</b> (loss of one alkyl group from the phosphate moiety) occurs.",
    "This makes the OP-AChE bond <b>extremely stable and resistant to nucleophilic attack</b> — enzyme is permanently inactivated.",
    "Time to aging varies: dimethyl compounds age in hours; diethyl compounds take longer (days).",
    "<b>Clinical impact:</b> Pralidoxime MUST be given before aging (ideally within 6–12 hrs, latest 24–48 hrs).",
    "After aging, pralidoxime is <b>completely ineffective</b>.",
    "Recovery then depends solely on synthesis of new AChE (takes weeks) and ongoing atropine support.",
    "This underscores the importance of early diagnosis and treatment.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Spacer(1, 0.5*cm))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.3*cm))

# Q2 Propranolol + Aspirin in Asthma
story.append(q_header("Question 2: Propranolol + Aspirin Precipitating Asthma Exacerbation  (3+3+2+2 = 10 Marks)"))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Clinical Scenario:</b> 45-year-old known asthmatic on Propranolol (migraine prophylaxis) who self-medicated "
    "with high-dose Aspirin → severe bronchospasm within 2 hours.",
    ParagraphStyle('ClinBox', parent=styles['Normal'], fontSize=9.5, leading=13,
        backColor=colors.HexColor('#fff8e1'), borderColor=colors.HexColor('#f9a825'),
        borderWidth=1, borderPadding=(4,8,4,8), spaceAfter=8, fontName='Helvetica')
))

story.append(Paragraph("a) Propranolol Mechanism + Asthma Exacerbation  (3 Marks)", sub_heading))
for pt in [
    "Propranolol is a <b>non-selective beta-adrenergic blocker</b> (blocks beta-1 AND beta-2 receptors).",
    "Endogenous catecholamines normally act on <b>beta-2 receptors in bronchial smooth muscle</b> → adenylate cyclase → increased cAMP → bronchodilation.",
    "By blocking beta-2 receptors, Propranolol removes physiological bronchodilator tone.",
    "Unopposed <b>parasympathetic (muscarinic) activity</b> dominates → bronchoconstriction.",
    "Beta-2 blockade also inhibits mast cell stabilization → facilitates mediator release.",
    "In an asthmatic with hyperreactive airways, this precipitates severe, potentially life-threatening bronchospasm.",
    "<i>Note: Cardioselective beta-blockers (atenolol) are relatively safer but still not ideal in asthmatics.</i>",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("b) Aspirin Mechanism + Asthma Exacerbation  (3 Marks)", sub_heading))
for pt in [
    "Aspirin irreversibly inhibits <b>COX-1 and COX-2</b> by acetylating a serine residue.",
    "Blocks conversion of arachidonic acid to prostaglandins and thromboxanes.",
    "With COX pathway blocked, arachidonic acid is <b>shunted into the 5-lipoxygenase (5-LOX) pathway</b>.",
    "This dramatically increases production of <b>cysteinyl leukotrienes (LTC4, LTD4, LTE4)</b>.",
    "Leukotrienes are potent bronchoconstrictors (1000× more potent than histamine), cause mucosal edema and increased mucus secretion.",
    "This is <b>'Aspirin-Exacerbated Respiratory Disease' (AERD) / Samter's Triad</b> — occurs in ~10% of asthmatics.",
    "All NSAIDs can cross-react; paracetamol at standard doses is safe.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("c) Four Therapeutic Uses of Propranolol  (2 Marks)", sub_heading))
for i, use in enumerate([
    "Hypertension — reduces cardiac output and renin secretion",
    "Angina pectoris — reduces myocardial O₂ demand",
    "Cardiac arrhythmias — SVT, ventricular arrhythmias",
    "Migraine prophylaxis — stabilizes cerebral vasculature",
    "(Also: Thyrotoxicosis, essential tremor, anxiety/performance, pheochromocytoma, post-MI)",
], 1):
    story.append(Paragraph(f"{i}. {use}", bullet_style))

story.append(Paragraph("d) Two Therapeutic Uses + Two Side Effects of Aspirin  (2 Marks)", sub_heading))
story.append(Paragraph("<b>Therapeutic Uses:</b>", body_style))
for use in [
    "Anti-platelet (75–150 mg): Prevention of MI, stroke, TIA",
    "Analgesic/antipyretic/anti-inflammatory: Pain, fever, rheumatic fever",
]:
    story.append(Paragraph(f"• {use}", bullet_style))
story.append(Paragraph("<b>Side Effects:</b>", body_style))
for se in [
    "Peptic ulcer/GI bleeding — COX-1 inhibition reduces cytoprotective PGE2/PGI2 in gastric mucosa",
    "Reye's Syndrome in children; Salicylism (tinnitus, vertigo, nausea) at high doses; bleeding tendency",
]:
    story.append(Paragraph(f"• {se}", bullet_style))

# ── SECTION III ─────────────────────────────────
story.append(PageBreak())
story.append(section_bar("SECTION III: SHORT NOTES — REASONING  (5×3 = 15 Marks)"))
story.append(Spacer(1, 0.3*cm))

reasoning_qs = [
    {
        "title": "1. Why non-selective beta-blockers are avoided in Diabetes Mellitus",
        "points": [
            "<b>Hypoglycemia masking:</b> Warning symptoms of hypoglycemia (tachycardia, palpitations, tremor) are mediated by beta-2 receptors. Non-selective blockers blunt these → patient is unaware of dangerous hypoglycemia. <i>(Sweating is preserved — it is cholinergic.)</i>",
            "<b>Impaired glycogenolysis:</b> Beta-2 stimulation in the liver promotes glycogenolysis (conversion of glycogen → glucose) in response to hypoglycemia. Non-selective blockers inhibit this → prolonged, more severe hypoglycemia.",
            "<b>Impaired glucagon secretion:</b> Beta-adrenergic stimulation aids counter-regulatory glucagon release.",
            "<i>Cardioselective beta-1 blockers (atenolol, metoprolol) are relatively safer as they have less effect on beta-2-mediated glucose metabolism.</i>",
        ]
    },
    {
        "title": "2. Why drugs with high plasma protein binding have long duration of action",
        "points": [
            "Plasma proteins (mainly albumin) act as a <b>reservoir</b> — the drug-protein complex is pharmacologically inactive and too large to be filtered or metabolized.",
            "Only <b>free (unbound) drug</b> is active, can cross membranes, reach the site of action, be metabolized, or be excreted.",
            "As free drug is metabolized/excreted, bound drug dissociates and replenishes the free fraction → maintains drug levels longer.",
            "This equilibrium (drug ⇌ protein-drug complex) means the drug is 'stored' in plasma, slowly releasing → prolonged effect.",
            "<b>Example:</b> Warfarin (99% protein bound) has a half-life of ~40 hours. Volume of distribution is also reduced.",
        ]
    },
    {
        "title": "3. Why Succinylcholine is contraindicated in Burns patients",
        "points": [
            "Thermal injury causes <b>proliferation (upregulation) of extra-junctional nAChRs</b> throughout the entire muscle membrane. Begins 24–48 hrs post-burn, peaks at ~2 weeks.",
            "When succinylcholine is given, it depolarizes ALL these extra-junctional receptors simultaneously.",
            "Causes <b>massive uncontrolled efflux of potassium</b> from muscle cells → life-threatening <b>hyperkalemia</b> (K+ can rise 5–10 mEq/L acutely).",
            "Can cause <b>ventricular fibrillation and cardiac arrest</b>.",
            "Same risk: crush injuries, denervation, prolonged immobilization, UMN/LMN lesions.",
            "Contraindication begins ~48 hrs after burn and persists up to 1–2 years.",
        ]
    },
    {
        "title": "4. Why Pralidoxime is NOT used in Carbamate poisoning",
        "points": [
            "Carbamates (e.g., neostigmine, carbaryl) inhibit AChE <b>reversibly</b> — the carbamylated AChE complex hydrolyzes spontaneously within 30–60 minutes.",
            "In OP poisoning, pralidoxime breaks the stable phosphate bond before aging.",
            "In carbamate poisoning, <b>aging does NOT occur</b> — AChE automatically regenerates on its own.",
            "Pralidoxime is unnecessary; furthermore, evidence suggests it may <b>worsen</b> carbamate toxicity (enhances AChE inhibition or has direct toxic effects).",
            "<b>Treatment:</b> Atropine alone + supportive care.",
        ]
    },
    {
        "title": "5. Why NSAIDs cause peptic ulcer",
        "points": [
            "<b>Direct (local) effect:</b> NSAIDs are weak acids. In acidic gastric environment, they remain un-ionized and lipid-soluble → enter gastric epithelial cells → become ionized intracellularly → trapped → direct cellular toxicity.",
            "<b>Systemic (main) mechanism — COX-1 inhibition:</b> COX-1 is constitutively expressed in gastric mucosa, producing cytoprotective prostaglandins (PGE2, PGI2).",
            "These prostaglandins: stimulate mucus and HCO₃⁻ secretion, maintain mucosal blood flow, inhibit gastric acid, promote epithelial proliferation.",
            "NSAIDs inhibit COX-1 → reduced protective prostaglandins → reduced mucus/HCO₃⁻ → increased acid exposure → mucosal erosion → peptic ulcer.",
            "<b>Note:</b> Selective COX-2 inhibitors (celecoxib) spare COX-1 → lower GI risk (but higher cardiovascular risk).",
        ]
    },
]

for q in reasoning_qs:
    story.append(Paragraph(q["title"], question_heading))
    for pt in q["points"]:
        story.append(Paragraph(f"• {pt}", bullet_style))
    story.append(Spacer(1, 0.3*cm))

# ── SECTION IV ─────────────────────────────────
story.append(PageBreak())
story.append(section_bar("SECTION IV: SHORT NOTES — APPLIED  (4×5 = 20 Marks)"))
story.append(Spacer(1, 0.3*cm))

# Q1 TB + OCP
story.append(q_header("Question 1: TB Drugs + OCP Failure → Pregnancy  (1+3+1)"))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("a) Drug Responsible:", sub_heading))
story.append(answer_highlight("Rifampicin"))

story.append(Paragraph("b) Pharmacokinetic Mechanism  (3 Marks):", sub_heading))
for pt in [
    "Rifampicin is a <b>potent inducer of hepatic CYP450 enzymes</b> (CYP3A4, CYP2C9, CYP2C19) and P-glycoprotein.",
    "Combined oral contraceptive pills (COCPs) contain ethinylestradiol and progestins, primarily metabolized by CYP3A4.",
    "Rifampicin induction dramatically <b>increases first-pass metabolism</b> of both estrogen and progestin components.",
    "Plasma levels of contraceptive hormones drop by 50–70% → fall below threshold needed to suppress ovulation, thicken cervical mucus, and prevent implantation.",
    "Result: <b>Contraceptive failure</b> → unintended pregnancy.",
    "Effect begins within days of starting Rifampicin and persists 4–8 weeks after stopping.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("c) Alternative Contraceptive Advice  (1 Mark):", sub_heading))
for pt in [
    "<b>Barrier methods</b> (condoms ± spermicide) — most reliable non-hormonal option during TB treatment.",
    "<b>Intrauterine device (IUD/copper-T)</b> — highly effective, not affected by enzyme induction.",
    "Advise protection continues for at least 4–8 weeks after completing Rifampicin.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Spacer(1, 0.4*cm))

# Q2 Anaphylaxis
story.append(q_header("Question 2: Anaphylactic Shock — Bee Sting  (1+3+1)"))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("a) Drug of Choice:", sub_heading))
story.append(answer_highlight("Adrenaline (Epinephrine) 0.5 mg IM — anterolateral thigh (1:1000 solution)"))

story.append(Paragraph("b) Mechanism reversing bronchospasm + hypotension  (3 Marks):", sub_heading))
mech_table_headers = ["Receptor", "Location", "Effect", "Benefit in Anaphylaxis"]
mech_table_rows = [
    ["Alpha-1", "Arteriolar smooth muscle", "Vasoconstriction", "Reverses hypotension; reduces angioedema"],
    ["Beta-1", "Heart", "↑ HR + contractility", "Improves cardiac output"],
    ["Beta-2", "Bronchial smooth muscle", "Bronchodilation (cAMP ↑)", "Relieves bronchospasm"],
    ["Beta-2", "Mast cells", "Inhibits mediator release", "Stops the allergic cascade"],
]
story.append(make_table(mech_table_headers, mech_table_rows, col_widths=[2.5*cm, 4.5*cm, 4.5*cm, 5.5*cm]))
story.append(Spacer(1, 0.15*cm))

story.append(Paragraph("c) Why Noradrenaline is NOT suitable  (1 Mark):", sub_heading))
for pt in [
    "Noradrenaline acts mainly on alpha-1 and alpha-2 receptors with <b>very minimal beta-2 activity</b>.",
    "Will cause vasoconstriction (helps BP) but <b>cannot reverse bronchospasm</b>.",
    "Also causes reflex bradycardia (via baroreceptor reflex from vasoconstriction).",
    "Lacks mast cell stabilizing effect. Addresses only cardiovascular component — not bronchospasm.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Spacer(1, 0.4*cm))

# Q3 Allopurinol
story.append(q_header("Question 3: Allopurinol in Acute Gout  (2+1+2)"))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("a) Why Allopurinol worsened the acute attack  (2 Marks):", sub_heading))
for pt in [
    "Allopurinol is a <b>xanthine oxidase inhibitor</b> that lowers serum uric acid.",
    "Starting during an acute attack causes <b>rapid decrease in serum uric acid</b> → uric acid gradient.",
    "This <b>mobilizes urate crystals</b> from existing tophaceous deposits into synovial fluid.",
    "Fluctuating uric acid levels also promote <b>new crystal formation</b> in joint space.",
    "Crystals trigger acute inflammation → neutrophil influx → lysosomal enzyme release → worsening pain.",
    "This is called a <b>'mobilization flare'</b>.",
    "<b>Rule:</b> Allopurinol must NEVER be started during an acute attack. Initiate 2–4 weeks after resolution, under NSAID cover.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("b) Mechanism of Allopurinol in chronic gout  (1 Mark):", sub_heading))
for pt in [
    "Allopurinol (and its active metabolite <b>oxypurinol</b>) competitively/non-competitively inhibits <b>xanthine oxidase</b>.",
    "Normally: hypoxanthine → xanthine → <b>uric acid</b> (via xanthine oxidase).",
    "Inhibition → accumulation of hypoxanthine and xanthine (more soluble) → reduced uric acid production.",
    "Over time: lowers serum and urinary uric acid → dissolves tophi → prevents new crystal deposition.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("c) Cellular Target of Colchicine in relieving acute pain  (2 Marks):", sub_heading))
for pt in [
    "Colchicine binds to <b>beta-tubulin subunits</b>, preventing polymerization into <b>microtubules</b>.",
    "Disrupts microtubule assembly → impairs <b>neutrophil motility and chemotaxis</b> → neutrophils cannot migrate to the crystal deposition site.",
    "Also inhibits <b>NLRP3 inflammasome</b> → reduces IL-1β production.",
    "Inhibits neutrophil phagocytosis of crystals and degranulation.",
    "Net effect: Inflammation is suppressed → pain relief. <i>Colchicine does NOT lower uric acid levels.</i>",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Spacer(1, 0.4*cm))

# Q4 POAG
story.append(q_header("Question 4: Primary Open-Angle Glaucoma (POAG)  (2+3)"))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("a) Classification of drugs used in treatment  (2 Marks):", sub_heading))
poag_headers = ["Class", "Examples", "Mechanism"]
poag_rows = [
    ["Prostaglandin analogues", "Latanoprost, Bimatoprost, Travoprost", "Increase uveoscleral outflow"],
    ["Beta-blockers", "Timolol, Betaxolol", "Decrease aqueous humor production"],
    ["Alpha-2 agonists", "Brimonidine, Apraclonidine", "Decrease production + increase uveoscleral outflow"],
    ["CA inhibitors", "Dorzolamide (topical), Acetazolamide (oral)", "Decrease aqueous humor production"],
    ["Miotics/Cholinergics", "Pilocarpine", "Increase trabecular outflow (open drainage angle)"],
    ["Rho kinase inhibitors", "Netarsudil", "Increase trabecular outflow"],
]
story.append(make_table(poag_headers, poag_rows, col_widths=[4*cm, 6*cm, 7*cm]))
story.append(Spacer(1, 0.15*cm))

story.append(Paragraph("b) Mechanism of Latanoprost and Timolol individually  (3 Marks):", sub_heading))
story.append(Paragraph("<b>Latanoprost:</b>", body_style))
for pt in [
    "Prostaglandin F2α (FP receptor) analogue — prodrug converted to latanoprost acid by corneal esterases.",
    "Activates <b>FP prostanoid receptors</b> in ciliary body and trabecular meshwork.",
    "Remodels extracellular matrix of ciliary muscle → increases <b>uveoscleral (unconventional) outflow</b> by 50–100%.",
    "Does NOT significantly affect aqueous humor production.",
    "Administered once daily at night. Side effects: iris/periorbital pigmentation, eyelash growth.",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))
story.append(Paragraph("<b>Timolol:</b>", body_style))
for pt in [
    "<b>Non-selective beta-adrenergic blocker</b> (beta-1 + beta-2).",
    "Ciliary body epithelium has abundant <b>beta-2 receptors</b> — their activation by catecholamines → adenylate cyclase → cAMP → aqueous humor production.",
    "Timolol blocks beta-2 receptors → decreased cAMP → <b>reduced aqueous humor secretion</b> by ~25–35%.",
    "Does NOT affect outflow.",
    "Systemic absorption can cause bradycardia, bronchospasm — <b>contraindicated in asthma/COPD</b>.",
    "<i>Combined: Latanoprost ↑ outflow + Timolol ↓ production → complementary, additive IOP reduction.</i>",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

# ── SECTION V ─────────────────────────────────
story.append(PageBreak())
story.append(section_bar("SECTION V: SHORT NOTES  (5×5 = 25 Marks)"))
story.append(Spacer(1, 0.3*cm))

# SN1 Zero vs First Order
story.append(Paragraph("1. Zero-Order vs First-Order Kinetics", question_heading))
zo_fo_headers = ["Feature", "Zero-Order Kinetics", "First-Order Kinetics"]
zo_fo_rows = [
    ["Definition", "Rate of elimination is CONSTANT, independent of concentration", "Rate of elimination is PROPORTIONAL to concentration"],
    ["Equation", "dC/dt = -k₀ (constant)", "dC/dt = -kC"],
    ["Amount eliminated", "Constant amount per unit time", "Constant fraction (%) per unit time"],
    ["Half-life", "NOT constant — increases as concentration rises", "CONSTANT, independent of concentration"],
    ["Plasma curve", "Linear (straight line) on regular scale", "Exponential decay (straight on log scale)"],
    ["Saturation", "Elimination enzymes ARE saturated", "Elimination enzymes are NOT saturated"],
    ["Steady-state", "Cannot predict easily; accumulation risk", "Reached in ~4-5 half-lives (predictable)"],
    ["Examples", "Ethanol, high-dose Aspirin, high-dose Phenytoin, Heparin", "Most drugs at therapeutic doses (penicillin, digoxin, paracetamol)"],
    ["Clinical significance", "Small dose ↑ causes disproportionately large rise in levels → toxicity risk", "Predictable, proportional dose-level relationship"],
    ["Michaelis-Menten", "Concentration >> Km (saturated)", "Concentration << Km (unsaturated)"],
]
story.append(make_table(zo_fo_headers, zo_fo_rows, col_widths=[4.5*cm, 6.25*cm, 6.25*cm]))
story.append(Spacer(1, 0.4*cm))

# SN2 Alpha blockers ADRs
story.append(Paragraph("2. Adverse Effects of Alpha-Blockers", question_heading))
story.append(Paragraph("<b>Non-selective alpha-blockers</b> (phentolamine, phenoxybenzamine):", body_style))
for pt in [
    "Reflex tachycardia (alpha-2 blockade → increased NE release + baroreceptor reflex)",
    "Nasal congestion (vasodilation of nasal mucosa)",
    "GI effects: diarrhea, nausea (increased gut motility via alpha-2 blockade)",
    "Sodium and water retention",
    "Miosis",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))
story.append(Paragraph("<b>Selective alpha-1 blockers</b> (prazosin, terazosin, doxazosin, tamsulosin):", body_style))
for pt in [
    '<b>"First-dose phenomenon":</b> Severe postural hypotension and syncope with first dose → advise to take at bedtime (sudden loss of sympathetic vasoconstriction).',
    "<b>Orthostatic/postural hypotension</b> (ongoing risk) — dizziness, fainting",
    "Dizziness and headache",
    "Reflex tachycardia (less than non-selective)",
    "Nasal congestion, fluid retention (edema)",
    "<b>Retrograde ejaculation</b> — particularly tamsulosin (relaxes internal urethral sphincter)",
    "<b>Intraoperative Floppy Iris Syndrome (IFIS)</b> — especially tamsulosin; iris becomes floppy during cataract surgery",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))
story.append(Spacer(1, 0.3*cm))

# SN3 5-HT
story.append(Paragraph("3. Agonists and Antagonists of the 5-HT System + Therapeutic Uses", question_heading))
story.append(Paragraph("<b>5-HT Agonists:</b>", body_style))
sht_ag_headers = ["Drug", "Receptor", "Therapeutic Use"]
sht_ag_rows = [
    ["Sumatriptan (triptan)", "5-HT1B/1D agonist", "Acute migraine (cranial vasoconstriction + inhibits CGRP release)"],
    ["Buspirone", "5-HT1A partial agonist", "Generalized Anxiety Disorder (GAD)"],
    ["Metoclopramide", "5-HT4 agonist (+ D2 antagonist)", "Prokinetic — gastroparesis, GERD, nausea"],
    ["Ergotamine", "5-HT1 partial agonist", "Migraine (older drug)"],
]
story.append(make_table(sht_ag_headers, sht_ag_rows, col_widths=[4.5*cm, 5*cm, 7.5*cm]))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("<b>5-HT Antagonists:</b>", body_style))
sht_ant_rows = [
    ["Ondansetron", "5-HT3 antagonist", "CINV, post-operative nausea and vomiting"],
    ["Cyproheptadine", "5-HT2 + H1 antagonist", "Carcinoid syndrome, allergic conditions, appetite stimulation"],
    ["Clozapine/Risperidone", "5-HT2A + D2 antagonist", "Schizophrenia (atypical antipsychotics)"],
    ["Methysergide", "5-HT2 antagonist", "Migraine prophylaxis (limited use — risk of retroperitoneal fibrosis)"],
]
story.append(make_table(sht_ag_headers, sht_ant_rows, col_widths=[4.5*cm, 5*cm, 7.5*cm]))
story.append(Spacer(1, 0.3*cm))

# SN4 Non-depolarizing blockers
story.append(Paragraph("4. Non-Depolarizing Blockers — Mechanism + NMB Toxicity", question_heading))
story.append(Paragraph("<b>Mechanism of Non-Depolarizing (Competitive) NMBs</b> (vecuronium, rocuronium, atracurium, pancuronium):", body_style))
for pt in [
    "Compete with <b>ACh at nicotinic Nm receptors</b> at the NMJ — bind to alpha-subunits without activating the receptor.",
    "Block is <b>competitive</b> — overcome by increasing ACh (via anticholinesterases).",
    "Do NOT cause initial fasciculations (unlike succinylcholine).",
    "Produce <b>flaccid paralysis</b> — muscle relaxation without prior excitation.",
    "<b>Reversal:</b> Neostigmine/edrophonium (↑ ACh) OR Sugammadex (encapsulates rocuronium/vecuronium).",
    "<b>Order of paralysis:</b> Small muscles (eye, face) → limbs → intercostals → diaphragm (last; first to recover).",
]:
    story.append(Paragraph(f"• {pt}", bullet_style))

story.append(Paragraph("<b>Toxicity of Neuromuscular Blockers:</b>", body_style))
nmb_tox_headers = ["Toxicity", "Cause / Mechanism"]
nmb_tox_rows = [
    ["Respiratory paralysis", "Paralysis of respiratory muscles → main life-threatening complication → requires mechanical ventilation"],
    ["Histamine release", "Atracurium, mivacurium → bronchospasm, hypotension, urticaria"],
    ["Malignant hyperthermia", "Succinylcholine + volatile anesthetics → uncontrolled Ca²⁺ release from SR → hyperthermia, rigidity"],
    ["Hyperkalemia", "Succinylcholine in burns/crush/denervation → massive K+ efflux → fatal arrhythmias"],
    ["Prolonged paralysis", "Pseudocholinesterase deficiency → succinylcholine apnea (hours instead of minutes)"],
    ["CV effects", "Pancuronium → tachycardia (vagolytic); Vecuronium → minimal cardiovascular effects"],
    ["Phase II block", "High-dose succinylcholine → converts to non-depolarizing-like block"],
]
story.append(make_table(nmb_tox_headers, nmb_tox_rows, col_widths=[5*cm, 12*cm]))
story.append(Spacer(1, 0.3*cm))

# SN5 Factors modifying drug action
story.append(Paragraph("5. Factors Modifying Drug Action", question_heading))
factors = [
    ("Age", [
        "<b>Neonates/Infants:</b> Immature CYP450 enzymes, reduced GFR, different body composition → higher drug sensitivity. Example: Gray Baby Syndrome (chloramphenicol).",
        "<b>Elderly:</b> Reduced hepatic blood flow and enzyme activity, reduced renal function, reduced albumin, increased body fat → higher sensitivity to most drugs.",
    ]),
    ("Body Weight / Obesity", [
        "Doses often adjusted on mg/kg basis.",
        "Lipophilic drugs distribute more widely in obese patients → larger VD → prolonged action.",
    ]),
    ("Genetics (Pharmacogenetics)", [
        "Slow vs. fast acetylators (isoniazid — NAT2 polymorphism).",
        "G6PD deficiency → hemolysis with oxidant drugs.",
        "Pseudocholinesterase deficiency → prolonged succinylcholine effect.",
        "CYP2D6 polymorphism → variable codeine/tramadol metabolism.",
    ]),
    ("Sex", [
        "Women have less body water, more adipose tissue, lower gastric acid → altered distribution and kinetics.",
        "Hormonal variations affect drug metabolism.",
    ]),
    ("Disease States", [
        "<b>Liver disease:</b> Reduced metabolism of hepatically metabolized drugs → accumulation.",
        "<b>Renal disease:</b> Reduced excretion → toxicity (aminoglycosides, digoxin).",
        "<b>Cardiac failure:</b> Reduced hepatic blood flow, altered VD.",
        "<b>Thyroid disease:</b> Hyperthyroidism accelerates metabolism; hypothyroidism slows it.",
    ]),
    ("Drug Interactions", [
        "<b>Enzyme induction</b> (rifampicin, phenobarbitone): ↑ metabolism of co-administered drugs → reduced effect.",
        "<b>Enzyme inhibition</b> (ketoconazole, erythromycin, grapefruit): ↓ metabolism → toxicity.",
        "<b>Protein binding displacement:</b> Competition for albumin binding → increased free drug.",
        "<b>Pharmacodynamic:</b> Synergism (alcohol + benzodiazepines) or antagonism.",
    ]),
    ("Route of Administration", [
        "IV → 100% bioavailability, immediate onset.",
        "Oral → subject to first-pass metabolism, variable absorption.",
        "Sublingual → bypasses first-pass, rapid onset (e.g., GTN).",
    ]),
    ("Tolerance and Tachyphylaxis", [
        "<b>Tolerance:</b> Reduced response after prolonged use (opioids, nitrates).",
        "<b>Tachyphylaxis:</b> Rapid tolerance to rapidly repeated doses (ephedrine).",
    ]),
    ("Chronopharmacology", [
        "Cortisol follows a diurnal rhythm → steroid therapy timing matters.",
        "Antihypertensives may need timing adjustments for morning BP surge.",
    ]),
]

for factor_name, factor_points in factors:
    story.append(Paragraph(f"<b>{factor_name}:</b>", ParagraphStyle('FN', parent=styles['Normal'],
        fontSize=10, fontName='Helvetica-Bold', spaceBefore=5, spaceAfter=1,
        textColor=colors.HexColor('#1a237e'))))
    for pt in factor_points:
        story.append(Paragraph(f"• {pt}", bullet_style))

# FOOTER note
story.append(Spacer(1, 0.8*cm))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "Generated by Orris AI  |  Abhishek I Mishra Memorial Medical College & Research, Bhilai (CG)  |  Department of Pharmacology",
    footer_style
))

# ── BUILD ──────────────────────────────────────
doc.build(story)
print(f"PDF created: {output_path}")
Running Command

cd /home/daytona/workspace/pharmacology-exam && python generate_pdf.py

Running Command

ls -lh /home/daytona/workspace/pharmacology-exam/Pharmacology_Exam_Answer_Guide.…

Your PDF guide is ready! Here is the download link:

Pharmacology Exam Answer Guide

PDF Document · PDF

What's included in the PDF:
  • Section I - Full MCQ answer table (all 20 questions) with correct answers and concise explanations
  • Section II - Detailed long answers for both clinical case questions (OP poisoning + Propranolol/Aspirin asthma)
  • Section III - All 5 reasoning short notes with bullet-point explanations
  • Section IV - All 4 applied clinical questions (TB/OCP interaction, anaphylaxis, gout, glaucoma)
  • Section V - All 5 short notes with tables where applicable (zero vs first order kinetics, alpha blocker ADRs, 5-HT system, NMBs, factors modifying drug action)
The PDF is formatted with color-coded section headers, highlighted answer boxes, and structured tables for easy reading and revision.
This is a shared conversation. Sign in to Orris to start your own chat.