Skip to content
All lessons
Cross-cutting · Clinical Diagnosis

Interpreting the Basic Metabolic Panel

A Step 2 CK–focused walkthrough of the basic metabolic panel: a fixed six-step reading habit, the core formulas (anion gap, Winter's, corrected Na⁺, BUN:Cr/FENa), and the classic sodium, potassium, anion-gap acidosis, and acute-kidney-injury patterns with their next-best-step decisions.

12 min readHigh yield

What the BMP Is and How to Read It

The basic metabolic panel (BMP, "chem-7/8") reports Na, K, Cl, HCO₃⁻ (CO₂), BUN, creatinine, glucose, and calcium, classically drawn as a fishbone/skeleton. On Step 2 CK the panel is never an end in itself — it is the data you use to name a disorder and pick the next best step. Build a fixed habit: (1) scan glucose and calcium; (2) read sodium against volume status; (3) check potassium and correlate with the ECG; (4) compute the anion gap = Na − (Cl + HCO₃⁻) (normal 8–12); (5) use HCO₃⁻ with the gap to classify acid–base and confirm compensation; (6) read BUN and creatinine together for renal function.

Normal ranges: Na 135–145, K 3.5–5.0, Cl 98–106, HCO₃⁻ 22–28, BUN 7–20 mg/dL, Cr 0.6–1.2 mg/dL, glucose 70–100 (fasting), Ca 8.5–10.5 mg/dL. A single number rarely gives the diagnosis — the pattern does.

Basic metabolic panel values arranged in the fishbone/skeleton shorthand — sodium, chloride, and BUN on the top arm; potassium, bicarbonate, and creatinine on the bottom arm; glucose at the tip.
The fishbone (skeleton) shorthand for reporting a basic metabolic panel. · Wikimedia Commons — Kerowyn — CC0, via Wikimedia Commons
Formulas & Rules You Must Know Cold
  • Anion gap = Na − (Cl + HCO₃⁻); normal 8–12 mEq/L
  • Correct AG for albumin: add 2.5 to the gap for every 1 g/dL albumin below 4 (low albumin masks a real gap)
  • Winter's formula (metabolic acidosis): expected PaCO₂ = 1.5 × HCO₃⁻ + 8 ± 2 — measured higher = added respiratory acidosis; lower = added respiratory alkalosis
  • Corrected Na⁺ in hyperglycemia: add 1.6 mEq/L per 100 mg/dL glucose above 100
  • Correct hyponatremia slowly: ≤ 8 mEq/L per 24 h to avoid osmotic demyelination (central pontine myelinolysis)
  • BUN:Cr > 20:1prerenal; 10–15:1 with muddy-brown casts → intrinsic (ATN)
  • Peaked T waves = earliest ECG sign of hyperkalemia; U waves suggest hypokalemia
  • Refractory hypokalemia or hypocalcemiacheck and replace magnesium

Hyponatremia: Classify by Volume Status

Volume statusClassic causesUrine Na⁺First-line management
HypovolemicVomiting/diarrhea, thiazides, adrenal insufficiency<10 extrarenal / >20 renalIsotonic (0.9%) saline
EuvolemicSIADH, hypothyroidism, psychogenic polydipsia>20 (urine osm >100 in SIADH)Fluid restriction; treat cause
HypervolemicCHF, cirrhosis, nephrotic syndrome<10Fluid + Na⁺ restriction, diurese
Vignette: Anion-Gap Acidosis (DKA)

Vignette: A 19-year-old with type 1 diabetes has 2 days of polyuria and vomiting. Deep rapid (Kussmaul) breathing, fruity breath. Glucose 480, Na 130, Cl 95, HCO₃⁻ 8, K⁺ 5.4.

Work it: Anion gap = 130 − (95 + 8) = 27high anion-gap metabolic acidosis. Winter's: expected PaCO₂ = 1.5×8 + 8 = 20 ± 2 (appropriate respiratory compensation).

Dx: Diabetic ketoacidosis.

Next best step: IV isotonic fluids first, then insulin infusion; add dextrose once glucose <200 while continuing insulin to close the anion gap.

Trap: serum K⁺ looks normal/high but total-body K⁺ is depleted — insulin drives K⁺ into cells, so replace K⁺ once <5.2 mEq/L and the patient is urinating, and hold insulin if K⁺ <3.3. The low measured Na⁺ is dilutional from hyperglycemia (corrected ≈ 130 + 1.6×3.8 ≈ 136).

Vignette: Hyperkalemia With ECG Changes

Vignette: A 58-year-old on hemodialysis missed two sessions. He feels weak; K⁺ 7.2 mEq/L. ECG shows tall peaked T waves with a widening QRS.

Next best step: IV calcium gluconate immediately to stabilize the cardiac membrane (works in minutes; does not lower K⁺).

Then shift K⁺ intracellularly: insulin + dextrosealbuterol, ± sodium bicarbonate if acidotic).

Then remove K⁺ from the body: a loop diuretic (only if urine output is preserved — usually futile in ESRD), a potassium binder (patiromer or sodium zirconium cyclosilicate), and hemodialysis — the definitive therapy here and in any ESRD patient.

Sequence to memorize: Stabilize → Shift → Eliminate. Any hyperkalemia with ECG changes (or K⁺ ≳ 6.5) is an emergency — give calcium before waiting on a repeat level.

Precordial-lead ECG showing progressive hyperkalemia: tall peaked T waves, flattening P waves, and a widening QRS complex.
ECG evolution of hyperkalemia — peaked T waves are the earliest sign. · Wikimedia Commons — Mikael Häggström — Public domain, via Wikimedia Commons
MUDPILES — High Anion-Gap Acidosis

MUDPILES — causes of a high anion-gap metabolic acidosis:

  • M — Methanol (→ formic acid; visual loss)
  • U — Uremia (renal failure)
  • D — DKA (also alcoholic/starvation ketoacidosis)
  • P — Propylene glycol / Paraldehyde
  • I — Iron, Isoniazid (INH)
  • L — Lactic acidosis (sepsis, ischemic bowel, metformin)
  • E — Ethylene glycol (antifreeze; calcium oxalate crystals, renal failure)
  • S — Salicylates (classic mixed AG acidosis + respiratory alkalosis)

Normal-gap (hyperchloremic) acidosis instead → the two board favorites are Diarrhea and Renal tubular acidosis.

Reading BUN & Creatinine: The AKI Triad
  • Prerenal azotemia: ↓ renal perfusion (hypovolemia, CHF, cirrhosis). BUN:Cr > 20:1, FENa < 1%, urine osm >500, bland sediment — tubules avidly reabsorb Na⁺ and urea.
  • Intrinsic (ATN): ischemia or nephrotoxins (contrast, aminoglycosides, rhabdomyolysis). BUN:Cr 10–15:1, FENa > 2%, urine osm <350, muddy-brown granular casts.
  • Postrenal: obstruction (BPH, bilateral stones). Cr rises late; next step is bladder scan / renal ultrasound looking for hydronephrosis.
  • FENa = (U_Na × P_Cr) / (P_Na × U_Cr) × 100. Recent diuretics invalidate FENa → use FEUrea (<35% = prerenal).
  • A BUN rise out of proportion to Cr also occurs with GI bleeding and high protein/steroids.

Practice Clinical Diagnosis now

Board-style questions, spaced-repetition flashcards, and a Socratic AI tutor — free to start.