attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment

Make an exam oriented notes easy and crisp notes from the given source

Here are crisp, exam-oriented notes from Shanbhag's Pharmacology (General Pharmacology chapter):

GENERAL PHARMACOLOGY - EXAM NOTES

(Shanbhag Pharmacology)


1. PHARMACOKINETICS (ADME)

= What the body does to the drug
  • Absorption (A) → Distribution (D) → Metabolism (M) → Excretion (E)

2. DRUG TRANSPORT ACROSS MEMBRANES

MechanismKey FeaturesExamples
Passive diffusionHigh → Low conc; No energy; Most drugsLipid-soluble drugs
Active transportLow → High conc; Needs energy (ATP)Sympathomimetic amines, levodopa absorption
Facilitated diffusionCarrier-mediated; No energy; High → LowGlucose via GLUT4
FiltrationDepends on molecular size/weightSmall molecules
EndocytosisCell takes up drug via vesicle formationVit B12-intrinsic factor complex

3. DRUG ABSORPTION

= Movement of drug from site of administration into blood

Factors Influencing Absorption

A. Physicochemical properties:
  • Liquid > Solid forms
  • Lipid-soluble & unionized > water-soluble & ionized
  • Smaller particle size = better absorption (microfine aspirin, digoxin, griseofulvin)
  • Shorter disintegration & dissolution time = better absorption
  • Formulations (binding agents): calcium reduces tetracycline absorption
B. Route of administration:
  • IV route bypasses absorption (100% bioavailability)
  • Polar compounds not absorbed through GI (e.g., gentamicin given parenterally)
C. pH and ionization: (KEY CONCEPT)
  • Weakly acidic drugs (barbiturates) → better absorbed from stomach (acidic pH, unionized)
  • Weakly basic drugs (morphine, amphetamine) → better absorbed from intestine (alkaline pH, unionized)
  • Strongly acidic (heparin) & strongly basic (aminoglycosides) → remain ionized at all pH → poorly absorbed
D. Food:
  • Decreases absorption of: rifampicin, levodopa, etc. (take on empty stomach)
  • Milk/milk products decrease absorption of tetracyclines
  • Fatty meal increases absorption of griseofulvin
E. Other factors:
  • Ascorbic acid increases oral iron absorption
  • Antacids reduce tetracycline absorption
  • Larger surface area (small intestine) = better absorption
  • GI diseases (gastroenteritis, achlorhydria, congestive cardiac failure) reduce absorption

4. BIOAVAILABILITY

= Fraction of drug reaching systemic circulation from a given dose
  • IV route = 100% bioavailability
  • "Oral bioavailability" is used for drugs given orally
  • Bioequivalent = two formulations produce equal bioavailability
  • Bioinequivalent = formulations differ in bioavailability

Factors Affecting Bioavailability (10 factors - memorize):

  1. Physicochemical properties
  2. Route of administration
  3. pH and ionization
  4. Food
  5. Presence of other drugs
  6. Area of absorbing surface
  7. GI and other diseases
  8. First-pass metabolism ← Most important
  9. Hepatic diseases
  10. Enterohepatic cycling

First-Pass Metabolism (First-pass effect / Presystemic elimination)

  • Oral drug → gut wall → portal vein → liver → systemic circulation
  • Drug metabolized before reaching systemic circulation → decreased bioavailability
  • Examples: lignocaine, isoprenaline (given IV for arrhythmias), propranolol, nitroglycerin
  • Consequences:
    • Drugs given parenterally (lignocaine IV for ventricular arrhythmias)
    • Oral dose > parenteral dose (e.g., nitroglycerin)

Hepatic Diseases:

  • Decrease first-pass metabolism → increase bioavailability of propranolol, lignocaine

Enterohepatic Cycling:

  • Drug excreted via bile → reabsorbed from intestine → liver → bile (cycle repeats)
  • Increases bioavailability and duration of action
  • Examples: morphine, doxycycline

5. DRUG DISTRIBUTION

= Reversible transfer of drugs between body-fluid compartments

Body Fluid Compartments (70 kg person):

TBW (42 L)
├── ECF (14 L)
│   ├── Plasma (3 L)
│   ├── Interstitial fluid (10.5 L)
│   └── Transcellular fluid (0.5 L)
└── ICF (28 L)

Apparent Volume of Distribution (aVd)

aVd = Total administered amount of drug ÷ Concentration of drug in plasma
aVdMeaningExamples
Low (~3-4 L)Restricted to vascular compartmentHeparin, warfarin (high MW/protein bound)
~14-16 LDistributed in ECFGentamicin, streptomycin
~42 LDistributed in TBWEthanol
Very high (>100 L)Accumulates in tissuesChloroquine (13,000 L), digoxin (500 L)
Clinical significance of high aVd: Haemodialysis NOT useful for removal in overdose

Redistribution:

  • Thiopentone (highly lipid-soluble): quickly distributes to brain (high blood flow) → then redistributes to less-perfused adipose tissue
  • Results in short duration of action (5-10 min) → used for induction of general anaesthesia

Drug Reservoirs / Tissue Storage:

  • Tetracyclines → bones and teeth
  • Thiopentone, DDT → adipose tissue
  • Chloroquine → liver and retina
  • Digoxin → heart

6. PLASMA PROTEIN BINDING

  • Acidic drugs bind to albumin; Basic drugs bind to α1-acid glycoprotein
  • Only free (unbound) form is pharmacologically active

Clinical Importance:

  1. Highly protein-bound drugs → low Vd
  2. Plasma protein binding delays metabolism
  3. Bound form NOT available for glomerular filtration → excretion delayed
  4. Highly protein-bound drugs → longer duration of action
    • Sulphadiazine (less protein-bound): 6 hours
    • Sulphadoxine (highly protein-bound): 1 week
  5. In poisoning: hard to remove by haemodialysis
  6. Hypoalbuminaemia (anaemia, renal failure, liver disease) → increased free drug → toxicity
  7. Displacement interactions: Drug with higher affinity displaces drug with lower affinity → sudden increase in free concentration → toxicity

7. BIOTRANSFORMATION (Drug Metabolism)

= Chemical alteration of drug in the body
  • Converts lipid-soluble/unionized → water-soluble/ionized → excreted via kidneys
  • Main site: Liver; Others: GI tract, kidney, lungs, blood, skin, placenta

Types of Metabolic Transformation:

TypeExample
Active → Inactive metabolite (most common)Phenobarbitone → Hydroxyphenobarbitone
Active → Active metaboliteCodeine → Morphine; Diazepam → Oxazepam
Inactive (prodrug) → Active metaboliteLevodopa → Dopamine; Prednisone → Prednisolone

Prodrug:

Inactive form converted to active form after metabolism.
Uses of Prodrugs:
  1. Improve bioavailability: Levodopa (crosses BBB) → Dopamine
  2. Prolong duration: Fluphenazine (ester of phenothiazine)
  3. Improve taste: Clindamycin palmitate
  4. Site-specific delivery: Methenamine → Formaldehyde (urinary antiseptic, acidic urine)

8. PHASES OF DRUG METABOLISM

Phase I Reactions (Non-synthetic):

ReactionProcessExamples
Oxidation (most common)Add O2/remove H2Phenytoin, phenobarbitone, propranolol
ReductionRemove O2/add H2Chloramphenicol, methadone
HydrolysisBreak down + waterEsters (procaine), amides (lignocaine)
CyclizationStraight chain → ringProguanil
DecyclizationBreak ring structurePhenobarbitone, phenytoin
  • Catalyzed by cytochrome P450 (mainly CYP3A4/5)
  • Other enzymes: CYP2D6, CYP2C9, CYP2E1, CYP2C19

Phase II Reactions (Synthetic/Conjugation):

ConjugationEnzymeExamples
GlucuronidationUDP-glucuronosyl transferaseAspirin, Morphine
AcetylationN-acetyltransferaseIsoniazid, Dapsone
SulphationSulphotransferaseParacetamol, Methyldopa
MethylationTransmethylaseAdrenaline, Dopamine
Glutathione conjugationGlutathione transferaseParacetamol
Glycine conjugationAcyl CoA glycine transferaseSalicylates
Note: INH undergoes Phase II (acetylation) BEFORE Phase I (exception!)

Microsomal vs Non-microsomal Enzymes:

FeatureMicrosomalNon-microsomal
LocationSmooth ER of liver, kidney, lungs (CYP450, glucuronyl transferase)Cytoplasm, mitochondria, plasma
ReactionsPhase I reactions, glucuronide conjugationOxidation, reduction (few), hydrolysis; all conjugations except glucuronide
InducibleYesNot inducible - may show genetic polymorphism

Hofmann Elimination:

  • Drug inactivated without enzymes
  • Example: Atracurium (skeletal muscle relaxant)

9. FACTORS AFFECTING DRUG METABOLISM

  1. Age: Neonates & elderly metabolize drugs less (reduced microsomal enzyme activity)
    • Neonates: grey baby syndrome with chloramphenicol
    • Elderly: increased toxicity with propranolol, lignocaine
  2. Diet: Poor nutrition decreases enzyme function
  3. Disease: Liver cirrhosis → decreased metabolism → prolonged diazepam action
  4. Genetic factors (Pharmacogenetics):
    • Slow & fast acetylators of INH: Slow acetylators → peripheral neuritis; fast acetylators need larger dose
    • Succinylcholine apnoea: Atypical pseudocholinesterase → prolonged apnoea (dangerous)
    • G6PD deficiency: Haemolysis with sulphonamides, primaquine, salicylates, dapsone
  5. Simultaneous administration of drugs: Enzyme induction or inhibition

10. ENZYME INDUCTION & INHIBITION

Enzyme Induction:

  • Repeated drug administration → increased synthesis of microsomal enzymes
  • Inducers: Rifampicin, phenytoin, barbiturates, carbamazepine, griseofulvin
Clinical Importance:
  1. Rifampicin → induces OCP metabolism → contraceptive failure
  2. Autoinduction: carbamazepine
  3. Increased hepatotoxicity with paracetamol (toxic metabolite overproduction)
  4. Prolonged phenytoin → osteomalacia (enhanced Vit D metabolism)
  5. Barbiturates → porphyria (overproduction of porphyrins)
  6. Phenobarbitone in neonatal jaundice → induces glucuronyl transferase → bilirubin conjugated

Enzyme Inhibition:

  • Drugs: Chloramphenicol, ciprofloxacin, erythromycin, metronidazole
  • Inhibition is rapid (vs. induction which is slow)
Clinical Relevance:
  • Increased bleeding with warfarin (when given with erythromycin/chloramphenicol → inhibit warfarin metabolism → increased plasma warfarin)

11. DRUG EXCRETION

Routes of Excretion:

  1. Kidney (main route)
  2. Lungs (volatile anaesthetics: ether, halothane, isoflurane)
  3. Faeces (purgatives, senna, cascara; tetracyclines via bile)
  4. Bile (reabsorbed in gut → enterohepatic cycling)
  5. Skin (arsenic, mercury)
  6. Saliva (potassium iodide, phenytoin, metronidazole, lithium)
  7. Milk (most drugs appear; avoid amiodarone during breastfeeding)

Renal Excretion:

Rate of renal excretion = Rate of filtration + Rate of secretion - Rate of reabsorption
1. Glomerular filtration:
  • Small molecules freely filtered
  • Extent of filtration ∝ GFR and fraction of unbound drug
2. Passive tubular reabsorption:
  • Depends on pH of renal tubular fluid and ionization
  • Weakly acidic drugs (salicylates, barbiturates): remain unionized in acidic urine → reabsorbed → making urine alkaline (sodium bicarbonate) increases their excretion
  • Weakly basic drugs (morphine, amphetamine): remain unionized in alkaline urine → reabsorbed → making urine acidic (Vit C) increases their excretion
3. Active tubular secretion:
  • Carrier-mediated active transport
  • Most acidic drugs (penicillin, diuretics, probenecid, etc.) secreted by renal tubular cells
  • Probenecid inhibits tubular secretion of penicillins → prolongs penicillin's half-life → used in gonorrhoea treatment

12. PHARMACOKINETIC PARAMETERS

Plasma Half-Life (t½):

= Time required for plasma concentration to decrease by 50%
  • Lignocaine t½ = 1 hour; Aspirin t½ = 4 hours
  • Drug almost completely eliminated in 4-5 half-lives
  • Steady state achieved in 4-5 half-lives
Uses of t½:
  • Determine duration of drug action
  • Determine frequency of dosing
  • Estimate time to reach steady state

Clearance (Cl):

= Volume of plasma from which drug is removed per unit time Clearance = Rate of elimination ÷ Plasma concentration of drug

Kinetics of Elimination:

FeatureFirst-OrderZero-Order
Amount eliminated/timeConstant fractionConstant amount
ExampleMost drugsEthanol (10 mL/h), phenytoin (at high dose), aspirin
ConstantNot constant (increases as dose increases)
Rate proportional toPlasma concentrationIndependent of plasma concentration
  • Phenytoin & aspirin: First-order at low doses → Zero-order (saturation kinetics) at high doses
  • Once kinetics changes to zero-order → small increase in dose → large increase in plasma concentration → toxicity

Steady-State Concentration:

  • Constant dosing at intervals → plasma concentration increases until amount eliminated = amount administered
  • Achieved after 4-5 half-lives
  • At steady state, plasma concentration fluctuates between peak and trough

Loading Dose:

  • Large initial dose to rapidly attain target plasma concentration
  • Used when t½ is long (e.g., lignocaine >1 hour)

Maintenance Dose:

  • Given at fixed intervals to maintain steady-state concentration
  • = Dose eliminated in one dosing interval

13. THERAPEUTIC DRUG MONITORING (TDM)

