Diuretics pharmacology pdf
mkdir -p /home/daytona/workspace/diuretics-pdf && ls /home/daytona/workspace/diuretics-pdf/
~/diuretics-pdf/generate_diuretics_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/diuretics-pdf/Diuretics_Pharmacology.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=2*cm, leftMargin=2*cm,
topMargin=2.5*cm, bottomMargin=2.5*cm,
title="Diuretics Pharmacology",
author="Goodman & Gilman's - The Pharmacological Basis of Therapeutics"
)
styles = getSampleStyleSheet()
# Custom styles
title_style = ParagraphStyle(
'CustomTitle', parent=styles['Title'],
fontSize=26, textColor=colors.HexColor('#1a3a6b'),
spaceAfter=8, spaceBefore=0, alignment=TA_CENTER,
fontName='Helvetica-Bold'
)
subtitle_style = ParagraphStyle(
'Subtitle', parent=styles['Normal'],
fontSize=13, textColor=colors.HexColor('#4a6fa5'),
spaceAfter=4, alignment=TA_CENTER, fontName='Helvetica-Oblique'
)
source_style = ParagraphStyle(
'Source', parent=styles['Normal'],
fontSize=10, textColor=colors.HexColor('#888888'),
spaceAfter=20, alignment=TA_CENTER, fontName='Helvetica'
)
h1_style = ParagraphStyle(
'H1', parent=styles['Heading1'],
fontSize=16, textColor=colors.HexColor('#1a3a6b'),
spaceBefore=18, spaceAfter=8, fontName='Helvetica-Bold',
borderPad=4,
)
h2_style = ParagraphStyle(
'H2', parent=styles['Heading2'],
fontSize=13, textColor=colors.HexColor('#2e5da0'),
spaceBefore=14, spaceAfter=6, fontName='Helvetica-Bold'
)
h3_style = ParagraphStyle(
'H3', parent=styles['Heading3'],
fontSize=11, textColor=colors.HexColor('#3b7abf'),
spaceBefore=10, spaceAfter=4, fontName='Helvetica-BoldOblique'
)
body_style = ParagraphStyle(
'Body', parent=styles['Normal'],
fontSize=10, leading=15, spaceAfter=8,
alignment=TA_JUSTIFY, fontName='Helvetica'
)
highlight_style = ParagraphStyle(
'Highlight', parent=styles['Normal'],
fontSize=10, leading=15, spaceAfter=8,
alignment=TA_JUSTIFY, fontName='Helvetica',
backColor=colors.HexColor('#f0f4ff'),
borderPad=6, leftIndent=8, rightIndent=8
)
bullet_style = ParagraphStyle(
'Bullet', parent=styles['Normal'],
fontSize=10, leading=14, spaceAfter=4,
leftIndent=18, bulletIndent=8,
fontName='Helvetica'
)
def H1(text): return Paragraph(text, h1_style)
def H2(text): return Paragraph(text, h2_style)
def H3(text): return Paragraph(text, h3_style)
def P(text): return Paragraph(text, body_style)
def PH(text): return Paragraph(text, highlight_style)
def B(text): return Paragraph(f"• {text}", bullet_style)
def SP(n=6): return Spacer(1, n)
def HR(): return HRFlowable(width="100%", thickness=1, color=colors.HexColor('#ccd6e8'), spaceAfter=6, spaceBefore=6)
# ─── TABLE HELPERS ───────────────────────────────────────────────────────────
HEADER_BG = colors.HexColor('#1a3a6b')
ROW_BG1 = colors.HexColor('#eef2fa')
ROW_BG2 = colors.white
TXT_WHITE = colors.white
TXT_DARK = colors.HexColor('#1a1a2e')
def make_table(header_row, data_rows, col_widths=None):
table_data = [header_row] + data_rows
t = Table(table_data, colWidths=col_widths, repeatRows=1)
row_colors = []
for i in range(1, len(table_data)):
bg = ROW_BG1 if i % 2 == 1 else ROW_BG2
row_colors.append(('BACKGROUND', (0, i), (-1, i), bg))
style = TableStyle([
('BACKGROUND', (0, 0), (-1, 0), HEADER_BG),
('TEXTCOLOR', (0, 0), (-1, 0), TXT_WHITE),
('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
('FONTSIZE', (0, 0), (-1, 0), 10),
('FONTNAME', (0, 1), (-1, -1), 'Helvetica'),
('FONTSIZE', (0, 1), (-1, -1), 9),
('ALIGN', (0, 0), (-1, -1), 'LEFT'),
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('ROWBACKGROUND', (0, 1), (-1, -1), [ROW_BG1, ROW_BG2]),
('GRID', (0, 0), (-1, -1), 0.5, colors.HexColor('#aabbdd')),
('TOPPADDING', (0, 0), (-1, -1), 5),
('BOTTOMPADDING', (0, 0), (-1, -1), 5),
('LEFTPADDING', (0, 0), (-1, -1), 7),
('RIGHTPADDING', (0, 0), (-1, -1), 7),
] + row_colors)
t.setStyle(style)
return t
# ─── CONTENT ─────────────────────────────────────────────────────────────────
story = []
# ── COVER ──
story += [
SP(40),
Paragraph("DIURETICS", title_style),
Paragraph("Pharmacology, Mechanisms & Clinical Applications", subtitle_style),
SP(10),
HR(),
SP(10),
Paragraph("Source: Goodman & Gilman's — The Pharmacological Basis of Therapeutics, 14th Ed.", source_style),
Paragraph("Chapter 29: Diuretics and Vasopressin System", source_style),
SP(60),
PageBreak()
]
# ── 1. INTRODUCTION ──
story += [
H1("1. Introduction to Diuretics"),
P("The kidney filters the extracellular fluid volume across the renal glomeruli an average of 12 times a day. Renal nephrons precisely regulate fluid volume and electrolyte content via secretion and reabsorption. Disease states such as hypertension, heart failure, renal failure, nephrotic syndrome, and cirrhosis may disrupt this balance."),
P("Diuretics increase the rate of urine flow and Na\u207a excretion and are used to adjust the volume or composition of body fluids in these disorders. Together, the two kidneys produce about 120 mL of ultrafiltrate/min, yet only 1 mL of urine/min — more than 99% of the glomerular ultrafiltrate is reabsorbed."),
SP(),
PH("Key Principle: Diuretics act at specific nephron segments to inhibit solute reabsorption, increasing urinary Na\u207a and water excretion. Their efficacy and adverse effect profiles depend entirely on their site and mechanism of action."),
SP(12),
]
# ── 2. RENAL PHYSIOLOGY ──
story += [
H1("2. Renal Anatomy & Physiology — Basis of Diuretic Action"),
H2("Nephron Segments"),
P("The nephron has five major functional segments, each with distinct transport proteins targeted by different diuretic classes:"),
SP(4),
]
nephron_table = make_table(
["Nephron Segment", "% Na\u207a Reabsorbed", "Key Transporters", "Diuretic Class Acting Here"],
[
["Proximal Convoluted Tubule", "~65%", "Na\u207a/H\u207a exchanger (NHE3), Na\u207a-glucose, Na\u207a-amino acid cotransporters", "Carbonic Anhydrase Inhibitors, SGLT2 Inhibitors"],
["Thick Ascending Limb (TAL)", "~25%", "Na\u207a-K\u207a-2Cl\u207b cotransporter (NKCC2)", "Loop Diuretics"],
["Distal Convoluted Tubule (DCT)", "~5–8%", "Na\u207a-Cl\u207b cotransporter (NCC)", "Thiazide Diuretics"],
["Collecting Duct", "~2–5%", "ENaC, Aldosterone receptor", "K\u207a-Sparing Diuretics"],
["Medullary Collecting Duct", "~1–2%", "Aquaporin-2 (vasopressin-regulated)", "Vaptans (Vasopressin Antagonists)"],
],
col_widths=[4.5*cm, 2.8*cm, 6.5*cm, 4.5*cm]
)
story += [nephron_table, SP(12)]
story += [
H2("Proximal Tubule"),
P("The proximal tubule (PT) reabsorbs approximately 65% of filtered Na\u207a, most filtered bicarbonate, glucose, amino acids, and a large fraction of K\u207a, Cl\u207b, and water. The PT has low osmotic permeability to urea. Na\u207a entry into tubular cells occurs via specific transport proteins in the apical membrane. NHE3, the sodium-hydrogen exchanger, facilitates H\u207a secretion coupled to Na\u207a reabsorption. Carbonic anhydrase (CA) catalyses both intracellularly and on the brush border, enabling bicarbonate reabsorption."),
H2("Thick Ascending Limb of Henle (TAL)"),
P("The TAL reabsorbs ~25% of filtered Na\u207a but is impermeable to water, creating a dilute tubular fluid. The Na\u207a-K\u207a-2Cl\u207b cotransporter (NKCC2) drives Na\u207a, K\u207a, and Cl\u207b uptake. This segment is the most powerful site for diuretic action. Luminal K\u207a recycling through ROMK channels creates a lumen-positive potential that drives paracellular reabsorption of Ca\u00b2\u207a and Mg\u00b2\u207a."),
H2("Distal Convoluted Tubule (DCT)"),
P("The DCT reabsorbs 5–8% of filtered Na\u207a via the electroneutral Na\u207a-Cl\u207b cotransporter (NCC, SLC12A3). This segment is also impermeable to water and participates in Ca\u00b2\u207a reabsorption under PTH stimulation. NCC is the target of thiazide diuretics."),
H2("Collecting Duct"),
P("The cortical collecting duct (CCD) and outer medullary collecting duct (OMCD) express the epithelial Na\u207a channel (ENaC) in principal cells. Na\u207a entry via ENaC is regulated by aldosterone. Intercalated cells secrete H\u207a via H\u207a-ATPase. The inner medullary collecting duct (IMCD) reabsorbs urea and can reabsorb Na\u207a; vasopressin (ADH) increases water permeability via aquaporin-2 insertion."),
SP(12),
]
# ── 3. CLASSIFICATION ──
story += [
H1("3. Classification of Diuretics"),
SP(4),
]
class_table = make_table(
["Class", "Prototype Drug(s)", "Site of Action", "Mechanism"],
[
["Carbonic Anhydrase Inhibitors", "Acetazolamide", "Proximal Tubule", "Inhibit CA \u2192 \u2193 NaHCO\u2083 reabsorption"],
["Osmotic Diuretics", "Mannitol", "PT, Loop, Collecting Duct", "Osmotic force retains water in tubule"],
["Loop Diuretics", "Furosemide, Bumetanide, Torsemide, Ethacrynic acid", "Thick Ascending Limb", "Block NKCC2 cotransporter"],
["Thiazide Diuretics", "Hydrochlorothiazide, Chlorthalidone, Indapamide, Metolazone", "Distal Convoluted Tubule", "Block NCC cotransporter"],
["K\u207a-Sparing: ENaC Blockers", "Amiloride, Triamterene", "Collecting Duct", "Block epithelial Na\u207a channel (ENaC)"],
["K\u207a-Sparing: Aldosterone Antagonists", "Spironolactone, Eplerenone", "Collecting Duct", "Block mineralocorticoid receptor"],
["Vasopressin Antagonists (Vaptans)", "Tolvaptan, Conivaptan", "Collecting Duct", "Block V2 receptor \u2192 aquaresis"],
["Adenosine Receptor Antagonists", "Theophylline, Pamabrom", "Proximal Tubule", "Block A\u2081 receptor \u2192 \u2193 Na\u207a reabsorption"],
["SGLT2 Inhibitors", "Empagliflozin, Dapagliflozin", "Proximal Tubule", "Block Na\u207a-glucose cotransporter SGLT2"],
],
col_widths=[4.2*cm, 5.0*cm, 3.8*cm, 5.3*cm]
)
story += [class_table, SP(12)]
# ── 4. CARBONIC ANHYDRASE INHIBITORS ──
story += [
H1("4. Carbonic Anhydrase Inhibitors"),
H2("Mechanism of Action"),
P("Carbonic anhydrase (CA) catalyses the reaction: CO\u2082 + H\u2082O \u21cc H\u2082CO\u2083 \u21cc H\u207a + HCO\u2083\u207b. In the proximal tubule, CA inhibition reduces H\u207a secretion by NHE3, thereby decreasing HCO\u2083\u207b reabsorption. The resulting loss of NaHCO\u2083 in urine causes an alkaline diuresis. CA inhibitors reduce Na\u207a reabsorption in the PT but compensatory reabsorption in downstream segments limits total natriuresis."),
H2("Pharmacokinetics"),
P("Acetazolamide is well absorbed orally. It is highly protein-bound, excreted unchanged in urine. Onset: 1–2 h (oral), 2 min (IV). Duration: 8–12 h (oral), 4–5 h (IV)."),
H2("Clinical Uses"),
B("Glaucoma: reduces aqueous humor formation (primary indication)"),
B("Altitude sickness: reduces CSF production, treats acute mountain sickness"),
B("Epilepsy: adjunct therapy (mechanism partly related to metabolic acidosis)"),
B("Metabolic alkalosis: to correct in patients with respiratory problems"),
B("Urinary alkalinization: to increase excretion of acidic drugs (e.g., uric acid)"),
H2("Adverse Effects"),
B("Metabolic acidosis (hyperchloremic) — limits long-term use"),
B("Hypokalemia — increased distal Na\u207a delivery stimulates K\u207a loss"),
B("Renal calculi — alkaline urine promotes calcium phosphate stones"),
B("Paresthesias, drowsiness, sulfonamide hypersensitivity reactions"),
SP(12),
]
# ── 5. OSMOTIC DIURETICS ──
story += [
H1("5. Osmotic Diuretics"),
H2("Mechanism of Action"),
P("Osmotic diuretics are freely filtered at the glomerulus but not reabsorbed by the tubules. They increase the osmolality of tubular fluid, retaining water within the lumen. The primary site of action is the proximal tubule and descending loop of Henle. Water reabsorption is reduced because the osmotic force of the non-reabsorbed solute opposes it."),
P("Mannitol also expands plasma volume, diluting blood viscosity and increasing GFR. It reduces blood viscosity, increases renal blood flow, and shifts fluid from the intracellular to extracellular space — useful in cerebral edema."),
H2("Key Drugs"),
B("Mannitol (20%) — IV only, for cerebral edema, acute glaucoma, oliguric renal failure"),
B("Isosorbide — oral, used in ophthalmology"),
B("Glycerol — oral, used to reduce IOP before eye surgery"),
H2("Clinical Uses"),
B("Reduction of raised intracranial pressure (cerebral edema, head trauma)"),
B("Reduction of intraocular pressure before/after ophthalmic surgery"),
B("Prophylaxis of acute tubular necrosis during cardiovascular surgery"),
B("Promotion of excretion of toxins (e.g., salicylate, bromide poisoning)"),
H2("Adverse Effects"),
B("Initial volume expansion can worsen heart failure — contraindicated in CHF/pulmonary edema"),
B("Hypernatremia and dehydration if water losses exceed solute losses"),
B("Rebound intracranial hypertension possible with prolonged use"),
SP(12),
]
# ── 6. LOOP DIURETICS ──
story += [
H1("6. Loop Diuretics"),
PH("Loop diuretics are the most potent diuretics available. They can increase fractional Na\u207a excretion from <1% to as high as 25% of the filtered load — a 'ceiling' effect that is dose-dependent."),
SP(6),
H2("Mechanism of Action"),
P("Loop diuretics inhibit the Na\u207a-K\u207a-2Cl\u207b cotransporter (NKCC2) in the luminal membrane of the thick ascending limb (TAL) of the loop of Henle. This transporter is responsible for reabsorption of ~25% of filtered Na\u207a. Because the TAL is also the site that generates the corticomedullary osmotic gradient, loop diuretics disrupt this gradient, impairing urinary concentrating ability and increasing free water clearance."),
P("The reduced lumen-positive transepithelial voltage following NKCC2 inhibition also decreases paracellular reabsorption of divalent cations (Ca\u00b2\u207a, Mg\u00b2\u207a), leading to hypocalciuria and hypomagnesemia with chronic use."),
P("Loop diuretics increase renal prostaglandin synthesis and renal blood flow. They also cause venodilation within minutes of IV administration — a direct hemodynamic effect independent of diuresis — reducing preload in acute pulmonary edema."),
H2("Pharmacokinetics"),
SP(4),
]
loop_pk = make_table(
["Drug", "Bioavailability", "Onset (IV/PO)", "Duration", "Protein Binding", "Elimination"],
[
["Furosemide", "60–70% (variable)", "5 min / 30–60 min", "2–6 h", "91–99%", "60% renal, 40% hepatic glucuronidation"],
["Bumetanide", "~80%", "2–3 min / 30–60 min", "2–4 h", ">95%", "50% unchanged renal"],
["Torsemide", "80–90%", "10 min / 60 min", "6–8 h", ">95%", "80% hepatic CYP2C9"],
["Ethacrynic acid", "Variable (oral)", "30 min (IV)", "6–8 h", "High", "Renal (conjugates)"],
],
col_widths=[3.0*cm, 2.8*cm, 3.0*cm, 2.5*cm, 3.0*cm, 4.0*cm]
)
story += [loop_pk, SP(10)]
story += [
H2("Clinical Uses"),
B("Acute pulmonary edema (IV furosemide — immediate venodilation + diuresis)"),
B("Chronic heart failure — mainstay of decongestion therapy"),
B("Hypertension — when thiazides are insufficient (e.g., GFR <30 mL/min)"),
B("Nephrotic syndrome and cirrhotic ascites (often combined with spironolactone)"),
B("Hypercalcemia — promotes calciuresis (combined with saline infusion)"),
B("Hyperkalemia — promotes kaliuresis"),
B("Anion overdose (bromide, fluoride, iodide)"),
H2("Adverse Effects"),
B("Hypokalemia and hypomagnesemia — most common; worsened by concurrent digoxin use"),
B("Metabolic alkalosis — H\u207a and Cl\u207b loss; volume contraction maintains alkalosis"),
B("Hypovolemia and hypotension — excessive diuresis"),
B("Ototoxicity — dose-dependent, especially with rapid IV infusion; additive with aminoglycosides"),
B("Hyperuricemia — loop diuretics compete with urate for tubular secretion"),
B("Hyperglycemia (less than thiazides)"),
B("Allergic reactions — furosemide/bumetanide are sulfonamide derivatives (not ethacrynic acid)"),
H2("Resistance to Loop Diuretics"),
P("Braking phenomenon: chronic use reduces diuretic response due to compensatory increase in Na\u207a reabsorption in downstream segments. Strategies include: (1) dietary Na\u207a restriction, (2) combination with thiazides or spironolactone (sequential nephron blockade), (3) IV continuous infusion vs. bolus."),
SP(12),
]
# ── 7. THIAZIDE DIURETICS ──
story += [
H1("7. Thiazide and Thiazide-Like Diuretics"),
H2("Mechanism of Action"),
P("Thiazides inhibit the electroneutral Na\u207a-Cl\u207b cotransporter (NCC, SLC12A3) in the apical membrane of the distal convoluted tubule (DCT). They block about 5–8% of filtered Na\u207a reabsorption. Unlike loop diuretics, they do not impair urinary concentrating ability."),
P("A paradoxical reduction in urine volume occurs in nephrogenic diabetes insipidus: by causing mild Na\u207a depletion, thiazides activate proximal reabsorption and reduce delivery to the collecting duct, decreasing polyuria despite lack of ADH effect."),
P("Thiazides enhance Ca\u00b2\u207a reabsorption in the DCT (by hyperpolarizing the basolateral membrane), useful in hypercalciuric nephrolithiasis."),
H2("Pharmacokinetics"),
SP(4),
]
thiaz_pk = make_table(
["Drug", "Type", "Bioavailability", "Duration", "Relative Potency", "Notes"],
[
["Hydrochlorothiazide (HCTZ)", "Thiazide", "65–75%", "6–12 h", "1x (reference)", "Most widely studied"],
["Chlorthalidone", "Thiazide-like", "~65%", "24–72 h", "1.5–2x", "Preferred for CV risk reduction"],
["Indapamide", "Thiazide-like", "~93%", "24 h", "Variable", "Vasodilatory; sulfonamide derivative"],
["Metolazone", "Thiazide-like", "~65%", "12–24 h", "High at low GFR", "Effective even when GFR <30 mL/min"],
["Bendroflumethiazide", "Thiazide", "~100%", "6–12 h", "10x", "Used in UK"],
["Chlorothiazide", "Thiazide", "~30–50%", "6–12 h", "0.1x", "IV preparation available"],
],
col_widths=[4.0*cm, 2.8*cm, 2.8*cm, 2.5*cm, 3.0*cm, 4.2*cm]
)
story += [thiaz_pk, SP(10)]
story += [
H2("Clinical Uses"),
B("Hypertension — first-line agents; reduce cardiovascular mortality (JNC guidelines)"),
B("Heart failure — mild-to-moderate fluid retention; often combined with loop diuretics"),
B("Nephrogenic diabetes insipidus — paradoxical reduction in urine volume"),
B("Hypercalciuric nephrolithiasis (calcium oxalate stones) — reduces urinary Ca\u00b2\u207a"),
B("Osteoporosis prevention — increased Ca\u00b2\u207a reabsorption reduces bone loss"),
H2("Adverse Effects"),
B("Hypokalemia — more pronounced with high doses; can precipitate hepatic encephalopathy"),
B("Hyponatremia — idiosyncratic in elderly women; can be severe and life-threatening"),
B("Metabolic alkalosis"),
B("Hyperglycemia — impair insulin secretion; worsen glucose tolerance"),
B("Hyperlipidemia — transient increase in LDL and triglycerides"),
B("Hyperuricemia — precipitate or worsen gout"),
B("Hypercalcemia — excessive Ca\u00b2\u207a reabsorption"),
B("Sexual dysfunction — reported mainly with HCTZ at higher doses"),
B("Sulfonamide allergy cross-reactivity"),
SP(12),
]
# ── 8. K-SPARING DIURETICS ──
story += [
H1("8. Potassium-Sparing Diuretics"),
P("K\u207a-sparing diuretics act in the collecting duct to reduce K\u207a loss. They are relatively weak diuretics when used alone but are often combined with loop or thiazide diuretics to limit hypokalemia. They carry a risk of hyperkalemia."),
H2("8a. Aldosterone Antagonists"),
H3("Spironolactone"),
P("Spironolactone is a synthetic steroid that competitively antagonizes aldosterone at the mineralocorticoid receptor (MR). Blocking MR prevents transcription of aldosterone-stimulated proteins (GILZ, SGK1) that increase ENaC expression and activity. The result is reduced Na\u207a reabsorption and decreased K\u207a secretion."),
P("Spironolactone has anti-androgenic properties (binds androgen receptors), causing gynaecomastia, menstrual irregularities, and sexual dysfunction — limiting its use in young men. It also inhibits testosterone biosynthesis."),
H3("Eplerenone"),
P("Eplerenone is a more selective MR antagonist with minimal binding to androgen or progesterone receptors. It lacks anti-androgenic side effects but is less potent than spironolactone. Used mainly in heart failure post-MI and resistant hypertension."),
H3("Finerenone"),
P("Finerenone is a novel non-steroidal MR antagonist with greater selectivity and tissue distribution differences vs. spironolactone/eplerenone. It has shown benefit in chronic kidney disease with type 2 diabetes (FIDELIO-DKD, FIGARO-DKD trials)."),
SP(6),
H2("8b. ENaC Blockers — Amiloride and Triamterene"),
P("Amiloride and triamterene directly block the epithelial sodium channel (ENaC) in the apical membrane of the collecting duct principal cells, independent of aldosterone. Because they block Na\u207a entry without affecting the basolateral Na\u207a-K\u207a-ATPase, the lumen becomes less electronegative, reducing K\u207a secretion via ROMK channels."),
P("Amiloride is also used to treat Liddle syndrome (gain-of-function ENaC mutation causing hypertension)."),
SP(4),
]
ksparing_table = make_table(
["Drug", "Mechanism", "Onset", "Duration", "Special Features"],
[
["Spironolactone", "MR antagonist (competitive, aldosterone-dependent)", "2–4 days", "48–72 h after stopping", "Anti-androgenic; active metabolite canrenone; used in heart failure (RALES trial)"],
["Eplerenone", "Selective MR antagonist", "1–2 days", "~24 h", "No anti-androgenic effects; used post-MI heart failure (EPHESUS trial)"],
["Finerenone", "Non-steroidal MR antagonist", "Hours", "~24 h", "CKD + T2DM indication; FIDELIO/FIGARO trials"],
["Amiloride", "ENaC blocker (aldosterone-independent)", "2–4 h", "24 h", "Also treats Liddle syndrome and cystic fibrosis (aerosol)"],
["Triamterene", "ENaC blocker (aldosterone-independent)", "2–4 h", "12–16 h", "Less renal excretion; triamterene stones possible (rare)"],
],
col_widths=[3.2*cm, 4.5*cm, 2.0*cm, 2.5*cm, 6.1*cm]
)
story += [ksparing_table, SP(10)]
story += [
H2("Adverse Effects — K\u207a-Sparing Diuretics"),
B("Hyperkalemia — most important; dangerous in renal failure, elderly, or combined with ACE inhibitors/ARBs/NSAIDs"),
B("Metabolic acidosis — reduced H\u207a secretion in collecting duct"),
B("Gynaecomastia, impotence, menstrual irregularities (spironolactone only)"),
B("Triamterene — can crystallize in urine; mild renal impairment may cause toxicity"),
SP(12),
]
# ── 9. VASOPRESSIN ANTAGONISTS ──
story += [
H1("9. Vasopressin Antagonists (Vaptans)"),
H2("Mechanism of Action"),
P("Vaptans block V\u2082 receptors in the collecting duct principal cells. Normally, ADH (vasopressin) binds V\u2082 receptors \u2192 cAMP \u2192 PKA activation \u2192 aquaporin-2 (AQP2) insertion into the apical membrane, increasing water permeability. Blocking V\u2082 prevents AQP2 trafficking, producing aquaresis (electrolyte-free water excretion) without affecting Na\u207a excretion."),
H2("Key Drugs"),
B("Tolvaptan (oral): selective V\u2082 antagonist; used for hyponatremia in SIADH, heart failure, cirrhosis; also approved for autosomal dominant polycystic kidney disease (ADPKD)"),
B("Conivaptan (IV): V\u2081a/V\u2082 antagonist; approved for euvolemic/hypervolemic hyponatremia in hospital settings"),
B("Satavaptan, lixivaptan: in development"),
H2("Clinical Uses"),
B("Euvolemic hyponatremia (SIADH) — increase free water excretion"),
B("Hypervolemic hyponatremia (heart failure, cirrhosis) — correct dilutional hyponatremia"),
B("ADPKD (tolvaptan) — slows progression of polycystic kidney disease"),
H2("Adverse Effects"),
B("Overly rapid correction of hyponatremia \u2192 osmotic demyelination syndrome (ODS) — most serious risk"),
B("Thirst, dry mouth, polyuria"),
B("Hypernatremia with excessive use"),
B("Hepatotoxicity (tolvaptan) — black box warning; limit use to 30 days for non-ADPKD indications"),
SP(12),
]
# ── 10. SGLT2 INHIBITORS ──
story += [
H1("10. SGLT2 Inhibitors as Diuretics"),
H2("Mechanism of Action"),
P("Sodium-glucose linked transporter 2 (SGLT2) is expressed in the S1 segment of the proximal tubule and reabsorbs ~90% of filtered glucose cotransported with Na\u207a. SGLT2 inhibitors (gliflozins) block this transporter, causing glucosuria and osmotic diuresis. The natriuretic effect is modest but sustained and, unlike loop diuretics, does not activate the renin-angiotensin-aldosterone system."),
P("Beyond glycosuria, SGLT2 inhibitors reduce plasma volume, decrease tubuloglomerular feedback (TGF) by increasing distal Na\u207a delivery, and have anti-inflammatory and metabolic benefits. They also increase hematocrit and erythropoietin."),
H2("Key Drugs and Indications"),
B("Empagliflozin — EMPA-REG OUTCOME trial: reduced CV death and HHF in T2DM; HFrEF (EMPEROR-Reduced)"),
B("Dapagliflozin — DAPA-HF trial: reduced HF hospitalizations in HFrEF; DAPA-CKD: reduced CKD progression"),
B("Canagliflozin — CANVAS trial; CREDENCE trial (CKD benefit)"),
B("Sotagliflozin — SGLT1 + SGLT2 dual inhibitor; heart failure benefit"),
H2("Adverse Effects"),
B("Urinary tract infections and genital mycotic infections — most common"),
B("Euglycemic diabetic ketoacidosis (DKA) — particularly with fasting, surgery, or T1DM"),
B("Volume depletion and hypotension"),
B("Fournier's gangrene — rare but serious"),
B("Amputations (canagliflozin) — mechanism unclear, possibly vascular"),
B("Bone fractures (canagliflozin)"),
SP(12),
]
# ── 11. HEMODYNAMIC EFFECTS TABLE ──
story += [
H1("11. Excretory & Hemodynamic Effects of Major Diuretics"),
P("The table below summarizes comparative effects on urinary excretion and renal hemodynamics (source: Goodman & Gilman's Table 29-1):"),
SP(4),
]
hemo_table = make_table(
["Diuretic Class", "\u2191Na\u207a Excretion", "\u2191K\u207a Excretion", "\u2191HCO\u2083\u207b", "\u2191Uric Acid", "\u2191Ca\u00b2\u207a Excretion", "GFR Effect", "RBF Effect"],
[
["CA Inhibitors", "++", "++", "+++ (loss)", "\u2193", "No change", "Slight \u2193", "\u2193"],
["Osmotic", "++", "+", "No change", "No change", "+", "\u2191", "\u2191"],
["Loop Diuretics", "++++", "+++", "+", "\u2191\u2191", "+++", "\u2191 (acute)", "\u2191"],
["Thiazides", "++", "++", "+", "\u2191\u2191", "\u2193 (decrease)", "Slight \u2193 to NC", "NC"],
["K\u207a-Sparing (ENaC)", "+", "\u2193 (decrease)", "\u2191 (mild)", "NC", "NC", "NC", "NC"],
["K\u207a-Sparing (Aldo. Ant.)", "+", "\u2193", "\u2191 (mild)", "NC", "NC", "NC", "NC"],
["Vaptans", "No effect", "No effect", "NC", "NC", "NC", "NC", "NC"],
["SGLT2 Inhibitors", "+", "NC", "NC (slight \u2193)", "\u2193 (uricosuric)", "NC", "Slow \u2193 CKD progress.", "NC"],
],
col_widths=[3.5*cm, 2.0*cm, 2.0*cm, 1.8*cm, 2.0*cm, 2.5*cm, 2.5*cm, 2.0*cm]
)
story += [hemo_table, SP(12)]
# ── 12. CLINICAL APPLICATIONS ──
story += [
H1("12. Clinical Applications & Combination Strategies"),
H2("Heart Failure"),
P("Loop diuretics are the cornerstone of decongestion in symptomatic heart failure. IV furosemide provides rapid symptom relief in acute decompensated HF via early venodilation (within minutes) and subsequent diuresis. Oral loop diuretics (furosemide, torsemide, bumetanide) maintain euvolemia in chronic HF. Torsemide has superior and more predictable bioavailability vs. furosemide."),
P("Aldosterone antagonists (spironolactone — RALES trial, eplerenone — EPHESUS/EMPHASIS-HF trials) reduce mortality in HFrEF by blocking the adverse cardiac remodeling effects of aldosterone, independent of diuresis."),
H2("Hypertension"),
P("Thiazide diuretics (particularly chlorthalidone) are first-line antihypertensive agents. They reduce cardiovascular events and mortality. The ALLHAT trial showed chlorthalidone to be non-inferior (or superior) to ACE inhibitors and CCBs for CV outcomes. Combination with ACE inhibitors or ARBs is synergistic and minimizes hypokalemia."),
P("SGLT2 inhibitors reduce blood pressure by 2–5 mmHg via osmotic diuresis and volume reduction, without activating the RAAS."),
H2("Edematous States — Combination Diuretic Therapy"),
P("Sequential nephron blockade: combining a loop diuretic (TAL) with a thiazide (DCT) produces a synergistic response by blocking compensatory Na\u207a reabsorption in the DCT that occurs during loop diuretic therapy. This strategy ('metolazone + furosemide') is used for diuretic-resistant states."),
P("The addition of a K\u207a-sparing diuretic (spironolactone or amiloride) to a loop or thiazide diuretic maintains K\u207a and corrects metabolic alkalosis."),
H2("Nephrotic Syndrome"),
P("Loop diuretics are the primary agents. Hypoalbuminemia reduces protein binding of furosemide, impairing tubular secretion and diuretic effect. Higher doses are needed. Combination with aldosterone antagonists addresses secondary hyperaldosteronism."),
H2("Cirrhotic Ascites"),
P("Spironolactone (first-line) plus furosemide combination at a 100:40 mg ratio maintains K\u207a balance while achieving Na\u207a excretion. RAAS activation is prominent in cirrhosis, making aldosterone antagonism especially effective."),
H2("Cerebral Edema"),
P("Mannitol 0.25–1 g/kg IV over 15–30 min reduces ICP within 15 minutes. Serum osmolality should be monitored (target <320 mOsm/kg). Furosemide can be combined with mannitol for additive effect."),
H2("Hypercalcemia"),
P("Loop diuretics promote calciuresis after adequate volume repletion with saline. They replace the forced saline diuresis approach. Thiazides are absolutely contraindicated in hypercalcemia."),
H2("Hyponatremia (SIADH)"),
P("Vaptans (tolvaptan, conivaptan) are effective for euvolemic/hypervolemic hyponatremia. Correction should be limited to 10–12 mEq/L per 24 hours (maximum) to prevent osmotic demyelination syndrome."),
SP(12),
]
# ── 13. ADVERSE EFFECTS SUMMARY ──
story += [
H1("13. Adverse Effects Summary"),
SP(4),
]
ae_table = make_table(
["Adverse Effect", "Diuretic Class(es)", "Mechanism", "Management"],
[
["Hypokalemia", "Loop > Thiazide > CA Inhibitors", "Increased distal Na\u207a delivery \u2192 \u2191 K\u207a secretion via ROMK", "K\u207a supplementation, add K\u207a-sparing diuretic"],
["Hyperkalemia", "K\u207a-sparing (all types)", "Reduced K\u207a secretion in collecting duct", "Reduce dose, avoid with ACEi/ARB in CKD"],
["Metabolic Alkalosis", "Loop, Thiazide", "H\u207a/Cl\u207b loss + volume contraction maintains alkalosis", "Correct volume, acetazolamide, KCl"],
["Metabolic Acidosis", "CA Inhibitors, K\u207a-sparing", "HCO\u2083\u207b loss or reduced H\u207a secretion", "Reduce dose or discontinue"],
["Hyponatremia", "Thiazide (most common)", "Impaired diluting capacity + increased ADH", "Discontinue, fluid restriction"],
["Hyperuricemia/Gout", "Loop, Thiazide", "Competition for tubular urate secretion", "Allopurinol, reduce diuretic dose"],
["Hyperglycemia", "Thiazide > Loop", "Reduced insulin secretion (thiazide)", "Monitor glucose, adjust antidiabetics"],
["Ototoxicity", "Loop (esp. ethacrynic acid)", "Inner ear endolymph disturbance (NKCC1)", "Avoid rapid IV; avoid with aminoglycosides"],
["Hypomagnesemia", "Loop > Thiazide", "Reduced paracellular Mg\u00b2\u207a reabsorption in TAL", "Mg\u00b2\u207a supplementation"],
["Hypercalcemia", "Thiazides", "Enhanced Ca\u00b2\u207a reabsorption in DCT", "Contraindicated in hypercalcemia"],
["Hypocalciuria", "Thiazides", "Enhanced Ca\u00b2\u207a reabsorption in DCT", "Useful in calcium nephrolithiasis"],
["Gynecomastia", "Spironolactone", "Anti-androgenic receptor binding", "Switch to eplerenone"],
["Hepatotoxicity", "Tolvaptan", "Mechanism unclear (idiosyncratic)", "Limit duration; contraindicated in liver disease"],
],
col_widths=[3.5*cm, 3.5*cm, 5.0*cm, 4.3*cm]
)
story += [ae_table, SP(12)]
# ── 14. DRUG INTERACTIONS ──
story += [
H1("14. Important Drug Interactions"),
SP(4),
]
interaction_table = make_table(
["Diuretic", "Interacting Drug", "Interaction / Risk"],
[
["Loop diuretics", "Aminoglycosides", "Additive ototoxicity and nephrotoxicity"],
["Loop / Thiazide", "Digoxin", "Hypokalemia \u2192 increased digoxin toxicity (arrhythmias)"],
["Loop / Thiazide", "Lithium", "Reduced renal Li\u207a clearance \u2192 lithium toxicity"],
["Loop / Thiazide", "NSAIDs", "Blunted natriuretic response; increased Na\u207a retention; renal impairment"],
["Loop diuretics", "Probenecid", "Probenecid competes for tubular secretion \u2192 reduced diuretic effect"],
["Thiazides", "Anti-diabetics", "Hyperglycemic effect of thiazides reduces anti-diabetic efficacy"],
["K\u207a-sparing", "ACE inhibitors / ARBs", "Additive hyperkalemia — potentially dangerous in CKD/HF"],
["K\u207a-sparing", "Potassium supplements", "Dangerous hyperkalemia"],
["Tolvaptan", "CYP3A4 inhibitors (e.g., ketoconazole, clarithromycin)", "Increased tolvaptan plasma levels \u2192 risk of rapid Na\u207a correction"],
["Furosemide", "Sucralfate / cholestyramine", "Bind furosemide in GI tract \u2192 reduced absorption"],
["Thiazides", "Calcium supplements / Vitamin D", "Hypercalcemia risk"],
["All diuretics", "Corticosteroids", "Additive K\u207a wasting"],
],
col_widths=[3.5*cm, 5.0*cm, 9.8*cm]
)
story += [interaction_table, SP(12)]
# ── 15. SPECIAL POPULATIONS ──
story += [
H1("15. Diuretics in Special Populations"),
H2("Renal Impairment"),
P("Loop diuretics remain effective even at low GFR (furosemide, torsemide). Higher doses are needed because reduced tubular secretion decreases drug delivery to the site of action. Thiazides lose efficacy when GFR <30 mL/min, except metolazone. K\u207a-sparing diuretics are dangerous in renal impairment (hyperkalemia risk)."),
H2("Hepatic Impairment (Cirrhosis)"),
P("Spironolactone is first-line for cirrhotic ascites due to secondary hyperaldosteronism. Loop diuretics are added for refractory ascites. Hyponatremia and hepatic encephalopathy are risks. Avoid excessive diuresis (may precipitate hepatorenal syndrome)."),
H2("Heart Failure"),
P("Thiazides lose efficacy in severe HF due to reduced renal perfusion. Loop diuretics are preferred. Aldosterone antagonists are disease-modifying (reduce mortality). SGLT2 inhibitors are now class I recommendations in HFrEF regardless of diabetes."),
H2("Pregnancy"),
P("Diuretics should generally be avoided in pregnancy unless essential (e.g., pulmonary edema in pre-eclampsia). Thiazides can reduce placental perfusion. Spironolactone is teratogenic (anti-androgenic). Loop diuretics are relatively safer when needed."),
H2("Elderly Patients"),
P("Thiazide-induced hyponatremia is especially common in elderly women. Start with low doses. Excessive diuresis risks falls due to orthostatic hypotension. Renal function declines with age, affecting dosing."),
SP(12),
]
# ── 16. QUICK REFERENCE ──
story += [
H1("16. Quick Reference — Diuretic Selection Guide"),
SP(4),
]
ref_table = make_table(
["Indication", "First Choice", "Second / Add-On", "Avoid / Caution"],
[
["Hypertension", "Chlorthalidone (thiazide-like)", "Amiloride, spironolactone, loop diuretics (if CKD)", "Thiazides in hyponatremia, gout"],
["Acute Pulmonary Edema", "IV Furosemide", "IV bumetanide; add nitroglycerin", "Excessive diuresis causing hypotension"],
["Chronic Heart Failure (HFrEF)", "Loop diuretic + spironolactone/eplerenone", "+ SGLT2 inhibitor (empagliflozin/dapagliflozin)", "K\u207a-sparing in GFR <30 or K\u207a >5 mEq/L"],
["Cirrhotic Ascites", "Spironolactone 100 mg + Furosemide 40 mg", "Up-titrate 100:40 mg ratio", "Excessive diuresis \u2192 hepatorenal syndrome"],
["Nephrotic Syndrome", "Loop diuretics (high dose)", "Add aldosterone antagonist", "Thiazides alone (insufficient)"],
["Cerebral Edema / Raised ICP", "Mannitol 20% IV", "+ Furosemide", "Mannitol in CHF/pulmonary edema"],
["Hypercalcemia", "IV Furosemide (after saline loading)", "", "Thiazides (absolute contraindication)"],
["Hyponatremia (SIADH)", "Tolvaptan (V2 antagonist)", "Fluid restriction", "Rapid correction (ODS risk)"],
["Nephrogenic Diabetes Insipidus", "Thiazide + low Na diet", "+ Amiloride (Li-induced NDI)", "NSAIDs (partial benefit, renal risk)"],
["Calcium Nephrolithiasis", "Thiazide (HCTZ or chlorthalidone)", "+ Potassium citrate", "Loop diuretics (calciuric)"],
["Primary Hyperaldosteronism", "Spironolactone", "Amiloride (if intolerant)", "Loop/thiazide alone (insufficient)"],
["ADPKD", "Tolvaptan", "", "In hepatic impairment (hepatotoxicity)"],
["CKD + T2DM", "SGLT2 inhibitors", "Loop diuretics for edema", "Thiazides if GFR <30"],
["Glaucoma / Altitude Sickness", "Acetazolamide", "", "Contraindicated: sulfa allergy"],
],
col_widths=[4.0*cm, 4.5*cm, 4.5*cm, 5.3*cm]
)
story += [ref_table, SP(12)]
# ── FOOTER / REFERENCES ──
story += [
HR(),
Paragraph("<b>Source:</b> Goodman & Gilman's The Pharmacological Basis of Therapeutics, 14th Edition. Chapter 29: Diuretics and Vasopressin System. Brunton LL, Knollmann BC (Eds.). McGraw-Hill, 2022.", source_style),
Paragraph("Additional references: Brenner & Rector's The Kidney (10th Ed.); Braunwald's Heart Disease (12th Ed.)", source_style),
SP(4),
Paragraph("<i>This document was compiled for educational purposes from authoritative pharmacology textbooks.</i>", source_style),
]
doc.build(story)
print(f"PDF generated: {OUTPUT}")
cd /home/daytona/workspace/diuretics-pdf && python generate_diuretics_pdf.py
ls -lh /home/daytona/workspace/diuretics-pdf/Diuretics_Pharmacology.pdf
Diuretics Pharmacology
PDF Document · PDF
| Section | Content |
|---|---|
| 1. Introduction | Overview of diuretic pharmacology and renal physiology |
| 2. Renal Anatomy & Physiology | Nephron segments, transporters, and sites of action |
| 3. Classification | Full classification table of all 8 diuretic classes |
| 4. Carbonic Anhydrase Inhibitors | Acetazolamide - mechanism, uses, adverse effects |
| 5. Osmotic Diuretics | Mannitol - mechanism, uses, contraindications |
| 6. Loop Diuretics | NKCC2 mechanism, PK comparison table (furosemide/bumetanide/torsemide/ethacrynic acid), resistance |
| 7. Thiazide Diuretics | NCC mechanism, PK table, clinical uses, adverse effects |
| 8. K⁺-Sparing Diuretics | Aldosterone antagonists (spironolactone/eplerenone/finerenone) + ENaC blockers (amiloride/triamterene) |
| 9. Vasopressin Antagonists | Vaptans - aquaresis mechanism, ODS risk |
| 10. SGLT2 Inhibitors | Gliflozins as diuretics - CV and renal trial data |
| 11. Hemodynamic Effects | Comparative excretory effects table |
| 12. Clinical Applications | HF, hypertension, cirrhosis, nephrotic syndrome, cerebral edema, SIADH |
| 13. Adverse Effects Summary | Comprehensive table with mechanisms and management |
| 14. Drug Interactions | Key interactions with clinical relevance |
| 15. Special Populations | Renal/hepatic impairment, pregnancy, elderly |
| 16. Quick Reference | Diuretic selection guide by indication |
Diuretics Pharmacology
PDF Document · PDF