attachment
attachment

Give answer and explain it

Reading File
Finding Sources
Finding Sources

Answer: B. 13 mL of oxygen


Explanation

This is a classic physiology calculation using the oxygen content of blood formula.

The Formula

The arterial oxygen content (CaO₂) is:
CaO₂ = (Hb × 1.34 × SaO₂) + (PaO₂ × 0.003)
  • 1.34 mL/g = the oxygen-binding capacity of hemoglobin (each gram of Hb can carry 1.34 mL of O₂ when 100% saturated)
  • 0.003 = dissolved oxygen contribution (very small, nearly negligible)
This formula is confirmed across multiple authoritative sources including Guyton and Hall Medical Physiology and Harrison's Principles of Internal Medicine, both of which state that each gram of hemoglobin binds a maximum of 1.34 mL O₂ at full saturation.

Calculation

Given:
  • Hb = 10 g/dL (i.e., 10 g per 100 mL of blood)
  • SaO₂ = 97% ≈ 0.97 (normal arterial saturation, assumed)
  • Dissolved O₂ contribution is minor but included for precision
Step 1 - Hb-bound oxygen:
10 g × 1.34 mL/g × 0.97 = 13.0 mL
Step 2 - Dissolved O₂ (PaO₂ ~100 mmHg):
100 × 0.003 = 0.3 mL (negligible)
Total ≈ 13.0 + 0.3 ≈ 13.3 mL ≈ ~13 mL

Why the Other Options Are Wrong

OptionValueReasoning
A. 20.7 mLToo highThis is the normal value when Hb = 15 g/dL (15 × 1.34 × 0.97 ≈ 19.5 + dissolved ≈ 20.7 mL)
B. 13 mLCorrectHb 10 g/dL × 1.34 × 0.97 ≈ 13 mL
C. 10 mLToo lowWould imply each gram of Hb only carries 1 mL O₂ - incorrect coefficient
D. 7.4 mLToo lowRoughly corresponds to Hb ~6 g/dL, not 10 g/dL

Key Concept

Normal blood (Hb = 15 g/dL) carries ~20.7 mL O₂ per 100 mL. Since the question reduces Hb to 10 g/dL (about 2/3 of normal), the oxygen content scales proportionally: 20.7 × (10/15) ≈ 13.8 mL, which rounds to ~13 mL - confirming option B.
This is a direct application of the oxygen content equation, as described in Guyton and Hall Textbook of Medical Physiology and Frameworks for Internal Medicine.

Create a quick reference PDF for oxygen content calculations

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "workspace ready"

Running Command