Indications for TDM:

  1. Narrow therapeutic index drugs: lithium, digoxin, phenytoin, aminoglycosides
  2. Wide interindividual variation: tricyclic antidepressants
  3. To ascertain patient compliance
  4. Drugs with toxicity increased in renal failure: aminoglycosides
  5. No response to therapy without known reason

TDM NOT required when:

  1. Clinical/biochemical parameters available: BP (antihypertensives), blood sugar (antidiabetics), PT/INR (anticoagulants)
  2. Drugs producing tolerance: opioids
  3. Drug effect persists longer than drug itself: omeprazole

14. FIXED-DOSE COMBINATIONS (FDCs)

WHO-Approved Examples:

  • Levodopa + carbidopa (Parkinsonism)
  • Isoniazid + rifampicin + pyrazinamide + ethambutol (TB)
  • Ferrous sulphate + folic acid (anaemia of pregnancy)
  • Sulphamethoxazole + trimethoprim = cotrimoxazole
  • Amoxicillin + clavulanic acid

Methods to Prolong Drug Action:

  1. Sustained-release preparations (e.g., diclofenac SR - 24h vs regular - 12h)
  2. Adding vasoconstrictor (adrenaline with local anaesthetics)
  3. Combining with water-insoluble compound (benzathine penicillin G - 3-4 weeks)
  4. Esterification (testosterone propionate/enanthate - prolonged IM)
  5. Pellet implantation (norplant for contraception)
  6. Transdermal patch
  7. Increasing plasma protein binding (sulphadoxine: 1 week)
  8. Inhibiting drug metabolism (allopurinol inhibits 6-MP metabolism)
  9. Delaying renal excretion (probenecid with penicillin/cephalosporins)

15. PHARMACODYNAMICS

= What the drug does to the body

Types of Drug Effects:

  1. Stimulation: Increase activity (adrenaline → heart rate)
  2. Depression: Decrease activity (alcohol, barbiturates, GA → CNS)
  3. Local action: Counterirritation (eucalyptus oil, methyl salicylate)
  4. Cytotoxic: Toxic to cells (antibiotics/anticancer drugs)
  5. Replacement: Replacing endogenous substances (insulin, thyroxine)

16. MECHANISM OF DRUG ACTION

Mechanism of action
├── Receptor-mediated
└── Non-receptor-mediated

Non-Receptor Mechanisms:

Physical: Osmosis (mannitol in cerebral oedema/glaucoma), Adsorption (charcoal in poisoning), Demulcent (cough syrup), Radioactivity (I¹³¹ in hyperthyroidism)
Chemical:
  • Antacids (weak bases neutralize gastric acid)
  • Chelating agents: dimercaprol (BAL) in arsenic/copper poisoning; desferrioxamine in iron poisoning; D-penicillamine in copper poisoning
  • ACE inhibitors (inhibit enzyme ACE)
  • Allopurinol: competitive inhibitor of xanthine oxidase → reduces uric acid synthesis (gout)
Through ion channels: Local anaesthetics block Na+ channels
Through antibody production: Vaccines (BCG, oral polio)
Transporters: SSRIs block 5-HT transporter → antidepressant effect

17. RECEPTOR-MEDIATED MECHANISM

Drug (D) + Receptor (R) ⇌ Drug-receptor complex → Response

Key Definitions:

  • Affinity: Ability of drug to bind to receptor
  • Intrinsic activity: Ability of drug to produce pharmacological action after binding
  • Agonist: High affinity + high intrinsic activity (morphine, adrenaline)
  • Antagonist: High affinity + zero intrinsic activity; blocks effect (naloxone, atropine)
  • Partial agonist: Binds receptor but produces less effect than full agonist (pindolol, buprenorphine)
  • Inverse agonist: Binds receptor, produces effect opposite to agonist (β-carbolines at BZD receptor → anxiety, convulsions)

Types of Antagonism:

TypeFeaturesExample
Competitive (equilibrium)Same receptor; reversible; overcome by increasing agonist dose; rightward parallel shift of DRCAtropine vs ACh; Naloxone vs Morphine
Non-competitiveDifferent receptor site; irreversible or allosteric; flattening of DRC; cannot be overcomeDiazepam vs bicuculline
PhysicalOpposite physical propertyActivated charcoal adsorbs alkaloids
ChemicalChemical neutralizationAntacids + gastric acid; chelating agents
Physiological (functional)Different receptors, opposite effectsInsulin vs glucagon; Adrenaline vs histamine

18. RECEPTOR FAMILIES

FeatureLigand-gated ion channelsG-protein-coupled (GPCRs)Enzyme-linkedNuclear receptors
LocationMembraneMembraneMembraneIntracellular
EffectorIon channelChannel or enzymeEnzymeGene transcription
ExamplesNicotinic, GABA, glutamateMuscarinic, adrenergic, opioidInsulin, EGF, growth hormone receptorsSteroids, thyroid hormones
Response timeMillisecondsSecondsMinutes to hoursHours

GPCR Mechanism:

  • G proteins have 3 subunits (α, β, γ); GDP bound to α subunit at rest
  • Agonist → receptor activation → GDP exchanges with GTP → α subunit dissociates → activates effectors
  • Gs (β-adrenergic): ↑Adenylyl cyclase → ↑cAMP
  • Gi (α2-adrenergic): ↓Adenylyl cyclase → ↓cAMP
  • Gq (muscarinic M1): activates Phospholipase C → ↑IP3 + DAG

Nuclear Receptors:

  • Steroids, thyroid hormones, Vitamins A and D, glucocorticoids
  • Steroid → binds cytoplasm → steroid-receptor complex → nucleus → binds DNA → regulates protein synthesis

19. REGULATION OF RECEPTORS

DownregulationUpregulation
Prolonged use of agonistsProlonged use of antagonists
↓ Receptor number and sensitivity↑↑ Receptor number and sensitivity
Example: chronic salbutamol → decreased β-adrenoceptor response in asthmaExample: propranolol stopped suddenly → rebound tachycardia, angina, hypertension, MI
Therefore: propranolol should NOT be discontinued abruptly

20. DOSE-RESPONSE RELATIONSHIP

Types of DRC:

  1. Graded DRC: Rectangular hyperbola; log DRC is sigmoid shaped
  2. Quantal DRC: All-or-none response (e.g., drug causing ovulation) - bell-shaped curve

Therapeutic Index (TI) = LD50 ÷ ED50

  • LD50 = dose lethal to 50% of population
  • ED50 = dose producing desired effect in 50% of population
  • Higher TI = safer drug
  • High TI drugs: penicillin, digitalis
  • Narrow TI drugs: lithium, digoxin, phenytoin (need TDM)

Drug Potency vs Efficacy:

  • Potency: Dose required to produce a given response (lower dose = more potent)
    • Morphine more potent than pethidine (morphine 10 mg vs pethidine 100 mg)
  • Efficacy: Maximum effect a drug can produce (Emax)
    • Morphine more efficacious than aspirin as analgesic

Therapeutic Range:

  • Concentration range producing desired response with minimal toxicity

21. COMBINED EFFECTS OF DRUGS

Increased Response:

  1. Additive: A + B = A + B (e.g., aspirin + paracetamol)
  2. Potentiation (supra-additive): A + B > A + B; one drug inactive alone (carbidopa + levodopa)
  3. Synergism: Combined effect > either drug alone (sulphamethoxazole + trimethoprim)

Decreased Response (Drug Antagonism):

  1. Physical: Activated charcoal adsorbs alkaloids
  2. Chemical: Antacids neutralize gastric acid; chelating agents
  3. Physiological: Adrenaline vs histamine (different receptors, opposite effects)
  4. Receptor: Competitive or non-competitive

22. FACTORS MODIFYING DRUG ACTION

Drug Factors:

  • Route of administration
  • Presence of other drugs
  • Cumulation

Patient Factors:

1. Age:
  • Young's formula: Child dose = Age/(Age+12) × adult dose
  • Dilling's formula: Child dose = Age/20 × adult dose
  • Neonates: grey baby syndrome (chloramphenicol); immature enzymes
  • Elderly: reduced renal + hepatic function → reduced dosing
2. Body weight: Dose = (Body weight/70) × Average adult dose
3. Sex: β-blockers, diuretics, clonidine → decreased libido in males
4. Diet and environmental factors: Milk reduces tetracycline absorption; fatty meal increases griseofulvin absorption; smoking increases theophylline metabolism
5. Genetic factors: Fast/slow acetylators; succinylcholine apnoea; G6PD deficiency; porphyria (barbiturates); malignant hyperthermia (halothane + succinylcholine)
6. Psychological factor (Placebo effect):
  • Placebo = pharmacologically inert substance
  • Used for subjective symptoms (pain, anxiety, insomnia) and in clinical trials to minimize bias
7. Pathological states:
  • GI disorders: achlorhydria reduces absorption of weakly acidic drugs
  • Liver disease: reduced metabolism → increased bioavailability (propranolol)
  • Renal failure: reduced clearance → aminoglycoside nephrotoxicity/ototoxicity
  • Iron deficiency anaemia: increased iron absorption from gut
8. Tolerance: Need for larger doses to produce same effect
  • Types:
    • Natural tolerance (genetically determined): species tolerance, racial tolerance
    • Acquired tolerance: pharmacokinetic (increased metabolism by OCP + rifampicin) or pharmacodynamic (receptor downregulation with opioids, barbiturates)
    • Cross-tolerance: between chemically related drugs (nitroglycerin, alcohol + ether)
    • Tachyphylaxis (acute tolerance): Rapid decrease in response on repeated rapid dosing; e.g., ephedrine, amphetamine, tyramine (act by releasing noradrenaline → depletion)
9. Drug dependence: See separate notes

HIGH-YIELD EXAM POINTS ⭐

TopicKey Fact
Most common membrane transportPassive diffusion
Most common metabolic transformationActive → Inactive metabolite
Most important enzyme systemCytochrome P450 (CYP3A4/5)
Exception to Phase I before Phase IIIsoniazid (Phase II first)
Enzyme without enzyme inactivationHofmann elimination (Atracurium)
Narrowest TI drugsLithium, digoxin, phenytoin, aminoglycosides
Drug NOT to stop abruptlyPropranolol (rebound MI)
Zero-order kinetics drugEthanol, phenytoin (saturation), aspirin
Tachyphylaxis drugsEphedrine, amphetamine, tyramine
Prodrug crossing BBBLevodopa → Dopamine
Prolong penicillin actionProbenecid (blocks tubular secretion)
Succinylcholine apnoea causeAtypical pseudocholinesterase
Tissue reservoir for chloroquineLiver and retina
Redistribution exampleThiopentone
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment

This is the continued notes ..make an exam oriented notes from the given source

Here are the crisp, exam-oriented notes for the continued topics:

GENERAL PHARMACOLOGY - CONTINUED EXAM NOTES

(Shanbhag Pharmacology)


23. DRUG INTERACTIONS

= When effects of one drug are altered by another drug
Occurs: In vitro (outside body) or In vivo (inside body)
Drug Interactions
├── In vitro (Pharmaceutical interactions)
└── In vivo
    ├── Pharmacokinetic interactions
    └── Pharmacodynamic interactions

A. PHARMACEUTICAL INTERACTIONS

  • Physical/chemical incompatibility when drugs mixed in same syringe/IV infusion
  • Results in precipitation or inactivation
