This is about fluid volume deficit and excess . Make PDF note with rationale of each point . Add tables to make it easier
ls -la /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace/fluid-notes
mkdir -p /home/daytona/workspace/fluid-notes && ls /home/daytona/workspace/fluid-notes
~/fluid-notes/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, KeepTogether)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
OUTPUT = "/home/daytona/workspace/fluid-notes/Fluid_Volume_Deficit_and_Excess.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=1.8*cm,
leftMargin=1.8*cm,
topMargin=2*cm,
bottomMargin=2*cm,
)
W = A4[0] - 3.6*cm # usable width
styles = getSampleStyleSheet()
# ── Custom styles ──────────────────────────────────────────────────────────────
TITLE_S = ParagraphStyle("title_s", parent=styles["Title"],
fontSize=20, textColor=colors.HexColor("#1a3c5e"),
spaceAfter=4, leading=26)
H1 = ParagraphStyle("h1", parent=styles["Heading1"],
fontSize=14, textColor=colors.white,
backColor=colors.HexColor("#1a3c5e"),
spaceBefore=14, spaceAfter=4, leading=20,
leftIndent=-4, rightIndent=-4,
borderPad=5)
H2 = ParagraphStyle("h2", parent=styles["Heading2"],
fontSize=12, textColor=colors.HexColor("#1a3c5e"),
spaceBefore=10, spaceAfter=3, leading=16,
borderPad=3)
H3 = ParagraphStyle("h3", parent=styles["Heading3"],
fontSize=11, textColor=colors.HexColor("#c0392b"),
spaceBefore=7, spaceAfter=2, leading=14)
BODY = ParagraphStyle("body", parent=styles["Normal"],
fontSize=10, leading=15, spaceAfter=3, alignment=TA_JUSTIFY)
RATIONALE = ParagraphStyle("rationale", parent=styles["Normal"],
fontSize=9.5, leading=14, spaceAfter=4,
textColor=colors.HexColor("#2c5f2e"),
leftIndent=12, backColor=colors.HexColor("#eaf7ea"),
borderPad=4, borderColor=colors.HexColor("#2c5f2e"),
borderWidth=0)
BULLET = ParagraphStyle("bullet", parent=styles["Normal"],
fontSize=10, leading=14, spaceAfter=2,
leftIndent=14, bulletIndent=4)
WARN = ParagraphStyle("warn", parent=styles["Normal"],
fontSize=9.5, leading=14, spaceAfter=4,
textColor=colors.HexColor("#7d3c00"),
backColor=colors.HexColor("#fff3cd"),
leftIndent=8, borderPad=5)
CAPTION = ParagraphStyle("caption", parent=styles["Normal"],
fontSize=9, textColor=colors.HexColor("#555555"), spaceAfter=2)
def r(txt):
"""Wrap rationale text."""
return Paragraph(f"💡 <i>Rationale: {txt}</i>", RATIONALE)
def bullet(txt, level=1):
indent = 14 * level
return Paragraph(f"• {txt}", ParagraphStyle("b", parent=BULLET, leftIndent=indent))
def warn(txt):
return Paragraph(f"⚠️ {txt}", WARN)
def h1(txt):
return Paragraph(txt, H1)
def h2(txt):
return Paragraph(txt, H2)
def h3(txt):
return Paragraph(txt, H3)
def body(txt):
return Paragraph(txt, BODY)
def sp(n=6):
return Spacer(1, n)
def hr():
return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#bbbbbb"), spaceAfter=4)
# ── TABLE HELPERS ──────────────────────────────────────────────────────────────
HDR_BG = colors.HexColor("#1a3c5e")
ALT_BG = colors.HexColor("#eaf1fb")
WHITE = colors.white
DEF_BLUE = colors.HexColor("#2980b9")
def make_table(data, col_widths=None, hdr_rows=1):
if col_widths is None:
col_widths = [W / len(data[0])] * len(data[0])
# Convert strings to Paragraphs
wrapped = []
for ri, row in enumerate(data):
wrow = []
for ci, cell in enumerate(row):
if ri < hdr_rows:
s = ParagraphStyle("th", parent=styles["Normal"],
fontSize=9.5, textColor=WHITE,
fontName="Helvetica-Bold", leading=13, alignment=TA_CENTER)
else:
s = ParagraphStyle("td", parent=styles["Normal"],
fontSize=9, leading=13, alignment=TA_LEFT)
wrow.append(Paragraph(str(cell), s))
wrapped.append(wrow)
tbl = Table(wrapped, colWidths=col_widths, repeatRows=hdr_rows)
n = len(data)
row_styles = [
("BACKGROUND", (0,0), (-1, hdr_rows-1), HDR_BG),
("ROWBACKGROUNDS", (0, hdr_rows), (-1,-1), [WHITE, ALT_BG]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#aaaaaa")),
("VALIGN", (0,0), (-1,-1), "TOP"),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
]
tbl.setStyle(TableStyle(row_styles))
return tbl
# ==============================================================================
# CONTENT
# ==============================================================================
story = []
# ── COVER / TITLE ─────────────────────────────────────────────────────────────
story.append(sp(20))
story.append(Paragraph("Fluid Volume Deficit & Excess", TITLE_S))
story.append(Paragraph("Comprehensive Study Notes with Rationale",
ParagraphStyle("sub", parent=styles["Normal"], fontSize=12,
textColor=colors.HexColor("#555555"), spaceAfter=6, alignment=TA_CENTER)))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor("#1a3c5e"), spaceAfter=10))
story.append(Paragraph("Foundations of Care — Chapter 8",
ParagraphStyle("chap", parent=styles["Normal"], fontSize=10,
textColor=colors.HexColor("#888888"), alignment=TA_CENTER, spaceAfter=4)))
story.append(sp(8))
# Quick-reference banner
qr_data = [
["Key Concept", "Fluid Volume Deficit (FVD)", "Fluid Volume Excess (FVE)"],
["Also called", "Hypovolemia / Dehydration", "Hypervolemia / Overhydration / Fluid Overload"],
["Core problem", "Fluid intake OR loss > needs", "Fluid intake OR retention > needs"],
["Goal of treatment", "Restore fluid & electrolyte balance", "Eliminate/control fluid overload"],
]
story.append(make_table(qr_data, col_widths=[W*0.28, W*0.36, W*0.36]))
story.append(sp(10))
# ══════════════════════════════════════════════════════════════════════════════
# PART I – FLUID VOLUME DEFICIT
# ══════════════════════════════════════════════════════════════════════════════
story.append(h1("PART I — FLUID VOLUME DEFICIT (FVD)"))
story.append(sp(4))
story.append(body(
"Fluid Volume Deficit (FVD) occurs when fluid intake or fluid retention is less than the body's needs. "
"It is clinically known as <b>hypovolemia</b>. The deficit can involve both water and electrolytes "
"(isotonic), primarily water loss (hypertonic), or primarily electrolyte loss (hypotonic)."))
story.append(sp(6))
# ── Types of FVD ──────────────────────────────────────────────────────────────
story.append(h2("A. Types of Fluid Volume Deficit"))
story.append(sp(4))
types_data = [
["Type", "What is Lost", "Key Pathophysiology", "Clinical Consequence"],
["Isotonic\nDehydration",
"Water AND electrolytes\nin equal proportions",
"Most common type. Also called hypovolemia. Decreased circulating blood volume → inadequate tissue perfusion.",
"Shock, organ hypoperfusion, ↓ BP"],
["Hypertonic\nDehydration",
"Water LOSS exceeds\nelectrolyte loss",
"↑ plasma electrolyte concentration. Fluid shifts FROM intracellular → plasma/interstitial (cellular dehydration & shrinkage).",
"Cell shrinkage, neurological symptoms, hypernatremia"],
["Hypotonic\nDehydration",
"Electrolyte LOSS exceeds\nwater loss",
"↓ plasma osmolality. Fluid shifts FROM plasma → cells → plasma volume deficit & cell swelling.",
"Hyponatremia, cellular edema, hypovolemia"],
]
story.append(make_table(types_data, col_widths=[W*0.15, W*0.20, W*0.38, W*0.27]))
story.append(sp(4))
story.append(r("Understanding the TYPE of dehydration guides fluid replacement: isotonic loss → isotonic solution; hypertonic loss → hypotonic solution (to replenish water); hypotonic loss → hypertonic solution (to replenish electrolytes). Giving the wrong fluid type can worsen the imbalance."))
story.append(sp(8))
# ── Causes ────────────────────────────────────────────────────────────────────
story.append(h2("B. Causes of Fluid Volume Deficit"))
story.append(sp(4))
causes_data = [
["Type of FVD", "Causes", "Rationale"],
["Isotonic",
"• Inadequate intake of fluids/solutes\n• Fluid shifts between compartments\n• Excessive losses of isotonic body fluids",
"Direct loss of isotonic fluid (e.g. hemorrhage, severe vomiting/diarrhea, burns) reduces circulating volume proportionally."],
["Hypertonic",
"• Excessive perspiration\n• Hyperventilation\n• Ketoacidosis\n• Prolonged fevers\n• Diarrhea\n• Early-stage kidney disease\n• Diabetes insipidus",
"These conditions increase free-water loss without proportional electrolyte loss, concentrating plasma solutes and drawing fluid out of cells."],
["Hypotonic",
"• Chronic illness\n• Excessive hypotonic fluid replacement\n• Kidney disease\n• Chronic malnutrition",
"Electrolytes are lost in excess of water (e.g. over-replacement with plain water/D5W), diluting plasma and driving fluid into cells."],
]
story.append(make_table(causes_data, col_widths=[W*0.16, W*0.36, W*0.48]))
story.append(sp(6))
# ── Assessment ────────────────────────────────────────────────────────────────
story.append(h2("C. Assessment Findings — Fluid Volume Deficit"))
story.append(sp(4))
assess_deficit = [
["System", "Findings", "Rationale"],
["Cardiovascular",
"• Thready, increased pulse rate\n• Diminished peripheral pulses\n• ↓ BP & orthostatic hypotension\n• Flat neck & hand veins in dependent positions\n• ↓ Central venous pressure (CVP)\n• Dysrhythmias",
"↓ circulating volume → compensatory tachycardia; ↓ venous return → flat veins & ↓ CVP; electrolyte disturbance → dysrhythmias"],
["Respiratory",
"• Increased rate & depth of respirations\n• Dyspnea",
"Compensatory hyperventilation attempts to maintain perfusion; metabolic acidosis from poor perfusion also drives respiratory rate up"],
["Neuromuscular",
"• ↓ CNS activity (lethargy → coma)\n• Skeletal muscle weakness\n• Fever (depending on fluid loss amount)",
"Brain cells are sensitive to dehydration/electrolyte changes; muscle cells lose function without adequate hydration; fever drives further fluid loss"],
["Renal",
"• ↓ Urine output (oliguria)",
"Kidneys conserve water via ADH & aldosterone when blood volume drops → concentrated, low-volume urine (hallmark sign of FVD)"],
["Integumentary",
"• Dry skin\n• Poor skin turgor / tenting\n• Dry mouth",
"Reduced interstitial fluid → loss of skin turgor; mucosal membranes dry out without adequate hydration"],
["Gastrointestinal",
"• ↓ Motility & diminished bowel sounds\n• Constipation\n• ↓ Body weight\n• Thirst",
"GI tract needs adequate fluid for motility; weight loss reflects actual fluid loss; thirst is an early compensatory mechanism via hypothalamic osmoreceptors"],
["Lab Findings",
"• ↑ Serum osmolality\n• ↑ Hematocrit\n• ↑ BUN\n• ↑ Serum sodium\n• ↑ Urine specific gravity",
"All reflect hemoconcentration: fewer fluid molecules per unit volume raises all solute concentrations; ↑ specific gravity = concentrated urine"],
]
story.append(make_table(assess_deficit, col_widths=[W*0.18, W*0.38, W*0.44]))
story.append(sp(6))
# ── Interventions ─────────────────────────────────────────────────────────────
story.append(h2("D. Interventions for Fluid Volume Deficit"))
story.append(sp(4))
iv_data = [
["Intervention", "Details", "Rationale"],
["1. Prevent further loss &\nrestore volume",
"Address underlying cause (stop losses). Increase fluid compartment volumes to normal ranges.",
"Treating the source prevents ongoing deficit; restoration re-establishes hemodynamic stability and tissue perfusion."],
["2. Oral rehydration /\nIV fluid replacement",
"Oral therapy if tolerated. IV fluids if severe. Monitor intake & output (I&O) closely.",
"Oral route preserves gut integrity; IV route is faster for severe deficit. Monitoring I&O ensures adequate replacement without overcorrection."],
["3. Correct fluid type\nto type of dehydration",
"• Isotonic dehydration → Isotonic solutions (NS, LR)\n• Hypertonic dehydration → Hypotonic solutions (0.45% NaCl)\n• Hypotonic dehydration → Hypertonic solutions (3% NaCl)",
"Matching tonicity of replacement fluid to the deficit type prevents osmotic shifts that could worsen cellular dehydration or edema."],
["4. Medications",
"Antidiarrheal, antimicrobial, antiemetic, antipyretic agents as prescribed.",
"Treat underlying causes (infection, vomiting, fever) to stop the source of fluid loss."],
["5. Monitor electrolytes",
"Monitor serum electrolyte values; prepare to administer medications for imbalances.",
"FVD commonly accompanies electrolyte disturbances (especially Na⁺, K⁺) which can cause life-threatening dysrhythmias if uncorrected."],
]
story.append(make_table(iv_data, col_widths=[W*0.22, W*0.38, W*0.40]))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════════════════════
# PART II – FLUID VOLUME EXCESS
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART II — FLUID VOLUME EXCESS (FVE)"))
story.append(sp(4))
story.append(body(
"Fluid Volume Excess (FVE) occurs when fluid intake or fluid retention exceeds the body's needs. "
"It is also called <b>hypervolemia</b> or <b>overhydration/fluid overload</b>. "
"The goal of treatment is to restore fluid balance, eliminate or control electrolyte imbalances, "
"and correct the underlying cause of the overload."))
story.append(sp(6))
story.append(warn("Clients with acute kidney injury, chronic kidney disease, and heart failure are at HIGH RISK for fluid volume excess."))
story.append(sp(6))
# ── Types of FVE ──────────────────────────────────────────────────────────────
story.append(h2("A. Types of Fluid Volume Excess"))
story.append(sp(4))
fve_types = [
["Type", "Also Known As", "Pathophysiology", "Key Feature"],
["Isotonic\nOverhydration",
"Hypervolemia",
"Excessive fluid in the extracellular compartment. Only ECF expands; fluid does NOT shift between ECF and ICF.",
"Circulatory overload & interstitial edema; can cause heart failure & pulmonary edema in cardiac-compromised patients."],
["Hypertonic\nOverhydration",
"—",
"Caused by excessive sodium intake. Fluid is DRAWN FROM intracellular → extracellular; ECF volume expands, ICF volume contracts.",
"Rare. Cellular dehydration despite overall fluid excess; hypernatremia."],
["Hypotonic\nOverhydration",
"Water Intoxication",
"Excessive fluid moves INTO intracellular space; ALL body fluid compartments expand.",
"Dilutional electrolyte imbalances (↓ Na⁺, ↓ K⁺, ↓ osmolality); cerebral edema risk."],
]
story.append(make_table(fve_types, col_widths=[W*0.16, W*0.16, W*0.38, W*0.30]))
story.append(sp(4))
story.append(r("The type of overhydration dictates where the fluid accumulates. Isotonic = vascular overload (→ pulmonary edema); hypotonic = intracellular overload (→ cerebral edema, seizures). Recognizing the type guides targeted treatment."))
story.append(sp(8))
# ── Causes ────────────────────────────────────────────────────────────────────
story.append(h2("B. Causes of Fluid Volume Excess"))
story.append(sp(4))
fve_causes = [
["Type of FVE", "Causes", "Rationale"],
["Isotonic",
"• Inadequately controlled IV therapy\n• Kidney disease\n• Long-term corticosteroid therapy",
"Excess isotonic fluid infusion or impaired renal excretion accumulates in ECF. Corticosteroids cause Na⁺ & water retention via mineralocorticoid effects."],
["Hypertonic",
"• Excessive sodium ingestion\n• Rapid infusion of hypertonic saline\n• Excessive sodium bicarbonate therapy",
"High sodium concentration draws water from cells into ECF by osmosis, expanding the extracellular compartment."],
["Hypotonic",
"• Early kidney disease\n• Heart failure\n• SIADH\n• Inadequately controlled IV therapy\n• Replacement of isotonic loss with hypotonic fluids\n• Irrigation with hypotonic fluids",
"Excess free water without proportional solutes dilutes plasma electrolytes. Heart failure and SIADH impair water excretion, leading to accumulation."],
]
story.append(make_table(fve_causes, col_widths=[W*0.16, W*0.38, W*0.46]))
story.append(sp(6))
# ── Assessment ────────────────────────────────────────────────────────────────
story.append(h2("C. Assessment Findings — Fluid Volume Excess"))
story.append(sp(4))
assess_excess = [
["System", "Findings", "Rationale"],
["Cardiovascular",
"• Bounding, increased pulse\n• Elevated BP\n• Distended neck & hand veins\n• Elevated CVP\n• Dysrhythmias",
"↑ circulating volume → forceful, bounding pulse; ↑ venous return → distended veins & ↑ CVP; electrolyte dilution → dysrhythmias"],
["Respiratory",
"• ↑ Respiratory rate (shallow)\n• Dyspnea\n• Moist crackles on auscultation",
"Excess fluid leaks into alveolar spaces (pulmonary edema) → impaired gas exchange, crackles from fluid in airways"],
["Neuromuscular",
"• Altered level of consciousness\n• Skeletal muscle weakness\n• Headache, visual disturbances\n• Paresthesias",
"Cerebral edema (especially in hypotonic overhydration) causes neurological changes; diluted electrolytes (K⁺, Na⁺) impair neuromuscular function"],
["Renal",
"• ↑ Urine output if kidneys can compensate\n• ↓ Urine output if kidney damage is the cause",
"Healthy kidneys increase output to compensate for volume excess (polyuria); damaged kidneys cannot excrete the excess (oliguria/anuria) — key distinction"],
["Integumentary",
"• Pale, cool skin\n• Pitting edema in dependent areas",
"Excess interstitial fluid → pitting edema; peripheral vasoconstriction (from compensatory mechanisms) → pale, cool skin"],
["Gastrointestinal",
"• ↑ GI motility\n• Diarrhea\n• ↑ Body weight\n• Liver enlargement\n• Ascites",
"Fluid accumulation in peritoneal cavity → ascites; hepatic congestion causes liver enlargement; weight gain = direct measure of retained fluid (1 L ≈ 1 kg)"],
["Lab Findings",
"• ↓ Serum osmolality\n• ↓ Hematocrit\n• ↓ BUN\n• ↓ Serum sodium\n• ↓ Urine specific gravity",
"All reflect hemodilution: more fluid relative to solutes lowers all concentrations; ↓ specific gravity = dilute urine"],
]
story.append(make_table(assess_excess, col_widths=[W*0.18, W*0.38, W*0.44]))
story.append(sp(6))
# ── Interventions ─────────────────────────────────────────────────────────────
story.append(h2("D. Interventions for Fluid Volume Excess"))
story.append(sp(4))
fve_iv = [
["Intervention", "Details", "Rationale"],
["1. Prevent further\nfluid overload",
"Identify and treat underlying cause. Prevent further accumulation.",
"Addressing root cause (kidney disease, heart failure, excessive IV fluids) stops ongoing fluid retention."],
["2. Diuretics",
"Administer diuretics as prescribed. Osmotic diuretics may be prescribed initially to prevent severe electrolyte imbalances.",
"Diuretics increase renal excretion of excess fluid. Osmotic diuretics (e.g. mannitol) draw fluid from tissues without causing severe electrolyte loss initially."],
["3. Fluid & sodium\nrestriction",
"Restrict fluid and sodium intake as prescribed.",
"Limiting sodium reduces osmotic retention of water; fluid restriction prevents further accumulation in already-overloaded compartments."],
["4. Monitor I&O\n& weight",
"Monitor intake and output; monitor weight daily.",
"Daily weight is the most reliable indicator of fluid balance changes (1 kg ≈ 1 L fluid). I&O tracks fluid shifts in real time."],
["5. Monitor electrolytes",
"Monitor electrolyte values; prepare to administer replacement medication if imbalance present.",
"FVE causes dilutional electrolyte abnormalities. Hyponatremia, hypokalemia can develop and require correction to prevent dysrhythmias or seizures."],
]
story.append(make_table(fve_iv, col_widths=[W*0.22, W*0.38, W*0.40]))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════════════════════
# PART III – SIDE-BY-SIDE COMPARISON
# ══════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(h1("PART III — COMPARISON: FVD vs. FVE (Table 8.1)"))
story.append(sp(6))
comparison = [
["Parameter", "Fluid Volume DEFICIT (FVD)", "Fluid Volume EXCESS (FVE)"],
["Other names", "Hypovolemia, Dehydration", "Hypervolemia, Overhydration, Fluid Overload"],
["Pulse", "Thready, rapid, weak peripheral pulses", "Bounding, rapid"],
["Blood pressure", "↓ BP; orthostatic hypotension", "↑ BP"],
["Neck/hand veins", "Flat in dependent positions", "Distended"],
["CVP", "↓ Decreased", "↑ Elevated"],
["Respirations", "↑ Rate & depth", "Shallow tachypnea; crackles (moist)"],
["CNS/Neuro", "Lethargy → coma; muscle weakness; fever", "Altered LOC; headache; visual disturbances; paresthesias"],
["Urine output", "↓ Oliguria (kidneys conserve)", "↑ Polyuria (if compensating) or ↓ if kidney damage"],
["Skin", "Dry, poor turgor, tenting, dry mouth", "Pale & cool; pitting edema in dependent areas"],
["GI", "↓ Motility; constipation; ↓ weight; thirst", "↑ Motility; diarrhea; ↑ weight; liver enlargement; ascites"],
["Serum osmolality", "↑ Increased (hemoconcentration)", "↓ Decreased (hemodilution)"],
["Hematocrit", "↑ Increased", "↓ Decreased"],
["BUN", "↑ Increased", "↓ Decreased"],
["Serum sodium", "↑ Increased", "↓ Decreased"],
["Urine specific gravity", "↑ Increased (concentrated urine)", "↓ Decreased (dilute urine)"],
]
story.append(make_table(comparison, col_widths=[W*0.24, W*0.38, W*0.38]))
story.append(sp(6))
story.append(r("Lab values move in OPPOSITE directions in FVD vs. FVE — this is the key memory anchor. In FVD, all solute concentrations rise (hemoconcentration). In FVE, all dilute (hemodilution). Use serum osmolality, hematocrit, and BUN as your primary monitoring trio."))
story.append(sp(8))
# ── Memory Aids ───────────────────────────────────────────────────────────────
story.append(h2("Quick Memory Aids"))
story.append(sp(4))
mem_data = [
["Mnemonic", "Meaning"],
["FVD = 'DRIED'",
"D – Decreased BP/Decreased CVP\nR – Rapid thready pulse\nI – Increased osmolality/Increased HCT\nE – Extreme thirst / Electrolyte rise\nD – Dry skin, Dry mouth, Decreased urine output"],
["FVE = 'BLOAT'",
"B – Bounding pulse / BP elevated\nL – Lung crackles (pulmonary edema)\nO – Output ↑ or ↓ (depends on kidneys)\nA – Ascites / Altered LOC\nT – Taut pitting edema / ↑ body weight"],
["Fluid Replacement Rule",
"Iso → Iso | Hyper → Hypo | Hypo → Hyper\n(Match the solution to the OPPOSITE tonicity of the excess/deficit to restore balance)"],
]
story.append(make_table(mem_data, col_widths=[W*0.22, W*0.78]))
story.append(sp(10))
# ── Footer ────────────────────────────────────────────────────────────────────
story.append(hr())
story.append(Paragraph("Source: Foundations of Care, Chapter 8 — Fluids and Electrolytes | Notes compiled May 2026",
ParagraphStyle("footer", parent=styles["Normal"], fontSize=8,
textColor=colors.HexColor("#888888"), alignment=TA_CENTER)))
doc.build(story)
print("PDF created:", OUTPUT)
cd /home/daytona/workspace/fluid-notes && python generate_pdf.py
Fluid Volume Deficit and Excess
PDF Document · PDF
I can’t open the pdf
ls -lh /home/daytona/workspace/fluid-notes/ && file /home/daytona/workspace/fluid-notes/Fluid_Volume_Deficit_and_Excess.pdf
cd /home/daytona/workspace/fluid-notes && python3 -c " from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas c = canvas.Canvas('/home/daytona/workspace/fluid-notes/test.pdf', pagesize=A4) c.drawString(100, 750, 'Test PDF') c.save() print('test ok') " && ls -lh /home/daytona/workspace/fluid-notes/test.pdf
~/fluid-notes/fluid_notes.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fluid Volume Deficit & Excess</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; font-size: 11pt; color: #222; background: #fff; padding: 20px; }
h1.main-title { font-size: 22pt; color: #1a3c5e; text-align: center; margin-bottom: 4px; }
h1.main-title span { display: block; font-size: 12pt; color: #666; font-weight: normal; margin-top: 4px; }
.divider { border: none; border-top: 3px solid #1a3c5e; margin: 8px 0 16px; }
h2.part-title { background: #1a3c5e; color: #fff; font-size: 14pt; padding: 8px 12px; margin: 18px 0 10px; border-radius: 3px; }
h3.section { color: #1a3c5e; font-size: 12pt; margin: 14px 0 6px; border-bottom: 2px solid #2980b9; padding-bottom: 3px; }
p.body-text { font-size: 10.5pt; line-height: 1.6; margin-bottom: 8px; text-align: justify; }
.rationale { background: #eaf7ea; border-left: 4px solid #2c5f2e; padding: 7px 10px; margin: 6px 0 10px; font-size: 9.5pt; color: #2c5f2e; border-radius: 2px; }
.warning { background: #fff3cd; border-left: 4px solid #e67e22; padding: 7px 10px; margin: 6px 0 10px; font-size: 9.5pt; color: #7d3c00; border-radius: 2px; }
table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: 9.5pt; }
table th { background: #1a3c5e; color: #fff; padding: 7px 8px; text-align: left; font-size: 9.5pt; }
table td { padding: 6px 8px; vertical-align: top; border: 1px solid #ccc; line-height: 1.5; }
table tr:nth-child(even) td { background: #eaf1fb; }
table tr:nth-child(odd) td { background: #fff; }
.page-break { page-break-before: always; }
.footer { text-align: center; font-size: 8pt; color: #aaa; margin-top: 30px; border-top: 1px solid #ddd; padding-top: 8px; }
ul { margin: 2px 0 2px 16px; }
ul li { margin-bottom: 2px; }
.tag-deficit { color: #c0392b; font-weight: bold; }
.tag-excess { color: #1a5276; font-weight: bold; }
</style>
</head>
<body>
<h1 class="main-title">Fluid Volume Deficit & Excess
<span>Comprehensive Study Notes with Rationale — Foundations of Care, Chapter 8</span>
</h1>
<hr class="divider">
<!-- Quick Reference -->
<table>
<tr><th>Key Concept</th><th>Fluid Volume Deficit (FVD)</th><th>Fluid Volume Excess (FVE)</th></tr>
<tr><td><strong>Also called</strong></td><td>Hypovolemia / Dehydration</td><td>Hypervolemia / Overhydration / Fluid Overload</td></tr>
<tr><td><strong>Core problem</strong></td><td>Fluid intake or loss > body's needs</td><td>Fluid intake or retention > body's needs</td></tr>
<tr><td><strong>Goal of treatment</strong></td><td>Restore fluid & electrolyte balance</td><td>Eliminate/control fluid overload & correct imbalances</td></tr>
</table>
<!-- ===== PART I ===== -->
<h2 class="part-title">PART I — FLUID VOLUME DEFICIT (FVD)</h2>
<p class="body-text">Fluid Volume Deficit (FVD) occurs when fluid intake or fluid retention is less than the body's needs. It is clinically known as <strong>hypovolemia</strong>. The deficit can involve both water and electrolytes (isotonic), primarily water loss (hypertonic), or primarily electrolyte loss (hypotonic).</p>
<h3 class="section">A. Types of Fluid Volume Deficit</h3>
<table>
<tr><th>Type</th><th>What Is Lost</th><th>Key Pathophysiology</th><th>Clinical Consequence</th></tr>
<tr>
<td><strong>Isotonic</strong></td>
<td>Water AND electrolytes in equal proportions</td>
<td>Most common type (hypovolemia). Decreased circulating blood volume → inadequate tissue perfusion.</td>
<td>↓ BP, shock, organ hypoperfusion</td>
</tr>
<tr>
<td><strong>Hypertonic</strong></td>
<td>Water loss exceeds electrolyte loss</td>
<td>↑ plasma electrolyte concentration. Fluid shifts FROM intracellular → plasma/interstitial causing cellular dehydration & shrinkage.</td>
<td>Cell shrinkage, neurological changes, hypernatremia</td>
</tr>
<tr>
<td><strong>Hypotonic</strong></td>
<td>Electrolyte loss exceeds water loss</td>
<td>↓ plasma osmolality. Fluid shifts FROM plasma/interstitial → cells, causing plasma volume deficit & cellular swelling.</td>
<td>Hyponatremia, cellular edema, hypovolemia</td>
</tr>
</table>
<div class="rationale">💡 <em>Rationale: Understanding the TYPE of dehydration guides fluid replacement — isotonic loss → isotonic solution; hypertonic loss → hypotonic solution (replenish water); hypotonic loss → hypertonic solution (replenish electrolytes). Giving the wrong fluid type can worsen the imbalance.</em></div>
<h3 class="section">B. Causes of Fluid Volume Deficit</h3>
<table>
<tr><th>Type</th><th>Causes</th><th>Rationale</th></tr>
<tr>
<td><strong>Isotonic</strong></td>
<td><ul><li>Inadequate intake of fluids/solutes</li><li>Fluid shifts between compartments</li><li>Excessive losses of isotonic body fluids</li></ul></td>
<td>Direct loss of isotonic fluid (e.g. hemorrhage, severe vomiting/diarrhea, burns) reduces circulating volume proportionally.</td>
</tr>
<tr>
<td><strong>Hypertonic</strong></td>
<td><ul><li>Excessive perspiration</li><li>Hyperventilation</li><li>Ketoacidosis</li><li>Prolonged fevers</li><li>Diarrhea</li><li>Early-stage kidney disease</li><li>Diabetes insipidus</li></ul></td>
<td>These conditions increase free-water loss without proportional electrolyte loss, concentrating plasma solutes and drawing fluid out of cells.</td>
</tr>
<tr>
<td><strong>Hypotonic</strong></td>
<td><ul><li>Chronic illness</li><li>Excessive hypotonic fluid replacement</li><li>Kidney disease</li><li>Chronic malnutrition</li></ul></td>
<td>Electrolytes are lost in excess of water (or replaced with plain water/D5W), diluting plasma and driving fluid into cells osmotically.</td>
</tr>
</table>
<h3 class="section">C. Assessment Findings — FVD</h3>
<table>
<tr><th>System</th><th>Findings</th><th>Rationale</th></tr>
<tr>
<td><strong>Cardiovascular</strong></td>
<td><ul><li>Thready, increased pulse rate</li><li>Diminished peripheral pulses</li><li>↓ BP & orthostatic hypotension</li><li>Flat neck & hand veins in dependent positions</li><li>↓ Central venous pressure (CVP)</li><li>Dysrhythmias</li></ul></td>
<td>↓ circulating volume → compensatory tachycardia; ↓ venous return → flat veins & ↓ CVP; electrolyte disturbance → dysrhythmias.</td>
</tr>
<tr>
<td><strong>Respiratory</strong></td>
<td><ul><li>Increased rate & depth of respirations</li><li>Dyspnea</li></ul></td>
<td>Compensatory hyperventilation to maintain perfusion; metabolic acidosis from poor perfusion drives respiratory rate up.</td>
</tr>
<tr>
<td><strong>Neuromuscular</strong></td>
<td><ul><li>↓ CNS activity (lethargy → coma)</li><li>Skeletal muscle weakness</li><li>Fever (depending on fluid loss)</li></ul></td>
<td>Brain cells are sensitive to dehydration/electrolyte changes; muscle cells lose function without adequate hydration; fever drives further fluid loss.</td>
</tr>
<tr>
<td><strong>Renal</strong></td>
<td><ul><li>↓ Urine output (oliguria)</li></ul></td>
<td>Kidneys conserve water via ADH & aldosterone when blood volume drops → concentrated, low-volume urine (hallmark of FVD).</td>
</tr>
<tr>
<td><strong>Integumentary</strong></td>
<td><ul><li>Dry skin</li><li>Poor skin turgor / tenting</li><li>Dry mouth</li></ul></td>
<td>Reduced interstitial fluid → loss of skin turgor; mucosal membranes dry out without adequate hydration.</td>
</tr>
<tr>
<td><strong>Gastrointestinal</strong></td>
<td><ul><li>↓ Motility & diminished bowel sounds</li><li>Constipation</li><li>↓ Body weight</li><li>Thirst</li></ul></td>
<td>GI tract needs adequate fluid for motility; weight loss reflects actual fluid loss; thirst is an early compensatory mechanism via hypothalamic osmoreceptors.</td>
</tr>
<tr>
<td><strong>Lab Findings</strong></td>
<td><ul><li>↑ Serum osmolality</li><li>↑ Hematocrit</li><li>↑ BUN</li><li>↑ Serum sodium</li><li>↑ Urine specific gravity</li></ul></td>
<td>All reflect <strong>hemoconcentration</strong>: fewer fluid molecules per unit volume raises all solute concentrations; ↑ specific gravity = concentrated urine.</td>
</tr>
</table>
<h3 class="section">D. Interventions for FVD</h3>
<table>
<tr><th>Intervention</th><th>Details</th><th>Rationale</th></tr>
<tr>
<td><strong>1. Prevent further loss & restore volume</strong></td>
<td>Address underlying cause. Increase fluid compartment volumes to normal ranges.</td>
<td>Treating the source prevents ongoing deficit; restoration re-establishes hemodynamic stability and tissue perfusion.</td>
</tr>
<tr>
<td><strong>2. Oral rehydration / IV fluid replacement</strong></td>
<td>Oral therapy if tolerated. IV fluids if severe. Monitor I&O closely.</td>
<td>Oral route preserves gut integrity; IV route is faster for severe deficit. Monitoring I&O ensures adequate replacement without overcorrection.</td>
</tr>
<tr>
<td><strong>3. Match fluid type to deficit type</strong></td>
<td>
<ul>
<li>Isotonic dehydration → Isotonic solutions (NS, LR)</li>
<li>Hypertonic dehydration → Hypotonic solutions (0.45% NaCl)</li>
<li>Hypotonic dehydration → Hypertonic solutions (3% NaCl)</li>
</ul>
</td>
<td>Matching tonicity prevents osmotic shifts that could worsen cellular dehydration or edema.</td>
</tr>
<tr>
<td><strong>4. Medications</strong></td>
<td>Antidiarrheal, antimicrobial, antiemetic, antipyretic as prescribed.</td>
<td>Treat underlying cause (infection, vomiting, fever) to stop the source of fluid loss.</td>
</tr>
<tr>
<td><strong>5. Monitor electrolytes</strong></td>
<td>Monitor serum electrolyte values; administer medications for imbalances as prescribed.</td>
<td>FVD commonly accompanies electrolyte disturbances (especially Na⁺, K⁺) which can cause life-threatening dysrhythmias if uncorrected.</td>
</tr>
</table>
<!-- ===== PART II ===== -->
<div class="page-break"></div>
<h2 class="part-title">PART II — FLUID VOLUME EXCESS (FVE)</h2>
<p class="body-text">Fluid Volume Excess (FVE) occurs when fluid intake or fluid retention exceeds the body's needs. It is also called <strong>hypervolemia</strong> or <strong>overhydration / fluid overload</strong>. The goal of treatment is to restore fluid balance, eliminate or control electrolyte imbalances, and correct the underlying cause.</p>
<div class="warning">⚠️ <strong>High-Risk Alert:</strong> Clients with acute kidney injury (AKI), chronic kidney disease (CKD), and heart failure are at HIGH RISK for fluid volume excess.</div>
<h3 class="section">A. Types of Fluid Volume Excess</h3>
<table>
<tr><th>Type</th><th>Also Known As</th><th>Pathophysiology</th><th>Key Feature</th></tr>
<tr>
<td><strong>Isotonic Overhydration</strong></td>
<td>Hypervolemia</td>
<td>Excessive fluid in the extracellular compartment only. Fluid does NOT shift between ECF and ICF.</td>
<td>Circulatory overload & interstitial edema; can cause heart failure & pulmonary edema in cardiac-compromised patients.</td>
</tr>
<tr>
<td><strong>Hypertonic Overhydration</strong></td>
<td>—</td>
<td>Excessive sodium intake. Fluid drawn FROM intracellular → extracellular; ECF expands, ICF contracts.</td>
<td>Rare. Cellular dehydration despite overall fluid excess; hypernatremia.</td>
</tr>
<tr>
<td><strong>Hypotonic Overhydration</strong></td>
<td>Water Intoxication</td>
<td>Excessive fluid moves INTO intracellular space; ALL body fluid compartments expand.</td>
<td>Dilutional electrolyte imbalances (↓ Na⁺, ↓ osmolality); cerebral edema & seizure risk.</td>
</tr>
</table>
<div class="rationale">💡 <em>Rationale: The type of overhydration determines where fluid accumulates. Isotonic = vascular overload (→ pulmonary edema); hypotonic = intracellular overload (→ cerebral edema, seizures). Recognizing the type guides targeted treatment.</em></div>
<h3 class="section">B. Causes of Fluid Volume Excess</h3>
<table>
<tr><th>Type</th><th>Causes</th><th>Rationale</th></tr>
<tr>
<td><strong>Isotonic</strong></td>
<td><ul><li>Inadequately controlled IV therapy</li><li>Kidney disease</li><li>Long-term corticosteroid therapy</li></ul></td>
<td>Excess isotonic fluid or impaired renal excretion accumulates in ECF. Corticosteroids cause Na⁺ & water retention via mineralocorticoid effects.</td>
</tr>
<tr>
<td><strong>Hypertonic</strong></td>
<td><ul><li>Excessive sodium ingestion</li><li>Rapid infusion of hypertonic saline</li><li>Excessive sodium bicarbonate therapy</li></ul></td>
<td>High sodium concentration draws water from cells into ECF by osmosis, expanding the extracellular compartment.</td>
</tr>
<tr>
<td><strong>Hypotonic</strong></td>
<td><ul><li>Early kidney disease</li><li>Heart failure</li><li>SIADH</li><li>Inadequately controlled IV therapy</li><li>Replacement of isotonic loss with hypotonic fluids</li><li>Irrigation with hypotonic fluids</li></ul></td>
<td>Excess free water dilutes plasma electrolytes. Heart failure and SIADH impair water excretion, leading to accumulation.</td>
</tr>
</table>
<h3 class="section">C. Assessment Findings — FVE</h3>
<table>
<tr><th>System</th><th>Findings</th><th>Rationale</th></tr>
<tr>
<td><strong>Cardiovascular</strong></td>
<td><ul><li>Bounding, increased pulse</li><li>Elevated BP</li><li>Distended neck & hand veins</li><li>Elevated CVP</li><li>Dysrhythmias</li></ul></td>
<td>↑ circulating volume → forceful bounding pulse; ↑ venous return → distended veins & ↑ CVP; electrolyte dilution → dysrhythmias.</td>
</tr>
<tr>
<td><strong>Respiratory</strong></td>
<td><ul><li>↑ Respiratory rate (shallow)</li><li>Dyspnea</li><li>Moist crackles on auscultation</li></ul></td>
<td>Excess fluid leaks into alveolar spaces (pulmonary edema) → impaired gas exchange; crackles = fluid in airways — a CRITICAL finding.</td>
</tr>
<tr>
<td><strong>Neuromuscular</strong></td>
<td><ul><li>Altered level of consciousness</li><li>Skeletal muscle weakness</li><li>Headache, visual disturbances</li><li>Paresthesias</li></ul></td>
<td>Cerebral edema (especially hypotonic overhydration) causes neuro changes; diluted electrolytes (K⁺, Na⁺) impair neuromuscular function.</td>
</tr>
<tr>
<td><strong>Renal</strong></td>
<td><ul><li>↑ Urine output (if kidneys compensate)</li><li>↓ Urine output (if kidney damage is the cause)</li></ul></td>
<td>Healthy kidneys increase output to compensate (polyuria); damaged kidneys cannot excrete the excess (oliguria/anuria). Key clinical distinction.</td>
</tr>
<tr>
<td><strong>Integumentary</strong></td>
<td><ul><li>Pale, cool skin</li><li>Pitting edema in dependent areas</li></ul></td>
<td>Excess interstitial fluid → pitting edema; peripheral vasoconstriction from compensatory mechanisms → pale, cool skin.</td>
</tr>
<tr>
<td><strong>Gastrointestinal</strong></td>
<td><ul><li>↑ GI motility</li><li>Diarrhea</li><li>↑ Body weight</li><li>Liver enlargement</li><li>Ascites</li></ul></td>
<td>Fluid accumulates in peritoneal cavity → ascites; hepatic congestion → liver enlargement; weight gain is a direct measure of retained fluid (1 L ≈ 1 kg).</td>
</tr>
<tr>
<td><strong>Lab Findings</strong></td>
<td><ul><li>↓ Serum osmolality</li><li>↓ Hematocrit</li><li>↓ BUN</li><li>↓ Serum sodium</li><li>↓ Urine specific gravity</li></ul></td>
<td>All reflect <strong>hemodilution</strong>: more fluid relative to solutes lowers all concentrations; ↓ specific gravity = dilute urine.</td>
</tr>
</table>
<h3 class="section">D. Interventions for FVE</h3>
<table>
<tr><th>Intervention</th><th>Details</th><th>Rationale</th></tr>
<tr>
<td><strong>1. Prevent further overload</strong></td>
<td>Identify and treat underlying cause. Prevent further fluid accumulation.</td>
<td>Addressing the root cause (kidney disease, heart failure, excessive IV fluids) stops ongoing fluid retention.</td>
</tr>
<tr>
<td><strong>2. Diuretics</strong></td>
<td>Administer diuretics as prescribed. Osmotic diuretics may be used initially to prevent severe electrolyte imbalances.</td>
<td>Diuretics increase renal excretion of excess fluid. Osmotic diuretics (e.g. mannitol) draw fluid from tissues without causing severe electrolyte loss initially.</td>
</tr>
<tr>
<td><strong>3. Fluid & sodium restriction</strong></td>
<td>Restrict fluid and sodium intake as prescribed.</td>
<td>Limiting sodium reduces osmotic retention of water; fluid restriction prevents further accumulation in overloaded compartments.</td>
</tr>
<tr>
<td><strong>4. Monitor I&O & weight</strong></td>
<td>Monitor intake and output; monitor daily weight.</td>
<td>Daily weight is the most reliable indicator of fluid balance changes (1 kg ≈ 1 L fluid). I&O tracks fluid shifts in real time.</td>
</tr>
<tr>
<td><strong>5. Monitor electrolytes</strong></td>
<td>Monitor electrolyte values; administer replacement medication if imbalance is present.</td>
<td>FVE causes dilutional electrolyte abnormalities. Hyponatremia, hypokalemia can develop and require correction to prevent dysrhythmias or seizures.</td>
</tr>
</table>
<!-- ===== PART III ===== -->
<div class="page-break"></div>
<h2 class="part-title">PART III — COMPARISON: FVD vs. FVE (Table 8.1)</h2>
<table>
<tr><th>Parameter</th><th class="tag-deficit">Fluid Volume DEFICIT (FVD)</th><th class="tag-excess">Fluid Volume EXCESS (FVE)</th></tr>
<tr><td><strong>Other names</strong></td><td>Hypovolemia, Dehydration</td><td>Hypervolemia, Overhydration, Fluid Overload</td></tr>
<tr><td><strong>Pulse</strong></td><td>Thready, rapid, weak peripheral pulses</td><td>Bounding, rapid</td></tr>
<tr><td><strong>Blood pressure</strong></td><td>↓ BP; orthostatic hypotension</td><td>↑ BP</td></tr>
<tr><td><strong>Neck/hand veins</strong></td><td>Flat in dependent positions</td><td>Distended</td></tr>
<tr><td><strong>CVP</strong></td><td>↓ Decreased</td><td>↑ Elevated</td></tr>
<tr><td><strong>Respirations</strong></td><td>↑ Rate & depth</td><td>Shallow tachypnea; moist crackles</td></tr>
<tr><td><strong>CNS / Neuro</strong></td><td>Lethargy → coma; muscle weakness; fever</td><td>Altered LOC; headache; visual disturbances; paresthesias</td></tr>
<tr><td><strong>Urine output</strong></td><td>↓ Oliguria (kidneys conserve)</td><td>↑ Polyuria (if compensating) or ↓ if kidney damage</td></tr>
<tr><td><strong>Skin</strong></td><td>Dry, poor turgor, tenting; dry mouth</td><td>Pale & cool; pitting edema in dependent areas</td></tr>
<tr><td><strong>GI</strong></td><td>↓ Motility; constipation; ↓ weight; thirst</td><td>↑ Motility; diarrhea; ↑ weight; liver enlargement; ascites</td></tr>
<tr><td><strong>Serum osmolality</strong></td><td>↑ Increased (hemoconcentration)</td><td>↓ Decreased (hemodilution)</td></tr>
<tr><td><strong>Hematocrit</strong></td><td>↑ Increased</td><td>↓ Decreased</td></tr>
<tr><td><strong>BUN</strong></td><td>↑ Increased</td><td>↓ Decreased</td></tr>
<tr><td><strong>Serum sodium</strong></td><td>↑ Increased</td><td>↓ Decreased</td></tr>
<tr><td><strong>Urine specific gravity</strong></td><td>↑ Increased (concentrated urine)</td><td>↓ Decreased (dilute urine)</td></tr>
</table>
<div class="rationale">💡 <em>Rationale: Lab values move in OPPOSITE directions in FVD vs. FVE — this is the key memory anchor. In FVD, all solute concentrations rise (hemoconcentration). In FVE, all dilute (hemodilution). Use serum osmolality, hematocrit, and BUN as your primary monitoring trio.</em></div>
<h3 class="section">Quick Memory Aids</h3>
<table>
<tr><th>Mnemonic</th><th>Meaning</th></tr>
<tr>
<td><strong>FVD = "DRIED"</strong></td>
<td>
<strong>D</strong> – Decreased BP / Decreased CVP<br>
<strong>R</strong> – Rapid thready pulse<br>
<strong>I</strong> – Increased osmolality / Increased HCT<br>
<strong>E</strong> – Extreme thirst / Electrolyte rise<br>
<strong>D</strong> – Dry skin, Dry mouth, Decreased urine output
</td>
</tr>
<tr>
<td><strong>FVE = "BLOAT"</strong></td>
<td>
<strong>B</strong> – Bounding pulse / BP elevated<br>
<strong>L</strong> – Lung crackles (pulmonary edema)<br>
<strong>O</strong> – Output ↑ or ↓ (depends on kidneys)<br>
<strong>A</strong> – Ascites / Altered LOC<br>
<strong>T</strong> – Taut pitting edema / ↑ body weight
</td>
</tr>
<tr>
<td><strong>Fluid Replacement Rule</strong></td>
<td>
<strong>Iso → Iso | Hyper → Hypo | Hypo → Hyper</strong><br>
Match the replacement solution to the OPPOSITE tonicity of the deficit to restore balance.
</td>
</tr>
</table>
<div class="footer">Source: Foundations of Care, Chapter 8 — Fluids and Electrolytes | Notes compiled May 2026</div>
</body>
</html>
cd /home/daytona/workspace/fluid-notes && libreoffice --headless --convert-to pdf fluid_notes.html --outdir . 2>&1 && ls -lh *.pdf
fluid notes
PDF Document · PDF
Fluid Volume Deficit and Excess
PDF Document · PDF
fluid notes
HTML File · HTML