mkdir -p /tmp/workspace/oxygen-content-pdf && cat > /tmp/workspace/oxygen-content-pdf/build_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import cm, mm from reportlab.platypus import ( SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether ) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import FrameBreak from reportlab.lib.colors import HexColor # ── Colour palette ────────────────────────────────────────────────────────── DARK_BLUE = HexColor("#1a3a5c") MED_BLUE = HexColor("#2e6da4") LIGHT_BLUE = HexColor("#ddeeff") ACCENT = HexColor("#e8f4fd") RED = HexColor("#c0392b") GREEN = HexColor("#1a7a4a") ORANGE = HexColor("#d35400") GREY_LIGHT = HexColor("#f5f5f5") GREY_MED = HexColor("#cccccc") WHITE = colors.white BLACK = colors.black # ── Document ───────────────────────────────────────────────────────────────── OUTPUT = "/tmp/workspace/oxygen-content-pdf/Oxygen_Content_Quick_Reference.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=1.8*cm, rightMargin=1.8*cm, topMargin=1.5*cm, bottomMargin=1.5*cm ) # ── Base styles ────────────────────────────────────────────────────────────── base = getSampleStyleSheet() def S(name, **kw): ps = ParagraphStyle(name, **kw) return ps title_style = S("Title", fontName="Helvetica-Bold", fontSize=20, textColor=WHITE, alignment=TA_CENTER, spaceAfter=4) subtitle_style = S("Subtitle", fontName="Helvetica", fontSize=11, textColor=LIGHT_BLUE, alignment=TA_CENTER, spaceAfter=2) section_hdr = S("SectionHdr", fontName="Helvetica-Bold", fontSize=12, textColor=WHITE, alignment=TA_LEFT, spaceAfter=2, spaceBefore=2) body = S("Body", fontName="Helvetica", fontSize=9.5, textColor=BLACK, leading=14, spaceAfter=4) body_bold = S("BodyBold", fontName="Helvetica-Bold", fontSize=9.5, textColor=DARK_BLUE, leading=14, spaceAfter=4) small = S("Small", fontName="Helvetica", fontSize=8.5, textColor=colors.grey, leading=12, spaceAfter=2) formula_style = S("Formula", fontName="Helvetica-Bold", fontSize=11, textColor=DARK_BLUE, alignment=TA_CENTER, spaceAfter=6, spaceBefore=6) note_style = S("Note", fontName="Helvetica-Oblique", fontSize=8.5, textColor=HexColor("#555555"), leading=12, spaceAfter=2) bullet_style = S("Bullet", fontName="Helvetica", fontSize=9.5, textColor=BLACK, leading=14, spaceAfter=3, leftIndent=12, bulletIndent=0) # ── Helper: section header row (full-width blue band) ──────────────────────── def section_header(text): t = Table([[Paragraph(text, section_hdr)]], colWidths=[17.4*cm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 8), ("RIGHTPADDING", (0,0), (-1,-1), 8), ("BOX", (0,0), (-1,-1), 0.5, MED_BLUE), ])) return t # ── Helper: formula box ─────────────────────────────────────────────────────── def formula_box(lines): rows = [[Paragraph(l, formula_style)] for l in lines] t = Table(rows, colWidths=[17.4*cm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), ACCENT), ("BOX", (0,0), (-1,-1), 1.5, MED_BLUE), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6), ("LEFTPADDING", (0,0), (-1,-1), 10), ("RIGHTPADDING", (0,0), (-1,-1), 10), ])) return t # ── TITLE BANNER ───────────────────────────────────────────────────────────── banner_data = [[ Paragraph("OXYGEN CONTENT OF BLOOD", title_style), Paragraph("Quick Reference Guide", subtitle_style), Paragraph("Physiology • Anaesthesia • Critical Care • Emergency Medicine", subtitle_style), ]] banner = Table([ [Paragraph("OXYGEN CONTENT OF BLOOD", title_style)], [Paragraph("Quick Reference Guide", subtitle_style)], [Paragraph("Physiology • Anaesthesia • Critical Care • Emergency Medicine", subtitle_style)], ], colWidths=[17.4*cm]) banner.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE), ("BOX", (0,0), (-1,-1), 2, MED_BLUE), ("TOPPADDING", (0,0), (-1,-1), 10), ("BOTTOMPADDING", (0,0), (-1,-1), 10), ("LEFTPADDING", (0,0), (-1,-1), 8), ("RIGHTPADDING", (0,0), (-1,-1), 8), ])) # ═══════════════════════════════════════════════════════════════════════════════ # BUILD STORY # ═══════════════════════════════════════════════════════════════════════════════ story = [] story.append(banner) story.append(Spacer(1, 0.35*cm)) # ── SECTION 1: CORE FORMULA ────────────────────────────────────────────────── story.append(section_header("1. CORE FORMULA — Arterial Oxygen Content (CaO₂)")) story.append(Spacer(1, 0.2*cm)) story.append(formula_box([ "CaO₂ = (Hb × 1.34 × SaO₂) + (PaO₂ × 0.003)", "Units: mL O₂ per 100 mL blood (mL/dL)" ])) story.append(Spacer(1, 0.2*cm)) # Variables table var_data = [ [Paragraph("<b>Variable</b>", body_bold), Paragraph("<b>Meaning</b>", body_bold), Paragraph("<b>Normal Value</b>", body_bold), Paragraph("<b>Units</b>", body_bold)], [Paragraph("Hb", body), Paragraph("Haemoglobin concentration", body), Paragraph("15 (male) / 13 (female)", body), Paragraph("g/dL", body)], [Paragraph("1.34", body), Paragraph("O₂-binding capacity of Hb (Hüfner's constant)", body), Paragraph("Fixed constant", body), Paragraph("mL O₂/g Hb", body)], [Paragraph("SaO₂", body), Paragraph("Arterial O₂ saturation", body), Paragraph("0.97 (97%)", body), Paragraph("fraction (0–1)", body)], [Paragraph("0.003", body), Paragraph("O₂ solubility coefficient in plasma", body), Paragraph("Fixed constant", body), Paragraph("mL O₂/dL/mmHg", body)], [Paragraph("PaO₂", body), Paragraph("Partial pressure of arterial O₂", body), Paragraph("80–100", body), Paragraph("mmHg", body)], ] var_table = Table(var_data, colWidths=[2.2*cm, 6.5*cm, 4.5*cm, 4.2*cm]) var_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), MED_BLUE), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]), ("BOX", (0,0), (-1,-1), 0.5, GREY_MED), ("INNERGRID", (0,0), (-1,-1), 0.3, GREY_MED), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("RIGHTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(var_table) story.append(Spacer(1, 0.3*cm)) # Note on Hüfner's constant story.append(Paragraph( "★ Hüfner's constant: Theoretical maximum is 1.39 mL/g; in vivo value used clinically is <b>1.34</b> " "(accounts for methaemoglobin and other minor variants).", note_style)) story.append(Spacer(1, 0.3*cm)) # ── SECTION 2: VENOUS & MIXED VENOUS ───────────────────────────────────────── story.append(section_header("2. VENOUS OXYGEN CONTENT (CvO₂)")) story.append(Spacer(1, 0.2*cm)) story.append(formula_box([ "CvO₂ = (Hb × 1.34 × SvO₂) + (PvO₂ × 0.003)", ])) story.append(Spacer(1, 0.15*cm)) venous_data = [ [Paragraph("<b>Parameter</b>", body_bold), Paragraph("<b>Normal Range</b>", body_bold), Paragraph("<b>Clinical Significance</b>", body_bold)], [Paragraph("CvO₂", body), Paragraph("12–15 mL/dL", body), Paragraph("Mixed venous O₂ content from PA catheter", body)], [Paragraph("SvO₂", body), Paragraph("70–75%", body), Paragraph("Mixed venous saturation; ↓ = ↑ O₂ extraction or ↓ delivery", body)], [Paragraph("PvO₂", body), Paragraph("35–45 mmHg", body), Paragraph("Partial pressure in mixed venous blood", body)], ] v_table = Table(venous_data, colWidths=[2.5*cm, 4.2*cm, 10.7*cm]) v_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), MED_BLUE), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]), ("BOX", (0,0), (-1,-1), 0.5, GREY_MED), ("INNERGRID", (0,0), (-1,-1), 0.3, GREY_MED), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("RIGHTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(v_table) story.append(Spacer(1, 0.3*cm)) # ── SECTION 3: OXYGEN DELIVERY & FICK ──────────────────────────────────────── story.append(section_header("3. OXYGEN DELIVERY (DO₂) & FICK PRINCIPLE")) story.append(Spacer(1, 0.2*cm)) left_col = [ formula_box(["DO₂ = CaO₂ × CO × 10"]), Spacer(1, 0.15*cm), Paragraph("<b>DO₂</b> = Oxygen delivery (mL/min)", body), Paragraph("<b>CO</b> = Cardiac output (L/min)", body), Paragraph("<b>×10</b> = unit conversion (dL → L)", body), Spacer(1, 0.15*cm), Paragraph("<b>Normal DO₂:</b> 950–1150 mL/min", body_bold), ] right_col = [ formula_box(["VO₂ = CO × (CaO₂ − CvO₂) × 10"]), Spacer(1, 0.15*cm), Paragraph("<b>VO₂</b> = Oxygen consumption (mL/min)", body), Paragraph("Normal VO₂: <b>200–250 mL/min</b>", body), Spacer(1, 0.15*cm), Paragraph("<b>O₂ Extraction Ratio (ERO₂):</b>", body_bold), Paragraph("ERO₂ = VO₂ / DO₂ [Normal: 20–30%]", body), ] two_col = Table( [[left_col, right_col]], colWidths=[8.5*cm, 8.9*cm] ) two_col.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 0), ("RIGHTPADDING", (0,0), (-1,-1), 4), ("TOPPADDING", (0,0), (-1,-1), 0), ("BOTTOMPADDING", (0,0), (-1,-1), 0), ])) story.append(two_col) story.append(Spacer(1, 0.3*cm)) # ── SECTION 4: WORKED EXAMPLES ──────────────────────────────────────────────── story.append(section_header("4. WORKED EXAMPLES")) story.append(Spacer(1, 0.2*cm)) ex_data = [ # Header [Paragraph("<b>Scenario</b>", body_bold), Paragraph("<b>Hb (g/dL)</b>", body_bold), Paragraph("<b>SaO₂ (%)</b>", body_bold), Paragraph("<b>PaO₂ (mmHg)</b>", body_bold), Paragraph("<b>CaO₂ (mL/dL)</b>", body_bold), Paragraph("<b>Key Point</b>", body_bold)], # Normal adult [Paragraph("Normal adult", body), Paragraph("15", body), Paragraph("97", body), Paragraph("100", body), Paragraph("15 × 1.34 × 0.97 + 0.3\n= <b>19.8 + 0.3 = 20.1</b>", body), Paragraph("Baseline reference", body)], # Anaemia Hb 10 [Paragraph("Anaemia (Hb 10)", body), Paragraph("10", body), Paragraph("97", body), Paragraph("100", body), Paragraph("10 × 1.34 × 0.97 + 0.3\n= <b>13.0 + 0.3 ≈ 13</b>", body), Paragraph("~35% ↓ vs normal", body)], # Severe anaemia [Paragraph("Severe anaemia (Hb 7)", body), Paragraph("7", body), Paragraph("97", body), Paragraph("100", body), Paragraph("7 × 1.34 × 0.97 + 0.3\n= <b>9.1 + 0.3 ≈ 9.4</b>", body), Paragraph("Transfusion threshold", body)], # Hypoxia low sat [Paragraph("Hypoxia (SaO₂ 85%)", body), Paragraph("15", body), Paragraph("85", body), Paragraph("50", body), Paragraph("15 × 1.34 × 0.85 + 0.15\n= <b>17.1 + 0.15 ≈ 17.2</b>", body), Paragraph("Low sat despite normal Hb", body)], # Hyperoxia [Paragraph("Hyperoxia (PaO₂ 500)", body), Paragraph("15", body), Paragraph("100", body), Paragraph("500", body), Paragraph("15 × 1.34 × 1.0 + 1.5\n= <b>20.1 + 1.5 = 21.6</b>", body), Paragraph("Dissolved O₂ still minor", body)], # CO poisoning [Paragraph("CO poisoning (50% COHb)", body), Paragraph("15", body), Paragraph("50", body), Paragraph("100", body), Paragraph("15 × 1.34 × 0.50 + 0.3\n= <b>10.1 + 0.3 ≈ 10.4</b>", body), Paragraph("SpO₂ may read falsely normal", body)], ] ex_table = Table(ex_data, colWidths=[3.5*cm, 1.8*cm, 1.8*cm, 2.2*cm, 4.5*cm, 3.6*cm]) ex_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), MED_BLUE), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]), ("BOX", (0,0), (-1,-1), 0.5, GREY_MED), ("INNERGRID", (0,0), (-1,-1), 0.3, GREY_MED), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 5), ("RIGHTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), # Highlight the Hb 10 row (exam question row) ("BACKGROUND", (0,2), (-1,2), HexColor("#fff3cd")), ("TEXTCOLOR", (4,2), (4,2), RED), ])) story.append(ex_table) story.append(Spacer(1, 0.15*cm)) story.append(Paragraph("★ Yellow row = the MCQ scenario (Hb 10 g/dL) — answer is ~13 mL/100 mL blood.", note_style)) story.append(Spacer(1, 0.3*cm)) # ── SECTION 5: NORMAL VALUES SUMMARY ───────────────────────────────────────── story.append(section_header("5. NORMAL VALUES AT A GLANCE")) story.append(Spacer(1, 0.2*cm)) norm_data = [ [Paragraph("<b>Parameter</b>", body_bold), Paragraph("<b>Arterial</b>", body_bold), Paragraph("<b>Mixed Venous</b>", body_bold), Paragraph("<b>Unit</b>", body_bold)], [Paragraph("O₂ content (C)", body), Paragraph("18–21", body), Paragraph("12–15", body), Paragraph("mL/dL", body)], [Paragraph("O₂ saturation (S)", body), Paragraph("97%", body), Paragraph("70–75%", body), Paragraph("%", body)], [Paragraph("PO₂", body), Paragraph("80–100", body), Paragraph("35–45", body), Paragraph("mmHg", body)], [Paragraph("Haemoglobin (Hb)", body), Paragraph("13–17", body), Paragraph("—", body), Paragraph("g/dL", body)], [Paragraph("Hüfner's constant", body), Paragraph("1.34", body), Paragraph("1.34", body), Paragraph("mL O₂/g Hb", body)], [Paragraph("O₂ solubility", body), Paragraph("0.003", body), Paragraph("0.003", body), Paragraph("mL/dL/mmHg", body)], [Paragraph("DO₂", body), Paragraph("950–1150", body), Paragraph("—", body), Paragraph("mL/min", body)], [Paragraph("VO₂", body), Paragraph("200–250", body), Paragraph("—", body), Paragraph("mL/min", body)], [Paragraph("O₂ Extraction Ratio", body), Paragraph("20–30%", body), Paragraph("—", body), Paragraph("%", body)], ] norm_table = Table(norm_data, colWidths=[5.0*cm, 4.0*cm, 4.5*cm, 3.9*cm]) norm_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), MED_BLUE), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]), ("BOX", (0,0), (-1,-1), 0.5, GREY_MED), ("INNERGRID", (0,0), (-1,-1), 0.3, GREY_MED), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("RIGHTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(norm_table) story.append(Spacer(1, 0.3*cm)) # ── SECTION 6: CLINICAL PEARLS ──────────────────────────────────────────────── story.append(section_header("6. CLINICAL PEARLS & EXAM TIPS")) story.append(Spacer(1, 0.15*cm)) pearls = [ ("<b>Hb dominates CaO₂:</b>", "Dissolved O₂ (PaO₂ × 0.003) contributes &lt;2% under normal conditions. " "Raising Hb from 10 → 15 g/dL adds ~7 mL/dL O₂; raising PaO₂ from 100 → 500 mmHg only adds ~1.2 mL/dL."), ("<b>Quick mental maths:</b>", "CaO₂ ≈ Hb × 1.34 × 0.97 ≈ Hb × 1.3. " "So Hb 15 → ~19.5, Hb 10 → ~13, Hb 7 → ~9.1"), ("<b>Proportional scaling:</b>", "CaO₂ scales nearly linearly with Hb (at fixed saturation). " "CaO₂ at Hb 10 ≈ (10/15) × 20.1 ≈ 13.4 mL/dL"), ("<b>CO poisoning trap:</b>", "Pulse oximetry reads COHb as oxyHb → falsely normal SpO₂. " "True SaO₂ is much lower; must use co-oximetry ABG."), ("<b>Anaemia vs hypoxia:</b>", "Both reduce DO₂ but via different components. " "Anaemia targets the Hb term; hypoxia targets SaO₂. Tissue compensates via ↑ ERO₂."), ("<b>Fick equation:</b>", "CO = VO₂ / [(CaO₂ − CvO₂) × 10]. Gold standard for cardiac output measurement."), ("<b>Transfusion trigger:</b>", "Hb &lt;7–8 g/dL in stable patients (restrictive strategy); " "higher threshold in cardiac/ACS patients (Hb &lt;10 often used)."), ] for bold_label, text in pearls: row_data = [[ Paragraph(bold_label, body_bold), Paragraph(text, body), ]] row_t = Table(row_data, colWidths=[4.2*cm, 13.2*cm]) row_t.setStyle(TableStyle([ ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (0,-1), 6), ("RIGHTPADDING", (0,0), (0,-1), 4), ("TOPPADDING", (0,0), (-1,-1), 3), ("BOTTOMPADDING", (0,0), (-1,-1), 3), ("LINEBELOW", (0,0), (-1,-1), 0.3, GREY_MED), ])) story.append(row_t) story.append(Spacer(1, 0.3*cm)) # ── FOOTER ─────────────────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=1, color=MED_BLUE)) story.append(Spacer(1, 0.1*cm)) footer_data = [[ Paragraph("Sources: Guyton & Hall Medical Physiology | Harrison's Principles | Frameworks for Internal Medicine | Barash Clinical Anaesthesia", small), Paragraph("Orris Quick Reference | Oxygen Content of Blood | v1.0", small), ]] footer_t = Table(footer_data, colWidths=[11*cm, 6.4*cm]) footer_t.setStyle(TableStyle([ ("ALIGN", (1,0), (1,0), "RIGHT"), ("VALIGN", (0,0), (-1,-1), "TOP"), ("LEFTPADDING", (0,0), (-1,-1), 0), ("RIGHTPADDING", (0,0), (-1,-1), 0), ("TOPPADDING", (0,0), (-1,-1), 3), ])) story.append(footer_t) # ── BUILD ───────────────────────────────────────────────────────────────────── doc.build(story) print(f"PDF created: {OUTPUT}") PYEOF python /tmp/workspace/oxygen-content-pdf/build_pdf.py

Your PDF is ready:

Oxygen Content Quick Reference

PDF Document · PDF


Here's what's inside the single-page A4 reference:
Section 1 - Core Formula The full CaO₂ equation with a variables table covering Hb, Hüfner's constant (1.34), SaO₂, dissolved O₂ coefficient (0.003), and PaO₂ - with normal values and units for each.
Section 2 - Venous Oxygen Content (CvO₂) The CvO₂ formula with normal ranges for SvO₂ and PvO₂ and their clinical significance.
Section 3 - Oxygen Delivery & Fick Principle DO₂ and VO₂ formulas side by side, plus the O₂ Extraction Ratio.
Section 4 - Worked Examples Six scenarios in a colour-coded table: normal adult, anaemia Hb 10 (your MCQ - highlighted in yellow), severe anaemia Hb 7, hypoxia, hyperoxia, and CO poisoning.
Section 5 - Normal Values at a Glance Arterial vs mixed venous comparison for all key parameters.
Section 6 - Clinical Pearls Seven exam-focused tips including the "Hb dominates CaO₂" rule, quick mental maths shortcuts, the CO poisoning oximetry trap, and transfusion triggers.
This is a shared conversation. Sign in to Orris to start your own chat.