Examples:
  • Phenytoin + dextrose → precipitates (give in normal saline)
  • Ampicillin + dextrose → unstable at acidic pH
  • Gentamicin + carbenicillin → loss of potency (don't mix in same infusion)

B. PHARMACOKINETIC INTERACTIONS

StageMechanismExample
AbsorptionAntacids (Al, Mg, Ca) form complexes with tetracyclines → reduced absorptionAntacids + tetracycline
Metoclopramide ↑ gastric emptying → ↑ aspirin absorption
DistributionPlasma protein displacement: drug with higher affinity displaces one with lower affinity → ↑ free drugSalicylates displace warfarin → ↑ anticoagulant effect
MetabolismEnzyme induction → ↑ metabolism of another drugCarbamazepine induces warfarin metabolism → ↓ anticoagulant effect
Enzyme inhibition → ↓ metabolism of another drugErythromycin inhibits carbamazepine metabolism → ↑ toxicity
ExcretionInterference with tubular secretionSalicylates interfere with methotrexate excretion → ↑ toxicity
Probenecid blocks tubular secretion of penicillin → ↑ penicillin levels (beneficial)

C. PHARMACODYNAMIC INTERACTIONS

  • Drug action on receptors or physiological systems
  • Can be additive, synergistic, or antagonistic
Harmful example: Aminoglycosides + amphotericin B → enhanced nephrotoxicity
Beneficial example: Levodopa + carbidopa → improved Parkinsonism treatment

24. RATIONAL USE OF MEDICINES

WHO Definition: "Patients receive medications appropriate to their clinical needs in doses that meet their own individual requirements for an adequate period of time and at the lowest cost to them and their community"
= Right drug, right dose, right duration, right cost to right patient

Examples of IRRATIONAL Prescribing:

  • Antibiotics for viral infections
  • Not prescribing ORS in acute diarrhoea
  • Wrong drug selection, wrong route/dose
  • Medicines with doubtful efficacy (appetite stimulants)
  • Prescribing banned drugs (cisapride)
  • Irrational combinations (ampicillin + cloxacillin for staphylococcal infections)
  • Expensive drugs when cheaper alternatives available
  • Polypharmacy

Hazards of Irrational Drug Use:

  • Therapeutic failure
  • Increased ADRs
  • Drug-resistant microorganisms
  • Increased cost of treatment
  • Financial burden to society
  • Loss of patient's faith in the doctor

Rational Prescribing Steps (WHO):

  1. Make a diagnosis
  2. Define the problem
  3. Set therapeutic goals
  4. Select right drug, route, dose, and duration
  5. Write complete prescription
  6. Give proper instructions to patient
  7. Monitor therapy

25. ADVERSE DRUG REACTIONS (ADR)

ADR (WHO): "Any response which is noxious, unintended and which occurs at doses normally used in humans for prophylaxis, diagnosis or therapy"
Adverse Event (AE): Any untoward medical occurrence during treatment, not necessarily causal.

TYPES OF ADR

Type A - Predictable (Augmented) Reactions:

  • Related to pharmacological action of drug
  • Include: side effects, secondary effects, toxic effects
TypeDefinitionExample
Side effectsUnwanted pharmacological effects at therapeutic dosesAtropine (used for heart block) → dry mouth, blurred vision, urinary retention
Secondary effectsIndirect result of primary actionCorticosteroids → immunosuppression → opportunistic infections (oral candidiasis)
Toxic effectsDue to overdose or chronic use/overdoseWarfarin → bleeding; aminoglycosides → nephrotoxicity (in renal failure)

Type B - Unpredictable (Bizarre) Reactions:

  • NOT related to pharmacological action
  • Include: Drug allergy, idiosyncrasy

26. HYPERSENSITIVITY REACTIONS (Drug Allergy)

Type I - Immediate/Anaphylactic:

  • IgE mediated; rapidly occurring
Mechanism:
Drug exposure (penicillin, aspirin, lignocaine)
→ Production of IgE antibodies → fix to mast cells
→ Re-exposure to same drug
→ Ag-Ab reaction on mast cell surface
→ Release of mediators (histamine, 5-HT, PGs, LTs, PAF)
→ Hypotension, bronchospasm, angioedema, urticaria, anaphylactic shock
Manifestations: Itching, urticaria, hay fever, asthma, anaphylactic shock
Treatment of Anaphylactic Shock (Medical Emergency):
  1. Inj. Adrenaline (1:1000) - 0.3-0.5 mL IM
  2. Inj. Hydrocortisone 100-200 mg IV
  3. Inj. Pheniramine 45 mg IM/IV
  4. Maintain patent airway + IV fluids

Type II - Cytotoxic Reactions:

  • IgG and IgM mediated
  • Antibodies react with cell-bound antigens → complement activation → cell destruction
  • Examples: Blood transfusion reactions, haemolytic anaemias (quinine, quinidine, cephalosporins)

Type III - Arthus/Serum Sickness Reactions:

  • IgG mediated; immune complex deposition
Mechanism:
AG: AB complexes → Fix complement → Deposition on vascular endothelium
→ Destructive inflammatory response
Examples:
  • Serum sickness (fever, urticaria, joint pain, lymphadenopathy) with penicillins, sulphonamides
  • Acute interstitial nephritis with NSAIDs
  • Stevens-Johnson syndrome with sulphonamides

Type IV - Cell-Mediated/Delayed Hypersensitivity:

  • Mediated by sensitized T lymphocytes
  • Manifestations occur 1-2 days after exposure to sensitizing antigen
  • Examples: Contact dermatitis (local anaesthetic creams, topical antibiotics, antifungal agents)
  • Treatment: Glucocorticoids (Types II, III, IV)

Summary Table of Hypersensitivity:

TypeMediatorTimeExample
I (Anaphylactic)IgE, mast cellsMinutesAnaphylactic shock with penicillin
II (Cytotoxic)IgG, IgMHoursBlood transfusion reaction, haemolytic anaemia
III (Immune complex)IgG complexesHours-daysSerum sickness, Stevens-Johnson
IV (Delayed)T lymphocytes1-2 daysContact dermatitis

27. IDIOSYNCRASY

  • Genetically determined abnormal reaction to drug
  • Examples:
    • Aplastic anaemia with chloramphenicol
    • Prolonged succinylcholine apnoea (atypical pseudocholinesterase)
    • Haemolytic anaemia with primaquine + sulphonamides (G6PD deficiency)

28. DRUG DEPENDENCE

WHO Definition: "A state, psychic and sometimes also physical, resulting from the interaction between a living organism and a drug characterized by behavioural and other responses that always include a compulsion to take the drug on a continuous or periodic basis"
Examples: Opioids, alcohol, barbiturates, amphetamine

Types:

TypeFeatures
Psychological dependenceIntense desire to continue taking drug; patient feels well-being depends on drug
Physical dependenceRepeated use → physiological changes → body needs drug to maintain normal function; abrupt stoppage → withdrawal syndrome (symptoms opposite to drug effects)

Principles of Treatment:

  1. Hospitalization
  2. Substitution therapy - methadone for morphine addiction
  3. Aversion therapy - disulfiram for alcohol addiction
  4. Psychotherapy
  5. General measures - nutrition, family support, rehabilitation

29. IATROGENIC DISEASES

  • Physician-induced disease due to drug therapy
  • Iatros (Greek) = physician
  • Examples: Parkinsonism due to metoclopramide; acute gastritis/peptic ulcer due to NSAIDs

30. TERATOGENICITY

= Ability of drug to cause fetal abnormalities during pregnancy

Risk by Gestational Age:

  • Conception to 16 days: Abortion
  • 2-8 weeks (organogenesis): Structural abnormalities (most dangerous period)
  • 2nd and 3rd trimester: Growth and development effects

Teratogenic Drugs (The T's - Mnemonic):

DrugTeratogenic Effect
ThalidomidePhocomelia (seal-like limbs)
TetracyclinesYellowish discolouration of teeth
Antithyroid drugsFetal goitre
WarfarinWarfarin embryopathy
MethotrexateAbortion, organogenesis defects

FDA Drug Categories (old system, being replaced):

  • Category X = contraindicated in pregnancy (risk proven, outweighs benefit)
  • Examples: warfarin, methotrexate

31. OTHER ADVERSE DRUG EFFECTS

Carcinogenicity & Mutagenicity:

  • Carcinogenicity: Ability to cause cancer
  • Mutagenicity: Abnormality in genetic material of a cell
  • Examples: Anticancer drugs, oestrogens

Photosensitivity:

  • Photoallergy: Sulphonamides → cell-mediated immune response on UV exposure
  • Phototoxicity: Doxycycline, fluoroquinolones → local reaction (erythema, blisters) on UV exposure
  • Management: Sunscreen, avoid sunlight, calamine lotion, topical steroids

Organ-Specific Toxicity:

OrganDrugs
HepatotoxicIsoniazid, rifampicin, pyrazinamide, halothane, paracetamol
Nephrotoxic (VACATION mnemonic)Vancomycin, Aminoglycosides, Cisplatin, Amphotericin B, Tetracyclines (Fanconi syndrome), Indinavir, Other (gold salts), Nystatin, cyclosporine
OtotoxicAminoglycosides, loop diuretics, cisplatin
Ocular toxicityEthambutol, chloroquine, glucocorticoids

32. PHARMACOVIGILANCE

= Science and activities relating to detection, assessment, understanding and prevention of adverse effects or any other drug-related problems (WHO)
Aim: Improve patient safety, promote rational drug use, develop regulations, educate healthcare professionals
Causality Assessment Tools: Naranjo's scale and WHO scale
Pharmacovigilance Centers:
  • National: Ghaziabad (India)
  • International: Uppsala Monitoring Centre (Sweden)
  • Regional in India: Chennai and Cochin (POISONDEX)
  • At AIIMS: WHO has established poison information centres at AIIMS New Delhi and Ahmedabad (INTOX)

33. TREATMENT OF POISONING

Toxicology = Study of poisons - actions, detection, prevention, treatment
Note: All poisoning cases are medico-legal cases - police must be informed

GENERAL MANAGEMENT (Mnemonic: A to H)

  1. Hospitalization
  2. Airway - clear secretions; left lateral position in coma; cuffed endotracheal tube
  3. Breathing - O2 for hypoxaemia; mechanical ventilation if needed
  4. Circulation - pulse rate and BP monitoring; IV line
  5. Prevent further absorption:
    • Inhaled poisons (gases): Move to fresh air
    • Contact poisons: Remove contaminated clothes; wash with soap and water
    • Ingested poisons: Gastric lavage within 2-3 hours (if conscious); activated charcoal (physical antagonism)
    Contraindications to gastric lavage:
    • Corrosives (carbolic acid, petroleum products/kerosene)
    • Convulsants
    • Petroleum products
    Gastric lavage solutions: Normal saline, lukewarm water, KMnO4 solution, sodium bicarbonate
    • Activated charcoal - adsorbs many drugs and poisons; given after lavage
    • Laxatives (magnesium sulphate/citrate) - promote elimination of ingested poison
    • Whole bowel irrigation (oral polyethylene glycol electrolyte solution) - for iron, lithium, cocaine, heroin, foreign bodies
  6. Promote elimination of absorbed drug:
    • Diuretics (mannitol/furosemide) - promote renal elimination
    • Alkalinization of urine (sodium bicarbonate) - in salicylate poisoning → ionizes salicylate → excreted
    • Acidification of urine (Vit C) - in amphetamine poisoning
    • Dialysis - severe poisoning (lithium, aspirin, methanol)
  7. Symptomatic treatment:
    • IV diazepam 5-10 mg for convulsions
    • External cooling for hyperpyrexia
  8. Fluid and electrolyte balance:
    • Hyponatraemia → IV normal saline
    • Severe hyponatraemia → IV furosemide
    • Hypokalaemia → potassium chloride (oral or slow IV; dilute before IV; never give KCl rapid IV → cardiac arrest)
    • Severe hyperkalaemia → 10% calcium gluconate IV; insulin + dextrose
    • Metabolic acidosis → IV sodium bicarbonate

SPECIFIC MANAGEMENT - ANTIDOTES

PoisonAntidote
AlkaliesDilute acetic acid (vinegar)
Organophosphorus compoundsAtropine
Morphine (opioids)Naloxone
AtropinePhysostigmine
BenzodiazepinesFlumazenil
CarbamatesAtropine
CyanideSodium nitrite + sodium thiosulphate
MethanolFomepizole, ethyl alcohol
ParacetamolN-acetylcysteine
HeparinProtamine sulphate
WarfarinVitamin K1 (phytonadione)
Iron compoundsDesferrioxamine

HIGH-YIELD EXAM POINTS ⭐

TopicKey Fact
First line drug for anaphylactic shockAdrenaline 1:1000, 0.3-0.5 mL IM
Type IV hypersensitivity mediatorT lymphocytes (only type not antibody-mediated)
Stevens-Johnson syndromeType III hypersensitivity; sulphonamides
Thalidomide teratogenicityPhocomelia
Most dangerous teratogenic period2-8 weeks (organogenesis)
Drug for alcohol aversion therapyDisulfiram
Drug for opioid substitution therapyMethadone
Antidote for paracetamol poisoningN-acetylcysteine
Antidote for organophosphorusAtropine
Antidote for benzodiazepinesFlumazenil
Antidote for heparinProtamine sulphate
Antidote for warfarinVitamin K1
Antidote for ironDesferrioxamine
Antidote for opioidsNaloxone
Antidote for atropinePhysostigmine
KCl rapid IV dangerCardiac arrest
Gastric lavage contraindicated inCorrosives, petroleum products, convulsants
Nephotoxic drugs mnemonicVACATION
Photosensitivity - tetracyclines typePhototoxicity (local reaction)
Photosensitivity - sulphonamides typePhotoallergy (cell-mediated)
Phenytoin + dextrosePrecipitates - give in normal saline
Probenecid + penicillinProlongs penicillin action (beneficial interaction)
Salicylate poisoning urine modificationAlkalinize urine (sodium bicarbonate)
Amphetamine poisoning urine modificationAcidify urine (Vitamin C)
National Pharmacovigilance CentreGhaziabad, India
International Pharmacovigilance CentreUppsala Monitoring Centre, Sweden
Idiosyncrasy examplesAplastic anaemia (chloramphenicol), prolonged apnoea (succinylcholine), haemolysis (primaquine in G6PD deficiency)
Withdrawal symptoms directionOpposite to drug effects

QUICK REVISION - DRUG INTERACTION EXAMPLES

Interacting DrugsResultMechanism
Antacids + tetracycline↓ tetracycline absorptionChelation in gut
Salicylates + warfarin↑ bleedingPlasma protein displacement
Rifampicin + OCPContraceptive failureEnzyme induction
Erythromycin + carbamazepine↑ carbamazepine toxicityEnzyme inhibition
Probenecid + penicillin↑ penicillin effectBlock tubular secretion
Aminoglycosides + amphotericin B↑ nephrotoxicityAdditive toxicity
Levodopa + carbidopa↑ levodopa bioavailabilityEnzyme inhibition (peripheral decarboxylase)
Metoclopramide + aspirin↑ aspirin absorption↑ gastric emptying

Generate a quick revision PDF with exam mnemonics

Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace not found"

Running Command

mkdir -p /home/daytona/workspace/pharma-notes

Writing File

~/pharma-notes/generate_pdf.py

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

OUTPUT = "/home/daytona/workspace/pharma-notes/General_Pharmacology_Revision.pdf"

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

W = A4[0] - 30*mm  # usable width

# ── Color palette ──────────────────────────────────────────────
NAVY    = colors.HexColor("#1a3a5c")
TEAL    = colors.HexColor("#0d7a7a")
ORANGE  = colors.HexColor("#e05a00")
YELLOW  = colors.HexColor("#fff3b0")
LBLUE   = colors.HexColor("#dff0fa")
LGREEN  = colors.HexColor("#e8f8e8")
LPEACH  = colors.HexColor("#fff0e6")
GREY    = colors.HexColor("#f4f4f4")
RED     = colors.HexColor("#c0392b")
LTEAL   = colors.HexColor("#e0f5f5")
WHITE   = colors.white
BLACK   = colors.black

# ── Styles ─────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

TITLE_S = S("TitleS", fontSize=22, textColor=WHITE, alignment=TA_CENTER,
            fontName="Helvetica-Bold", spaceAfter=2)
SUB_S   = S("SubS",   fontSize=11, textColor=WHITE, alignment=TA_CENTER,
            fontName="Helvetica", spaceAfter=0)

H1 = S("H1", fontSize=13, textColor=WHITE, fontName="Helvetica-Bold",
        spaceBefore=6, spaceAfter=3, leading=16)
H2 = S("H2", fontSize=11, textColor=NAVY, fontName="Helvetica-Bold",
        spaceBefore=5, spaceAfter=2, leading=14)
H3 = S("H3", fontSize=10, textColor=TEAL, fontName="Helvetica-Bold",
        spaceBefore=4, spaceAfter=2, leading=13)

BODY = S("Body", fontSize=8.5, fontName="Helvetica",
         spaceBefore=1, spaceAfter=1, leading=12, textColor=BLACK)
BODY_B = S("BodyB", fontSize=8.5, fontName="Helvetica-Bold",
           spaceBefore=1, spaceAfter=1, leading=12, textColor=BLACK)
SMALL = S("Small", fontSize=7.5, fontName="Helvetica",
          spaceBefore=0, spaceAfter=0, leading=11, textColor=BLACK)

MN_TITLE = S("MnTitle", fontSize=11, fontName="Helvetica-Bold",
             textColor=ORANGE, spaceBefore=4, spaceAfter=2)
MN_BODY  = S("MnBody",  fontSize=9,  fontName="Helvetica",
             spaceBefore=1, spaceAfter=1, leading=13, textColor=BLACK)

STAR = S("Star", fontSize=8.5, fontName="Helvetica-Bold",
         textColor=RED, spaceBefore=1, spaceAfter=1, leading=12)

story = []

# ══════════════════════════════════════════════════════════════
# Helper utilities
# ══════════════════════════════════════════════════════════════
def banner(text, sub="", bg=NAVY):
    data = [[Paragraph(text, TITLE_S)]]
    if sub:
        data.append([Paragraph(sub, SUB_S)])
    t = Table(data, colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("ROUNDEDCORNERS", [6,6,6,6]),
        ("TOPPADDING",    (0,0), (-1,-1), 10),
        ("BOTTOMPADDING", (0,0), (-1,-1), 10),
        ("LEFTPADDING",   (0,0), (-1,-1), 12),
    ]))
    return t

