Pharmacology viva questions in each unit
According to mgr university
MGR University MBBS pharmacology syllabus units Tamil Nadu Dr MGR Medical University
https://www.tnmgrmu.ac.in/index.php/syllabus-and-curriculum/…
Tamil Nadu MGR University MBBS pharmacology units syllabus NMC competency based curriculum
https://tnmgrmu.ac.in/images/2017/syllabus%20and%20curriculu…
With answers also
| Feature | Competitive | Non-competitive |
|---|---|---|
| Binding | Same receptor site as agonist | Different site (allosteric) |
| Effect of increasing agonist | Can overcome antagonism | Cannot overcome |
| Log dose-response curve | Shifted right, parallel | Maximum depressed |
| Example | Atropine (blocks ACh), naloxone | Phenoxybenzamine |
| Class | Site | Mechanism | Example |
|---|---|---|---|
| Osmotic | PCT, descending loop | Osmotic retention of water | Mannitol |
| Carbonic anhydrase inhibitors | PCT | Block CA → ↓ HCO3⁻ reabsorption | Acetazolamide |
| Loop diuretics | Thick ascending loop of Henle | Block Na⁺-K⁺-2Cl⁻ cotransporter (NKCC2) | Furosemide, bumetanide |
| Thiazides | Distal convoluted tubule | Block Na⁺-Cl⁻ cotransporter (NCC) | Hydrochlorothiazide, chlorthalidone |
| K⁺-sparing | Collecting duct | Aldosterone antagonist or Na⁺ channel blocker | Spironolactone, amiloride |
| Type | Onset | Duration | Example |
|---|---|---|---|
| Ultra-short acting (rapid) | 15 min | 3-4 h | Aspart, lispro, glulisine |
| Short acting (regular) | 30 min | 6-8 h | Regular/soluble insulin |
| Intermediate acting | 1-2 h | 12-18 h | NPH (isophane), lente |
| Long acting (basal) | 2-4 h | 20-24 h | Glargine, detemir |
| Ultra-long acting | 6 h | >42 h | Degludec |
| Bacteriostatic | Bactericidal |
|---|---|
| Inhibit bacterial growth | Kill bacteria |
| Require intact host immunity | Can act without host immunity |
| Examples: tetracyclines, chloramphenicol, sulfonamides, erythromycin, clindamycin | Examples: penicillins, cephalosporins, aminoglycosides, fluoroquinolones, metronidazole |
| Should not be combined with bactericidal (antagonism) | Preferred in immunocompromised, endocarditis, meningitis |
Key Tips for MGR University Viva:
- Always know the mechanism + uses + adverse effects for any drug asked
- For antibiotics, know the spectrum and resistance mechanisms
- Be ready to write prescriptions for common conditions (peptic ulcer, hypertension, malaria, TB, diabetes)
- Know drug doses for emergency drugs (atropine, adrenaline, morphine, digoxin)
- Know important drug interactions (warfarin, MAOIs, antiepileptics)
- Practical viva often tests prescription writing, spotter identification, and dose calculation
Generate a pdf of this pls
ls /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace
mkdir -p /home/daytona/workspace/pharmacology-viva && python3 -c "from reportlab.platypus import SimpleDocTemplate; print('reportlab OK')" && python3 -c "from fpdf import FPDF; print('fpdf OK')"
~/pharmacology-viva/generate_pdf.py
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable
)
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/pharmacology-viva/Pharmacology_Viva_QA_MGR_University.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=2*cm, leftMargin=2*cm,
topMargin=2.5*cm, bottomMargin=2.5*cm,
title="Pharmacology Viva Q&A - MGR University",
author="Orris AI"
)
styles = getSampleStyleSheet()
# Custom styles
TITLE_STYLE = ParagraphStyle(
'CustomTitle',
parent=styles['Title'],
fontSize=20,
textColor=colors.HexColor('#1a237e'),
spaceAfter=6,
spaceBefore=6,
alignment=TA_CENTER,
fontName='Helvetica-Bold'
)
SUBTITLE_STYLE = ParagraphStyle(
'Subtitle',
parent=styles['Normal'],
fontSize=11,
textColor=colors.HexColor('#3949ab'),
spaceAfter=4,
alignment=TA_CENTER,
fontName='Helvetica'
)
UNIT_HEADING = ParagraphStyle(
'UnitHeading',
parent=styles['Heading1'],
fontSize=14,
textColor=colors.white,
backColor=colors.HexColor('#1a237e'),
spaceBefore=16,
spaceAfter=8,
fontName='Helvetica-Bold',
leftIndent=-10,
rightIndent=-10,
borderPad=6,
)
QUESTION_STYLE = ParagraphStyle(
'Question',
parent=styles['Normal'],
fontSize=10,
textColor=colors.HexColor('#b71c1c'),
fontName='Helvetica-Bold',
spaceBefore=8,
spaceAfter=2,
leftIndent=0,
)
ANSWER_STYLE = ParagraphStyle(
'Answer',
parent=styles['Normal'],
fontSize=9.5,
textColor=colors.HexColor('#1a1a1a'),
fontName='Helvetica',
spaceBefore=2,
spaceAfter=4,
leftIndent=12,
leading=14,
alignment=TA_JUSTIFY,
)
BULLET_STYLE = ParagraphStyle(
'Bullet',
parent=styles['Normal'],
fontSize=9.5,
textColor=colors.HexColor('#1a1a1a'),
fontName='Helvetica',
spaceBefore=1,
spaceAfter=1,
leftIndent=24,
bulletIndent=12,
leading=13,
)
TIP_STYLE = ParagraphStyle(
'Tip',
parent=styles['Normal'],
fontSize=9.5,
textColor=colors.HexColor('#1b5e20'),
fontName='Helvetica-Oblique',
spaceBefore=4,
spaceAfter=4,
leftIndent=12,
leading=13,
)
SECTION_LABEL = ParagraphStyle(
'SectionLabel',
parent=styles['Normal'],
fontSize=11,
textColor=colors.HexColor('#e65100'),
fontName='Helvetica-Bold',
spaceBefore=10,
spaceAfter=4,
leftIndent=0,
)
def Q(text):
return Paragraph(text, QUESTION_STYLE)
def A(text):
return Paragraph(text, ANSWER_STYLE)
def B(text):
return Paragraph(f"• {text}", BULLET_STYLE)
def unit_header(text):
return Paragraph(f" {text}", UNIT_HEADING)
def section(text):
return Paragraph(text, SECTION_LABEL)
def tip(text):
return Paragraph(text, TIP_STYLE)
def hr():
return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#9e9e9e'), spaceAfter=4, spaceBefore=4)
def table_2col(data, col_widths=None):
if col_widths is None:
col_widths = [7*cm, 9.5*cm]
tbl = Table(data, colWidths=col_widths)
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a237e')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#f5f5f5'), colors.white]),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#bdbdbd')),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('LEFTPADDING', (0,0), (-1,-1), 6),
('RIGHTPADDING', (0,0), (-1,-1), 6),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
]))
return tbl
def table_generic(data, col_widths=None):
if col_widths is None:
col_widths = [3.8*cm, 4*cm, 4*cm, 4*cm]
tbl = Table(data, colWidths=col_widths)
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#283593')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#e8eaf6'), colors.white]),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor('#9fa8da')),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('LEFTPADDING', (0,0), (-1,-1), 5),
('RIGHTPADDING', (0,0), (-1,-1), 5),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
]))
return tbl
story = []
# ── COVER PAGE ────────────────────────────────────────────────────────────────
story.append(Spacer(1, 3*cm))
story.append(Paragraph("PHARMACOLOGY", TITLE_STYLE))
story.append(Paragraph("VIVA QUESTIONS & ANSWERS", TITLE_STYLE))
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph("Tamil Nadu Dr. M.G.R. Medical University", SUBTITLE_STYLE))
story.append(Paragraph("II MBBS — All Units", SUBTITLE_STYLE))
story.append(Spacer(1, 1.5*cm))
cover_box = Table(
[["Units Covered"],
["Unit 1: General Pharmacology"],
["Unit 2: Autonomic & Peripheral Nervous System"],
["Unit 3: Central Nervous System"],
["Unit 4: CVS, Blood & Diuretics"],
["Unit 5: Respiratory System, GIT & Autacoids"],
["Unit 6: Endocrine Pharmacology"],
["Unit 7 & 8: Chemotherapy"]],
colWidths=[12*cm]
)
cover_box.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a237e')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,0), 12),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,1), (-1,-1), 10),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#e8eaf6'), colors.HexColor('#c5cae9')]),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#7986cb')),
('TOPPADDING', (0,0), (-1,-1), 7),
('BOTTOMPADDING', (0,0), (-1,-1), 7),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
]))
story.append(cover_box)
story.append(Spacer(1, 2*cm))
story.append(Paragraph("Compiled for Viva Voce Preparation", TIP_STYLE))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 1 - GENERAL PHARMACOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 1 — GENERAL PHARMACOLOGY"))
story.append(Spacer(1, 0.2*cm))
qa1 = [
("Q1. Define pharmacology.",
"Pharmacology is the science that deals with the study of drugs — their sources, physicochemical properties, dosage forms, mechanisms of action, absorption, distribution, metabolism, excretion, effects, uses, and adverse reactions."),
("Q2. What is a drug? Give examples.",
"A drug is any substance that, when administered to a living organism, produces a biological effect. Examples: aspirin, penicillin, morphine."),
("Q3. What are the routes of drug administration? Which is fastest?",
None),
("Q4. What is bioavailability?",
"Bioavailability is the fraction (percentage) of the administered drug that reaches the systemic circulation in unchanged form. IV bioavailability = 100%. Oral bioavailability is reduced by first-pass metabolism."),
("Q5. What is first-pass metabolism? Give examples.",
"First-pass metabolism (presystemic metabolism) is the metabolism of a drug in the gut wall and liver before it reaches systemic circulation, reducing its bioavailability. Examples: morphine, propranolol, lignocaine, nitroglycerin, aspirin. These drugs are often given by non-oral routes to avoid this effect."),
("Q6. What is plasma protein binding? What is its significance?",
None),
("Q7. What is Vd (volume of distribution)?",
"Vd is a theoretical volume that the drug would need to occupy to explain the observed plasma concentration relative to the total dose administered. Vd = Amount of drug in body / Plasma drug concentration. High Vd = drug is extensively distributed to tissues (e.g., chloroquine). Low Vd = drug stays in plasma."),
("Q8. What is the half-life of a drug?",
"Half-life (t½) is the time taken for the plasma concentration of a drug to fall to half its original value. It determines dosing frequency and time to steady state (4-5 half-lives). Example: digoxin t½ = 36-40 hours."),
("Q9. What are the phases of drug metabolism (biotransformation)?",
None),
("Q10. What is enzyme induction? Give examples.",
"Enzyme induction is an increase in synthesis of CYP450 enzymes, leading to faster metabolism of drugs and reduced drug effect. Inducers: rifampicin, phenobarbitone, phenytoin, carbamazepine, alcohol (chronic). Clinical example: rifampicin reduces efficacy of oral contraceptive pills."),
("Q11. What is enzyme inhibition? Give examples.",
"Inhibition of CYP450 enzymes leads to reduced metabolism, increased plasma levels, and toxicity of co-administered drugs. Examples: ketoconazole, erythromycin, ciprofloxacin, cimetidine, grapefruit juice."),
("Q12. What are receptors? Classify them.",
None),
("Q13. What is an agonist? What is an antagonist?",
None),
("Q14. Difference between competitive and non-competitive antagonism?",
None),
("Q15. What is tolerance? Tachyphylaxis? Dependence?",
None),
("Q16. What is idiosyncrasy?",
"An abnormal, genetically determined qualitatively different response to a drug not seen in most individuals. Example: G6PD-deficient patients develop hemolysis with primaquine/sulfonamides; succinylcholine causes prolonged apnea in pseudocholinesterase-deficient patients."),
("Q17. What is the therapeutic index?",
"Therapeutic Index (TI) = TD50 / ED50. A high TI = safer drug (e.g., penicillin). A low TI = narrow safety margin requiring monitoring (e.g., digoxin, warfarin, lithium, theophylline, aminoglycosides)."),
("Q18. What is steady state and how does half-life relate to it?",
"Steady state is achieved after 4-5 half-lives of continuous administration, when rate of drug intake = rate of elimination. Time to steady state depends only on t½, not on dose."),
]
for q, a_text in qa1:
story.append(Q(q))
if q == "Q3. What are the routes of drug administration? Which is fastest?":
story.append(A("Routes include:"))
story.append(B("Enteral: oral, sublingual, rectal"))
story.append(B("Parenteral: IV, IM, SC, intradermal"))
story.append(B("Others: inhalation, transdermal, topical, intrathecal"))
story.append(A("The IV route is the fastest as it bypasses absorption completely."))
elif q == "Q6. What is plasma protein binding? What is its significance?":
story.append(A("Drugs bind reversibly to plasma proteins (mainly albumin). Significance:"))
story.append(B("Bound drug is pharmacologically inactive (only free drug acts)"))
story.append(B("Acts as a drug reservoir"))
story.append(B("Bound drug cannot be filtered by kidney"))
story.append(B("Drug-drug interaction can occur at protein binding sites (displacement)"))
elif q == "Q9. What are the phases of drug metabolism (biotransformation)?":
story.append(A("Phase I (Nonsynthetic): Oxidation, reduction, hydrolysis — mediated by CYP450 enzymes in liver."))
story.append(A("Phase II (Synthetic/Conjugation): Glucuronidation, sulfation, acetylation, methylation — makes metabolite water-soluble for excretion."))
elif q == "Q12. What are receptors? Classify them.":
story.append(A("Receptors are macromolecular proteins that recognize and bind specific drugs/endogenous ligands and produce a response. Classification:"))
story.append(B("Ionotropic (ligand-gated ion channels): Nicotinic ACh receptor, GABA-A"))
story.append(B("G-protein coupled receptors (GPCR): Adrenergic, muscarinic, opioid"))
story.append(B("Enzyme-linked receptors (tyrosine kinase): Insulin receptor, growth factors"))
story.append(B("Nuclear receptors (intracellular): Steroid hormones, thyroid hormones, vitamin D"))
elif q == "Q13. What is an agonist? What is an antagonist?":
story.append(A("Agonist: Binds to a receptor and produces a biological response (has affinity + intrinsic activity). Example: salbutamol (beta-2 agonist)."))
story.append(A("Antagonist: Binds to a receptor but produces no response, and blocks the agonist (has affinity, no intrinsic activity). Example: propranolol (beta blocker)."))
elif q == "Q14. Difference between competitive and non-competitive antagonism?":
tdata = [
['Feature', 'Competitive', 'Non-competitive'],
['Binding site', 'Same as agonist', 'Allosteric (different site)'],
['Effect of increasing agonist', 'Can overcome antagonism', 'Cannot overcome'],
['Dose-response curve', 'Shifted right, parallel', 'Maximum depressed'],
['Example', 'Atropine, naloxone', 'Phenoxybenzamine'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[4*cm, 5*cm, 5.5*cm]))
story.append(Spacer(1,4))
elif q == "Q15. What is tolerance? Tachyphylaxis? Dependence?":
story.append(B("Tolerance: Reduced response on repeated administration requiring increased doses (e.g., opioids, alcohol)."))
story.append(B("Tachyphylaxis: Rapid development of tolerance after just a few doses (e.g., ephedrine)."))
story.append(B("Dependence: Compulsive drug use despite harm. Physical dependence = withdrawal symptoms on stopping. Psychological dependence = craving."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 2 - ANS & PERIPHERAL NERVOUS SYSTEM
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 2 — AUTONOMIC & PERIPHERAL NERVOUS SYSTEM"))
story.append(Spacer(1, 0.2*cm))
u2_items = [
("Q1. What is neurohumoral transmission?",
"The process by which nerve impulses are transmitted across synapses via chemical messengers. Steps: (1) Synthesis of neurotransmitter, (2) Storage in vesicles, (3) Release into synaptic cleft (Ca2+-triggered), (4) Binding to receptors, (5) Termination (reuptake, degradation, or diffusion)."),
("Q2. What are the neurotransmitters of ANS?",
None),
("Q3. Classify cholinergic receptors with examples.",
None),
("Q4. What are the effects of muscarinic receptor stimulation?",
None),
("Q5. What is atropine? Give pharmacological effects.",
None),
("Q6. What are the uses and contraindications of atropine?",
None),
("Q7. Classify adrenergic receptors with their actions.",
None),
("Q8. What is the mechanism and uses of adrenaline?",
"Adrenaline acts on alpha1, alpha2, beta1, beta2, beta3 receptors. Effects: increased heart rate and force, bronchodilation, vasoconstriction (skin/viscera) + vasodilation (skeletal muscle). Uses: anaphylaxis (drug of choice), cardiac arrest, adjuvant in local anaesthetics (prolongs action, reduces bleeding), acute severe asthma."),
("Q9. What are beta blockers? Classify and give uses.",
None),
("Q10. Adverse effects and contraindications of beta blockers?",
None),
("Q11. What are organophosphates? Mechanism of toxicity?",
"Organophosphates (malathion, parathion) are irreversible inhibitors of acetylcholinesterase (AChE). They phosphorylate the active site of AChE, leading to accumulation of ACh at all cholinergic synapses (muscarinic + nicotinic + CNS)."),
("Q12. Features and treatment of organophosphate poisoning?",
None),
("Q13. What are neuromuscular blocking agents? Classify.",
None),
("Q14. What is succinylcholine? Side effects?",
None),
("Q15. What are local anaesthetics? Mechanism?",
None),
("Q16. Uses and toxicity of lignocaine?",
"Uses: surface/infiltration/nerve block/epidural/spinal anaesthesia, ventricular arrhythmias (IV). Toxicity: CNS (dizziness, perioral tingling, convulsions) then CVS (hypotension, bradycardia, cardiac arrest) due to systemic absorption."),
("Q17. What are anticholinesterases? Classify.",
None),
]
for q, a_text in u2_items:
story.append(Q(q))
if q == "Q2. What are the neurotransmitters of ANS?":
story.append(B("Acetylcholine (ACh): Released at all preganglionic synapses (sympathetic + parasympathetic), all parasympathetic postganglionic synapses, sympathetic fibers to sweat glands, and NMJ."))
story.append(B("Norepinephrine: Released at sympathetic postganglionic nerve endings (except sweat glands)."))
story.append(B("Epinephrine: Released from adrenal medulla into blood."))
elif q == "Q3. Classify cholinergic receptors with examples.":
story.append(B("Muscarinic (M1-M5): On smooth muscle, cardiac, exocrine glands. Agonists: pilocarpine, bethanechol. Antagonists: atropine, scopolamine."))
story.append(B("Nicotinic (Nn): At autonomic ganglia. Agonist: nicotine. Antagonist: hexamethonium."))
story.append(B("Nicotinic (Nm): At neuromuscular junction. Agonist: succinylcholine. Antagonists: tubocurarine, vecuronium."))
elif q == "Q4. What are the effects of muscarinic receptor stimulation?":
story.append(A("Mnemonic: SLUD + others"))
story.append(B("Salivation, Lacrimation, Urination, Defecation (diarrhea)"))
story.append(B("Bradycardia, hypotension"))
story.append(B("Bronchoconstriction, increased secretions"))
story.append(B("Miosis (pupil constriction), accommodation for near vision"))
story.append(B("Increased GI motility"))
elif q == "Q5. What is atropine? Give pharmacological effects.":
story.append(A("Atropine is a competitive muscarinic antagonist (alkaloid from Atropa belladonna). Effects (opposite to muscarinic stimulation):"))
story.append(B("Tachycardia"))
story.append(B("Mydriasis and cycloplegia"))
story.append(B("Reduced secretions (dry mouth, dry skin, anhidrosis)"))
story.append(B("Bronchodilation"))
story.append(B("Reduced GI motility (constipation)"))
story.append(B("Urinary retention"))
story.append(B("CNS: stimulation (high dose)"))
elif q == "Q6. What are the uses and contraindications of atropine?":
story.append(A("Uses: organophosphate poisoning, preanesthetic medication, bradycardia, peptic ulcer, ophthalmic (mydriasis), antidote for muscarine/mushroom poisoning."))
story.append(A("Contraindications: glaucoma, benign prostatic hyperplasia, pyloric stenosis, tachyarrhythmia."))
elif q == "Q7. Classify adrenergic receptors with their actions.":
tdata = [
['Receptor', 'Main Actions'],
['alpha-1', 'Vasoconstriction, mydriasis, urinary sphincter contraction'],
['alpha-2', 'Reduces NE release (presynaptic); reduces sympathetic outflow (CNS)'],
['beta-1', 'Tachycardia, increased contractility, renin release'],
['beta-2', 'Bronchodilation, vasodilation, uterine relaxation, glycogenolysis'],
['beta-3', 'Lipolysis in fat cells'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[3*cm, 12*cm]))
story.append(Spacer(1,4))
elif q == "Q9. What are beta blockers? Classify and give uses.":
story.append(A("Beta blockers antagonize beta-adrenergic receptors. Classification:"))
story.append(B("Non-selective (beta1+beta2): Propranolol, nadolol, timolol"))
story.append(B("Cardioselective (beta1): Atenolol, metoprolol, bisoprolol"))
story.append(B("With ISA: Pindolol, oxprenolol"))
story.append(B("With alpha-blocking activity: Labetalol, carvedilol"))
story.append(A("Uses: hypertension, angina, arrhythmias, heart failure (carvedilol, bisoprolol), thyrotoxicosis, glaucoma (timolol), migraine prophylaxis, anxiety."))
elif q == "Q10. Adverse effects and contraindications of beta blockers?":
story.append(A("Adverse effects: bradycardia, heart block, bronchospasm, cold extremities, hypoglycemia masking, fatigue, impotence."))
story.append(A("Contraindications: bronchial asthma, COPD, heart block, severe bradycardia, decompensated heart failure, Prinzmetal's angina."))
elif q == "Q12. Features and treatment of organophosphate poisoning?":
story.append(A("Features: Muscarinic (SLUD, bradycardia, bronchospasm, miosis) + Nicotinic (muscle fasciculations, weakness, paralysis) + CNS (anxiety, convulsions, coma)."))
story.append(A("Treatment:"))
story.append(B("Atropine (large doses IV, reverses muscarinic effects) — drug of choice"))
story.append(B("Pralidoxime / 2-PAM (reactivates AChE if given early, before 'ageing')"))
story.append(B("Supportive: airway, oxygen, diazepam for convulsions"))
elif q == "Q13. What are neuromuscular blocking agents? Classify.":
story.append(A("NMBAs block the NMJ, causing skeletal muscle paralysis. Used during general anaesthesia."))
story.append(B("Depolarizing: Succinylcholine — causes initial fasciculations (Phase I block), then sustained depolarization. Short acting. Reversed by plasma cholinesterase."))
story.append(B("Non-depolarizing: Tubocurarine, pancuronium, vecuronium, rocuronium, atracurium — competitive antagonism at nicotinic Nm receptors. Reversed by neostigmine."))
elif q == "Q14. What is succinylcholine? Side effects?":
story.append(A("Succinylcholine is a depolarizing NMB (mimics ACh). Side effects: muscle fasciculations, postoperative myalgia, hyperkalemia (dangerous in burns/crush injuries), raised intraocular and intragastric pressure, malignant hyperthermia (with halothane), prolonged apnea in pseudocholinesterase deficiency."))
elif q == "Q15. What are local anaesthetics? Mechanism?":
story.append(A("LAs block nerve conduction by blocking voltage-gated Na+ channels in nerve membrane, preventing depolarization. Examples: lignocaine (most used), bupivacaine, cocaine, procaine. Adrenaline is added to prolong action. Order of blockade: pain > temperature > touch > pressure > motor."))
elif q == "Q17. What are anticholinesterases? Classify.":
story.append(A("Drugs that inhibit AChE, leading to ACh accumulation. Classification:"))
story.append(B("Reversible: Physostigmine, neostigmine, pyridostigmine, edrophonium"))
story.append(B("Irreversible: Organophosphates (parathion, malathion, DFP, nerve agents — tabun, sarin)"))
story.append(A("Uses of reversible: myasthenia gravis, reversal of NMB (neostigmine), glaucoma (physostigmine), Alzheimer's (donepezil, rivastigmine)."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 3 - CNS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 3 — CENTRAL NERVOUS SYSTEM"))
story.append(Spacer(1, 0.2*cm))
u3 = [
("Q1. Classify general anaesthetics.",
None),
("Q2. What is balanced anaesthesia? What is the triad of GA?",
"Balanced anaesthesia = combination of drugs to achieve the triad of GA while minimizing adverse effects of any single agent. Triad: (1) Loss of consciousness (hypnosis), (2) Analgesia, (3) Muscle relaxation."),
("Q3. What is ketamine? Unique features?",
None),
("Q4. Classify sedative-hypnotics.",
None),
("Q5. What is the mechanism of benzodiazepines?",
"BZDs act on GABA-A receptors (ionotropic, Cl- channel). They potentiate GABA by increasing the FREQUENCY of Cl- channel opening, causing hyperpolarization and CNS depression. (Note: barbiturates increase the DURATION of Cl- channel opening.)"),
("Q6. Uses and antidote of benzodiazepines?",
None),
("Q7. Classify antiepileptic drugs.",
None),
("Q8. Phenytoin — mechanism, uses, adverse effects?",
None),
("Q9. Valproate — uses and adverse effects?",
None),
("Q10. Classify opioid analgesics. Mechanism and uses?",
None),
("Q11. Adverse effects and antidote of morphine?",
None),
("Q12. Classify antipsychotics (neuroleptics).",
None),
("Q13. Mechanism of typical antipsychotics? What are EPS?",
None),
("Q14. What is Neuroleptic Malignant Syndrome (NMS)?",
"Rare but life-threatening reaction to antipsychotics. Features (FEVER mnemonic): Fever, Encephalopathy (altered consciousness), Vitals unstable, Elevated CK, Rigidity. Treatment: stop drug, dantrolene, bromocriptine, cooling, supportive care."),
("Q15. Classify antidepressants.",
None),
("Q16. What is lithium? Uses, toxicity, and monitoring?",
None),
]
for q, a_text in u3:
story.append(Q(q))
if q == "Q1. Classify general anaesthetics.":
story.append(B("Inhalational: Volatile liquids (halothane, isoflurane, sevoflurane, desflurane) and gases (nitrous oxide)"))
story.append(B("IV anaesthetics: Thiopentone sodium, propofol, ketamine, etomidate, midazolam"))
elif q == "Q3. What is ketamine? Unique features?":
story.append(A("Ketamine is a dissociative anaesthetic (NMDA receptor antagonist). Unique features:"))
story.append(B("Produces 'dissociative anaesthesia' (patient appears awake but unresponsive)"))
story.append(B("Potent analgesic — useful for short procedures"))
story.append(B("Increases HR, BP, cardiac output (sympathomimetic — safe in hemorrhagic shock)"))
story.append(B("Bronchodilator (useful in asthmatic patients)"))
story.append(B("Causes emergence delirium/hallucinations (minimized by benzodiazepines)"))
story.append(B("Increases ICP and IOP — CONTRAINDICATED in head injury, glaucoma"))
elif q == "Q4. Classify sedative-hypnotics.":
story.append(B("Benzodiazepines: Diazepam, lorazepam, midazolam, alprazolam"))
story.append(B("Barbiturates: Phenobarbitone, thiopentone, pentobarbitone"))
story.append(B("Non-BZD hypnotics (Z drugs): Zolpidem, zaleplon, zopiclone"))
story.append(B("Others: Chloral hydrate, meprobamate"))
elif q == "Q6. Uses and antidote of benzodiazepines?":
story.append(A("Uses: anxiety, insomnia, status epilepticus (IV diazepam/lorazepam), alcohol withdrawal, preanaesthetic medication, muscle relaxation (diazepam), procedural sedation."))
story.append(A("Antidote: Flumazenil — competitive BZD receptor antagonist; reverses sedation and respiratory depression caused by BZDs."))
elif q == "Q7. Classify antiepileptic drugs.":
story.append(B("Sodium channel blockers: Phenytoin, carbamazepine, lamotrigine, valproate"))
story.append(B("GABA enhancers: Valproate, phenobarbitone, benzodiazepines, gabapentin, vigabatrin"))
story.append(B("T-type Ca2+ channel blockers: Ethosuximide (absence seizures)"))
story.append(B("Multiple mechanisms: Valproate (drug of choice for multiple seizure types)"))
elif q == "Q8. Phenytoin — mechanism, uses, adverse effects?":
story.append(A("Mechanism: Blocks voltage-gated Na+ channels (stabilizes inactive state), reducing repetitive firing."))
story.append(A("Uses: all epilepsy except absence seizures, trigeminal neuralgia, cardiac arrhythmias (IV)."))
story.append(A("Unique adverse effects: gingival hyperplasia, hirsutism, coarsening of facial features, megaloblastic anaemia (folate deficiency), teratogenicity (fetal hydantoin syndrome), nystagmus, ataxia. Also a potent enzyme inducer."))
elif q == "Q9. Valproate — uses and adverse effects?":
story.append(A("Uses: drug of choice for generalized seizures, absence seizures, juvenile myoclonic epilepsy, mixed seizure disorders, bipolar disorder (mood stabilizer), migraine prophylaxis."))
story.append(A("Adverse effects: weight gain, hair loss (alopecia), tremor, hepatotoxicity, teratogenicity (neural tube defects — spina bifida), pancreatitis, thrombocytopenia."))
elif q == "Q10. Classify opioid analgesics. Mechanism and uses?":
story.append(B("Strong agonists: Morphine, fentanyl, methadone, pethidine, heroin"))
story.append(B("Moderate agonists: Codeine, tramadol, oxycodone"))
story.append(B("Partial agonists: Buprenorphine"))
story.append(B("Antagonists: Naloxone, naltrexone"))
story.append(B("Mixed agonist-antagonists: Pentazocine, butorphanol"))
story.append(A("Mechanism: Act on mu, kappa, delta opioid receptors (Gi-coupled GPCRs) — hyperpolarization, reduced neuronal excitability."))
story.append(A("Uses: severe pain (cancer, post-op, MI), cough suppression (codeine), diarrhea (loperamide), acute pulmonary edema (morphine)."))
elif q == "Q11. Adverse effects and antidote of morphine?":
story.append(A("Adverse effects: respiratory depression (most dangerous), constipation (no tolerance), nausea/vomiting, miosis (pin-point pupils), urinary retention, euphoria, physical dependence, histamine release."))
story.append(A("Antidote: Naloxone (pure opioid antagonist, IV). Short half-life (30-60 min) — may need repeated doses."))
elif q == "Q12. Classify antipsychotics (neuroleptics).":
story.append(B("Typical (1st gen) — Low potency: chlorpromazine, thioridazine; High potency: haloperidol, fluphenazine, trifluoperazine"))
story.append(B("Atypical (2nd gen): Clozapine, risperidone, olanzapine, quetiapine, aripiprazole, ziprasidone"))
elif q == "Q13. Mechanism of typical antipsychotics? What are EPS?":
story.append(A("Mechanism: Block D2 dopamine receptors (mesolimbic/mesocortical pathway)."))
story.append(A("Extrapyramidal Side Effects (EPS):"))
story.append(B("Acute dystonia (hours-days): muscle spasms, torticollis — treat with biperiden/benztropine"))
story.append(B("Akathisia (days-weeks): motor restlessness"))
story.append(B("Parkinsonism (weeks): tremor, rigidity, bradykinesia — treat with anticholinergics"))
story.append(B("Tardive dyskinesia (months-years): involuntary oro-facial movements — switch to clozapine"))
elif q == "Q15. Classify antidepressants.":
story.append(B("TCAs (Tricyclics): Imipramine, amitriptyline, clomipramine — block reuptake of NE and 5-HT"))
story.append(B("SSRIs: Fluoxetine, sertraline, paroxetine, escitalopram — drug of choice; safest"))
story.append(B("SNRIs: Venlafaxine, duloxetine"))
story.append(B("MAOIs: Phenelzine, tranylcypromine — tyramine/cheese reaction risk"))
story.append(B("Others: Mirtazapine, bupropion, trazodone"))
elif q == "Q16. What is lithium? Uses, toxicity, and monitoring?":
story.append(A("Uses: Bipolar disorder (both acute mania and prophylaxis), augmentation in resistant depression."))
story.append(A("Toxicity (low TI): tremor, polyuria/polydipsia (nephrogenic DI), hypothyroidism, weight gain. Toxic signs: nausea, vomiting, coarse tremor, ataxia, confusion, convulsions, coma."))
story.append(A("Therapeutic range: 0.6-1.2 mEq/L; >2 mEq/L = toxic. Monitor renal and thyroid function regularly."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 4 - CVS, BLOOD & DIURETICS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 4 — CARDIOVASCULAR SYSTEM, BLOOD & DIURETICS"))
story.append(Spacer(1, 0.2*cm))
u4 = [
("Q1. Classify antihypertensive drugs.",
None),
("Q2. Mechanism of ACE inhibitors? Uses and adverse effects?",
None),
("Q3. Classify calcium channel blockers.",
None),
("Q4. What are cardiac glycosides? Mechanism of digoxin?",
None),
("Q5. Uses and adverse effects of digoxin?",
None),
("Q6. Classify anti-anginal drugs and mechanisms.",
None),
("Q7. What is nitrate tolerance? How is it prevented?",
"Nitrate tolerance = reduced efficacy on repeated use due to depletion of -SH groups and reduced NO generation. Prevention: provide a nitrate-free interval of 8-12 hours (usually at night). IMPORTANT: Sildenafil + nitrate = dangerous hypotension (absolute contraindication)."),
("Q8. Classify antiarrhythmic drugs (Vaughan Williams).",
None),
("Q9. Adverse effects of amiodarone?",
None),
("Q10. Classify diuretics with mechanisms.",
None),
("Q11. Adverse effects of furosemide?",
"Hypokalemia, hyponatremia, hypomagnesemia, hypovolemia, metabolic alkalosis, hyperuricemia (gout), ototoxicity (high doses/IV), hyperglycemia, dehydration."),
("Q12. Classify anticoagulants.",
None),
("Q13. Mechanism of heparin and warfarin? Antidotes?",
None),
("Q14. What are antiplatelet drugs? Examples and mechanisms?",
None),
]
for q, a_text in u4:
story.append(Q(q))
if q == "Q1. Classify antihypertensive drugs.":
story.append(B("Diuretics: Thiazides (hydrochlorothiazide), loop diuretics (furosemide)"))
story.append(B("Beta blockers: Atenolol, metoprolol"))
story.append(B("CCBs: Amlodipine (DHP), verapamil, diltiazem"))
story.append(B("ACE inhibitors: Enalapril, lisinopril, ramipril"))
story.append(B("ARBs: Losartan, valsartan, telmisartan"))
story.append(B("Centrally acting: Methyldopa (DOC in pregnancy), clonidine"))
story.append(B("Alpha blockers: Prazosin, doxazosin"))
story.append(B("Vasodilators: Hydralazine, minoxidil, sodium nitroprusside (hypertensive emergency)"))
elif q == "Q2. Mechanism of ACE inhibitors? Uses and adverse effects?":
story.append(A("Mechanism: Block ACE, preventing Angiotensin I -> Angiotensin II. Also prevent breakdown of bradykinin -> vasodilation, reduced aldosterone."))
story.append(A("Uses: hypertension, heart failure (reduces mortality), diabetic nephropathy (renoprotection), post-MI."))
story.append(A("Adverse effects: DRY COUGH (bradykinin accumulation — most common, reason to switch to ARB), hyperkalemia, first-dose hypotension, angioedema (contraindication), teratogenicity."))
elif q == "Q3. Classify calcium channel blockers.":
story.append(B("Dihydropyridines (DHP): Amlodipine, nifedipine — mainly vascular smooth muscle; hypertension, angina. Causes reflex tachycardia and ankle edema."))
story.append(B("Verapamil (phenylalkylamine): Cardiac > vascular; bradycardia, negative inotrope; arrhythmias (SVT), angina, hypertension."))
story.append(B("Diltiazem (benzothiazepine): Intermediate; angina, arrhythmias."))
elif q == "Q4. What are cardiac glycosides? Mechanism of digoxin?":
story.append(A("Derived from Digitalis (foxglove plant). Digoxin is the prototype."))
story.append(A("Mechanism: (1) Inhibits Na+/K+-ATPase pump -> intracellular Na+ rises -> Na+-Ca2+ exchanger inhibited -> intracellular Ca2+ rises -> positive inotropy. (2) Increases vagal tone -> slows HR (negative chronotropy) and AV conduction."))
elif q == "Q5. Uses and adverse effects of digoxin?":
story.append(A("Uses: Heart failure (reduces symptoms), atrial fibrillation/flutter (controls ventricular rate)."))
story.append(A("Adverse effects (narrow TI): GI (nausea, vomiting, diarrhea), CNS (yellow-green halo vision, xanthopsia), Cardiac (any arrhythmia — most dangerous)."))
story.append(A("Toxicity enhanced by: hypokalemia, hypomagnesemia, hypercalcemia. Antidote: Digibind (digoxin-specific antibody fragments)."))
elif q == "Q6. Classify anti-anginal drugs and mechanisms.":
story.append(B("Nitrates (GTN, ISDN, ISMN): Release NO -> cGMP -> vascular smooth muscle relaxation -> venodilation (reduces preload) + arteriodilation (reduces afterload)."))
story.append(B("Beta blockers: Reduce HR and contractility (reduce O2 demand)."))
story.append(B("Calcium channel blockers: Reduce afterload and HR."))
story.append(B("Combination: Nitrate + beta blocker is most effective for chronic stable angina."))
elif q == "Q8. Classify antiarrhythmic drugs (Vaughan Williams).":
story.append(B("Class I (Na+ channel blockers): Ia — quinidine, procainamide; Ib — lignocaine; Ic — flecainide"))
story.append(B("Class II (Beta blockers): Atenolol, metoprolol, esmolol"))
story.append(B("Class III (K+ channel blockers — prolong AP): Amiodarone, sotalol"))
story.append(B("Class IV (Ca2+ channel blockers): Verapamil, diltiazem"))
story.append(B("Unclassified: Adenosine (DOC for acute SVT), digoxin"))
elif q == "Q9. Adverse effects of amiodarone?":
story.append(B("Pulmonary toxicity — most serious (pulmonary fibrosis)"))
story.append(B("Thyroid dysfunction (hypo or hyperthyroidism) — iodine-containing drug"))
story.append(B("Hepatotoxicity"))
story.append(B("Corneal microdeposits (blue-grey vision)"))
story.append(B("Photosensitivity, blue-grey skin discoloration"))
story.append(B("QT prolongation — torsades de pointes"))
story.append(B("Peripheral neuropathy"))
elif q == "Q10. Classify diuretics with mechanisms.":
tdata = [
['Class', 'Site of Action', 'Mechanism', 'Example'],
['Osmotic', 'PCT, descending loop', 'Osmotic retention of water', 'Mannitol'],
['CA inhibitors', 'PCT', 'Block CA -> reduce HCO3- reabsorption', 'Acetazolamide'],
['Loop', 'Thick ascending loop of Henle', 'Block NKCC2 cotransporter', 'Furosemide, bumetanide'],
['Thiazides', 'Distal convoluted tubule', 'Block NCC cotransporter', 'Hydrochlorothiazide'],
['K+-sparing', 'Collecting duct', 'Aldosterone antagonist or Na+ channel blocker', 'Spironolactone, amiloride'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[3.2*cm, 4*cm, 5*cm, 3.5*cm]))
story.append(Spacer(1,4))
elif q == "Q12. Classify anticoagulants.":
story.append(B("Parenteral: Heparin (UFH), LMWHs (enoxaparin, dalteparin), fondaparinux, bivalirudin"))
story.append(B("Oral anticoagulants: Warfarin (vitamin K antagonist)"))
story.append(B("DOACs: Dabigatran (direct thrombin inhibitor), rivaroxaban, apixaban (factor Xa inhibitors)"))
story.append(B("Fibrinolytics (thrombolytics): Streptokinase, alteplase (tPA), tenecteplase"))
elif q == "Q13. Mechanism of heparin and warfarin? Antidotes?":
story.append(A("Heparin: Activates antithrombin III, which inhibits thrombin (IIa) and factor Xa. Antidote: PROTAMINE SULFATE."))
story.append(A("Warfarin: Inhibits vitamin K epoxide reductase -> prevents activation of vitamin K-dependent clotting factors (II, VII, IX, X) and proteins C and S. Antidote: VITAMIN K (slow) or FFP/PCC (rapid reversal)."))
elif q == "Q14. What are antiplatelet drugs? Examples and mechanisms?":
story.append(B("Aspirin: Irreversibly inhibits COX-1 -> reduces TXA2 synthesis -> reduces platelet aggregation. Low dose 75-150 mg."))
story.append(B("Clopidogrel, ticagrelor, prasugrel: Block P2Y12 ADP receptor. Used as DAPT after ACS/stenting."))
story.append(B("GPIIb/IIIa inhibitors: Abciximab, tirofiban — block final common pathway of aggregation."))
story.append(B("Dipyridamole: Inhibits phosphodiesterase -> increases cAMP -> inhibits platelet aggregation."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 5 - RS, GIT, AUTACOIDS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 5 — RESPIRATORY SYSTEM, GIT & AUTACOIDS"))
story.append(Spacer(1, 0.2*cm))
u5 = [
("Q1. Classify antiasthmatic drugs.",
None),
("Q2. Mechanism, uses and adverse effects of salbutamol?",
None),
("Q3. What is theophylline? Mechanism and adverse effects?",
None),
("Q4. Classify antihistamines. H1 vs H2 blockers?",
None),
("Q5. What are proton pump inhibitors? Mechanism and uses?",
None),
("Q6. What is H. pylori triple therapy?",
"PPI + Clarithromycin + Amoxicillin for 7-14 days. If penicillin allergy: PPI + Clarithromycin + Metronidazole. Quadruple therapy (clarithromycin-resistant): PPI + Bismuth + Metronidazole + Tetracycline."),
("Q7. Classify laxatives with examples.",
None),
("Q8. Classify antiemetics with mechanism.",
None),
("Q9. What are autacoids? Give examples.",
None),
("Q10. What are prostaglandins? Uses?",
None),
("Q11. What are NSAIDs? Mechanism and classification?",
None),
]
for q, a_text in u5:
story.append(Q(q))
if q == "Q1. Classify antiasthmatic drugs.":
story.append(A("Bronchodilators:"))
story.append(B("Beta-2 agonists: SABA — salbutamol, terbutaline; LABA — salmeterol, formoterol"))
story.append(B("Methylxanthines: Theophylline, aminophylline"))
story.append(B("Anticholinergics: Ipratropium (short), tiotropium (long)"))
story.append(A("Anti-inflammatory:"))
story.append(B("ICS: Budesonide, beclomethasone, fluticasone (mainstay of prophylaxis)"))
story.append(B("Leukotriene antagonists: Montelukast, zafirlukast"))
story.append(B("Mast cell stabilizers: Sodium cromoglycate"))
story.append(B("Omalizumab (anti-IgE monoclonal antibody)"))
elif q == "Q2. Mechanism, uses and adverse effects of salbutamol?":
story.append(A("Mechanism: Selective beta-2 agonist. Activates beta-2 receptors -> increases cAMP -> bronchial smooth muscle relaxation (bronchodilation) + inhibits mediator release."))
story.append(A("Uses: Acute bronchospasm (reliever/rescue), exercise-induced asthma, preterm labor (tocolytic)."))
story.append(A("Adverse effects: Tremor, palpitations, tachycardia, hypokalemia (high doses), hyperglycemia."))
elif q == "Q3. What is theophylline? Mechanism and adverse effects?":
story.append(A("Theophylline is a methylxanthine. Mechanism: Inhibits phosphodiesterase (PDE) -> increases cAMP -> bronchodilation + anti-inflammatory; also adenosine receptor antagonist."))
story.append(A("Adverse effects (narrow TI, therapeutic range 10-20 mcg/mL): GI (nausea, vomiting), CNS (insomnia, anxiety, seizures), CVS (arrhythmias, tachycardia)."))
elif q == "Q4. Classify antihistamines. H1 vs H2 blockers?":
story.append(B("H1 antihistamines 1st gen: Diphenhydramine, chlorpheniramine, promethazine — cross BBB, cause SEDATION"))
story.append(B("H1 antihistamines 2nd gen: Cetirizine, loratadine, fexofenadine — NON-SEDATING"))
story.append(B("H2 antihistamines: Ranitidine, famotidine, cimetidine — block H2 receptors in gastric parietal cells -> reduce gastric acid; used for peptic ulcer, GERD"))
elif q == "Q5. What are proton pump inhibitors? Mechanism and uses?":
story.append(A("Examples: Omeprazole, pantoprazole, lansoprazole, rabeprazole, esomeprazole."))
story.append(A("Mechanism: Irreversibly inhibit H+/K+-ATPase (proton pump) on parietal cells -> near-complete suppression of gastric acid. They are prodrugs activated in acidic environment."))
story.append(A("Uses: Peptic ulcer disease, GERD, Zollinger-Ellison syndrome, H. pylori eradication, NSAID-induced ulcer prevention."))
elif q == "Q7. Classify laxatives with examples.":
story.append(B("Bulk-forming: Ispaghula (psyllium), methylcellulose — safest"))
story.append(B("Osmotic: Lactulose (also for hepatic encephalopathy), magnesium sulphate, PEG"))
story.append(B("Stimulant/irritant: Bisacodyl, senna, castor oil"))
story.append(B("Stool softeners/lubricants: Liquid paraffin, docusate"))
elif q == "Q8. Classify antiemetics with mechanism.":
story.append(B("D2 antagonists: Metoclopramide (+ 5-HT4 agonist = prokinetic), domperidone, prochlorperazine"))
story.append(B("5-HT3 antagonists: Ondansetron, granisetron — best for chemotherapy-induced vomiting"))
story.append(B("Antihistamines (H1 blockers): Promethazine, cyclizine — motion sickness"))
story.append(B("Anticholinergics: Scopolamine (transdermal) — motion sickness"))
story.append(B("NK1 antagonist: Aprepitant — delayed-phase chemo-induced vomiting"))
story.append(B("Corticosteroids: Dexamethasone — adjunct in chemo-induced vomiting"))
elif q == "Q9. What are autacoids? Give examples.":
story.append(A("Autacoids are local hormones (endogenous chemical mediators) produced locally in tissues and act locally. They lack specific glands of origin."))
story.append(B("Biogenic amines: Histamine, serotonin (5-HT), bradykinin"))
story.append(B("Lipid-derived: Prostaglandins, thromboxanes, leukotrienes, PAF"))
story.append(B("Peptides: Angiotensin II, substance P, endothelins"))
elif q == "Q10. What are prostaglandins? Uses?":
story.append(B("PGE1 analogue — Misoprostol: Cervical ripening, labor induction, medical abortion (with mifepristone), peptic ulcer prevention (with NSAIDs)"))
story.append(B("PGF2alpha — Dinoprostone: Abortion, labor induction"))
story.append(B("PGI2 — Epoprostenol: Pulmonary arterial hypertension, anti-platelet aggregation"))
story.append(B("Latanoprost (PGF2alpha analogue): Glaucoma (increases uveoscleral outflow)"))
elif q == "Q11. What are NSAIDs? Mechanism and classification?":
story.append(A("Mechanism: Inhibit cyclooxygenase (COX) enzymes -> reduce prostaglandin synthesis -> anti-inflammatory, antipyretic, analgesic effects."))
story.append(B("Non-selective (COX-1 + COX-2): Aspirin, ibuprofen, naproxen, diclofenac, indomethacin"))
story.append(B("Selective COX-2 inhibitors (Coxibs): Celecoxib, etoricoxib"))
story.append(A("Adverse effects: GI ulceration (COX-1 inhibition reduces cytoprotective PGs), renal impairment, bronchospasm (aspirin-sensitive asthma), platelet dysfunction, hypertension."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 6 - ENDOCRINE
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 6 — ENDOCRINE PHARMACOLOGY"))
story.append(Spacer(1, 0.2*cm))
u6 = [
("Q1. Classify oral hypoglycemic agents (OHAs).",
None),
("Q2. Why is metformin the drug of first choice in type 2 DM?",
None),
("Q3. Classify insulin preparations.",
None),
("Q4. Classify corticosteroids with examples.",
None),
("Q5. Uses of corticosteroids?",
None),
("Q6. Adverse effects of long-term corticosteroid use?",
None),
("Q7. Classify thyroid drugs with mechanism.",
None),
("Q8. What are oral contraceptive pills?",
None),
]
for q, a_text in u6:
story.append(Q(q))
if q == "Q1. Classify oral hypoglycemic agents (OHAs).":
story.append(B("Sulfonylureas: Glibenclamide, glipizide, glimepiride — stimulate insulin secretion. Risk: hypoglycemia, weight gain."))
story.append(B("Biguanides: Metformin — reduces hepatic gluconeogenesis, increases insulin sensitivity. DOC in type 2 DM."))
story.append(B("Thiazolidinediones (TZDs): Pioglitazone — activates PPARgamma -> increases insulin sensitivity."))
story.append(B("Alpha-glucosidase inhibitors: Acarbose, voglibose — delay carbohydrate absorption. Side effect: flatulence."))
story.append(B("DPP-4 inhibitors (Gliptins): Sitagliptin, vildagliptin — increase GLP-1 levels -> glucose-dependent insulin release."))
story.append(B("SGLT2 inhibitors: Dapagliflozin, empagliflozin — block glucose reabsorption in PCT -> glycosuria. Cardiac/renal protection."))
story.append(B("GLP-1 receptor agonists: Liraglutide, semaglutide — mimic GLP-1, cause weight loss, CV benefit."))
elif q == "Q2. Why is metformin the drug of first choice in type 2 DM?":
story.append(A("Advantages: Does not cause hypoglycemia, causes weight loss/neutral effect, reduces cardiovascular events (UKPDS trial), inexpensive, well-established safety profile."))
story.append(A("Mechanism: Activates AMPK -> reduces hepatic gluconeogenesis, increases peripheral glucose uptake, reduces intestinal glucose absorption."))
story.append(A("Contraindications: Renal failure (GFR <30 mL/min), liver failure, heart failure (risk of lactic acidosis), hold 48h before/after contrast procedures."))
elif q == "Q3. Classify insulin preparations.":
tdata = [
['Type', 'Onset', 'Duration', 'Example'],
['Ultra-short (rapid)', '15 min', '3-4 h', 'Aspart, lispro, glulisine'],
['Short acting (regular)', '30 min', '6-8 h', 'Regular/soluble insulin'],
['Intermediate acting', '1-2 h', '12-18 h', 'NPH (isophane), lente'],
['Long acting (basal)', '2-4 h', '20-24 h', 'Glargine, detemir'],
['Ultra-long acting', '6 h', '>42 h', 'Degludec'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[4.5*cm, 2.5*cm, 2.5*cm, 6*cm]))
story.append(Spacer(1,4))
elif q == "Q4. Classify corticosteroids with examples.":
story.append(B("Glucocorticoids: Cortisol (natural), prednisolone, dexamethasone, betamethasone, budesonide, beclomethasone"))
story.append(B("Mineralocorticoids: Aldosterone (natural), fludrocortisone"))
story.append(B("Both: Hydrocortisone (used IV for emergencies)"))
elif q == "Q5. Uses of corticosteroids?":
story.append(B("Anti-inflammatory/immunosuppressive: RA, SLE, IBD, asthma, COPD exacerbation, allergic reactions"))
story.append(B("Replacement therapy: Addison's disease, congenital adrenal hyperplasia"))
story.append(B("Specific uses: dexamethasone in raised ICP/cerebral edema; antenatal steroids for fetal lung maturity"))
story.append(B("Organ transplant rejection prevention"))
story.append(B("Topical: eczema, psoriasis"))
elif q == "Q6. Adverse effects of long-term corticosteroid use?":
story.append(A("Mnemonic: BECLOMETHASONE"))
tdata = [
['Letter', 'Adverse Effect'],
['B', 'Blood sugar increased (steroid diabetes)'],
['E', 'Electrolyte imbalance (Na+ up, K+ down, Ca2+ down)'],
['C', "Cushing's syndrome (moon face, buffalo hump, striae)"],
['O', 'Osteoporosis (most serious long-term effect)'],
['M', 'Myopathy (proximal)'],
['E', 'Eye: glaucoma, posterior subcapsular cataract'],
['H', 'Hypertension'],
['A', 'Adrenal suppression (never stop abruptly!)'],
['S', 'Susceptibility to infections'],
['N', 'Neuropsychiatric (insomnia, psychosis, euphoria)'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[1.5*cm, 14*cm]))
story.append(Spacer(1,4))
elif q == "Q7. Classify thyroid drugs with mechanism.":
story.append(A("Antithyroid drugs:"))
story.append(B("Thionamides: Carbimazole (prodrug -> methimazole), PTU — inhibit thyroid peroxidase -> block T3/T4 synthesis. PTU also inhibits peripheral T4->T3 conversion (preferred in thyroid storm and pregnancy 1st trimester)."))
story.append(B("Radioactive iodine (131I): Destroys thyroid tissue"))
story.append(B("Iodine/Iodides (Lugol's iodine): Wolff-Chaikoff effect — paradoxical inhibition; used pre-operatively."))
story.append(B("Propranolol: Symptom control in thyrotoxicosis, inhibits T4->T3 conversion."))
story.append(A("Thyroid replacement: Levothyroxine (T4), liothyronine (T3)"))
elif q == "Q8. What are oral contraceptive pills?":
story.append(B("Combined OCP (estrogen + progestogen): Most effective. Inhibit GnRH pulsation -> suppress LH surge -> prevent ovulation; thicken cervical mucus; endometrial atrophy. Side effects: DVT/thromboembolism (most serious), nausea, headache, hypertension. Contraindicated in smokers >35 years, VTE history, migraine with aura, liver disease."))
story.append(B("Mini-pill (Progestogen only): For breastfeeding women, those who cannot use estrogen."))
story.append(B("Emergency contraception: Levonorgestrel (within 72h) or ulipristal acetate (within 120h)."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════════════════════
# UNIT 7 & 8 - CHEMOTHERAPY
# ═══════════════════════════════════════════════════════════════════════════════
story.append(unit_header("UNIT 7 & 8 — CHEMOTHERAPY"))
story.append(Spacer(1, 0.2*cm))
u78 = [
("Q1. Bacteriostatic vs bactericidal drugs?",
None),
("Q2. Classify penicillins with examples and uses.",
None),
("Q3. Mechanism of penicillin and mechanism of resistance?",
"Mechanism: Inhibit transpeptidase (PBPs) -> prevent cross-linking of peptidoglycan in bacterial cell wall -> cell lysis (bactericidal). Most effective against actively dividing bacteria. Resistance: Production of beta-lactamase (penicillinase) that hydrolyzes the beta-lactam ring; altered PBPs (MRSA); reduced permeability; efflux pumps."),
("Q4. Classify cephalosporins by generations.",
None),
("Q5. Aminoglycosides — mechanism, uses, toxicity?",
None),
("Q6. Fluoroquinolones — mechanism, uses, adverse effects?",
None),
("Q7. Tetracyclines — mechanism, uses, adverse effects?",
None),
("Q8. Macrolides — mechanism and uses?",
None),
("Q9. Sulfonamides and trimethoprim? What is co-trimoxazole?",
None),
("Q10. Mechanism of metronidazole? Uses?",
None),
("Q11. Antitubercular drugs — first-line and second-line?",
None),
("Q12. Classify antimalarials with mechanisms.",
None),
("Q13. Classify antifungal drugs with mechanisms.",
None),
("Q14. Antiretroviral (HIV) drugs — classify with examples.",
None),
("Q15. Classify anticancer drugs with examples.",
None),
]
for q, a_text in u78:
story.append(Q(q))
if q == "Q1. Bacteriostatic vs bactericidal drugs?":
tdata = [
['Bacteriostatic', 'Bactericidal'],
['Inhibit bacterial growth', 'Kill bacteria'],
['Require intact host immunity', 'Can act without host immunity'],
['Antagonize bactericidal drugs', 'Preferred in meningitis, endocarditis, immunocompromised'],
['Tetracyclines, chloramphenicol, sulfonamides, erythromycin, clindamycin', 'Penicillins, cephalosporins, aminoglycosides, fluoroquinolones, metronidazole'],
]
story.append(Spacer(1,4))
story.append(table_generic(tdata, col_widths=[7.5*cm, 8*cm]))
story.append(Spacer(1,4))
elif q == "Q2. Classify penicillins with examples and uses.":
story.append(B("Natural penicillins: Pen G (IV), Pen V (oral) — streptococcal infections, syphilis"))
story.append(B("Anti-staphylococcal: Cloxacillin, flucloxacillin — beta-lactamase-resistant; MSSA"))
story.append(B("Aminopenicillins: Ampicillin, amoxicillin — broader spectrum (gram+ve + H. influenzae, E. coli)"))
story.append(B("Anti-Pseudomonal: Piperacillin, ticarcillin"))
story.append(B("Beta-lactam + inhibitor combos: Amoxicillin-clavulanate (co-amoxiclav), Piperacillin-tazobactam"))
elif q == "Q4. Classify cephalosporins by generations.":
story.append(B("1st gen: Cephalexin, cefazolin — gram+ve coverage; surgical prophylaxis"))
story.append(B("2nd gen: Cefuroxime, cefaclor — extended gram-ve (H. flu, Moraxella)"))
story.append(B("3rd gen: Ceftriaxone, cefotaxime, cefixime — better gram-ve; meningitis, typhoid"))
story.append(B("4th gen: Cefepime — antipseudomonal + gram+ve"))
story.append(B("5th gen: Ceftaroline — active against MRSA"))
elif q == "Q5. Aminoglycosides — mechanism, uses, toxicity?":
story.append(A("Examples: Streptomycin, gentamicin, amikacin, tobramycin, neomycin."))
story.append(A("Mechanism: Bind irreversibly to 30S ribosomal subunit -> misreading of mRNA -> non-functional proteins -> BACTERICIDAL."))
story.append(A("Uses: gram-negative infections (including Pseudomonas), synergy with beta-lactams for endocarditis, TB (streptomycin)."))
story.append(A("Toxicity: NEPHROTOXICITY (proximal tubular damage), OTOTOXICITY (sensorineural hearing loss and vestibular toxicity), neuromuscular blockade. Monitor trough levels. Contraindicated in pregnancy."))
elif q == "Q6. Fluoroquinolones — mechanism, uses, adverse effects?":
story.append(A("Examples: Ciprofloxacin, ofloxacin, levofloxacin, moxifloxacin, norfloxacin."))
story.append(A("Mechanism: Inhibit bacterial DNA gyrase (topoisomerase II) and topoisomerase IV -> prevent DNA replication -> BACTERICIDAL."))
story.append(A("Uses: UTI (norfloxacin, ciprofloxacin), respiratory infections (levofloxacin, moxifloxacin), typhoid, anthrax, atypical pneumonia."))
story.append(A("Adverse effects: GI upset, CNS (seizure risk in epileptics), tendinopathy/tendon rupture (Achilles), QT prolongation, phototoxicity, cartilage damage (avoid in children and pregnancy)."))
elif q == "Q7. Tetracyclines — mechanism, uses, adverse effects?":
story.append(A("Examples: Tetracycline, doxycycline, minocycline."))
story.append(A("Mechanism: Bind to 30S ribosomal subunit -> block attachment of aminoacyl-tRNA -> inhibit protein synthesis -> BACTERIOSTATIC."))
story.append(A("Uses: Rickettsial infections (DOC), Chlamydia (DOC), Mycoplasma pneumonia, brucellosis, acne vulgaris, cholera, atypical pneumonia, malaria prophylaxis (doxycycline), Lyme disease."))
story.append(A("Adverse effects: GI disturbance, photosensitivity, superinfection, teeth discoloration and enamel hypoplasia (CONTRAINDICATED in children <8 years and pregnancy), hepatotoxicity."))
elif q == "Q8. Macrolides — mechanism and uses?":
story.append(A("Examples: Erythromycin, azithromycin, clarithromycin."))
story.append(A("Mechanism: Bind to 23S rRNA of 50S ribosomal subunit -> inhibit translocation (block elongation) -> BACTERIOSTATIC."))
story.append(A("Uses: Alternative to penicillin in allergy, atypical pneumonia (Legionella, Mycoplasma, Chlamydia), H. pylori eradication (clarithromycin), whooping cough (azithromycin), community-acquired pneumonia."))
story.append(A("Azithromycin advantage: long half-life (3-5 days), once-daily 5-day course. Adverse effects: GI upset, QT prolongation, hepatotoxicity."))
elif q == "Q9. Sulfonamides and trimethoprim? What is co-trimoxazole?":
story.append(A("Sulfonamides: Structural analogue of PABA; inhibit dihydropteroate synthase -> block folate synthesis."))
story.append(A("Trimethoprim: Inhibits dihydrofolate reductase (bacterial) -> blocks tetrahydrofolate synthesis."))
story.append(A("Sequential blockade of folate synthesis -> SYNERGISTIC effect."))
story.append(A("Co-trimoxazole = Sulfamethoxazole + Trimethoprim (5:1 ratio). Uses: UTI, Pneumocystis jirovecii pneumonia (PCP) — DOC for prophylaxis and treatment, typhoid, community-acquired MRSA."))
elif q == "Q10. Mechanism of metronidazole? Uses?":
story.append(A("Mechanism: Nitroimidazole. Reduced by anaerobic organisms to reactive intermediates that damage DNA."))
story.append(A("Uses: Anaerobic infections (Bacteroides), C. difficile infection (oral), H. pylori eradication, Trichomoniasis (DOC), Giardiasis (DOC), Amoebiasis (intestinal and hepatic), bacterial vaginosis."))
story.append(A("Important: Disulfiram-like reaction with ALCOHOL — patient must avoid alcohol."))
elif q == "Q11. Antitubercular drugs — first-line and second-line?":
story.append(A("First-line drugs (HRZE + S):"))
story.append(B("R — Rifampicin: Inhibits RNA polymerase; enzyme inducer; turns urine/secretions orange."))
story.append(B("H — Isoniazid (INH): Inhibits mycolic acid synthesis; peripheral neuropathy prevented by pyridoxine (B6)."))
story.append(B("Z — Pyrazinamide: Disrupts membrane potential; hepatotoxic; causes hyperuricemia."))
story.append(B("E — Ethambutol: Inhibits arabinosyl transferase; optic neuritis — red-green colour vision loss."))
story.append(B("S — Streptomycin: Aminoglycoside; given IM; ototoxic."))
story.append(A("Second-line (MDR-TB): Fluoroquinolones (levofloxacin, moxifloxacin), bedaquiline, linezolid, kanamycin, capreomycin."))
story.append(A("TB regimen: 2 months HRZE (intensive phase) + 4 months HR (continuation phase)."))
elif q == "Q12. Classify antimalarials with mechanisms.":
story.append(B("Chloroquine: DOC for P. vivax/ovale/malariae; inhibits heme polymerization. Adverse effects: retinal toxicity, pruritus."))
story.append(B("Artemisinins (artesunate, artemether): DOC for P. falciparum (severe malaria); free radicals damage parasite."))
story.append(B("ACT (Artemisinin Combination Therapy): Artemether + lumefantrine (Coartem) — WHO recommended for falciparum malaria."))
story.append(B("Primaquine: Only drug active against liver stages (radical cure of P. vivax/ovale; kills gametocytes). Causes hemolysis in G6PD-deficient patients."))
story.append(B("Quinine: For severe/complicated P. falciparum (IV); cinchonism (tinnitus, headache, visual disturbance)."))
story.append(B("Doxycycline, proguanil: Chemoprophylaxis."))
elif q == "Q13. Classify antifungal drugs with mechanisms.":
story.append(B("Polyene macrolides (bind ergosterol directly): Amphotericin B (gold standard for systemic fungal infections; nephrotoxic), Nystatin (topical only)."))
story.append(B("Azoles (inhibit ergosterol synthesis via CYP51): Imidazoles: clotrimazole, miconazole (topical); Triazoles: fluconazole (candidiasis, cryptococcal meningitis), voriconazole (aspergillosis)."))
story.append(B("Echinocandins (inhibit beta-1,3-glucan synthase): Caspofungin, micafungin — invasive candidiasis, aspergillosis. Low side effects."))
story.append(B("Griseofulvin: Inhibits microtubule; dermatophyte infections (onychomycosis)."))
story.append(B("Terbinafine: Inhibits squalene epoxidase; dermatophytes."))
elif q == "Q14. Antiretroviral (HIV) drugs — classify with examples.":
story.append(B("NRTIs: Zidovudine (AZT), lamivudine (3TC), tenofovir, emtricitabine — chain termination of viral DNA synthesis."))
story.append(B("NNRTIs: Nevirapine, efavirenz — bind RT allosterically."))
story.append(B("PIs: Ritonavir, lopinavir, atazanavir — inhibit HIV protease; boosted with ritonavir."))
story.append(B("INSTIs: Raltegravir, dolutegravir — preferred first-line (current guidelines)."))
story.append(A("WHO preferred first-line regimen: TLD = Tenofovir + Lamivudine + Dolutegravir."))
elif q == "Q15. Classify anticancer drugs with examples.":
story.append(B("Alkylating agents: Cyclophosphamide, chlorambucil, busulfan — cross-link DNA; hemorrhagic cystitis (cyclophosphamide, prevent with mesna)."))
story.append(B("Antimetabolites: Methotrexate (DHFR inhibitor), 5-fluorouracil (5-FU), cytarabine."))
story.append(B("Vinca alkaloids: Vincristine, vinblastine — inhibit microtubule polymerization; peripheral neuropathy (vincristine)."))
story.append(B("Taxanes: Paclitaxel, docetaxel — stabilize microtubules; prevent depolymerization."))
story.append(B("Platinum compounds: Cisplatin, carboplatin — cross-link DNA; nephrotoxic, ototoxic, peripheral neuropathy."))
story.append(B("Anthracyclines: Doxorubicin, daunorubicin — intercalate DNA; CARDIOMYOPATHY (dose-limiting)."))
story.append(B("Monoclonal antibodies: Rituximab (anti-CD20), trastuzumab (anti-HER2, breast cancer), bevacizumab (anti-VEGF)."))
story.append(B("Tyrosine kinase inhibitors: Imatinib (CML, BCR-ABL), erlotinib, gefitinib (EGFR)."))
story.append(B("Hormonal agents: Tamoxifen (ER antagonist, breast cancer), anastrozole/letrozole (aromatase inhibitors), leuprolide (prostate cancer)."))
elif a_text:
story.append(A(a_text))
story.append(hr())
story.append(PageBreak())
# ── KEY TIPS ──────────────────────────────────────────────────────────────────
story.append(unit_header("KEY TIPS FOR MGR UNIVERSITY VIVA"))
story.append(Spacer(1, 0.3*cm))
tips = [
"Always know the MECHANISM + USES + ADVERSE EFFECTS for any drug asked.",
"For antibiotics, know the SPECTRUM and RESISTANCE mechanisms.",
"Be ready to write PRESCRIPTIONS for common conditions: peptic ulcer, hypertension, malaria, TB, diabetes.",
"Know important DRUG INTERACTIONS: warfarin + NSAIDs; MAOIs + tyramine; rifampicin + OCP; sildenafil + nitrates.",
"Know drug DOSES for emergency drugs: atropine, adrenaline (epinephrine), morphine, digoxin.",
"Practical viva tests: PRESCRIPTION WRITING, SPOTTER identification, and DOSE CALCULATION.",
"Remember antidotes: opioids (naloxone), BZDs (flumazenil), heparin (protamine), warfarin (vitamin K/FFP), atropine (physostigmine), organophosphates (atropine + pralidoxime), digoxin (Digibind).",
"Drugs contraindicated in pregnancy: tetracyclines, aminoglycosides, fluoroquinolones, warfarin, ACE inhibitors, valproate.",
"Know drugs that are enzyme INDUCERS (Rifampicin, Phenytoin, Carbamazepine, Phenobarbitone) vs INHIBITORS (Ketoconazole, Erythromycin, Ciprofloxacin, Cimetidine).",
]
for t in tips:
story.append(tip(f"• {t}"))
story.append(Spacer(1, 3))
story.append(Spacer(1, 1*cm))
story.append(Paragraph("Best of luck for your Viva! — Compiled by Orris AI", SUBTITLE_STYLE))
# BUILD
doc.build(story)
print("PDF generated successfully:", OUTPUT)
cd /home/daytona/workspace/pharmacology-viva && python3 generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/pharmacology-viva/Pharmacology_Viva_QA_MGR_University.pdf
Pharmacology Viva QA MGR University
PDF Document · PDF
Thank you so much!!
Can u please do the same for pathology and microbiology in separate pdfs
MGR University II MBBS Pathology Microbiology syllabus units topics 2023