General Principles 1 1. Drug Invention and the Pharmaceutical Industry 2. Pharmacokinetics: The Dynamics of Drug Absorption, Distribution, Metabolism, and Elimination 3. Pharmacodynamics: Molecular Mechanisms of Drug Action 4. Drug Toxicity and poisoning 5. Membrane Transporters and Drug Response.. Refer goodman and gilman book and give me must know concept and definition and keywords to crack any type of mcqs in these topics
Give me cheat sheets on each topic as a word document
Goodman Gilman The Pharmacological Basis of Therapeutics drug development pharmacokinetics pharmacodynamics toxicity transporters chapters
pharmacokinetics pharmacodynamics drug transporters
~/
mkdir -p "/tmp/workspace/pharmacology-cheatsheets/src" "/tmp/workspace/pharmacology-cheatsheets/output"
~/pharmacology-cheatsheets/src/create_cheatsheets.py
from docx import Document
from docx.shared import Inches, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.section import WD_SECTION_START
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_CELL_VERTICAL_ALIGNMENT
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
from docx.enum.style import WD_STYLE_TYPE
OUT = '/tmp/workspace/pharmacology-cheatsheets/output/Goodman_Gilman_General_Pharmacology_MCQ_Cheat_Sheets.docx'
def shade(cell, fill):
tcPr = cell._tc.get_or_add_tcPr(); shd = OxmlElement('w:shd'); shd.set(qn('w:fill'), fill); tcPr.append(shd)
def set_cell_text(cell, text, bold=False, color=None):
cell.text = ''
p = cell.paragraphs[0]; r = p.add_run(text); r.bold = bold
if color: r.font.color.rgb = RGBColor(*color)
r.font.size = Pt(8.6); cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER
def add_table(doc, headers, rows, widths=None):
t = doc.add_table(rows=1, cols=len(headers)); t.alignment = WD_TABLE_ALIGNMENT.CENTER; t.style = 'Table Grid'
for i,h in enumerate(headers):
c=t.rows[0].cells[i]; shade(c,'183B61'); set_cell_text(c,h,True,(255,255,255))
if widths: c.width=Inches(widths[i])
for row in rows:
cells=t.add_row().cells
for i,val in enumerate(row):
set_cell_text(cells[i],str(val), bold=(i==0))
if widths: cells[i].width=Inches(widths[i])
doc.add_paragraph('')
return t
def bullet(doc, text, style='List Bullet'):
p=doc.add_paragraph(style=style); p.paragraph_format.space_after=Pt(2); p.add_run(text); return p
def h(doc, text, level=1):
p=doc.add_heading(text, level=level); p.paragraph_format.space_before=Pt(8); p.paragraph_format.space_after=Pt(4); return p
def callout(doc, title, text):
t=doc.add_table(rows=1, cols=1); t.style='Table Grid'; c=t.cell(0,0); shade(c,'E8F1FA')
p=c.paragraphs[0]; r=p.add_run(title+' '); r.bold=True; r.font.color.rgb=RGBColor(24,59,97); p.add_run(text)
doc.add_paragraph('')
doc=Document()
sec=doc.sections[0]; sec.top_margin=Inches(.55); sec.bottom_margin=Inches(.55); sec.left_margin=Inches(.6); sec.right_margin=Inches(.6)
normal=doc.styles['Normal']; normal.font.name='Arial'; normal._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial'); normal.font.size=Pt(9.5)
for s in ['Title','Heading 1','Heading 2','Heading 3']:
st=doc.styles[s]; st.font.name='Arial'; st._element.rPr.rFonts.set(qn('w:eastAsia'),'Arial'); st.font.color.rgb=RGBColor(24,59,97)
doc.styles['Title'].font.size=Pt(25)
for name in ['List Bullet','List Bullet 2']:
doc.styles[name].font.name='Arial'; doc.styles[name].font.size=Pt(9.3)
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
r=p.add_run('GENERAL PHARMACOLOGY'); r.bold=True; r.font.size=Pt(27); r.font.color.rgb=RGBColor(24,59,97)
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER
r=p.add_run('MCQ CHEAT SHEETS'); r.bold=True; r.font.size=Pt(18); r.font.color.rgb=RGBColor(53,121,166)
p=doc.add_paragraph(); p.alignment=WD_ALIGN_PARAGRAPH.CENTER; p.add_run('Drug invention • Pharmacokinetics • Pharmacodynamics • Toxicity & poisoning • Membrane transporters').italic=True
callout(doc,'How to use this file:','For each MCQ, identify the tested axis first: time/concentration = PK; receptor-response = PD; unwanted effect = toxicity; movement across a membrane = transporter. Learn the bold contrasts and formula triggers.')
h(doc,'Core Formula Strip',1)
add_table(doc,['Concept','Formula / meaning','MCQ trigger'],[
('Bioavailability (F)','F = (AUC oral / AUC IV) × (Dose IV / Dose oral). IV F = 1.','First-pass metabolism lowers F, not necessarily absorption.'),
('Loading dose','LD = target Cp × Vd / F.','Depends mainly on Vd.'),
('Maintenance dose rate','MD rate = target Css × CL / F.','Depends mainly on clearance.'),
('Half-life','t½ = 0.693 × Vd / CL.','Increases if Vd rises or CL falls.'),
('Steady state','Time to Css ≈ 4-5 half-lives.','Independent of dose for linear kinetics.'),
('First-order elimination','Constant fraction eliminated per unit time.','t½ and CL are constant.'),
('Zero-order elimination','Constant amount eliminated per unit time.','Saturation: ethanol, phenytoin, high-dose salicylate.'),
('Receptor occupancy','Occupancy = [D] / (KD + [D]).','KD is concentration producing 50% receptor occupancy.'),
('Therapeutic index','TI = TD50 / ED50 (or LD50 / ED50).','Population safety measure, not individual safety guarantee.')])
h(doc,'1. Drug Invention and the Pharmaceutical Industry',1)
callout(doc,'One-line distinction:','Modern drugs are commonly invented rather than discovered: compounds are designed and iteratively optimized for activity, selectivity, pharmacokinetics, safety, and manufacturability.')
add_table(doc,['Term','Must-know definition','MCQ keyword / trap'],[
('Target','Biomolecule whose modulation is intended to alter disease biology.','Target validation precedes serious optimization.'),
('Hit','Compound with reproducible activity in a screen.','Hit is not a drug candidate.'),
('Lead','Promising chemical series used as starting point for optimization.','Lead optimization improves potency, selectivity, ADME and safety.'),
('Structure-activity relationship (SAR)','Relation between chemical structure and biological activity.','Small structural change can alter efficacy, metabolism or toxicity.'),
('HTS','Automated screening of very large compound collections.','Finds hits; it does not prove clinical usefulness.'),
('SBDD','Structure-based drug design using 3-D target structure to guide ligand design.','Needs target structural information.'),
('CADD','Computer-aided drug discovery, including virtual screening/simulation.','Computational prediction requires experimental validation.'),
('Preclinical development','In vitro and animal pharmacology, PK, toxicology, formulation.','Estimates risk, but cannot establish human efficacy.'),
('IND','Regulatory submission permitting initiation of human clinical trials.','IND comes before clinical testing.'),
('NDA/BLA','Marketing application for small-molecule drug / biologic.','Approval does not end safety surveillance.'),
('Patent','Time-limited exclusion right for invention.','Patent life differs from market exclusivity.'),
('Generic drug','Usually must show pharmaceutical equivalence and bioequivalence.','Need not repeat full efficacy trials.'),
('Biosimilar','Highly similar biologic with no clinically meaningful differences.','Not simply a generic because biologics are complex.')])
h(doc,'Clinical development: phase table',2)
add_table(doc,['Phase','Main question','Typical exam answer'],[
('Phase 0','Does a microdose behave as predicted?','Exploratory, limited human exposure; not routine efficacy testing.'),
('Phase I','Is it reasonably safe? What are PK/PD and dose range?','Usually healthy volunteers; oncology often patients.'),
('Phase II','Does it work in patients? What dose/regimen?','Proof of concept and dose finding.'),
('Phase III','Does benefit-risk support approval?','Large confirmatory trials versus standard care/placebo.'),
('Phase IV','What happens in real-world use?','Postmarketing surveillance, rare ADRs, new uses.')])
callout(doc,'Classic traps:','A placebo-controlled trial can establish efficacy but rare adverse effects often emerge only after marketing. Randomization reduces confounding; blinding reduces ascertainment/performance bias; intention-to-treat preserves randomization.')
bullet(doc,'Orphan drug: developed for a rare disease. Incentives may include market exclusivity and development support.')
bullet(doc,'Precision medicine: uses biomarkers, genotype, phenotype, or molecular target to select treatment or dose.')
h(doc,'2. Pharmacokinetics: Absorption, Distribution, Metabolism, Elimination',1)
callout(doc,'Question stem decoder:','If it mentions dose, route, plasma concentration, AUC, onset, half-life, organ function, or dosing interval, think pharmacokinetics.')
h(doc,'ADME definitions',2)
add_table(doc,['Concept','Definition','High-yield association'],[
('Absorption','Movement from administration site into systemic circulation.','Requires dissolution for solid oral dosage forms.'),
('Bioavailability','Fraction of dose reaching systemic circulation intact.','Reduced by incomplete absorption and first-pass loss.'),
('First-pass effect','Presystemic metabolism/excretion in gut wall and liver.','Oral route affected; IV avoids it.'),
('Distribution','Reversible transfer between blood and tissues.','Influenced by perfusion, permeability, binding, lipophilicity.'),
('Vd','Apparent volume that relates amount in body to plasma concentration.','Large Vd = extensive tissue distribution, often lipophilic.'),
('Metabolism','Enzymatic chemical alteration, chiefly hepatic.','May inactivate, activate prodrugs, or create toxic metabolites.'),
('Excretion','Irreversible removal, chiefly renal or biliary.','Renal clearance depends on filtration, secretion, reabsorption.'),
('Clearance (CL)','Volume of plasma cleared of drug per unit time.','Elimination capacity, not amount removed.'),
('AUC','Total systemic exposure over time.','For linear IV dosing: AUC = dose/CL.'),
('Css','Average plateau concentration during repeated input.','Rate in = rate out at steady state.')])
h(doc,'Absorption and distribution',2)
add_table(doc,['Rule','What changes it?','MCQ answer'],[
('Weak acids cross membranes best when nonionized','Low pH favors HA; high pH favors A−.','Weak acids are trapped on the more alkaline side.'),
('Weak bases cross membranes best when nonionized','High pH favors B; low pH favors BH+.','Weak bases are trapped on the more acidic side.'),
('Henderson-Hasselbalch','pH = pKa + log(A−/HA) for acids; pH = pKa + log(B/BH+) for bases.','Use only to compare ionization, not to claim absorption occurs only in stomach.'),
('Protein binding','Only unbound drug readily distributes, filters and interacts with target.','Low albumin can raise free fraction of acidic drugs.'),
('BBB entry','Favored by lipophilicity and uncharged fraction; limited by efflux transporters.','Inflammation can increase permeability.'),
('Redistribution','Drug leaves initial, highly perfused target tissue for muscle/fat.','Thiopental effect ends by redistribution, not rapid elimination.')])
h(doc,'Metabolism and excretion',2)
add_table(doc,['Concept','Definition / example','Trap'],[
('Phase I','Oxidation, reduction, hydrolysis. Often CYP-mediated.','May activate, inactivate, or create reactive metabolite.'),
('Phase II','Conjugation: glucuronidation, sulfation, acetylation, etc.','Usually increases polarity, but not always inactivating.'),
('Enzyme induction','Increases enzyme amount/activity over days. Rifampin is prototype.','Usually lowers substrate concentration and effect.'),
('Enzyme inhibition','Decreases metabolism, often faster onset. Macrolides/azoles are examples.','Usually raises substrate concentration and toxicity risk.'),
('Renal filtration','Only unbound drug is filtered.','Protein-bound drug is poorly filtered.'),
('Active secretion','Carrier-mediated proximal-tubule transport.','Can be inhibited by competing drugs, e.g., probenecid.'),
('Passive reabsorption','Favored by lipid-soluble, nonionized drug.','Urine pH manipulation can enhance excretion of selected poisons.'),
('Enterohepatic cycling','Biliary excretion then intestinal reabsorption.','May prolong half-life.')])
h(doc,'Kinetics and dose design',2)
add_table(doc,['If the question says...','Think...','Answer'],[
('“A fixed percentage eliminated each hour”','First-order','Rate is proportional to concentration.'),
('“Pathway saturated” or “fixed amount eliminated”','Zero-order/capacity-limited','Small dose increments can cause large concentration rise.'),
('“When will plateau occur?”','Half-life','About 4-5 t½.'),
('“Need immediate target concentration”','Loading dose','Increase LD when Vd increases.'),
('“Maintain target concentration”','Maintenance dose rate','Adjust for clearance; lower with renal/hepatic impairment when relevant.'),
('“Double dose in linear kinetics”','Proportionality','AUC and Css double; t½ unchanged.'),
('“Drug effect ends soon after IV bolus despite long t½”','Redistribution','Classic highly lipophilic anesthetic pattern.')])
h(doc,'3. Pharmacodynamics: Molecular Mechanisms of Drug Action',1)
callout(doc,'Question stem decoder:','If the stem describes receptor binding, signal transduction, curve shifts, maximum response, EC50, or drug interactions at a target, think pharmacodynamics.')
add_table(doc,['Term','Definition','MCQ contrast'],[
('Affinity','Tendency of drug to bind receptor.','KD reflects affinity: lower KD = higher affinity.'),
('Efficacy (intrinsic activity)','Ability of bound drug to produce response.','Determines Emax, not EC50.'),
('Potency','Concentration/dose needed for a given effect.','Higher potency = lower EC50; does not mean more effective.'),
('Full agonist','Produces maximal system response under conditions tested.','High efficacy.'),
('Partial agonist','Produces submaximal response even at full occupancy.','Can antagonize a full agonist.'),
('Neutral antagonist','Binds receptor with zero efficacy and blocks agonist.','Competitive antagonist shifts curve right.'),
('Inverse agonist','Reduces constitutive receptor activity below basal level.','Requires constitutively active receptor.'),
('Spare receptors','Maximal response occurs without full occupancy.','Irreversible antagonist may first shift curve before lowering Emax.'),
('Desensitization','Diminishing response with continuous/repeated agonist exposure.','Can involve receptor phosphorylation/internalization.'),
('Tachyphylaxis','Rapid loss of response after closely spaced doses.','Often depletion of mediator or receptor adaptation.'),
('Tolerance','Reduced effect after repeated exposure, needing higher dose.','May be PK or PD.')])
h(doc,'Receptors and signaling',2)
add_table(doc,['Receptor class','Mechanism','Fast exam association'],[
('Ligand-gated ion channel','Opens/closes ion channel directly.','Milliseconds; nicotinic ACh, GABAA.'),
('G protein-coupled receptor','Activates G proteins and second messengers.','Seconds; muscarinic, adrenergic, opioid.'),
('Enzyme-linked receptor','Intrinsic enzyme activity or recruits enzyme.','Minutes-hours; insulin receptor is receptor tyrosine kinase.'),
('Intracellular/nuclear receptor','Ligand regulates gene transcription.','Hours-days; glucocorticoid, thyroid hormone, vitamin D.')])
add_table(doc,['Antagonism','Curve behavior','Surmountable?'],[
('Competitive reversible','Parallel right shift; EC50 increases; Emax unchanged.','Yes, increase agonist.'),
('Irreversible/pseudoirreversible orthosteric','Emax falls; may show initial right shift if spare receptors.','No.'),
('Noncompetitive/allosteric functional loss','Emax falls.','Usually no.'),
('Physiological antagonism','Opposite effects through different receptors.','Example: epinephrine reverses histamine bronchoconstriction.'),
('Chemical antagonism','Direct chemical interaction.','Example: protamine neutralizes heparin.')])
callout(doc,'Safety terms:','Therapeutic window is the concentration range between desired efficacy and unacceptable toxicity. Therapeutic index is a population ratio (TD50/ED50). A narrow therapeutic index means small concentration changes may matter clinically.')
h(doc,'4. Drug Toxicity and Poisoning',1)
callout(doc,'First principle in poisoning:','Stabilize airway, breathing, circulation; identify toxidrome and timing; prevent further absorption only when appropriate; enhance elimination selectively; give a specific antidote when indicated. Never allow an antidote question to override ABC stabilization.')
add_table(doc,['Term','Definition','MCQ hook'],[
('Side effect','Undesirable effect at therapeutic dose, often predictable.','May not require stopping therapy.'),
('Adverse drug reaction (ADR)','Noxious, unintended response at normal doses.','Not synonymous with overdose toxicity.'),
('Toxicity','Harm, commonly at supratherapeutic concentration/exposure.','Dose-related or non-dose-related mechanisms exist.'),
('On-target toxicity','Exaggeration of intended target action in unwanted tissue/context.','Predictable from pharmacology.'),
('Off-target toxicity','Action at unintended molecular target.','hERG blockade → QT prolongation/torsades risk.'),
('Biologic activation','Metabolism creates reactive/toxic metabolite.','Acetaminophen → NAPQI.'),
('Hypersensitivity','Immune-mediated reaction.','Often dose-independent after sensitization.'),
('Idiosyncratic reaction','Unusual, unpredictable response in susceptible individual.','Often genetic or metabolic basis.'),
('Teratogenicity','Developmental toxicity after prenatal exposure.','Timing of exposure is central.'),
('Carcinogenicity','Ability to cause cancer.','Genotoxic vs nongenotoxic mechanisms.')])
h(doc,'ADR classification and risk',2)
add_table(doc,['Type','Meaning','Exam pattern'],[
('Type A: augmented','Dose-related, predictable from known action, common.','Hypoglycemia with insulin; bleeding with anticoagulant.'),
('Type B: bizarre','Not dose-related, unpredictable, uncommon.','Allergy/idiosyncrasy.'),
('Type C: chronic','Dose/time related.','Long-term exposure toxicity.'),
('Type D: delayed','Appears after time.','Teratogenicity/carcinogenicity examples.'),
('Type E: end-of-use','Withdrawal/rebound effect.','Abrupt cessation after adaptation.'),
('Type F: failure','Unexpected lack of efficacy.','Interaction, resistance, poor adherence.')])
h(doc,'Toxidrome recognition',2)
add_table(doc,['Toxidrome','Key findings','Prototype / first association'],[
('Opioid','CNS depression, respiratory depression, miosis, reduced bowel sounds.','Naloxone reverses opioid effect but monitor for recurrent toxicity.'),
('Cholinergic','SLUDGE/DUMBELS, miosis, bronchorrhea, bradycardia, fasciculations.','Organophosphate: atropine for muscarinic effects; oxime use depends on context.'),
('Antimuscarinic','Hot, dry, flushed, mydriasis, urinary retention, delirium, tachycardia.','“Dry as bone, blind as bat...”'),
('Sympathomimetic','Agitation, diaphoresis, mydriasis, tachycardia, hypertension, hyperthermia.','Cocaine/amphetamines; diaphoresis helps distinguish from antimuscarinic.'),
('Sedative-hypnotic','CNS depression, ataxia, slurred speech.','Supportive care is often central; flumazenil has seizure-risk contexts.')])
h(doc,'Selected antidote pairs',2)
add_table(doc,['Poison / problem','Antidote or key intervention','Do not miss'],[
('Acetaminophen','N-acetylcysteine','Replenishes glutathione and supports detoxification of NAPQI.'),
('Opioids','Naloxone','Shorter action than some opioids: observe for recurrence.'),
('Organophosphates','Atropine ± pralidoxime','Atropine treats muscarinic manifestations, especially secretions/bronchospasm.'),
('Methanol / ethylene glycol','Fomepizole','Inhibits alcohol dehydrogenase.'),
('Iron','Deferoxamine','Chelation.'),
('Digoxin','Digoxin immune Fab','For severe digoxin toxicity.'),
('Warfarin major bleeding','Vitamin K + 4-factor PCC as appropriate','Vitamin K alone is not instant reversal.'),
('Methemoglobinemia','Methylene blue when appropriate','Avoid/seek specialist advice in G6PD deficiency.'),
('Cyanide','Hydroxocobalamin','Forms cyanocobalamin.')])
h(doc,'5. Membrane Transporters and Drug Response',1)
callout(doc,'Master distinction:','Passive diffusion moves down an electrochemical gradient without energy. Primary active transport directly uses ATP. Secondary active transport uses an ion gradient created by ATP-dependent pumps.')
add_table(doc,['Mechanism','Energy / direction','High-yield clue'],[
('Simple passive diffusion','No energy; down concentration gradient.','Lipid-soluble, uncharged fraction crosses most readily.'),
('Facilitated diffusion','Carrier-mediated; no direct energy; down gradient.','Saturable and selective.'),
('Primary active transport','Direct ATP hydrolysis; against gradient.','ABC transporters; Na+/K+-ATPase.'),
('Secondary active transport','Uses existing ion gradient; may be against solute gradient.','Symport = same direction; antiport = opposite directions.'),
('Endocytosis','Vesicular uptake.','For very large molecules/macromolecules.')])
h(doc,'Transporter superfamilies',2)
add_table(doc,['Family / example','Direction/function','Exam association'],[
('ABC transporters','ATP-binding cassette; generally efflux from cytoplasm in mammalian drug disposition.','Primary active transport; ATP-dependent.'),
('P-glycoprotein, P-gp / ABCB1 / MDR1','Efflux pump at intestine, liver, kidney, BBB and placenta.','Decreases oral absorption, brain penetration and intracellular drug level; multidrug resistance.'),
('BCRP / ABCG2','Efflux transporter.','Limits absorption and distribution; interaction target.'),
('MRPs / ABCC','Efflux, often conjugated metabolites.','Contribute to drug/metabolite disposition.'),
('SLC transporters','Solute carrier family, including uptake and exchange transporters.','Often facilitated or secondary active transport, not direct ATP pumps.'),
('OAT / OCT','Organic anion/cation transporters, notably renal proximal tubule.','Important in renal secretion and drug interactions.'),
('OATP','Organic anion-transporting polypeptides, often hepatic uptake.','Inhibition can raise plasma concentration of substrate.'),
('PEPT1','Intestinal peptide transporter.','Affects uptake of peptide-like drugs, e.g., some beta-lactams.')])
h(doc,'Transporter MCQ logic',2)
add_table(doc,['Change','Likely result','Reason'],[
('Inhibit intestinal P-gp','↑ oral bioavailability of P-gp substrate','Less efflux back into gut lumen.'),
('Induce intestinal P-gp','↓ oral bioavailability','More luminal efflux.'),
('Inhibit BBB P-gp','↑ CNS drug exposure','Less efflux from brain endothelium.'),
('Inhibit renal uptake/secretion transporter','Often ↓ renal secretion and ↑ plasma drug level','Drug stays in circulation.'),
('Inhibit hepatic uptake transporter','↓ hepatic entry, often ↑ plasma concentration','Less access to hepatic metabolism/biliary elimination.'),
('Transporter loss-of-function variant','Effect depends on site and direction.','Never assume all variants increase exposure: uptake vs efflux location matters.')])
callout(doc,'Most-tested wording:','ABC = ATP-binding cassette = usually efflux = primary active. SLC = solute carrier = often uptake/exchange/facilitated or secondary active. “P-gp at BBB” means reduced CNS access of its substrate.')
h(doc,'Rapid-Fire Final Revision',1)
for x in [
'LD uses Vd; maintenance dose rate uses CL.',
'Half-life rises with ↑Vd or ↓CL; steady state takes ~4-5 half-lives.',
'First-order = constant fraction; zero-order = constant amount.',
'Potency = EC50; efficacy = Emax.',
'Competitive antagonist: rightward parallel shift, same Emax.',
'Partial agonist can antagonize a full agonist.',
'Phase I: safety/PK; Phase II: patient efficacy/dose; Phase III: confirmatory; Phase IV: postmarketing.',
'On-target toxicity is predictable target exaggeration; off-target toxicity involves another target.',
'Opioid triad: coma, respiratory depression, miosis.',
'ABC/P-gp directly use ATP and generally efflux; SLC transporters do not directly use ATP.'
]: bullet(doc,x)
h(doc,'Source note',1)
p=doc.add_paragraph('Prepared as an original exam-review aid aligned with the topics in Goodman & Gilman’s The Pharmacological Basis of Therapeutics, 14th ed. (Brunton and Knollmann, 2022), especially General Principles chapters on drug invention, pharmacokinetics, pharmacodynamics, toxicity/poisoning, and membrane transporters. This is a study aid, not a substitute for local protocols or poison-center consultation in clinical poisoning.')
p.paragraph_format.space_after=Pt(5)
# Page footer
for section in doc.sections:
footer=section.footer.paragraphs[0]; footer.alignment=WD_ALIGN_PARAGRAPH.CENTER
footer.add_run('General Pharmacology MCQ Cheat Sheets | Goodman & Gilman-aligned').font.size=Pt(8)
doc.save(OUT)
print(OUT)