def section_header(text, bg=NAVY):
    t = Table([[Paragraph(text, H1)]], colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), bg),
        ("ROUNDEDCORNERS",[4,4,4,4]),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ]))
    return t

def mnemonic_box(title, content_lines, bg=YELLOW):
    rows = [[Paragraph(f"🔑  {title}", MN_TITLE)]]
    for line in content_lines:
        rows.append([Paragraph(line, MN_BODY)])
    t = Table(rows, colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),  (-1,-1), bg),
        ("BACKGROUND",    (0,0),  (0,0),   colors.HexColor("#fffae0")),
        ("BOX",           (0,0),  (-1,-1), 1, ORANGE),
        ("LINEBELOW",     (0,0),  (0,0),   1, ORANGE),
        ("TOPPADDING",    (0,0),  (-1,-1), 4),
        ("BOTTOMPADDING", (0,0),  (-1,-1), 4),
        ("LEFTPADDING",   (0,0),  (-1,-1), 10),
        ("ROUNDEDCORNERS",[4,4,4,4]),
    ]))
    return t

def highlight_box(text, bg=LBLUE):
    t = Table([[Paragraph(text, BODY)]], colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), bg),
        ("BOX",           (0,0), (-1,-1), 0.5, TEAL),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("ROUNDEDCORNERS",[3,3,3,3]),
    ]))
    return t

def two_col_table(headers, rows, col_w=None, header_bg=TEAL):
    if col_w is None:
        col_w = [W/len(headers)] * len(headers)
    data = [[Paragraph(f"<b>{h}</b>", S("th", fontSize=8.5, fontName="Helvetica-Bold",
                       textColor=WHITE, leading=12)) for h in headers]]
    for row in rows:
        data.append([Paragraph(str(c), SMALL) for c in row])
    t = Table(data, colWidths=col_w, repeatRows=1)
    style = [
        ("BACKGROUND",    (0,0),  (-1,0),  header_bg),
        ("ROWBACKGROUNDS",(0,1),  (-1,-1), [WHITE, GREY]),
        ("GRID",          (0,0),  (-1,-1), 0.4, colors.HexColor("#cccccc")),
        ("TOPPADDING",    (0,0),  (-1,-1), 4),
        ("BOTTOMPADDING", (0,0),  (-1,-1), 4),
        ("LEFTPADDING",   (0,0),  (-1,-1), 6),
        ("VALIGN",        (0,0),  (-1,-1), "TOP"),
    ]
    t.setStyle(TableStyle(style))
    return t

def bullet(text, indent=10):
    return Paragraph(f"<bullet>&bull;</bullet> {text}", 
                     S("bul", fontSize=8.5, fontName="Helvetica",
                       leftIndent=indent, spaceBefore=1, spaceAfter=1,
                       leading=12, bulletIndent=indent-8))

def subbullet(text):
    return Paragraph(f"<bullet>–</bullet> {text}",
                     S("sbul", fontSize=8, fontName="Helvetica",
                       leftIndent=20, spaceBefore=0, spaceAfter=0,
                       leading=11, bulletIndent=12))

def sp(h=4):
    return Spacer(1, h)

def p(text, style=BODY):
    return Paragraph(text, style)

def hr():
    return HRFlowable(width=W, thickness=0.5, color=colors.HexColor("#cccccc"),
                      spaceAfter=4, spaceBefore=4)

# ══════════════════════════════════════════════════════════════
# PAGE 1 – COVER
# ══════════════════════════════════════════════════════════════
story.append(Spacer(1, 30*mm))
story.append(banner("GENERAL PHARMACOLOGY",
                     "Quick Revision Notes with Mnemonics", bg=NAVY))
story.append(sp(8))

cover_info = [
    ["Source:", "Shanbhag Pharmacology for Medical Graduates"],
    ["Topic:", "Pharmacokinetics & Pharmacodynamics (ADME + Mechanisms)"],
    ["Purpose:", "Exam-Oriented Rapid Revision"],
]
ct = Table(cover_info, colWidths=[35*mm, W-35*mm])
ct.setStyle(TableStyle([
    ("FONTNAME",      (0,0), (0,-1), "Helvetica-Bold"),
    ("FONTNAME",      (1,0), (1,-1), "Helvetica"),
    ("FONTSIZE",      (0,0), (-1,-1), 9.5),
    ("TEXTCOLOR",     (0,0), (0,-1), TEAL),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LINEBELOW",     (0,0), (-1,-1), 0.3, colors.lightgrey),
]))
story.append(ct)
story.append(sp(12))

# Contents box
toc_items = [
    "1. Membrane Transport Mechanisms",
    "2. Drug Absorption & Bioavailability",
    "3. Drug Distribution & Vd",
    "4. Plasma Protein Binding",
    "5. Biotransformation (Phase I & II)",
    "6. Drug Excretion",
    "7. Pharmacokinetic Parameters (t½, Clearance, Kinetics)",
    "8. TDM & Fixed-Dose Combinations",
    "9. Pharmacodynamics – Mechanisms of Action",
    "10. Receptor Families & Regulation",
    "11. Dose-Response Relationship",
    "12. Drug Interactions",
    "13. Adverse Drug Reactions & Hypersensitivity",
    "14. Drug Dependence & Teratogenicity",
    "15. Treatment of Poisoning & Antidotes",
    "16. MASTER MNEMONIC SHEET",
    "17. HIGH-YIELD TABLES",
]
toc_data = [[p(f"<b>CONTENTS</b>", H2)]] + [[p(item, SMALL)] for item in toc_items]
toc_t = Table(toc_data, colWidths=[W])
toc_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0),  (0,0),  LBLUE),
    ("BACKGROUND",    (0,1),  (0,-1), WHITE),
    ("BOX",           (0,0),  (-1,-1),1, TEAL),
    ("LINEBELOW",     (0,0),  (0,0),  1, TEAL),
    ("TOPPADDING",    (0,0),  (-1,-1), 3),
    ("BOTTOMPADDING", (0,0),  (-1,-1), 3),
    ("LEFTPADDING",   (0,0),  (-1,-1), 12),
]))
story.append(toc_t)
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 1 – MEMBRANE TRANSPORT
# ══════════════════════════════════════════════════════════════
story.append(section_header("1. MEMBRANE TRANSPORT MECHANISMS"))
story.append(sp(4))
story.append(two_col_table(
    ["Mechanism", "Key Features", "Energy", "Example"],
    [
        ["Passive diffusion", "High→Low conc; most drugs; lipid-soluble", "No", "Most oral drugs"],
        ["Active transport", "Low→High conc; against gradient", "Yes (ATP)", "Levodopa, sympathomimetic amines"],
        ["Facilitated diffusion", "Carrier-mediated; High→Low", "No", "Glucose via GLUT4"],
        ["Filtration", "Depends on molecular size/weight", "No", "Small molecules through pores"],
        ["Endocytosis", "Cell engulfs drug via vesicle", "No", "Vit B12–intrinsic factor complex"],
    ],
    col_w=[38*mm, 65*mm, 18*mm, 52*mm]
))
story.append(sp(6))
story.append(mnemonic_box("MNEMONIC: Membrane Transport – PAFFE",
    ["<b>P</b>assive diffusion",
     "<b>A</b>ctive transport",
     "<b>F</b>acilitated diffusion",
     "<b>F</b>iltration",
     "<b>E</b>ndocytosis"]))
story.append(sp(6))

# ══════════════════════════════════════════════════════════════
# SECTION 2 – DRUG ABSORPTION & BIOAVAILABILITY
# ══════════════════════════════════════════════════════════════
story.append(section_header("2. DRUG ABSORPTION & BIOAVAILABILITY"))
story.append(sp(4))
story.append(p("<b>Drug Absorption</b> = Movement of drug from site of administration into blood", H3))
story.append(sp(3))
story.append(p("<b>Factors Influencing Absorption – Physicochemical:</b>", BODY_B))
story.append(bullet("Liquid > Solid; Lipid-soluble & unionized > water-soluble & ionized"))
story.append(bullet("Smaller particle size = better absorption (microfine aspirin, digoxin, griseofulvin)"))
story.append(bullet("Shorter disintegration/dissolution time = better absorption"))
story.append(bullet("Calcium reduces tetracycline absorption (binding agent)"))
story.append(sp(3))

story.append(p("<b>pH and Ionization (KEY CONCEPT):</b>", BODY_B))
story.append(two_col_table(
    ["Drug Type", "Absorbed Better From", "Examples"],
    [
        ["Weakly ACIDIC (pKa 4-6)", "STOMACH (acidic pH → unionized)", "Barbiturates, salicylates, warfarin"],
        ["Weakly BASIC (pKa 8-10)", "INTESTINE (alkaline pH → unionized)", "Morphine, amphetamine, atropine"],
        ["Strongly acidic/basic", "Poorly absorbed at any pH", "Heparin (strongly acidic), aminoglycosides (strongly basic)"],
    ],
    col_w=[42*mm, 60*mm, 71*mm]
))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: 'Acid in Acid, Base in Base'",
    ["Weakly <b>Acid</b>ic drugs → absorbed from <b>acid</b>ic stomach",
     "Weakly <b>Bas</b>ic drugs → absorbed from alkal<b>ine</b> intestine (bas-ine = basic → intestine)",
     "<i>Think: 'Like dissolves like – unionized form crosses membrane'</i>"]))
story.append(sp(4))

story.append(p("<b>Bioavailability</b> = Fraction of drug reaching systemic circulation", BODY_B))
story.append(bullet("IV route = 100% bioavailability (gold standard)"))
story.append(bullet("Bioequivalent = two formulations produce equal bioavailability"))
story.append(sp(3))

story.append(p("<b>10 Factors Affecting Bioavailability:</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: 'PRP-FAGE-HE' (10 factors)",
    ["<b>P</b>hysicochemical properties",
     "<b>R</b>oute of administration",
     "<b>P</b>H and ionization",
     "<b>F</b>ood",
     "<b>A</b>rea of absorbing surface",
     "<b>G</b>I and other diseases",
     "<b>E</b>nterophepatic cycling",
     "<b>H</b>epatic diseases",
     "<b>E</b>nzyme (First-pass) metabolism",
     "+ Presence of other drugs"]))
story.append(sp(4))

story.append(p("<b>First-Pass Metabolism (Presystemic Elimination):</b>", BODY_B))
story.append(highlight_box(
    "Oral drug → gut wall → portal vein → LIVER → systemic circulation<br/>"
    "Result: Decreased bioavailability | Examples: <b>Lignocaine, Isoprenaline, Propranolol, Nitroglycerin</b><br/>"
    "Clinical use: Lignocaine given IV for ventricular arrhythmias (bypasses first-pass)"))
story.append(sp(3))
story.append(p("<b>Enterohepatic Cycling:</b> Drug excreted via bile → reabsorbed from intestine → liver → bile", BODY))
story.append(p("↑ Bioavailability and ↑ duration of action | Examples: <b>Morphine, Doxycycline</b>", BODY))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 3 – DRUG DISTRIBUTION
# ══════════════════════════════════════════════════════════════
story.append(section_header("3. DRUG DISTRIBUTION & APPARENT VOLUME OF DISTRIBUTION (aVd)"))
story.append(sp(4))
story.append(p("<b>Body Fluid Compartments (70 kg person):</b>", BODY_B))
bf_data = [
    [p("<b>Compartment</b>", BODY_B), p("<b>Volume</b>", BODY_B), p("<b>Drugs Distributed</b>", BODY_B)],
    [p("Total Body Water (TBW)", BODY), p("42 L", BODY), p("Ethanol, small water-soluble molecules", BODY)],
    [p("Extracellular Fluid (ECF)", BODY), p("14 L", BODY), p("Gentamicin, streptomycin", BODY)],
    [p("Plasma", BODY), p("3 L", BODY), p("Heparin, warfarin (large MW/protein-bound)", BODY)],
    [p("Intracellular Fluid (ICF)", BODY), p("28 L", BODY), p("Lipid-soluble drugs", BODY)],
]
bft = Table(bf_data, colWidths=[55*mm, 25*mm, W-80*mm])
bft.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY]),
    ("GRID",          (0,0), (-1,-1), 0.4, colors.lightgrey),
    ("TOPPADDING",    (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
]))
story.append(bft)
story.append(sp(5))
story.append(p("<b>aVd Formula:</b>", BODY_B))
story.append(highlight_box("<b>aVd = Total administered amount of drug ÷ Plasma concentration</b>"))
story.append(sp(3))
story.append(two_col_table(
    ["aVd Value", "Meaning", "Examples"],
    [
        ["Low (~3-4 L)", "Restricted to vascular compartment (large MW or highly protein-bound)", "Heparin, Warfarin"],
        ["~14-16 L", "Distributed in ECF", "Gentamicin, Streptomycin"],
        ["~42 L", "Distributed in TBW", "Ethanol"],
        ["Very high (>1000 L)", "Accumulates extensively in tissues", "Chloroquine (13,000 L), Digoxin (500 L)"],
    ],
    col_w=[30*mm, 90*mm, 53*mm]
))
story.append(sp(4))
story.append(mnemonic_box("KEY FACT: High aVd drugs",
    ["Haemodialysis is <b>NOT useful</b> for removal in overdose of high-aVd drugs (chloroquine, digoxin)",
     "Drugs with high aVd accumulate in tissues – dialysis cannot 'pull' them back"]))
story.append(sp(4))

story.append(p("<b>Redistribution:</b> Thiopentone", H3))
story.append(highlight_box(
    "Thiopentone IV → rapidly distributes to <b>brain</b> (high blood flow) → anaesthesia<br/>"
    "Within minutes → redistributes to less-perfused <b>adipose tissue</b><br/>"
    "Result: Very short duration of action (5–10 min) → used for <b>INDUCTION of general anaesthesia</b>"))
story.append(sp(4))

story.append(p("<b>Drug Reservoirs / Tissue Storage:</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: Drug Tissue Reservoirs – 'TeTCDiG'",
    ["<b>Te</b>tracyclines → <b>Bones and Teeth</b>",
     "<b>T</b>hiopentone, DDT → <b>Adipose tissue</b>",
     "<b>C</b>hloroquine → <b>Liver and Retina</b>",
     "<b>Di</b>goxin → <b>Heart</b>",
     "<b>G</b>old salts → <b>Skin and Kidneys</b>"]))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 4 – PLASMA PROTEIN BINDING
# ══════════════════════════════════════════════════════════════
story.append(section_header("4. PLASMA PROTEIN BINDING"))
story.append(sp(4))
story.append(two_col_table(
    ["Drug Type", "Protein Bound To"],
    [
        ["Acidic drugs (warfarin, phenytoin, NSAIDs)", "Albumin"],
        ["Basic drugs (propranolol, lidocaine, imipramine)", "α1-acid glycoprotein"],
    ],
    col_w=[W/2, W/2]
))
story.append(sp(4))
story.append(p("<b>Clinical Importance of Plasma Protein Binding:</b>", BODY_B))
story.append(bullet("<b>Only FREE form</b> is pharmacologically active, crosses BBB, crosses placenta, filtered at glomerulus"))
story.append(bullet("Highly protein-bound → <b>low Vd</b>; delays metabolism; delays excretion (filtration)"))
story.append(bullet("Longer duration of action: Sulphadiazine (6 h, less bound) vs Sulphadoxine (1 week, highly bound)"))
story.append(bullet("<b>Hypoalbuminaemia</b> (liver failure, renal failure, malnutrition) → ↑ free drug → toxicity"))
story.append(bullet("<b>Displacement interaction:</b> Drug with higher affinity displaces drug with lower affinity"))
story.append(subbullet("Salicylates displace warfarin → sudden ↑ free warfarin → bleeding"))
story.append(bullet("In poisoning: hard to remove by haemodialysis (highly protein-bound)"))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: Highly Protein-Bound Drugs – 'WAVED'",
    ["<b>W</b>arfarin",
     "<b>A</b>miodarone",
     "<b>V</b>alproate",
     "<b>E</b>rythromycin",
     "<b>D</b>iazepam, Digoxin",
     "<i>Also: Sulphadoxine, Ibuprofen, Propranolol</i>"]))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 5 – BIOTRANSFORMATION
# ══════════════════════════════════════════════════════════════
story.append(section_header("5. BIOTRANSFORMATION (Drug Metabolism)"))
story.append(sp(4))
story.append(highlight_box(
    "<b>Main site: LIVER</b> | Others: GI tract, kidney, lungs, blood, skin, placenta<br/>"
    "Converts lipid-soluble/unionized → water-soluble/ionized → renally excreted"))
story.append(sp(4))

story.append(p("<b>Types of Metabolic Transformation:</b>", BODY_B))
story.append(two_col_table(
    ["Type", "Example"],
    [
        ["Active → INACTIVE metabolite (most common)", "Phenobarbitone → Hydroxyphenobarbitone; Phenytoin → p-Hydroxyphenytoin"],
        ["Active → ACTIVE metabolite", "Codeine → Morphine; Diazepam → Oxazepam"],
        ["Inactive (PRODRUG) → Active metabolite", "Levodopa → Dopamine; Prednisone → Prednisolone"],
    ],
    col_w=[70*mm, W-70*mm]
))
story.append(sp(4))

story.append(p("<b>Prodrug Uses (MNEMONIC: BITS):</b>", H3))
story.append(mnemonic_box("MNEMONIC: Why use PRODRUGS? – 'BITS'",
    ["<b>B</b>ioavailability improvement: Levodopa → crosses BBB → becomes Dopamine",
     "<b>I</b>mprove taste: Clindamycin palmitate (paediatric suspension)",
     "<b>T</b>ime (prolong duration): Fluphenazine (ester) → longer action",
     "<b>S</b>ite-specific delivery: Methenamine → Formaldehyde (urinary antiseptic in acidic urine)"]))
story.append(sp(5))

story.append(p("<b>PHASE I REACTIONS (Non-synthetic):</b>", H3))
story.append(two_col_table(
    ["Reaction", "Process", "Examples"],
    [
        ["Oxidation (MOST COMMON)", "Add O₂ or remove H₂; by Cytochrome P450", "Phenytoin, Phenobarbitone, Propranolol, Paracetamol"],
        ["Reduction", "Remove O₂ or add H₂", "Chloramphenicol, Methadone"],
        ["Hydrolysis", "Breakdown by addition of water", "Esters: Procaine, Succinylcholine | Amides: Lignocaine"],
        ["Cyclization", "Straight chain → ring structure", "Proguanil"],
        ["Decyclization", "Breaking of ring structure", "Phenobarbitone, Phenytoin"],
    ],
    col_w=[40*mm, 60*mm, W-100*mm]
))
story.append(sp(3))
story.append(highlight_box("Main enzyme: <b>CYP3A4/5</b> (>50% of drugs) | Others: CYP2D6, CYP2C9, CYP2E1, CYP2C19<br/>"
                           "<b>Hofmann Elimination:</b> Drug inactivated WITHOUT enzymes → Example: <b>Atracurium</b>"))
story.append(sp(5))

story.append(p("<b>PHASE II REACTIONS (Synthetic/Conjugation):</b>", H3))
story.append(two_col_table(
    ["Conjugation", "Enzyme", "Examples"],
    [
        ["Glucuronidation (most common)", "UDP-glucuronosyl transferase", "Aspirin, Morphine, Paracetamol"],
        ["Acetylation", "N-acetyltransferase", "INH, Dapsone, Sulphonamides"],
        ["Sulphation", "Sulphotransferase", "Paracetamol, Methyldopa"],
        ["Methylation", "Transmethylase", "Adrenaline, Dopamine, Histamine"],
        ["Glutathione conjugation", "Glutathione transferase", "Paracetamol (toxic metabolite)"],
        ["Glycine conjugation", "Acyl CoA glycine transferase", "Salicylates"],
    ],
    col_w=[50*mm, 65*mm, W-115*mm]
))
story.append(sp(4))
story.append(mnemonic_box("EXCEPTION: INH → Phase II BEFORE Phase I",
    ["Most drugs: Phase I → Phase II",
     "<b>EXCEPTION: Isoniazid (INH)</b> → Acetylation (Phase II) first, then Phase I",
     "Clinical significance: Fast acetylators of INH → need higher dose; Slow acetylators → peripheral neuritis"]))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 5b – ENZYME INDUCTION/INHIBITION
# ══════════════════════════════════════════════════════════════
story.append(section_header("5b. ENZYME INDUCTION & INHIBITION"))
story.append(sp(4))
story.append(two_col_table(
    ["Feature", "Enzyme INDUCTION", "Enzyme INHIBITION"],
    [
        ["Mechanism", "↑ synthesis of microsomal enzymes", "↓ activity of metabolizing enzymes"],
        ["Onset", "Slow (days to weeks)", "Rapid (immediate)"],
        ["Key Drugs", "Rifampicin, Phenytoin, Barbiturates, Carbamazepine, Griseofulvin", "Chloramphenicol, Ciprofloxacin, Erythromycin, Metronidazole, Ketoconazole"],
        ["Mnemonic", "'RPBCG' – Rifampicin, Phenytoin, Barbiturates, Carbamazepine, Griseofulvin", "'CCEM' – Chloramphenicol, Ciprofloxacin, Erythromycin, Metronidazole"],
    ],
    col_w=[35*mm, 82*mm, 56*mm]
))
story.append(sp(4))
story.append(p("<b>Clinical Consequences of Enzyme Induction:</b>", BODY_B))
story.append(two_col_table(
    ["Drug Inducer", "Drug Affected", "Clinical Result"],
    [
        ["Rifampicin", "OCP (oral contraceptives)", "Contraceptive FAILURE"],
        ["Rifampicin", "Warfarin", "↓ anticoagulant effect"],
        ["Phenytoin/Barbiturates", "Vitamin D metabolism", "Osteomalacia"],
        ["Barbiturates", "Porphyrin synthesis (ALA synthase)", "Porphyria precipitation"],
        ["Phenobarbitone", "Glucuronyl transferase (neonates)", "Resolves neonatal jaundice (bilirubin conjugated)"],
        ["Carbamazepine", "Itself", "Autoinduction → tolerance"],
        ["Enzyme inducers", "Paracetamol metabolism", "↑ toxic metabolite → hepatotoxicity"],
    ],
    col_w=[42*mm, 50*mm, W-92*mm]
))
story.append(sp(4))
story.append(p("<b>Clinical Consequences of Enzyme Inhibition:</b>", BODY_B))
story.append(two_col_table(
    ["Inhibitor", "Drug Affected", "Clinical Result"],
    [
        ["Erythromycin / Chloramphenicol", "Warfarin", "↑ plasma warfarin → BLEEDING"],
        ["Erythromycin", "Carbamazepine", "↑ carbamazepine toxicity"],
        ["Allopurinol", "6-Mercaptopurine (6-MP)", "↑ 6-MP toxicity (xanthine oxidase inhibited)"],
        ["Ketoconazole", "Cisapride, Terfenadine", "↑ plasma levels → cardiac arrhythmias"],
    ],
    col_w=[55*mm, 55*mm, W-110*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 6 – DRUG EXCRETION
# ══════════════════════════════════════════════════════════════
story.append(section_header("6. DRUG EXCRETION"))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: Routes of Excretion – 'KLFSBSM'",
    ["<b>K</b>idney (main route)",
     "<b>L</b>ungs – volatile anaesthetics (ether, halothane, isoflurane, sevoflurane)",
     "<b>F</b>aeces – purgatives (senna, cascara), tetracyclines (via bile)",
     "<b>S</b>kin – arsenic, mercury",
     "<b>B</b>ile – enterohepatic cycling (morphine, doxycycline)",
     "<b>S</b>aliva – potassium iodide, phenytoin, metronidazole, lithium",
     "<b>M</b>ilk – most drugs (avoid amiodarone during breastfeeding)"]))
story.append(sp(4))

story.append(p("<b>Renal Excretion Formula:</b>", BODY_B))
story.append(highlight_box(
    "<b>Rate of renal excretion = Rate of filtration + Rate of secretion − Rate of reabsorption</b>"))
story.append(sp(4))
story.append(p("<b>pH-Dependent Excretion (KEY EXAM TOPIC):</b>", BODY_B))
story.append(two_col_table(
    ["Situation", "Urine Modification", "Drug Excreted", "Drug Used"],
    [
        ["Salicylate / Barbiturate poisoning", "Alkalinize urine (NaHCO₃)", "Acidic drugs (unionized in acid urine → ionized in alkaline → excreted)", "Sodium bicarbonate"],
        ["Amphetamine / Quinidine poisoning", "Acidify urine (Vit C)", "Basic drugs (unionized in alkaline → ionized in acidic → excreted)", "Ascorbic acid (Vitamin C)"],
    ],
    col_w=[42*mm, 38*mm, 72*mm, 21*mm]
))
story.append(sp(4))
story.append(p("<b>Active Tubular Secretion:</b>", BODY_B))
story.append(bullet("Probenecid competes for same tubular carrier as penicillin → blocks penicillin secretion → ↑ penicillin half-life"))
story.append(bullet("Used clinically in gonorrhoea treatment to prolong penicillin action"))
story.append(bullet("Salicylates interfere with methotrexate excretion → ↑ methotrexate toxicity"))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 7 – PK PARAMETERS
# ══════════════════════════════════════════════════════════════
story.append(section_header("7. PHARMACOKINETIC PARAMETERS"))
story.append(sp(4))
story.append(p("<b>Plasma Half-Life (t½):</b>", H3))
story.append(highlight_box(
    "<b>t½ = Time for plasma concentration to fall by 50%</b><br/>"
    "Lignocaine: 1 hour | Aspirin: 4 hours<br/>"
    "Drug ~completely eliminated after <b>4–5 half-lives</b><br/>"
    "Steady state reached after <b>4–5 half-lives</b>"))
story.append(sp(4))

story.append(p("<b>First-Order vs Zero-Order Kinetics:</b>", H3))
story.append(two_col_table(
    ["Feature", "First-Order Kinetics", "Zero-Order Kinetics"],
    [
        ["Amount eliminated", "Constant FRACTION per unit time", "Constant AMOUNT per unit time"],
        ["t½", "Constant (independent of dose)", "NOT constant (increases as dose increases)"],
        ["Rate ∝ to", "Plasma concentration", "Independent of plasma concentration"],
        ["Examples", "Most drugs (penicillin, morphine)", "Ethanol (10 mL/h), Phenytoin (high dose), Aspirin (high dose)"],
        ["Dose-toxicity risk", "Low (predictable)", "HIGH – small dose increase → large plasma rise → TOXICITY"],
    ],
    col_w=[38*mm, 75*mm, 60*mm]
))
story.append(sp(4))
story.append(mnemonic_box("KEY FACT: Phenytoin & Aspirin – Saturation Kinetics",
    ["At LOW doses → first-order kinetics (safe)",
     "At HIGH doses → plasma levels saturate enzymes → ZERO-ORDER kinetics",
     "Risk: Small dose increase → disproportionately large ↑ in plasma concentration → TOXICITY",
     "<b>Must monitor TDM for phenytoin!</b>"]))
story.append(sp(5))

story.append(p("<b>Steady-State Concentration:</b>", H3))
story.append(bullet("Constant dosing → plasma conc increases until amount in = amount out"))
story.append(bullet("Achieved after 4–5 half-lives"))
story.append(bullet("Loading dose = rapidly attain target plasma concentration (used when t½ is long)"))
story.append(bullet("Maintenance dose = dose eliminated per dosing interval (given to maintain steady state)"))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 8 – TDM & FDC
# ══════════════════════════════════════════════════════════════
story.append(section_header("8. THERAPEUTIC DRUG MONITORING (TDM) & FIXED-DOSE COMBINATIONS"))
story.append(sp(4))
story.append(p("<b>TDM = Monitoring plasma drug concentration to optimize therapy</b>", BODY_B))
story.append(sp(3))
story.append(p("<b>Indications for TDM:</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: When to do TDM? – 'NARROW'",
    ["<b>N</b>arrow therapeutic index drugs: Lithium, Digoxin, Phenytoin, Aminoglycosides",
     "<b>A</b>scertain patient compliance",
     "<b>R</b>enal failure patients (aminoglycosides – nephrotoxicity/ototoxicity)",
     "<b>R</b>andom wide interindividual variation: tricyclic antidepressants",
     "<b>O</b>ff-response: No response to therapy without known reason",
     "<b>W</b>orkup for drug poisoning – estimation of plasma drug concentration"]))
story.append(sp(4))
story.append(p("<b>TDM NOT Required When:</b>", BODY_B))
story.append(bullet("Clinical parameters available: BP (antihypertensives), blood sugar (antidiabetics), PT/INR (anticoagulants)"))
story.append(bullet("Drugs producing tolerance: opioids"))
story.append(bullet("Drug effect lasts longer than drug (omeprazole, aspirin on platelets)"))
story.append(sp(5))

story.append(p("<b>WHO-Approved Fixed-Dose Combinations (FDCs):</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: FDC Examples – 'LISTS'",
    ["<b>L</b>evodopa + Carbidopa → Parkinsonism",
     "<b>I</b>NH + Rifampicin + Pyrazinamide + Ethambutol → TB",
     "<b>S</b>ulphamethoxazole + Trimethoprim → Cotrimoxazole (antimicrobial)",
     "<b>T</b>B: Ferrous sulphate + Folic acid → Anaemia of pregnancy",
     "<b>S</b>ynergistic: Amoxicillin + Clavulanic acid → Augmentin"]))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 9 – PHARMACODYNAMICS
# ══════════════════════════════════════════════════════════════
story.append(section_header("9. PHARMACODYNAMICS – MECHANISMS OF ACTION"))
story.append(sp(4))
story.append(highlight_box("<b>Pharmacodynamics = What the drug does to the body</b>"))
story.append(sp(4))
story.append(p("<b>NON-RECEPTOR Mechanisms:</b>", H3))
story.append(two_col_table(
    ["Mechanism", "Example", "Drug"],
    [
        ["Physical – Osmosis", "Cerebral oedema, Glaucoma", "Mannitol"],
        ["Physical – Adsorption", "Poisoning treatment", "Activated charcoal"],
        ["Physical – Demulcent", "Sore throat", "Cough syrup"],
        ["Physical – Radioactivity", "Hyperthyroidism", "Radioactive iodine (I¹³¹)"],
        ["Chemical – Neutralization", "Peptic ulcer", "Antacids"],
        ["Chemical – Chelation", "Arsenic/copper poisoning", "BAL (dimercaprol), D-penicillamine"],
        ["Chemical – Chelation", "Iron poisoning", "Desferrioxamine"],
        ["Enzyme inhibition", "Gout (↓uric acid synthesis)", "Allopurinol (inhibits xanthine oxidase)"],
        ["Enzyme inhibition", "Hypertension, Heart failure", "ACE inhibitors"],
        ["Ion channel blockade", "Local anaesthesia", "Local anaesthetics (block Na+ channels)"],
        ["Antibody production", "Immunity", "Vaccines (BCG, oral polio)"],
        ["Transporter blockade", "Depression", "SSRIs (block 5-HT transporter)"],
        ["Tubulin binding", "Gout (acute)", "Colchicine (prevents neutrophil migration)"],
    ],
    col_w=[50*mm, 50*mm, W-100*mm]
))
story.append(sp(4))
story.append(p("<b>RECEPTOR-MEDIATED Mechanisms:</b>", H3))
story.append(highlight_box(
    "<b>Drug (D) + Receptor (R) ⇌ Drug-Receptor Complex → Response</b>"))
story.append(sp(3))
story.append(two_col_table(
    ["Term", "Definition", "Example"],
    [
        ["Affinity", "Ability of drug to bind to receptor", "Higher affinity = lower dose needed"],
        ["Intrinsic activity", "Ability to produce pharmacological action after binding", "Agonist = 1; Antagonist = 0"],
        ["Agonist", "High affinity + HIGH intrinsic activity", "Morphine, Adrenaline, Acetylcholine"],
        ["Antagonist", "High affinity + ZERO intrinsic activity; blocks receptor", "Naloxone (opioid), Atropine (muscarinic)"],
        ["Partial agonist", "Binds receptor, produces LESS effect than full agonist", "Pindolol, Buprenorphine"],
        ["Inverse agonist", "Binds receptor, produces OPPOSITE effect to agonist", "β-carbolines at BZD receptor → anxiety"],
        ["Competitive antagonist", "Same site; reversible; overcome by ↑ agonist dose", "Atropine vs ACh; Naloxone vs Morphine"],
        ["Non-competitive antagonist", "Different site or irreversible; flattening of DRC", "Diazepam vs bicuculline; phenoxybenzamine"],
    ],
    col_w=[38*mm, 80*mm, 55*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 10 – RECEPTOR FAMILIES
# ══════════════════════════════════════════════════════════════
story.append(section_header("10. RECEPTOR FAMILIES"))
story.append(sp(4))
story.append(two_col_table(
    ["Receptor Type", "Location", "Effector", "Examples", "Response Time"],
    [
        ["Ligand-gated ion channels (Ionotropic)", "Membrane", "Ion channel", "Nicotinic, GABA-A, Glutamate", "Milliseconds"],
        ["G-protein coupled (GPCRs, Metabotropic)", "Membrane", "Channel or enzyme (via G protein)", "Muscarinic, Adrenergic, Opioid", "Seconds"],
        ["Transmembrane enzyme-linked", "Membrane", "Enzyme (tyrosine kinase)", "Insulin, EGF, Growth hormone receptors", "Minutes to hours"],
        ["Nuclear receptors", "Intracellular", "Gene transcription", "Steroids, Thyroid hormones, Vit A & D, Glucocorticoids", "Hours"],
    ],
    col_w=[40*mm, 22*mm, 35*mm, 50*mm, 26*mm]
))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: Receptor Types – 'LGEN'",
    ["<b>L</b>igand-gated ion channels (fastest – milliseconds)",
     "<b>G</b>-protein coupled receptors (seconds)",
     "<b>E</b>nzyme-linked receptors (minutes to hours)",
     "<b>N</b>uclear receptors (slowest – hours)",
     "<i>Speed: L > G > E > N</i>"]))
story.append(sp(4))

story.append(p("<b>GPCR Subtypes & Second Messengers:</b>", BODY_B))
story.append(two_col_table(
    ["G-protein", "Effect", "Receptor Examples"],
    [
        ["Gs", "↑ Adenylyl cyclase → ↑ cAMP", "β1, β2-adrenergic receptors"],
        ["Gi", "↓ Adenylyl cyclase → ↓ cAMP", "α2-adrenergic receptors, M2 (cardiac)"],
        ["Gq", "Activates Phospholipase C → ↑ IP₃ + DAG", "M1, M3 muscarinic; α1-adrenergic"],
    ],
    col_w=[20*mm, 85*mm, W-105*mm]
))
story.append(sp(4))

story.append(p("<b>Receptor Regulation:</b>", BODY_B))
story.append(two_col_table(
    ["DOWNREGULATION", "UPREGULATION"],
    [
        ["Prolonged use of AGONISTS", "Prolonged use of ANTAGONISTS"],
        ["↓ Receptor number & sensitivity", "↑↑ Receptor number & sensitivity"],
        ["Example: Chronic salbutamol → ↓ β-adrenoceptor response → decreased effect in asthma", "Example: Stopping propranolol suddenly → supersensitivity to catecholamines → rebound tachycardia, angina, MI"],
        ["", "⚠ PROPRANOLOL MUST NOT BE STOPPED ABRUPTLY"],
    ],
    col_w=[W/2, W/2]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 11 – DOSE-RESPONSE
# ══════════════════════════════════════════════════════════════
story.append(section_header("11. DOSE-RESPONSE RELATIONSHIP"))
story.append(sp(4))
story.append(two_col_table(
    ["Term", "Definition", "Formula/Note"],
    [
        ["Therapeutic Index (TI)", "Index of drug safety", "TI = LD₅₀ ÷ ED₅₀"],
        ["LD₅₀", "Dose lethal to 50% of population", "Lower LD₅₀ = more toxic"],
        ["ED₅₀", "Dose producing desired effect in 50%", "Lower ED₅₀ = more potent"],
        ["Drug Potency", "Amount of drug required for a given response", "Lower dose = more potent (morphine > pethidine as analgesic)"],
        ["Drug Efficacy (Emax)", "Maximum effect a drug can produce", "Morphine > aspirin as analgesic"],
        ["Therapeutic Range", "Concentration range: desired effect with minimal toxicity", "Between MEC and toxic level"],
    ],
    col_w=[40*mm, 65*mm, W-105*mm]
))
story.append(sp(4))
story.append(mnemonic_box("KEY: Narrow TI Drugs – Require TDM – 'LPAD'",
    ["<b>L</b>ithium",
     "<b>P</b>henytoin",
     "<b>A</b>minoglycosides",
     "<b>D</b>igoxin",
     "<i>Also: Theophylline, Cyclosporine, Warfarin, Methotrexate</i>"]))
story.append(sp(4))

story.append(p("<b>Combined Effects of Drugs:</b>", H3))
story.append(two_col_table(
    ["Effect", "Definition", "Formula", "Example"],
    [
        ["Additive", "Combined = sum of individual effects", "A+B = A+B", "Aspirin + Paracetamol"],
        ["Potentiation (supra-additive)", "Inactive drug enhances active drug", "A+B > A+B (B inactive alone)", "Carbidopa + Levodopa"],
        ["Synergism", "Combined > either drug alone", "A+B >> A, B separately", "Cotrimoxazole (SMX+TMP)"],
        ["Physical antagonism", "Opposite physical property", "-", "Activated charcoal adsorbs alkaloids"],
        ["Chemical antagonism", "Chemical neutralization", "-", "Antacids + gastric acid; chelating agents"],
        ["Physiological antagonism", "Opposite effects via different receptors", "-", "Adrenaline vs Histamine"],
        ["Competitive antagonism", "Same receptor; reversible; overcome by ↑ agonist", "Rightward parallel DRC shift", "Atropine vs ACh"],
        ["Non-competitive antagonism", "Different receptor site; NOT overcome by ↑ agonist", "Flattening of DRC", "Diazepam vs bicuculline"],
    ],
    col_w=[35*mm, 55*mm, 28*mm, W-118*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 12 – DRUG INTERACTIONS
# ══════════════════════════════════════════════════════════════
story.append(section_header("12. DRUG INTERACTIONS"))
story.append(sp(4))
story.append(two_col_table(
    ["Interacting Drugs", "Mechanism", "Result", "Type"],
    [
        ["Antacids + Tetracycline", "Chelation in gut → unabsorbable complex", "↓ Tetracycline absorption", "PK - Absorption"],
        ["Metoclopramide + Aspirin", "↑ Gastric emptying", "↑ Aspirin absorption", "PK - Absorption"],
        ["Salicylates + Warfarin", "Plasma protein displacement", "↑ Free warfarin → BLEEDING", "PK - Distribution"],
        ["Rifampicin + OCP", "Enzyme induction of OCP metabolism", "Contraceptive FAILURE", "PK - Metabolism"],
        ["Erythromycin + Carbamazepine", "Enzyme inhibition → ↓ carbamazepine metabolism", "↑ Carbamazepine toxicity", "PK - Metabolism"],
        ["Probenecid + Penicillin", "Blocks tubular secretion", "↑ Penicillin levels (beneficial)", "PK - Excretion"],
        ["Salicylates + Methotrexate", "Interferes with tubular secretion of MTX", "↑ MTX toxicity", "PK - Excretion"],
        ["Aminoglycosides + Amphotericin B", "Additive toxicity on kidney", "↑ Nephrotoxicity (harmful)", "PD"],
        ["Levodopa + Carbidopa", "Inhibit peripheral decarboxylase", "↑ CNS levodopa (beneficial)", "PD"],
        ["Phenytoin + Dextrose IV", "Physical incompatibility", "Precipitates! Use normal saline", "Pharmaceutical"],
        ["Gentamicin + Carbenicillin (same IV)", "Chemical incompatibility", "Loss of potency", "Pharmaceutical"],
    ],
    col_w=[55*mm, 55*mm, 40*mm, 23*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 13 – ADRs
# ══════════════════════════════════════════════════════════════
story.append(section_header("13. ADVERSE DRUG REACTIONS & HYPERSENSITIVITY"))
story.append(sp(4))
story.append(two_col_table(
    ["Type", "Nature", "Examples"],
    [
        ["Type A – Predictable (Augmented)", "Related to pharmacological action; dose-dependent; common", "Side effects, Secondary effects, Toxic effects"],
        ["Type B – Unpredictable (Bizarre)", "NOT related to pharmacological action; rare but serious", "Drug allergy, Idiosyncrasy"],
    ],
    col_w=[50*mm, 80*mm, W-130*mm]
))
story.append(sp(4))
story.append(p("<b>Types of Hypersensitivity (Gell & Coombs Classification):</b>", BODY_B))
story.append(two_col_table(
    ["Type", "Mediator", "Time", "Manifestation", "Treatment"],
    [
        ["I – Anaphylactic/Immediate", "IgE, Mast cells", "Minutes", "Itching, urticaria, asthma, anaphylactic shock", "Adrenaline, Hydrocortisone, Antihistamine"],
        ["II – Cytotoxic", "IgG, IgM", "Hours", "Blood transfusion reactions, haemolytic anaemia", "Glucocorticoids"],
        ["III – Immune complex (Serum sickness)", "IgG complexes", "Hours–days", "Fever, urticaria, joint pain, lymphadenopathy, SJS with sulphonamides", "Glucocorticoids"],
        ["IV – Delayed/Cell-mediated", "T lymphocytes (ONLY type NOT antibody-mediated)", "1–2 days", "Contact dermatitis (local anaesthetic creams, topical antibiotics)", "Glucocorticoids"],
    ],
    col_w=[32*mm, 32*mm, 18*mm, 60*mm, 31*mm]
))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: Hypersensitivity Types – 'ACID'",
    ["Type I → <b>A</b>naphylactic (IgE)",
     "Type II → <b>C</b>ytotoxic (IgG, IgM)",
     "Type III → <b>I</b>mmune complex (IgG complexes)",
     "Type IV → <b>D</b>elayed (T cells – only non-antibody type)"]))
story.append(sp(4))

story.append(p("<b>Treatment of Anaphylactic Shock (MEDICAL EMERGENCY):</b>", H3))
story.append(highlight_box(
    "1. <b>Adrenaline</b> (1:1000) – 0.3–0.5 mL IM (FIRST LINE)<br/>"
    "2. <b>Hydrocortisone</b> – 100–200 mg IV<br/>"
    "3. <b>Pheniramine</b> – 45 mg IM/IV (antihistamine)<br/>"
    "4. Maintain patent airway + IV fluids"))
story.append(sp(4))

story.append(p("<b>Organ-Specific Toxicity:</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: Nephrotoxic Drugs – 'VACATION'",
    ["<b>V</b>ancomycin",
     "<b>A</b>minoglycosides",
     "<b>C</b>isplatin",
     "<b>A</b>mphotericin B",
     "<b>T</b>etracyclines (Fanconi syndrome)",
     "<b>I</b>ndinavir",
     "<b>O</b>ther: Gold salts",
     "<b>N</b>ystatin, Cyclosporine"]))
story.append(sp(3))
story.append(two_col_table(
    ["Organ", "Toxic Drugs"],
    [
        ["Hepatotoxic", "Isoniazid, Rifampicin, Pyrazinamide, Halothane, Paracetamol"],
        ["Nephrotoxic", "VACATION (see mnemonic above)"],
        ["Ototoxic", "Aminoglycosides, Loop diuretics, Cisplatin"],
        ["Ocular toxicity", "Ethambutol (optic neuritis), Chloroquine (retinopathy), Glucocorticoids (cataracts/glaucoma)"],
        ["Photosensitivity – Photoallergy", "Sulphonamides (cell-mediated immune response)"],
        ["Photosensitivity – Phototoxicity", "Doxycycline, Fluoroquinolones (local UV reaction – erythema, blisters)"],
    ],
    col_w=[40*mm, W-40*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 14 – DRUG DEPENDENCE & TERATOGENICITY
# ══════════════════════════════════════════════════════════════
story.append(section_header("14. DRUG DEPENDENCE, IDIOSYNCRASY & TERATOGENICITY"))
story.append(sp(4))
story.append(p("<b>Idiosyncrasy</b> = Genetically determined abnormal reaction to drug", BODY_B))
story.append(two_col_table(
    ["Drug", "Idiosyncratic Reaction", "Cause"],
    [
        ["Chloramphenicol", "Aplastic anaemia", "Genetic susceptibility"],
        ["Succinylcholine", "Prolonged apnoea", "Atypical pseudocholinesterase"],
        ["Primaquine/Sulphonamides/Dapsone", "Haemolytic anaemia", "G6PD deficiency"],
    ],
    col_w=[50*mm, 65*mm, W-115*mm]
))
story.append(sp(4))
story.append(p("<b>Drug Dependence – Treatment Principles:</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: Treatment of Drug Dependence – 'HSAPG'",
    ["<b>H</b>ospitalization",
     "<b>S</b>ubstitution therapy: Methadone for morphine addiction",
     "<b>A</b>version therapy: Disulfiram for alcohol addiction",
     "<b>P</b>sychotherapy",
     "<b>G</b>eneral measures: Nutrition, family support, rehabilitation"]))
story.append(sp(4))

story.append(p("<b>Teratogenicity – Gestational Risk:</b>", BODY_B))
story.append(two_col_table(
    ["Gestational Age", "Teratogenic Effect"],
    [
        ["Conception to 16 days", "Abortion (all or nothing)"],
        ["2–8 weeks (organogenesis)", "Structural abnormalities (MOST DANGEROUS PERIOD)"],
        ["2nd and 3rd trimester", "Growth retardation, functional defects"],
    ],
    col_w=[55*mm, W-55*mm]
))
story.append(sp(4))
story.append(mnemonic_box("MNEMONIC: Teratogenic Drugs – 'The T's' (plus ACE + Warfarin)",
    ["<b>T</b>halidomide → Phocomelia (seal limbs)",
     "<b>T</b>etracyclines → Yellowish discolouration of teeth; bone growth inhibition",
     "<b>T</b>hyroid drugs (antithyroid) → Fetal goitre",
     "<b>A</b>CE inhibitors → Fetal renal damage (2nd/3rd trimester)",
     "<b>C</b>arbamazepine/Valproate → Neural tube defects",
     "<b>E</b>thinylestradiol (high-dose) → Virilization of female fetus",
     "<b>W</b>arfarin → Warfarin embryopathy (1st trimester); fetal haemorrhage (3rd trimester)",
     "<b>M</b>ethotrexate → Spontaneous abortion, organogenesis defects"]))
story.append(sp(4))

story.append(p("<b>Pharmacogenetics – Key Examples:</b>", BODY_B))
story.append(two_col_table(
    ["Genetic Variation", "Drug Affected", "Clinical Consequence"],
    [
        ["Slow acetylators", "Isoniazid (INH)", "↑ incidence of peripheral neuritis; need lower dose"],
        ["Fast acetylators", "Isoniazid (INH)", "Higher dose required for therapeutic effect"],
        ["Atypical pseudocholinesterase", "Succinylcholine", "Prolonged apnoea (dangerous)"],
        ["G6PD deficiency", "Primaquine, Sulphonamides, Dapsone, Salicylates", "Haemolytic anaemia"],
        ["Malignant hyperthermia susceptibility", "Halothane + Succinylcholine", "Dangerous rise in body temperature"],
        ["Acute porphyria susceptibility", "Barbiturates (induce ALA synthase)", "Precipitation of porphyria attacks"],
    ],
    col_w=[45*mm, 50*mm, W-95*mm]
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# SECTION 15 – TREATMENT OF POISONING
# ══════════════════════════════════════════════════════════════
story.append(section_header("15. TREATMENT OF POISONING"))
story.append(sp(4))
story.append(highlight_box("All poisoning cases = <b>MEDICO-LEGAL CASES</b> → Police must be informed"))
story.append(sp(4))
story.append(p("<b>General Management (Mnemonic: A to H):</b>", BODY_B))
story.append(mnemonic_box("MNEMONIC: General Management of Poisoning – 'A to H'",
    ["<b>H</b>ospitalization",
     "<b>A</b>irway – clear; left lateral position; cuffed endotracheal tube if unconscious",
     "<b>B</b>reathing – O₂ for hypoxaemia; mechanical ventilation if needed",
     "<b>C</b>irculation – IV line; monitor pulse and BP",
     "<b>D</b>econtaminate (prevent further absorption):",
     "  • Inhaled: fresh air | Contact: remove clothes, wash with soap/water",
     "  • Ingested: Gastric lavage within 2–3 hours; Activated charcoal",
     "<b>E</b>liminate (promote excretion): Diuretics; Alkalinize/Acidify urine; Dialysis",
     "<b>F</b>luids and electrolyte balance",
     "<b>G</b>lucose/General symptomatic: IV diazepam 5–10 mg for convulsions; cooling for hyperpyrexia",
     "<b>H</b>ealth: Specific antidotes (see table below)"]))
story.append(sp(4))

story.append(p("<b>Contraindications to Gastric Lavage:</b>", BODY_B))
story.append(bullet("Corrosives (carbolic acid, strong acids/alkalis)"))
story.append(bullet("Petroleum products (kerosene)"))
story.append(bullet("Convulsants (risk of aspiration)"))
story.append(sp(4))

story.append(p("<b>Urine Manipulation in Poisoning:</b>", BODY_B))
story.append(two_col_table(
    ["Poison", "Urine Modification", "Drug Used"],
    [
        ["Salicylates / Barbiturates", "ALKALINIZE urine → ionizes acidic drug → cannot be reabsorbed → excreted", "Sodium bicarbonate (NaHCO₃)"],
        ["Amphetamine / Quinidine", "ACIDIFY urine → ionizes basic drug → cannot be reabsorbed → excreted", "Ascorbic acid (Vitamin C)"],
        ["Severe poisoning (lithium, aspirin, methanol)", "Dialysis", "Haemodialysis"],
    ],
    col_w=[35*mm, 90*mm, 48*mm]
))
story.append(sp(5))

story.append(p("<b>ANTIDOTES TABLE (HIGH YIELD):</b>", H3))
story.append(two_col_table(
    ["POISON", "ANTIDOTE"],
    [
        ["Organophosphorus compounds (OPC)", "Atropine (+ Pralidoxime/2-PAM for OPC)"],
        ["Morphine / Opioids", "Naloxone"],
        ["Atropine / Anticholinergics", "Physostigmine"],
        ["Benzodiazepines", "Flumazenil"],
        ["Carbamates", "Atropine"],
        ["Cyanide", "Sodium nitrite + Sodium thiosulphate"],
        ["Methanol / Ethylene glycol", "Fomepizole; Ethyl alcohol"],
        ["Paracetamol", "N-acetylcysteine (NAC)"],
        ["Heparin", "Protamine sulphate"],
        ["Warfarin", "Vitamin K1 (Phytonadione)"],
        ["Iron compounds", "Desferrioxamine"],
        ["Alkalies", "Dilute acetic acid (vinegar)"],
        ["Heavy metals (Arsenic, Gold)", "BAL (Dimercaprol)"],
        ["Copper/Lead poisoning", "D-Penicillamine"],
        ["Iron poisoning", "Desferrioxamine"],
        ["Digoxin toxicity", "Digoxin-specific antibody fragments (Digifab)"],
    ],
    col_w=[W/2, W/2],
    header_bg=RED
))
story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# PAGE – MASTER MNEMONIC SHEET
# ══════════════════════════════════════════════════════════════
story.append(banner("MASTER MNEMONIC SHEET", "General Pharmacology – All Key Mnemonics", bg=ORANGE))
story.append(sp(8))

mnemonics = [
    ("PAFFE – Membrane Transport", [
        "P – Passive diffusion | A – Active transport | F – Facilitated diffusion | F – Filtration | E – Endocytosis"]),
    ("Acid in Acid, Base in Base – pH Absorption", [
        "Weakly ACIDIC drugs absorbed from ACIDIC stomach (e.g., barbiturates, aspirin)",
        "Weakly BASIC drugs absorbed from alkaline INTESTINE (e.g., morphine, amphetamine)"]),
    ("PRP-FAGE-HE – 10 Factors Affecting Bioavailability", [
        "Physicochemical | Route | pH & ionization | Food | Area of surface | GI diseases | Enterohepatic cycling | Hepatic diseases | Enzyme (first-pass)"]),
    ("TeTCDiG – Drug Tissue Reservoirs", [
        "Tetracyclines→Bones/Teeth | Thiopentone/DDT→Adipose | Chloroquine→Liver/Retina | Digoxin→Heart"]),
    ("WAVED – Highly Protein-Bound Drugs", [
        "Warfarin | Amiodarone | Valproate | Erythromycin | Diazepam/Digoxin"]),
    ("BITS – Uses of Prodrugs", [
        "Bioavailability↑ (levodopa) | Improve taste (clindamycin palmitate) | Time↑/prolong (fluphenazine) | Site-specific (methenamine)"]),
    ("RPBCG – Enzyme Inducers", [
        "Rifampicin | Phenytoin | Barbiturates | Carbamazepine | Griseofulvin",
        "Tip: 'Really Powerful But Confusing Guys'"]),
    ("CCEM – Enzyme Inhibitors", [
        "Chloramphenicol | Ciprofloxacin | Erythromycin | Metronidazole (+ Ketoconazole)"]),
    ("KLFSBSM – Routes of Excretion", [
        "Kidney | Lungs | Faeces | Skin | Bile | Saliva | Milk"]),
    ("NARROW – Indications for TDM", [
        "Narrow TI drugs | Ascertain compliance | Renal failure | Random variation (TCA) | Off-response | Work up for poisoning"]),
    ("LPAD – Narrow Therapeutic Index Drugs", [
        "Lithium | Phenytoin | Aminoglycosides | Digoxin (+Theophylline, Warfarin, Cyclosporine)"]),
    ("LGEN – Receptor Types (speed order)", [
        "Ligand-gated (ms) | G-protein coupled (s) | Enzyme-linked (min–hrs) | Nuclear (hrs)"]),
    ("ACID – Hypersensitivity Types", [
        "A–Anaphylactic (Type I, IgE) | C–Cytotoxic (Type II, IgG/IgM)",
        "I–Immune complex (Type III, IgG) | D–Delayed (Type IV, T cells)"]),
    ("VACATION – Nephrotoxic Drugs", [
        "Vancomycin | Aminoglycosides | Cisplatin | Amphotericin B | Tetracyclines (Fanconi) | Indinavir | Other (gold salts) | Nystatin/Cyclosporine"]),
    ("The T's – Teratogenic Drugs", [
        "Thalidomide (phocomelia) | Tetracyclines (teeth discolouration) | Thyroid drugs (fetal goitre)",
        "Also: ACE inhibitors (renal damage), Carbamazepine/Valproate (NTDs), Warfarin (embryopathy), Methotrexate"]),
    ("HSAPG – Drug Dependence Treatment", [
        "Hospitalization | Substitution (methadone) | Aversion (disulfiram) | Psychotherapy | General measures"]),
    ("A to H – General Management of Poisoning", [
        "Hospitalize | Airway | Breathing | Circulation | Decontaminate | Eliminate | Fluid balance | General/specific treatment"]),
]

for title, lines in mnemonics:
    story.append(mnemonic_box(title, lines))
    story.append(sp(5))

story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# PAGE – HIGH-YIELD EXAM TABLES
# ══════════════════════════════════════════════════════════════
story.append(banner("HIGH-YIELD EXAM TABLES", "Quick-Reference for Exam Day", bg=TEAL))
story.append(sp(8))

story.append(p("<b>PRODRUG EXAMPLES:</b>", H3))
story.append(two_col_table(
    ["Prodrug", "Active Drug"],
    [
        ["Levodopa", "Dopamine"],
        ["Prednisone", "Prednisolone"],
        ["Codeine", "Morphine (active metabolite)"],
        ["Enalapril", "Enalaprilat"],
        ["Clopidogrel", "Active thienopyridine metabolite"],
        ["Methenamine", "Formaldehyde (in acidic urine)"],
    ],
    col_w=[W/2, W/2]
))
story.append(sp(5))

story.append(p("<b>FIRST-PASS EFFECT EXAMPLES:</b>", H3))
story.append(two_col_table(
    ["Drug", "First-Pass Site", "Clinical Significance"],
    [
        ["Lignocaine", "Liver", "Given IV for ventricular arrhythmias (oral not effective)"],
        ["Isoprenaline", "Liver", "Given IV (oral bioavailability very low)"],
        ["Nitroglycerin", "Liver + gut wall", "Given sublingually or transdermally (oral poor bioavailability)"],
        ["Propranolol", "Liver", "Oral dose >> IV dose; hepatic disease → ↑ bioavailability"],
        ["Morphine", "Liver", "Oral bioavailability ~30%; oral dose higher than parenteral"],
    ],
    col_w=[30*mm, 25*mm, W-55*mm]
))
story.append(sp(5))

story.append(p("<b>ACTIVE METABOLITES:</b>", H3))
story.append(two_col_table(
    ["Parent Drug", "Active Metabolite", "Note"],
    [
        ["Diazepam", "Oxazepam (also Desmethyldiazepam)", "Prolonged action due to active metabolites"],
        ["Codeine", "Morphine", "Analgesic effect is mainly from morphine"],
        ["Paracetamol (overdose)", "NAPQI (toxic)", "Depletes glutathione → hepatotoxicity"],
        ["Carbamazepine", "Carbamazepine-10,11-epoxide", "Active; contributes to toxicity"],
        ["Amitriptyline", "Nortriptyline", "Also active antidepressant"],
    ],
    col_w=[40*mm, 55*mm, W-95*mm]
))
story.append(sp(5))

story.append(p("<b>DRUGS EXCRETED UNCHANGED (No Hepatic Metabolism):</b>", H3))
story.append(highlight_box(
    "Penicillin G, Gentamicin, Streptomycin, Digoxin (partially), Lithium, Metformin<br/>"
    "→ Dose adjustment needed in <b>RENAL FAILURE</b>"))
story.append(sp(5))

story.append(p("<b>ZERO-ORDER KINETICS DRUGS:</b>", H3))
story.append(two_col_table(
    ["Drug", "Note"],
    [
        ["Ethanol", "Eliminated at constant rate of ~10 mL/hour regardless of dose"],
        ["Phenytoin (high dose)", "Switches from first-order to zero-order → saturation kinetics → toxicity"],
        ["Aspirin (high dose)", "Saturates metabolism → zero-order kinetics"],
    ],
    col_w=[W/3, 2*W/3]
))
story.append(sp(5))

story.append(p("<b>DRUGS REQUIRING DOSE REDUCTION IN SPECIAL POPULATIONS:</b>", H3))
story.append(two_col_table(
    ["Condition", "Drugs Needing Dose Reduction", "Reason"],
    [
        ["Renal failure", "Aminoglycosides, Penicillin, Digoxin, Lithium, Metformin", "Primarily renally excreted; accumulates"],
        ["Hepatic failure", "Propranolol, Lignocaine, Morphine, Diazepam, Metronidazole", "Primarily hepatically metabolized; accumulates"],
        ["Elderly", "Aminoglycosides, Digoxin, Benzodiazepines", "Reduced renal + hepatic function"],
        ["Neonates", "Chloramphenicol (grey baby), Sulphonamides (kernicterus)", "Immature enzymes"],
    ],
    col_w=[30*mm, 75*mm, W-105*mm]
))
story.append(sp(5))

story.append(p("<b>TOLERANCE – KEY FACTS:</b>", H3))
story.append(two_col_table(
    ["Type", "Mechanism", "Example"],
    [
        ["Pharmacokinetic tolerance", "↑ Metabolism (enzyme induction)", "Rifampicin enhances OCP metabolism → contraceptive failure"],
        ["Pharmacodynamic tolerance", "Receptor downregulation (↓ receptors)", "Opioids, Barbiturates, Salbutamol"],
        ["Cross-tolerance", "Tolerance to related drugs", "Nitroglycerin ↔ other nitrates; Ether ↔ Alcohol"],
        ["Tachyphylaxis (acute tolerance)", "Depletion of noradrenaline stores", "Ephedrine, Amphetamine, Tyramine (repeated doses → reduced BP effect)"],
    ],
    col_w=[40*mm, 60*mm, W-100*mm]
))

story.append(PageBreak())

# ══════════════════════════════════════════════════════════════
# FINAL PAGE – ONE-PAGE RAPID REVISION CARD
# ══════════════════════════════════════════════════════════════
story.append(banner("ONE-PAGE RAPID REVISION CARD", "General Pharmacology – Last 30 Minutes Before Exam", bg=RED))
story.append(sp(6))

rapid_data = [
    ["Membrane transport – most common", "Passive diffusion"],
    ["Most common metabolic transformation", "Active → Inactive metabolite"],
    ["Main site of drug metabolism", "Liver (CYP3A4/5 is most important enzyme)"],
    ["Exception: Phase II before Phase I", "Isoniazid (INH) – acetylation before oxidation"],
    ["Hofmann elimination (no enzyme)", "Atracurium"],
    ["Narrowest TI drugs (need TDM)", "Lithium, Phenytoin, Aminoglycosides, Digoxin"],
    ["Drugs NOT stopped abruptly", "Propranolol (rebound MI), Corticosteroids, Clonidine"],
    ["Zero-order kinetics drugs", "Ethanol, Phenytoin (high dose), Aspirin (high dose)"],
    ["First-pass effect drugs", "Lignocaine, Isoprenaline, Nitroglycerin, Propranolol"],
    ["Enterohepatic cycling drugs", "Morphine, Doxycycline"],
    ["Redistribution drug", "Thiopentone (short action → used for GA induction)"],
    ["High Vd drugs (dialysis useless)", "Chloroquine (13,000 L), Digoxin (500 L)"],
    ["BBB – impermeable to", "Ionized, large molecules (dopamine, aminoglycosides)"],
    ["BBB – permeable in disease", "Penicillin G during meningitis/encephalitis"],
    ["Tachyphylaxis examples", "Ephedrine, Amphetamine, Tyramine"],
    ["Anaphylaxis – 1st line drug", "Adrenaline 1:1000, 0.3–0.5 mL IM"],
    ["Only non-antibody hypersensitivity", "Type IV (T-cell mediated, delayed)"],
    ["Stevens-Johnson syndrome", "Type III; caused by Sulphonamides, NSAIDs"],
    ["Thalidomide teratogenicity", "Phocomelia"],
    ["Most dangerous teratogenic period", "2–8 weeks (organogenesis)"],
    ["Opioid substitution therapy", "Methadone"],
    ["Alcohol aversion therapy", "Disulfiram"],
    ["Antidote: Paracetamol", "N-acetylcysteine (NAC)"],
    ["Antidote: Opioids", "Naloxone"],
    ["Antidote: Benzodiazepines", "Flumazenil"],
    ["Antidote: Heparin", "Protamine sulphate"],
    ["Antidote: Warfarin", "Vitamin K1 (Phytonadione)"],
    ["Antidote: Iron", "Desferrioxamine"],
    ["Antidote: Organophosphorus", "Atropine (+ Pralidoxime)"],
    ["Antidote: Cyanide", "Sodium nitrite + Sodium thiosulphate"],
    ["Gastric lavage contraindicated in", "Corrosives, Petroleum products, Convulsants"],
    ["Salicylate poisoning – urine", "ALKALINIZE (NaHCO₃)"],
    ["Amphetamine poisoning – urine", "ACIDIFY (Vitamin C)"],
    ["Nephrotoxic drugs", "VACATION (Vancomycin, Aminoglycosides, Cisplatin, Amphotericin B, Tetracyclines, Indinavir, Other, Nystatin)"],
    ["National Pharmacovigilance Centre", "Ghaziabad, India"],
    ["International PV Centre", "Uppsala Monitoring Centre, Sweden"],
    ["Probenecid + Penicillin", "Blocks tubular secretion → ↑ penicillin levels (beneficial)"],
    ["Rifampicin + OCP", "Enzyme induction → contraceptive failure"],
    ["Salicylates + Warfarin", "Protein displacement → ↑ bleeding risk"],
    ["Phenytoin + Dextrose IV", "Precipitates! Use normal saline"],
]

for item in rapid_data:
    rd = Table([[p(f"<b>{item[0]}</b>", BODY_B), p(item[1], BODY)]], colWidths=[75*mm, W-75*mm])
    rd.setStyle(TableStyle([
        ("ROWBACKGROUNDS", (0,0), (-1,-1), [LGREEN, WHITE]),
        ("GRID",           (0,0), (-1,-1), 0.3, colors.lightgrey),
        ("TOPPADDING",     (0,0), (-1,-1), 3),
        ("BOTTOMPADDING",  (0,0), (-1,-1), 3),
        ("LEFTPADDING",    (0,0), (-1,-1), 8),
        ("VALIGN",         (0,0), (-1,-1), "TOP"),
    ]))
    story.append(rd)

# ── Build ──────────────────────────────────────────────────────
doc.build(story)
print(f"PDF generated successfully: {OUTPUT}")
Running Command

cd /home/daytona/workspace/pharma-notes && python generate_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/pharma-notes/General_Pharmacology_Revision.pdf

Your PDF is ready! Download it here:

General Pharmacology Revision

PDF Document · PDF


What's inside the PDF (15 sections + 3 bonus pages):
SectionContent
1-9Full ADME notes - membrane transport, absorption, bioavailability, distribution, plasma protein binding, biotransformation (Phase I & II), excretion, PK parameters, TDM/FDCs
10-15Pharmacodynamics - receptor families, dose-response, drug interactions, ADRs & hypersensitivity, drug dependence, teratogenicity, poisoning & antidotes
Mnemonic SheetAll 17 key mnemonics consolidated (PAFFE, VACATION, ACID, LGEN, BITS, RPBCG, CCEM, NARROW, LPAD, etc.)
High-Yield TablesProdrugs, first-pass drugs, active metabolites, zero-order kinetics, dose adjustments in renal/hepatic failure, tolerance types
Rapid Revision Card40-point last-30-minutes cheat sheet with the most commonly asked exam facts
This is a shared conversation. Sign in to Orris to start your own chat.