Hey, please give some idea vitamins for physiology model.
| Vitamin | Coenzyme | Key Reaction |
|---|---|---|
| B1 | TPP | Oxidative decarboxylation (Pyr DH, α-KG DH) |
| B2 | FAD/FMN | ETC, β-oxidation |
| B3 | NAD⁺/NADP⁺ | Redox reactions (major electron carrier) |
| B5 | CoA | Acetyl-CoA, fatty acid synthesis |
| B6 | PLP | Transamination, decarboxylation, heme |
| B7 | Biocytin | CO2 fixation (carboxylases) |
| B9 | THF | 1-carbon transfers, purine/pyrimidine synthesis |
| B12 | Methylcobalamin, Adenosylcobalamin | Homocysteine → methionine; methylmalonyl-CoA → succinyl-CoA |
| C | (direct) | Proline/lysine hydroxylation, antioxidant |
| A | Retinal | Visual cycle (rhodopsin) |
| D | 1,25-(OH)2D3 | Ca/PO4 homeostasis |
| K | γ-carboxyglutamate | Clotting factors II, VII, IX, X |
| Vitamin | Classic Disease |
|---|---|
| A | Night blindness, Xerophthalmia |
| D | Rickets (children), Osteomalacia (adults) |
| E | Hemolytic anemia, Spinocerebellar ataxia |
| K | Bleeding (↑PT), HDN in neonates |
| B1 | Beriberi, Wernicke-Korsakoff |
| B2 | Angular cheilitis, Glossitis |
| B3 | Pellagra (4 Ds) |
| B6 | Sideroblastic anemia, INH neuropathy |
| B7 | Dermatitis, alopecia (raw egg whites) |
| B9 | Megaloblastic anemia, Neural tube defects |
| B12 | Megaloblastic anemia + Subacute combined degeneration |
| C | Scurvy |
Create a quick reference PDF summarizing vitamin deficiency diseases
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/vitamins-pdf && python3 << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import cm from reportlab.platypus import ( SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer, HRFlowable, KeepTogether ) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER, TA_LEFT from reportlab.platypus import PageBreak # ── Output path ────────────────────────────────────────────────────────────── OUTPUT = "/tmp/workspace/vitamins-pdf/Vitamin_Deficiency_Quick_Reference.pdf" # ── Document ───────────────────────────────────────────────────────────────── doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=1.8*cm, rightMargin=1.8*cm, topMargin=1.8*cm, bottomMargin=1.8*cm, title="Vitamin Deficiency Quick Reference", author="Orris Medical Assistant", ) # ── Colours ────────────────────────────────────────────────────────────────── NAVY = colors.HexColor("#1A3557") TEAL = colors.HexColor("#0D7680") GOLD = colors.HexColor("#F0A500") ORANGE = colors.HexColor("#E85D04") LIGHT_BG = colors.HexColor("#F0F6FA") ALT_ROW = colors.HexColor("#E8F4F8") WHITE = colors.white DARK_TEXT = colors.HexColor("#1A1A2E") BORDER = colors.HexColor("#B0C4D8") # ── Styles ─────────────────────────────────────────────────────────────────── styles = getSampleStyleSheet() title_style = ParagraphStyle( "Title", fontName="Helvetica-Bold", fontSize=22, textColor=WHITE, alignment=TA_CENTER, spaceAfter=4, ) subtitle_style = ParagraphStyle( "Subtitle", fontName="Helvetica", fontSize=11, textColor=colors.HexColor("#C8E0F0"), alignment=TA_CENTER, ) section_style = ParagraphStyle( "Section", fontName="Helvetica-Bold", fontSize=13, textColor=WHITE, alignment=TA_CENTER, ) col_hdr_style = ParagraphStyle( "ColHdr", fontName="Helvetica-Bold", fontSize=8, textColor=WHITE, alignment=TA_CENTER, ) cell_style = ParagraphStyle( "Cell", fontName="Helvetica", fontSize=7.5, textColor=DARK_TEXT, leading=10, ) cell_bold = ParagraphStyle( "CellBold", fontName="Helvetica-Bold", fontSize=8, textColor=NAVY, ) mnemonic_style = ParagraphStyle( "Mnemonic", fontName="Helvetica-Oblique", fontSize=7.5, textColor=ORANGE, ) disease_style = ParagraphStyle( "Disease", fontName="Helvetica-Bold", fontSize=8, textColor=TEAL, ) note_style = ParagraphStyle( "Note", fontName="Helvetica", fontSize=7, textColor=colors.HexColor("#555555"), leading=9, ) footer_style = ParagraphStyle( "Footer", fontName="Helvetica-Oblique", fontSize=7, textColor=colors.HexColor("#888888"), alignment=TA_CENTER, ) # ── Helper ──────────────────────────────────────────────────────────────────── def p(text, style=None): if style is None: style = cell_style return Paragraph(text, style) def section_banner(text, color=NAVY): tbl = Table([[Paragraph(text, section_style)]], colWidths=[17.4*cm]) tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), color), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6), ("ROUNDEDCORNERS", [4]), ])) return tbl # ── Data ───────────────────────────────────────────────────────────────────── # Columns: Vitamin | Coenzyme/Active form | Key Physiology | Deficiency Disease | Classic Signs & Symptoms | Mnemonic / Trap fat_headers = [ p("VITAMIN", col_hdr_style), p("ACTIVE FORM", col_hdr_style), p("KEY PHYSIOLOGY", col_hdr_style), p("DEFICIENCY DISEASE", col_hdr_style), p("CLASSIC SIGNS & SYMPTOMS", col_hdr_style), p("MNEMONIC / HIGH-YIELD TRAP", col_hdr_style), ] fat_data = [ [ p("A\n(Retinol)", cell_bold), p("Retinal\nRetinoic acid"), p("Visual pigment (rhodopsin)\nEpithelial differentiation\nImmune function"), p("Xerophthalmia\nNight blindness", disease_style), p("• Night blindness (earliest)\n• Bitot's spots (conjunctiva)\n• Xerophthalmia → corneal ulceration\n• Follicular hyperkeratosis"), p("'3 Nights in Bitot's Hotel'\nToxicity: teratogenic (avoid in pregnancy)"), ], [ p("D\n(Calciferol)", cell_bold), p("1,25-(OH)₂D₃\n(Calcitriol)"), p("UV → D₃ (skin) → 25(OH)D (liver) → 1,25(OH)₂D₃ (kidney, PTH-stimulated)\nCa²⁺ & PO₄ absorption↑"), p("Rickets (children)\nOsteomalacia (adults)", disease_style), p("• Rickets: bowing of legs, rachitic rosary, craniotabes\n• Osteomalacia: bone pain, proximal myopathy, Looser zones\n• Contributes to osteoporosis"), p("'D for Density'\nRenal failure → lost 1α-hydroxylase → renal osteodystrophy"), ], [ p("E\n(Tocopherol)", cell_bold), p("α-Tocopherol"), p("Lipid-soluble antioxidant\nProtects PUFAs in cell membranes\nProtects RBC membranes"), p("Hemolytic anemia\nSpinoCerebellar ataxia", disease_style), p("• Hemolytic anemia (fragile RBCs)\n• Spinocerebellar degeneration, ataxia\n• ↓ DTRs, peripheral neuropathy\n• Ophthalmoplegia (severe)"), p("Rare; seen in fat malabsorption & premature neonates\n'E for Extra neural & Erythrocyte protection'"), ], [ p("K\n(Phytonadione)", cell_bold), p("Vitamin K (reduced form)"), p("γ-Carboxylation of Glu residues on clotting factors II, VII, IX, X + Proteins C & S; osteocalcin"), p("Bleeding diathesis\nHemorrhagic Disease of Newborn (HDN)", disease_style), p("• ↑ PT / INR; normal aPTT initially\n• Easy bruising, gingival bleeding\n• HDN in neonates → give IM at birth\n• Antibiotics → ↓ gut flora → deficiency"), p("'K = Koagulation (II, VII, IX, X + C, S)'\nWarfarin blocks VKOR → blocks K recycling"), ], ] water_data = [ [ p("B₁\n(Thiamine)", cell_bold), p("TPP\n(Thiamine PyroPhosphate)"), p("Pyruvate DH, α-KG DH, Transketolase (HMP shunt), Branched-chain α-keto acid DH"), p("Beriberi\nWernicke-Korsakoff", disease_style), p("• Dry beriberi: peripheral neuropathy\n• Wet beriberi: high-output cardiac failure + edema\n• Wernicke: Confusion, Ataxia, Ophthalmoplegia (CAO)\n• Korsakoff: confabulation + amnesia"), p("'CAO' = Confusion, Ataxia, Ophthalmoplegia\nAlcohol + poor diet = classic setup\n↑ blood pyruvate, ↓ RBC transketolase"), ], [ p("B₂\n(Riboflavin)", cell_bold), p("FAD, FMN"), p("Electron carriers in ETC & β-oxidation; component of flavoproteins"), p("Angular stomatitis\nGlossitis", disease_style), p("• Angular cheilitis (cracks at mouth corners)\n• Magenta/glossy tongue\n• Corneal vascularization\n• Scrotal/vulval dermatitis"), p("'B2 = 2 Lips'\nCheilitis + glossitis are the pair to remember"), ], [ p("B₃\n(Niacin)", cell_bold), p("NAD⁺, NADP⁺"), p("Major redox electron carrier in metabolism. Made from tryptophan (60:1 ratio). Pharmacologic doses lower TG, raise HDL"), p("Pellagra\n'4 Ds'", disease_style), p("• Dermatitis (photosensitive, Casal's necklace)\n• Diarrhea\n• Dementia / Depression\n• Death (if untreated)"), p("Hartnup disease = tryptophan transport defect → pellagra-like rash\nHigh-dose niacin → flushing (block with aspirin)"), ], [ p("B₅\n(Pantothenic acid)", cell_bold), p("Coenzyme A (CoA)\nACP"), p("Acetyl-CoA formation, TCA cycle, fatty acid synthesis, acyl carrier protein"), p("Burning feet syndrome\n(very rare)", disease_style), p("• Paresthesias (burning feet)\n• Fatigue, headache, nausea\n• Impaired wound healing"), p("Deficiency extremely rare in humans - pantothenic = 'from everywhere' (Greek)"), ], [ p("B₆\n(Pyridoxine)", cell_bold), p("PLP\n(Pyridoxal Phosphate)"), p("Transamination (ALT/AST), decarboxylation → neurotransmitters (GABA, serotonin, dopamine), heme synthesis (ALAS), glycogen phosphorylase"), p("Sideroblastic anemia\nNeuropathy", disease_style), p("• Sideroblastic anemia (↓ heme synthesis; ring sideroblasts on Prussian blue)\n• Peripheral neuropathy\n• Cheilitis, glossitis, seborrheic dermatitis"), p("INH (isoniazid) & OCP → B₆ deficiency → give pyridoxine prophylactically\n'B6 = Brain transmitters + Blood (heme)'"), ], [ p("B₇\n(Biotin)", cell_bold), p("Biocytin\n(biotin-lysine)"), p("CO₂ fixation: Pyruvate carboxylase (gluconeogenesis), Acetyl-CoA carboxylase (FA synthesis), Propionyl-CoA carboxylase"), p("Dermatitis\nAlopecia", disease_style), p("• Scaly dermatitis, alopecia\n• Glossitis, conjunctivitis\n• Neurological: depression, lethargy, paresthesias"), p("Raw egg whites contain AVIDIN → binds biotin → deficiency\nBroad-spectrum antibiotics also cause deficiency"), ], [ p("B₉\n(Folate)", cell_bold), p("THF\n(Tetrahydrofolate)"), p("1-carbon transfers: purine synthesis, dTMP synthesis (thymidylate synthase), Hcy → methionine (needs B₁₂)"), p("Megaloblastic anemia\nNeural tube defects", disease_style), p("• Megaloblastic anemia: ↑ MCV, hypersegmented neutrophils\n• Neural tube defects (spina bifida, anencephaly)\n• ↑ Homocysteine"), p("Methotrexate & Trimethoprim inhibit DHFR → functional folate deficiency\nSupplement periconceptionally to prevent NTDs"), ], [ p("B₁₂\n(Cobalamin)", cell_bold), p("Methylcobalamin\nAdenosylcobalamin"), p("Hcy → methionine (methyl-cobalamin); methylmalonyl-CoA → succinyl-CoA (adenosyl-cobalamin). Requires intrinsic factor (IF) for ileal absorption"), p("Megaloblastic anemia + Subacute Combined Degeneration", disease_style), p("• Megaloblastic anemia (same as folate)\n• Subacute combined degeneration (dorsal + lateral spinal cord)\n• Peripheral neuropathy, glossitis\n• ↑ Methylmalonate + ↑ Homocysteine"), p("KEY: B₁₂ deficiency = anemia + neurology; Folate = anemia ONLY\nPernicious anemia = anti-IF antibodies (commonest cause)"), ], [ p("C\n(Ascorbic acid)", cell_bold), p("Ascorbate\n(direct cofactor)"), p("Proline & lysine hydroxylation in collagen synthesis, antioxidant (regenerates Vit E), non-heme iron absorption ↑, dopamine → norepinephrine"), p("Scurvy", disease_style), p("• Perifollicular hemorrhages, corkscrew hairs\n• Bleeding/swollen gums\n• Poor wound healing\n• Periosteal hemorrhage in children\n• Hemarthrosis, anemia"), p("'C = Collagen Cross-links Crumble'\nScorbutic rosary; Trümmerfeld zone (X-ray in children)"), ], ] # ── Assemble story ──────────────────────────────────────────────────────────── story = [] # ── Title block ─────────────────────────────────────────────────────────────── title_tbl = Table( [[p("VITAMIN DEFICIENCY QUICK REFERENCE", title_style)], [p("Physiology · Biochemistry · Clinical Features · Mnemonics", subtitle_style)]], colWidths=[17.4*cm] ) title_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), NAVY), ("TOPPADDING", (0,0), (-1,-1), 14), ("BOTTOMPADDING", (0,0), (-1,-1), 10), ("ROUNDEDCORNERS", [6]), ])) story.append(title_tbl) story.append(Spacer(1, 0.4*cm)) # ── Legend ───────────────────────────────────────────────────────────────────── legend = Table( [[p("● Disease name in teal ● Mnemonic / exam trap in orange ● Sources: Goldman-Cecil Medicine; Harrison's Principles of Internal Medicine 22E", note_style)]], colWidths=[17.4*cm] ) legend.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), colors.HexColor("#FFF8E8")), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 8), ("BOX", (0,0), (-1,-1), 0.5, GOLD), ("ROUNDEDCORNERS", [3]), ])) story.append(legend) story.append(Spacer(1, 0.5*cm)) # ── TABLE BUILDER ───────────────────────────────────────────────────────────── COL_WIDTHS = [1.8*cm, 2.2*cm, 3.4*cm, 2.6*cm, 4.0*cm, 3.4*cm] def build_vitamin_table(header_row, data_rows, header_bg): rows = [header_row] + data_rows tbl = Table(rows, colWidths=COL_WIDTHS, repeatRows=1) style_cmds = [ # Header ("BACKGROUND", (0,0), (-1,0), header_bg), ("TOPPADDING", (0,0), (-1,0), 7), ("BOTTOMPADDING", (0,0), (-1,0), 7), # Grid ("GRID", (0,0), (-1,-1), 0.4, BORDER), ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, ALT_ROW]), # Cell padding ("TOPPADDING", (0,1), (-1,-1), 5), ("BOTTOMPADDING", (0,1), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 5), ("RIGHTPADDING", (0,0), (-1,-1), 5), # Valign ("VALIGN", (0,0), (-1,-1), "TOP"), ] tbl.setStyle(TableStyle(style_cmds)) return tbl # ── FAT-SOLUBLE SECTION ─────────────────────────────────────────────────────── story.append(section_banner("FAT-SOLUBLE VITAMINS (A · D · E · K)", NAVY)) story.append(Spacer(1, 0.25*cm)) story.append(build_vitamin_table(fat_headers, fat_data, NAVY)) story.append(Spacer(1, 0.6*cm)) # ── WATER-SOLUBLE SECTION ───────────────────────────────────────────────────── story.append(section_banner("WATER-SOLUBLE VITAMINS (B-Complex · C)", TEAL)) story.append(Spacer(1, 0.25*cm)) story.append(build_vitamin_table(fat_headers, water_data, TEAL)) story.append(Spacer(1, 0.6*cm)) # ── KEY DISTINCTIONS BOX ────────────────────────────────────────────────────── distinctions = [ ["#", "HIGH-YIELD TRAP", "CLINICAL PEARL"], ["1", "B₁₂ vs Folate deficiency", "BOTH cause megaloblastic anemia. Only B₁₂ causes subacute combined degeneration (SCD). Treating B₁₂ deficiency with folate alone corrects anemia but neuropathy progresses — DANGEROUS."], ["2", "Vitamin D synthesis chain", "UV → D₃ (skin) → 25(OH)D (liver) → 1,25(OH)₂D₃ (kidney, PTH-stimulated). Chronic renal failure blocks the last step → renal osteodystrophy."], ["3", "Vitamin K & warfarin", "Warfarin inhibits VKOR (Vitamin K Epoxide Reductase) → blocks recycling of Vit K → impairs factors II, VII, IX, X synthesis. Reversal: FFP (immediate) or Vit K (6-24h)."], ["4", "Scurvy vs Rickets", "Both affect children/bone. Scurvy = collagen defect (perifollicular hemorrhage, bleeding gums). Rickets = Ca/PO₄/D defect (rachitic rosary, epiphyseal widening)."], ["5", "INH (isoniazid) → B₆ deficiency", "INH inhibits pyridoxine kinase → ↓ PLP → peripheral neuropathy + sideroblastic anemia. Give pyridoxine (B₆) prophylactically with INH."], ["6", "Vitamin A teratogenicity", "Excess Vitamin A (>4,500 μg/day) and retinoic acid analogs (isotretinoin) are teratogenic. Excess carotenoids are harmless (orange skin only)."], ] trap_tbl = Table( distinctions, colWidths=[0.5*cm, 4.5*cm, 12.4*cm], repeatRows=1, ) trap_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), ORANGE), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"), ("FONTSIZE", (0,0), (-1,0), 8), ("ALIGN", (0,0), (-1,0), "CENTER"), ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, colors.HexColor("#FFF4E8")]), ("FONTNAME", (0,1), (-1,-1), "Helvetica"), ("FONTSIZE", (0,1), (-1,-1), 7.5), ("VALIGN", (0,0), (-1,-1), "TOP"), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 5), ("RIGHTPADDING", (0,0), (-1,-1), 5), ("GRID", (0,0), (-1,-1), 0.4, BORDER), ("FONTNAME", (1,1), (1,-1), "Helvetica-Bold"), ("TEXTCOLOR", (1,1), (1,-1), ORANGE), ("ALIGN", (0,1), (0,-1), "CENTER"), ])) banner2 = Table([[Paragraph("HIGH-YIELD EXAM TRAPS & CLINICAL PEARLS", section_style)]], colWidths=[17.4*cm]) banner2.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), ORANGE), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6), ("ROUNDEDCORNERS", [4]), ])) story.append(banner2) story.append(Spacer(1, 0.25*cm)) story.append(trap_tbl) story.append(Spacer(1, 0.6*cm)) # ── QUICK SUMMARY TABLE ─────────────────────────────────────────────────────── summary_banner = Table([[Paragraph("QUICK SUMMARY: VITAMIN → DISEASE → COENZYME", section_style)]], colWidths=[17.4*cm]) summary_banner.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), colors.HexColor("#5C3D99")), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6), ("ROUNDEDCORNERS", [4]), ])) story.append(summary_banner) story.append(Spacer(1, 0.25*cm)) summary_col_hdr = ParagraphStyle("SCH", fontName="Helvetica-Bold", fontSize=8, textColor=WHITE, alignment=TA_CENTER) summary_cell = ParagraphStyle("SC", fontName="Helvetica", fontSize=7.5, textColor=DARK_TEXT, leading=10) summary_disease = ParagraphStyle("SD", fontName="Helvetica-Bold", fontSize=7.5, textColor=TEAL) summary_data = [ [p("VITAMIN", summary_col_hdr), p("DEFICIENCY DISEASE", summary_col_hdr), p("COENZYME / KEY ROLE", summary_col_hdr), p("KEY MARKER / TEST", summary_col_hdr)], [p("A"), p("Xerophthalmia, Night blindness", summary_disease), p("Retinal (visual cycle)"), p("Plasma retinol, dark adaptation test")], [p("D"), p("Rickets / Osteomalacia", summary_disease), p("1,25-(OH)₂D₃ (Ca homeostasis)"), p("Serum 25(OH)D (best screening test)")], [p("E"), p("Hemolytic anemia, Ataxia", summary_disease), p("Antioxidant (PUFA protection)"), p("Plasma tocopherol, H₂O₂ RBC hemolysis")], [p("K"), p("Bleeding diathesis, HDN", summary_disease), p("γ-Carboxylation (II,VII,IX,X)"), p("↑ PT/INR, Proteins Induced in Vit K Absence (PIVKA)")], [p("B₁"), p("Beriberi, Wernicke-Korsakoff", summary_disease), p("TPP (oxidative decarboxylation)"), p("↑ Blood pyruvate, ↓ RBC transketolase")], [p("B₂"), p("Angular cheilitis, Glossitis", summary_disease), p("FAD/FMN (ETC, β-oxidation)"), p("Erythrocyte glutathione reductase activity")], [p("B₃"), p("Pellagra (4 Ds)", summary_disease), p("NAD⁺/NADP⁺ (redox)"), p("Urinary N-methylnicotinamide ↓")], [p("B₅"), p("Burning feet syndrome (rare)", summary_disease), p("Coenzyme A (acetyl-CoA)"), p("Whole blood pantothenate")], [p("B₆"), p("Sideroblastic anemia, Neuropathy", summary_disease), p("PLP (transamination, decarboxylation)"), p("Plasma PLP, urinary xanthurenic acid after tryptophan load")], [p("B₇"), p("Dermatitis, Alopecia", summary_disease), p("Carboxylases (CO₂ fixation)"), p("Urinary 3-methylcrotonylglycine ↑")], [p("B₉"), p("Megaloblastic anemia, NTDs", summary_disease), p("THF (1-carbon transfers)"), p("↑ Homocysteine; RBC folate (best), serum folate")], [p("B₁₂"), p("Megaloblastic anemia + SCD", summary_disease), p("Methylcobalamin + Adenosylcobalamin"), p("↑ Methylmalonate + ↑ Homocysteine; Schilling test")], [p("C"), p("Scurvy", summary_disease), p("Collagen hydroxylation, antioxidant"), p("Plasma/leukocyte ascorbate")], ] sum_col_w = [1.5*cm, 4.0*cm, 5.0*cm, 6.9*cm] sum_tbl = Table(summary_data, colWidths=sum_col_w, repeatRows=1) sum_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), colors.HexColor("#5C3D99")), ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, colors.HexColor("#F3EEFF")]), ("GRID", (0,0), (-1,-1), 0.4, BORDER), ("FONTNAME", (0,1), (-1,-1), "Helvetica"), ("FONTSIZE", (0,1), (-1,-1), 7.5), ("VALIGN", (0,0), (-1,-1), "TOP"), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 5), ("RIGHTPADDING", (0,0), (-1,-1), 5), ])) story.append(sum_tbl) story.append(Spacer(1, 0.5*cm)) # ── Footer ──────────────────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "Sources: Goldman-Cecil Medicine (International Edition), Table 199-2; Harrison's Principles of Internal Medicine, 22E (2025, McGraw Hill). " "Generated by Orris Medical Assistant · July 2026. For educational use only.", footer_style )) # ── Build PDF ───────────────────────────────────────────────────────────────── doc.build(story) print("PDF generated:", OUTPUT) EOF
Vitamin Deficiency Quick Reference
PDF Document · PDF
Generate a study guide on vitamin-drug interactions (e.g., INH, warfarin, methotrexate, OCPs)
mkdir -p /tmp/workspace/vitamins-drugs && python3 << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import cm from reportlab.platypus import ( SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer, HRFlowable, KeepTogether, PageBreak ) from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT from reportlab.platypus.flowables import BalancedColumns OUTPUT = "/tmp/workspace/vitamins-drugs/Vitamin_Drug_Interactions_Study_Guide.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, leftMargin=1.6*cm, rightMargin=1.6*cm, topMargin=1.6*cm, bottomMargin=1.6*cm, title="Vitamin-Drug Interactions Study Guide", author="Orris Medical Assistant", ) # ── Colours ────────────────────────────────────────────────────────────────── NAVY = colors.HexColor("#1A3557") TEAL = colors.HexColor("#0D7680") CRIMSON = colors.HexColor("#C0392B") ORANGE = colors.HexColor("#E07B00") PURPLE = colors.HexColor("#5C3D99") GREEN = colors.HexColor("#1A7A4A") SLATE = colors.HexColor("#2C3E50") LIGHT = colors.HexColor("#EAF4FB") ALT = colors.HexColor("#F5FAFD") WARN_BG = colors.HexColor("#FFF8E1") WARN_BDR = colors.HexColor("#F0A500") WHITE = colors.white BORDER = colors.HexColor("#B0C4D8") DARK = colors.HexColor("#1A1A2E") LGRAY = colors.HexColor("#F2F2F2") # ── Styles ─────────────────────────────────────────────────────────────────── def S(name, **kw): return ParagraphStyle(name, **kw) TIT = S("TIT", fontName="Helvetica-Bold", fontSize=24, textColor=WHITE, alignment=TA_CENTER, spaceAfter=2) SUB = S("SUB", fontName="Helvetica", fontSize=10, textColor=colors.HexColor("#C8E0F0"), alignment=TA_CENTER) SHDR = S("SHDR",fontName="Helvetica-Bold", fontSize=12, textColor=WHITE, alignment=TA_CENTER) CHDR = S("CHDR",fontName="Helvetica-Bold", fontSize=8, textColor=WHITE, alignment=TA_CENTER) CBLD = S("CBLD",fontName="Helvetica-Bold", fontSize=8, textColor=DARK, leading=11) CNRM = S("CNRM",fontName="Helvetica", fontSize=7.5,textColor=DARK, leading=10) CRED = S("CRED",fontName="Helvetica-Bold", fontSize=8, textColor=CRIMSON) CGRN = S("CGRN",fontName="Helvetica-Bold", fontSize=8, textColor=GREEN) CORA = S("CORA",fontName="Helvetica-Oblique", fontSize=7.5,textColor=ORANGE) CPPL = S("CPPL",fontName="Helvetica-Bold", fontSize=8, textColor=PURPLE) CTEAL = S("CTEAL",fontName="Helvetica-Bold", fontSize=8, textColor=TEAL) NOTEP = S("NOTEP",fontName="Helvetica", fontSize=7, textColor=colors.HexColor("#555"), leading=9) FOOTP = S("FOOTP",fontName="Helvetica-Oblique",fontSize=7, textColor=colors.HexColor("#888"), alignment=TA_CENTER) BOXH = S("BOXH", fontName="Helvetica-Bold", fontSize=9, textColor=NAVY) BOXT = S("BOXT", fontName="Helvetica", fontSize=8, textColor=DARK, leading=11) QUES = S("QUES", fontName="Helvetica-Bold", fontSize=8, textColor=SLATE, leading=11) ANS = S("ANS", fontName="Helvetica", fontSize=7.5,textColor=DARK, leading=10) def p(txt, st=CNRM): return Paragraph(txt, st) def pb(txt): return Paragraph(txt, CBLD) def pr(txt): return Paragraph(txt, CRED) def pg(txt): return Paragraph(txt, CGRN) def po(txt): return Paragraph(txt, CORA) def pp(txt): return Paragraph(txt, CPPL) def pt(txt): return Paragraph(txt, CTEAL) # ── Banner helpers ──────────────────────────────────────────────────────────── def banner(text, color=NAVY, w=18.2*cm): t = Table([[Paragraph(text, SHDR)]], colWidths=[w]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), color), ("TOPPADDING", (0,0),(-1,-1), 7), ("BOTTOMPADDING", (0,0),(-1,-1), 7), ("LEFTPADDING", (0,0),(-1,-1), 10), ])) return t def box(content_rows, bg=LIGHT, border_color=NAVY): t = Table(content_rows, colWidths=[18.2*cm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), bg), ("BOX", (0,0),(-1,-1), 1, border_color), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 8), ("RIGHTPADDING", (0,0),(-1,-1), 8), ])) return t # ───────────────────────────────────────────────────────────────────────────── # MAIN DRUG-VITAMIN INTERACTION DATA # Each entry: Drug / Drug Class | Vitamin(s) Affected | Mechanism | Consequence | Management | Exam Trap # ───────────────────────────────────────────────────────────────────────────── HDR_ROW = [ p("DRUG / CLASS", CHDR), p("VITAMIN(S) AFFECTED", CHDR), p("MECHANISM", CHDR), p("CONSEQUENCE", CHDR), p("MANAGEMENT", CHDR), p("EXAM TRAP", CHDR), ] COL_W = [2.4*cm, 2.2*cm, 3.8*cm, 3.2*cm, 3.0*cm, 3.6*cm] ROWS = [ # ── INH GROUP ───────────────────────────────────────────────────────────── [ pb("Isoniazid (INH)"), pt("B₆ (Pyridoxine)"), p("INH forms an inactive hydrazone derivative with PLP (pyridoxal phosphate), blocking PLP-dependent enzymes (transamination, decarboxylation, ALAS for heme synthesis)"), pr("• Peripheral neuropathy (stocking-glove)\n• Sideroblastic anemia\n• Pellagra-like rash\n• Seizures (↓ GABA synthesis)"), pg("Pyridoxine 25-50 mg/day with INH, especially in: pregnant/lactating women, elderly, alcoholics, malnourished, diabetics"), po("'INH steals PLP' — the neuropathy is PREVENTABLE with B₆ supplementation. Classic exam: patient on TB treatment develops peripheral neuropathy → give B₆."), ], [ pb("Hydralazine\n(antihypertensive)"), pt("B₆ (Pyridoxine)"), p("Same mechanism as INH — hydralazine structurally resembles pyridoxine and forms inactive adducts with PLP"), pr("• Peripheral neuropathy\n• Drug-induced lupus-like syndrome (unrelated but coexists)"), pg("Pyridoxine supplementation with long-term hydralazine use"), po("Hydralazine + INH = both steal B₆. If a patient is on BOTH, B₆ depletion risk is doubled."), ], [ pb("Cycloserine\n(2nd-line TB drug)"), pt("B₆ (Pyridoxine)\nB₃ (Niacin)"), p("Cycloserine is a structural analog of D-alanine that also antagonizes PLP-dependent reactions; also impairs tryptophan → niacin conversion"), pr("• Peripheral neuropathy\n• Seizures\n• Pellagra-like manifestations"), pg("Pyridoxine 50-100 mg/day; monitor for CNS toxicity"), po("Cycloserine is used in MDR-TB. Watch for CNS effects (psychosis, seizures) exacerbated by B₆/B₃ depletion."), ], # ── ANTICOAGULANTS ───────────────────────────────────────────────────────── [ pb("Warfarin\n(Coumadin)"), pt("Vitamin K"), p("Inhibits Vitamin K Epoxide Reductase (VKOR) → blocks recycling of vitamin K hydroquinone form → prevents γ-carboxylation of clotting factors II, VII, IX, X and Proteins C & S"), pr("• ↑ PT/INR, bleeding risk\n• Early paradoxical hypercoagulability (Protein C has shorter t½ than II, IX, X)\n• Skin necrosis (early, due to Protein C depletion)"), pg("• Monitor INR\n• Reversal: Vitamin K (6-24h) or FFP (immediate)\n• Dietary vitamin K consistency is key — sudden ↑ green vegetables reverses warfarin effect"), po("'VKOR = Warfarin's Target'\nVitamin K-rich foods (leafy greens) REDUCE warfarin effect. Vitamin K supplementation/dietary changes must be accounted for in INR monitoring."), ], # ── ANTIFOLATES ──────────────────────────────────────────────────────────── [ pb("Methotrexate (MTX)\n(cancer, RA, psoriasis)"), pt("Folate (B₉)"), p("Tight competitive inhibition of Dihydrofolate Reductase (DHFR) → blocks conversion of FH₂ → FH₄ (tetrahydrofolate) → depletes 1-carbon donor pool → impairs purine and pyrimidine (dTMP) synthesis"), pr("• Megaloblastic anemia\n• Mucositis, stomatitis\n• Bone marrow suppression\n• Hepatotoxicity\n• Teratogenicity (NTDs)"), pg("• Folic acid 1 mg/day (RA dosing) reduces mucosal/hematologic toxicity WITHOUT reducing anti-inflammatory efficacy\n• Leucovorin (folinic acid) rescue in high-dose MTX — bypasses DHFR block"), po("KEY: Leucovorin (folinic acid / 5-formyl THF) BYPASSES the DHFR block — can rescue even when DHFR is fully inhibited. Folic acid CANNOT rescue high-dose MTX toxicity alone."), ], [ pb("Trimethoprim (TMP)\n(antibiotic)"), pt("Folate (B₉)"), p("Inhibits DHFR (with higher affinity for bacterial DHFR, but human DHFR also affected at high doses) → functional folate deficiency"), pr("• Megaloblastic anemia (especially with prolonged use or pre-existing folate deficiency)\n• Elevated homocysteine"), pg("Folic acid supplementation with long-term TMP; avoid in pregnancy without folate cover"), po("TMP-SMX in HIV patients (long-term PCP prophylaxis) increases megaloblastic anemia risk. Also used as a cause of folate deficiency in MCQs alongside methotrexate."), ], [ pb("Pyrimethamine\n(antimalarial/toxo)"), pt("Folate (B₉)"), p("Inhibits DHFR (more selective for protozoal DHFR but human DHFR is affected at therapeutic doses); used with sulfadiazine for toxoplasmosis"), pr("• Megaloblastic anemia\n• Neutropenia, thrombocytopenia\n• GI disturbance"), pg("Always co-prescribe Leucovorin (folinic acid) when using pyrimethamine for toxoplasmosis to prevent bone marrow toxicity"), po("Classic pair: Pyrimethamine + Leucovorin (not folic acid) for toxoplasmosis treatment in HIV. Leucovorin bypasses DHFR block."), ], # ── OCPs ──────────────────────────────────────────────────────────────────── [ pb("Oral Contraceptive Pills (OCPs)\n(estrogen-progestin)"), pt("B₆, Folate (B₉), B₁₂, Riboflavin (B₂), Vit C"), p("• Estrogen induces hepatic tryptophan oxygenase → diverts tryptophan away from niacin/B₆ pathways\n• Estrogen increases PLP catabolism\n• Altered folate absorption and metabolism\n• ↑ Homocysteine (B₆, folate, B₁₂ all involved)"), pr("• Subclinical B₆ deficiency → depression, irritability (↓ serotonin)\n• Elevated homocysteine → ↑ cardiovascular and stroke risk\n• Folate depletion → risk to pregnancy if OCP stopped and conception follows immediately\n• ↑ Neural tube defect risk post-OCP if conception occurs before folate stores replenish"), pg("• Folic acid 400 μg/day especially if planning pregnancy after stopping OCP\n• B₆ supplementation may improve OCP-associated depression\n• Wait ≥1 cycle after stopping OCP before conception if possible"), po("'OCP depletes B₆, Folate, B₁₂' — classic MCQ. Women who stop OCP and conceive immediately have higher risk of NTDs due to folate depletion. This is why periconceptional folate supplementation is universal advice."), ], # ── ANTICONVULSANTS ──────────────────────────────────────────────────────── [ pb("Phenytoin\n(antiepileptic)"), pt("Folate (B₉)\nVitamin D"), p("• Induces CYP450 → accelerates catabolism of 25(OH)D and calcitriol → vitamin D deficiency\n• Impairs folate absorption from gut; increases folate catabolism\n• Also impairs vitamin K-dependent carboxylation (mild warfarin-like effect)"), pr("• Osteomalacia / osteoporosis (↓ Vit D → ↓ bone mineralization)\n• Megaloblastic anemia (↓ folate)\n• Paradox: correcting folate may increase seizure frequency (folate lowers seizure threshold in some cases)"), pg("• Monitor serum 25(OH)D; supplement Vit D 800-1000 IU/day\n• Folic acid supplementation (use with caution in epilepsy — may alter phenytoin levels)\n• Calcium supplementation"), po("CLASSIC PARADOX: Giving folate to phenytoin-treated epileptic patients can lower phenytoin levels and increase seizure frequency — the 'Phenytoin-Folate paradox.' Always monitor drug levels when co-prescribing."), ], [ pb("Phenobarbital\nCarbamazepine\n(antiepileptics)"), pt("Vitamin D\nFolate (B₉)\nVitamin K"), p("All are CYP450 inducers → accelerated catabolism of Vitamins D, K, and folate; also reduce intestinal folate absorption"), pr("• Osteomalacia / fracture risk (↓Vit D)\n• Megaloblastic anemia (↓ folate)\n• Neonatal hemorrhage if mother on antiepileptics (↓ Vit K transfer to fetus)"), pg("• Vitamin D + calcium supplementation in long-term antiepileptic therapy\n• Give Vitamin K to neonates of mothers on antiepileptics\n• Folate supplementation (monitor drug levels)"), po("Neonates born to mothers on enzyme-inducing antiepileptics are at high risk of Hemorrhagic Disease of the Newborn (HDN) due to ↓ Vit K. All neonates should receive IM Vitamin K at birth, especially in this context."), ], # ── ANTIBIOTICS ──────────────────────────────────────────────────────────── [ pb("Broad-Spectrum Antibiotics\n(e.g., cephalosporins, fluoroquinolones, clindamycin)"), pt("Vitamin K\nBiotin (B₇)"), p("Gut microbiota produce menaquinone (Vitamin K₂) and biotin. Antibiotics eliminate gut flora → ↓ endogenous production of these vitamins"), pr("• Mild ↑ PT/INR (usually subclinical unless malnourished or on warfarin)\n• Biotin deficiency with prolonged courses → dermatitis, alopecia, paresthesias"), pg("• Vitamin K supplementation in malnourished patients on prolonged antibiotics\n• Probiotics / diet after antibiotic course\n• No routine supplementation needed in healthy patients on short courses"), po("Important in ICU/TPN patients on prolonged antibiotics: combined absence of gut flora and poor diet → Vitamin K deficiency → bleeding. This potentiates warfarin effect dramatically."), ], # ── STATINS / CHOLESTYRAMINE ──────────────────────────────────────────────── [ pb("Cholestyramine\nColestipol\n(bile acid sequestrants)"), pt("Fat-soluble Vitamins: A, D, E, K\nFolate (B₉)"), p("Bile acid sequestrants bind bile acids in gut → impair micelle formation → reduced absorption of ALL fat-soluble vitamins (A, D, E, K) and folate"), pr("• Vitamin D deficiency → osteomalacia\n• Vitamin K deficiency → bleeding\n• Vitamin A deficiency → night blindness\n• Folate deficiency → megaloblastic anemia"), pg("• Take fat-soluble vitamin supplements ≥1 hour before or 4 hours after cholestyramine\n• Monitor levels in long-term use\n• Folate supplementation"), po("'Cholestyramine grabs everything fat-soluble.' Timing of vitamins relative to cholestyramine dose is critical. Vitamins given at the same time will NOT be absorbed."), ], # ── PROTON PUMP INHIBITORS ───────────────────────────────────────────────── [ pb("Proton Pump Inhibitors (PPIs)\n(omeprazole, lansoprazole, etc.)"), pt("B₁₂ (Cobalamin)\nMagnesium (hypomagnesemia → affects Vit D activation)\nVitamin C"), p("• ↑ Gastric pH → impairs acid-pepsin release of food-bound B₁₂ from proteins (intrinsic factor still present; crystalline B₁₂ absorbed normally)\n• Chronic use → hypomagnesemia → impairs PTH secretion → secondary ↓ Vit D activation"), pr("• B₁₂ deficiency with long-term use (>2-3 years) → megaloblastic anemia, neuropathy\n• Hypomagnesemia → hypocalcemia, hypokalemia"), pg("• Monitor B₁₂ levels in long-term PPI users (>2-3 years)\n• Crystalline B₁₂ (sublingual/IM) is absorbed normally even without acid\n• Monitor Mg²⁺ levels with chronic PPI use"), po("PPIs do NOT block intrinsic factor. They block acid-mediated release of FOOD-BOUND B₁₂. Crystalline B₁₂ supplements bypass this problem entirely."), ], # ── ALCOHOL ──────────────────────────────────────────────────────────────── [ pb("Alcohol\n(ethanol, chronic use)"), pt("B₁ (Thiamine)\nB₂, B₃, B₆\nFolate (B₉)\nB₁₂, Vit A, Vit D"), p("• ↓ dietary intake (malnutrition)\n• ↓ intestinal absorption of B₁, folate, B₁₂\n• ↑ renal excretion of Mg, Zn (cofactors for B vitamin function)\n• Hepatic damage → impaired B₁₂ storage, Vit D 25-hydroxylation, Vit A storage/metabolism\n• Acetaldehyde degrades PLP (B₆)"), pr("• Wernicke-Korsakoff syndrome (B₁ deficiency)\n• Pellagra (B₃ deficiency)\n• Peripheral neuropathy (B₁, B₆)\n• Megaloblastic anemia (folate)\n• Alcoholic liver disease impairs Vit D and A metabolism"), pg("• IV/IM Thiamine BEFORE glucose in suspected Wernicke's (glucose without B₁ precipitates acute Wernicke's)\n• Multivitamin supplementation in alcoholism\n• Folate 1-5 mg/day"), po("'GIVE THIAMINE BEFORE GLUCOSE' — Classic exam rule. Glucose infusion in thiamine-deficient patients consumes what little B₁ remains → precipitates or worsens Wernicke's encephalopathy."), ], # ── LEVODOPA ──────────────────────────────────────────────────────────────── [ pb("Levodopa (L-DOPA)\n(Parkinson's drug)"), pt("B₆ (Pyridoxine)"), p("Peripheral DOPA decarboxylase (a PLP-dependent enzyme) converts L-DOPA to dopamine in the periphery. High-dose B₆ enhances peripheral decarboxylation, reducing central dopamine availability"), pr("• High-dose B₆ supplementation REDUCES therapeutic efficacy of L-DOPA by increasing peripheral metabolism before it reaches the brain"), pg("• When L-DOPA is combined with carbidopa (peripheral decarboxylase inhibitor), B₆ interaction becomes negligible\n• Avoid high-dose B₆ with L-DOPA monotherapy"), po("'B₆ is the ENEMY of L-DOPA monotherapy' — Unique case where vitamin supplementation WORSENS the therapeutic effect. This is reversed with carbidopa co-administration."), ], # ── RETINOIDS ────────────────────────────────────────────────────────────── [ pb("Isotretinoin / Retinoids\n(Vitamin A analogs)"), pt("Vitamin A (excess analogue)"), p("Isotretinoin is a synthetic retinoid (Vitamin A analog). These drugs exert Vitamin A-like effects at supraphysiologic levels, causing teratogenicity and toxicity similar to hypervitaminosis A"), pr("• Teratogenicity: craniofacial defects, cardiac malformations, CNS anomalies, limb defects\n• Hepatotoxicity\n• Pseudotumor cerebri (intracranial hypertension)\n• Hyperlipidemia (↑ TG)"), pg("• CONTRAINDICATED in pregnancy (Category X)\n• iPLEDGE program (mandatory contraception + pregnancy testing)\n• Monitor LFTs and lipids"), po("Isotretinoin is NOT the same as taking Vitamin A supplements, but the teratogenic risk is the same mechanism. Combining isotretinoin with Vitamin A supplements = additive toxicity and hypervitaminosis A syndrome."), ], # ── ORLISTAT ────────────────────────────────────────────────────────────── [ pb("Orlistat\n(weight loss drug)"), pt("Fat-soluble Vitamins:\nA, D, E, K"), p("Orlistat inhibits pancreatic lipase → fat malabsorption → reduced absorption of fat-soluble vitamins (A, D, E, K) co-ingested with lipids"), pr("• Vitamin D deficiency (most clinically significant)\n• Vitamin K deficiency → potentiates warfarin effect\n• Vitamins A and E deficiency with long-term use"), pg("• Take a multivitamin containing fat-soluble vitamins at bedtime (≥2h after orlistat, when drug effect is minimal)\n• Monitor INR if on warfarin\n• Monitor Vit D and bone density"), po("Orlistat + warfarin = ↑ bleeding risk via ↓ Vit K absorption. This is a high-yield pharmacology interaction. Patients on both need more frequent INR checks."), ], ] # ── STORY ───────────────────────────────────────────────────────────────────── story = [] # ── TITLE BLOCK ─────────────────────────────────────────────────────────────── title_tbl = Table( [[Paragraph("VITAMIN–DRUG INTERACTIONS", TIT)], [Paragraph("Study Guide for Pharmacology · Physiology · Clinical Medicine", SUB)]], colWidths=[18.2*cm] ) title_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), NAVY), ("TOPPADDING", (0,0),(-1,-1), 14), ("BOTTOMPADDING", (0,0),(-1,-1), 10), ])) story.append(title_tbl) story.append(Spacer(1, 0.35*cm)) # ── INTRO BOX ───────────────────────────────────────────────────────────────── intro_lines = [ [Paragraph("<b>How drugs deplete vitamins — 5 core mechanisms:</b>", BOXH)], [Paragraph( "1. <b>Direct enzymatic inhibition</b> — Drug inhibits a vitamin-dependent enzyme (e.g., warfarin blocks VKOR; methotrexate blocks DHFR).<br/>" "2. <b>Cofactor competition / adduct formation</b> — Drug forms inactive adducts with the vitamin coenzyme (e.g., INH + PLP → inactive hydrazone).<br/>" "3. <b>CYP450 induction → accelerated catabolism</b> — Drug induces hepatic enzymes that degrade the vitamin (e.g., phenytoin, carbamazepine → ↓ Vit D, folate, Vit K).<br/>" "4. <b>Absorption interference</b> — Drug reduces GI absorption of vitamins (e.g., cholestyramine → ↓ fat-soluble vitamins; PPIs → ↓ food-bound B₁₂).<br/>" "5. <b>Gut flora disruption</b> — Antibiotics eliminate bacteria that synthesize Vit K₂ and biotin.", BOXT )], ] intro_tbl = Table(intro_lines, colWidths=[18.2*cm]) intro_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,-1), LIGHT), ("BOX", (0,0),(-1,-1), 1, NAVY), ("TOPPADDING", (0,0),(-1,-1), 6), ("BOTTOMPADDING",(0,0),(-1,-1), 6), ("LEFTPADDING",(0,0),(-1,-1), 10), ("RIGHTPADDING",(0,0),(-1,-1), 10), ])) story.append(intro_tbl) story.append(Spacer(1, 0.4*cm)) # ── LEGEND ──────────────────────────────────────────────────────────────────── leg_tbl = Table([[Paragraph( " <b><font color='#C0392B'>Red</font></b> = Consequences " " <b><font color='#1A7A4A'>Green</font></b> = Management " " <b><font color='#E07B00'>Italic</font></b> = Exam Trap / Mnemonic " " <b><font color='#0D7680'>Teal</font></b> = Vitamin Affected", NOTEP )]], colWidths=[18.2*cm]) leg_tbl.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1), colors.HexColor("#FAFAFA")), ("BOX",(0,0),(-1,-1), 0.5, BORDER), ("TOPPADDING",(0,0),(-1,-1), 4), ("BOTTOMPADDING",(0,0),(-1,-1), 4), ("LEFTPADDING",(0,0),(-1,-1), 8), ])) story.append(leg_tbl) story.append(Spacer(1, 0.35*cm)) # ── MAIN TABLE ──────────────────────────────────────────────────────────────── story.append(banner("DRUG-BY-DRUG INTERACTION REFERENCE", NAVY)) story.append(Spacer(1, 0.2*cm)) all_rows = [HDR_ROW] + ROWS main_tbl = Table(all_rows, colWidths=COL_W, repeatRows=1) main_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,0), NAVY), ("ROWBACKGROUNDS", (0,1),(-1,-1), [WHITE, ALT]), ("GRID", (0,0),(-1,-1), 0.4, BORDER), ("VALIGN", (0,0),(-1,-1), "TOP"), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 4), ("RIGHTPADDING", (0,0),(-1,-1), 4), # Colour-code first column ("FONTNAME", (0,1),( 0,-1), "Helvetica-Bold"), ("TEXTCOLOR", (0,1),( 0,-1), SLATE), ])) story.append(main_tbl) story.append(Spacer(1, 0.5*cm)) # ── QUICK REFERENCE MATRIX ──────────────────────────────────────────────────── story.append(PageBreak()) story.append(banner("QUICK REFERENCE MATRIX — DRUG → VITAMIN DEPLETED → SUPPLEMENT", TEAL)) story.append(Spacer(1, 0.25*cm)) matrix_hdr = [ p("DRUG", CHDR), p("VITAMIN DEPLETED", CHDR), p("MECHANISM CATEGORY", CHDR), p("SUPPLEMENT TO GIVE", CHDR), p("SPECIAL NOTE", CHDR) ] matrix_rows = [ [pb("Isoniazid (INH)"), pt("B₆ (PLP)"), p("Cofactor adduct"), pg("Pyridoxine 25-50 mg/day"), po("Give B₆ to ALL TB patients on INH")], [pb("Hydralazine"), pt("B₆ (PLP)"), p("Cofactor adduct"), pg("Pyridoxine 25-50 mg/day"), po("Same mechanism as INH")], [pb("Cycloserine"), pt("B₆, B₃"), p("PLP antagonism"), pg("Pyridoxine 50-100 mg/day"), po("MDR-TB; monitor CNS toxicity")], [pb("Warfarin"), pt("Vitamin K (recycling)"), p("VKOR inhibition"), pg("Vit K (reversal only)"), po("Consistency in dietary Vit K intake is key")], [pb("Methotrexate (low-dose)"), pt("Folate (B₉)"), p("DHFR inhibition"), pg("Folic acid 1 mg/day"), po("Does NOT reduce MTX efficacy in RA")], [pb("Methotrexate (high-dose)"), pt("Folate (B₉)"), p("DHFR inhibition"), pg("Leucovorin (folinic acid)"), po("Folic acid cannot bypass DHFR block")], [pb("Trimethoprim"), pt("Folate (B₉)"), p("DHFR inhibition"), pg("Folic acid supplementation"), po("Risk ↑ in prolonged use/HIV patients")], [pb("Pyrimethamine"), pt("Folate (B₉)"), p("DHFR inhibition"), pg("Leucovorin (not folic acid)"), po("Always co-prescribed in toxoplasmosis Rx")], [pb("OCPs"), pt("B₆, Folate, B₁₂, B₂, C"), p("↑ catabolism, ↓ absorption"),pg("Folic acid 400 μg/day"), po("Esp. important pre-conception after stopping OCP")], [pb("Phenytoin"), pt("Folate, Vitamin D"), p("CYP450 induction"), pg("Vit D 800-1000 IU + Calcium"), po("Folate may ↓ phenytoin levels — monitor")], [pb("Phenobarbital/Carbamazepine"),pt("Vit D, Folate, Vit K"), p("CYP450 induction"), pg("Vit D + Ca + Folate"), po("Neonate risk: give IM Vit K at birth")], [pb("Broad-spectrum antibiotics"),pt("Vitamin K, Biotin"), p("Gut flora disruption"), pg("Vit K if malnourished/warfarin"),po("↑ INR effect in warfarin patients")], [pb("Cholestyramine"), pt("A, D, E, K, Folate"), p("Absorption interference"), pg("Fat-sol. vits 4h before/after"), po("Timing is critical for absorption")], [pb("PPIs (long-term)"), pt("B₁₂, Mg²⁺"), p("↓ Acid-pepsin release"), pg("Crystalline B₁₂ (bypasses acid)"),po("Food-bound B₁₂ only affected; supplements fine")], [pb("Alcohol (chronic)"), pt("B₁, B₂, B₃, B₆, B₉, B₁₂"), p("Multiple mechanisms"), pg("Thiamine BEFORE glucose!"), po("Wernicke's precipitated by glucose w/o B₁")], [pb("L-DOPA (monotherapy)"), pt("B₆ (worsens therapy)"), p("↑ Peripheral decarboxylation"),pg("AVOID high-dose B₆"), po("Carbidopa co-admin negates this interaction")], [pb("Isotretinoin"), pt("Vit A (additive toxicity)"),p("Retinoid overdose"), pg("Avoid Vit A supplements"), po("Teratogenic — iPLEDGE program required")], [pb("Orlistat"), pt("A, D, E, K"), p("Fat malabsorption"), pg("Multivitamin at bedtime"), po("Monitor INR if on warfarin — ↑ bleeding risk")], ] mat_col_w = [3.0*cm, 2.8*cm, 3.4*cm, 3.4*cm, 5.6*cm] mat_tbl = Table([matrix_hdr] + matrix_rows, colWidths=mat_col_w, repeatRows=1) mat_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(-1,0), TEAL), ("ROWBACKGROUNDS",(0,1),(-1,-1), [WHITE, colors.HexColor("#E8F7F7")]), ("GRID", (0,0),(-1,-1), 0.4, BORDER), ("VALIGN", (0,0),(-1,-1), "TOP"), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 4), ("RIGHTPADDING", (0,0),(-1,-1), 4), ])) story.append(mat_tbl) story.append(Spacer(1, 0.5*cm)) # ── EXAM MCQ PRACTICE ───────────────────────────────────────────────────────── story.append(banner("HIGH-YIELD MCQ SCENARIOS", PURPLE)) story.append(Spacer(1, 0.25*cm)) mcqs = [ ("Q1", "A 35-year-old HIV+ patient with TB is started on INH, rifampicin, ethambutol, and pyrazinamide. Two months later, he develops bilateral hand/foot numbness. What should have been co-prescribed?", "Pyridoxine (Vitamin B₆) — INH forms an inactive adduct with PLP (pyridoxal phosphate), blocking peripheral nerve maintenance. B₆ supplementation at 25-50 mg/day prevents this peripheral neuropathy.", "Mechanism: INH + PLP → inactive hydrazone → ↓ PLP → ↓ myelin maintenance. The neuropathy is PREVENTABLE."), ("Q2", "A patient on warfarin for atrial fibrillation is started on a course of broad-spectrum antibiotics for a wound infection. His INR rises from 2.5 to 4.8. Why?", "Broad-spectrum antibiotics kill gut flora that produce Vitamin K₂ (menaquinone). This reduces endogenous Vit K, tipping the balance toward anticoagulation in a patient already on warfarin.", "Key: Always monitor INR when adding antibiotics to warfarin therapy."), ("Q3", "A 28-year-old woman with RA on methotrexate 15 mg/week develops mouth ulcers and fatigue. Her MCV is 105 fL. What supplement would reduce toxicity WITHOUT reducing drug efficacy?", "Folic acid 1 mg/day — MTX inhibits DHFR, causing functional folate deficiency. Folic acid at standard doses reduces mucosal and hematologic toxicity without significantly reducing the anti-inflammatory effect of MTX in RA.", "Note: High-dose MTX toxicity (e.g., in cancer) requires Leucovorin (folinic acid) rescue, not folic acid."), ("Q4", "A 45-year-old alcoholic is brought to the ER confused and ataxic. The nurse is about to start IV dextrose. What must be given FIRST and why?", "IV/IM Thiamine (Vitamin B₁) BEFORE glucose. Glucose infusion drives glycolysis, consuming the remaining thiamine and precipitating or worsening Wernicke's encephalopathy (confusion, ataxia, ophthalmoplegia).", "Rule: 'Thiamine before dextrose in every suspected thiamine-deficient patient.' This is non-negotiable in the ER."), ("Q5", "A patient with epilepsy controlled on phenytoin is found to have megaloblastic anemia. His doctor prescribes folic acid. Two weeks later, the patient has a breakthrough seizure. Explain.", "The 'Phenytoin-Folate Paradox': Phenytoin inhibits folate absorption → megaloblastic anemia. Correcting folate with supplementation can increase phenytoin metabolism (folate may enhance CYP450 activity), reducing phenytoin levels → seizure breakthrough.", "Management: Monitor phenytoin levels when initiating folate therapy in epileptics on phenytoin."), ("Q6", "A 25-year-old woman stopped oral contraceptive pills 1 month ago and became pregnant unexpectedly. What is the key nutritional concern?", "OCPs deplete folate (and B₆, B₁₂). If conception occurs shortly after stopping OCPs, residual folate depletion significantly increases the risk of Neural Tube Defects (NTDs — spina bifida, anencephaly) in the fetus.", "All women of reproductive age should take folic acid 400 μg/day. Those stopping OCPs with pregnancy plans should be especially advised."), ("Q7", "A patient on orlistat for obesity is also taking warfarin. His INR is suddenly elevated. Why?", "Orlistat inhibits pancreatic lipase → fat malabsorption → reduced absorption of fat-soluble vitamins including Vitamin K. Less Vit K → less γ-carboxylation of clotting factors → potentiated warfarin effect → ↑ INR and bleeding risk.", "Management: Monitor INR more frequently when starting orlistat in warfarin patients. Time multivitamin supplements away from orlistat dose."), ("Q8", "A patient on L-DOPA monotherapy for Parkinson's disease starts taking a high-dose B-complex supplement. His Parkinson's symptoms worsen. Explain.", "High-dose Vitamin B₆ enhances peripheral DOPA decarboxylase (a PLP-dependent enzyme), converting more L-DOPA to dopamine in the periphery before it crosses the blood-brain barrier. Less L-DOPA reaches the brain → ↓ central dopamine → worsening Parkinsonism.", "This interaction is abolished when L-DOPA is combined with Carbidopa (a peripheral decarboxylase inhibitor), which is why Levodopa/Carbidopa (Sinemet) is the standard formulation."), ] for qno, question, answer, trap in mcqs: q_rows = [ [Paragraph(f"<b>{qno}.</b> {question}", QUES)], [Paragraph(f"<b>Answer:</b> {answer}", ANS)], [Paragraph(f"<b><font color='#E07B00'>Exam Trap:</font></b> {trap}", ANS)], ] q_tbl = Table(q_rows, colWidths=[18.2*cm]) q_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0),(0,0), colors.HexColor("#EEF2FF")), ("BACKGROUND", (0,1),(0,1), WHITE), ("BACKGROUND", (0,2),(0,2), WARN_BG), ("BOX", (0,0),(-1,-1), 0.7, PURPLE), ("LINEBELOW", (0,0),(0,0), 0.4, BORDER), ("LINEBELOW", (0,1),(0,1), 0.4, BORDER), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING", (0,0),(-1,-1), 5), ("LEFTPADDING", (0,0),(-1,-1), 8), ("RIGHTPADDING", (0,0),(-1,-1), 8), ])) story.append(KeepTogether([q_tbl, Spacer(1, 0.3*cm)])) # ── MECHANISM SUMMARY BOX ───────────────────────────────────────────────────── story.append(Spacer(1, 0.3*cm)) story.append(banner("MECHANISM SUMMARY CARDS", CRIMSON)) story.append(Spacer(1, 0.25*cm)) mech_data = [ ["VKOR Pathway (Warfarin)", "Vitamin K₁/K₂ (oxidized) → [VKOR] → Vitamin K hydroquinone (reduced) → γ-Carboxylase → Glu → Gla on factors II, VII, IX, X, Proteins C & S\nWarfarin BLOCKS VKOR → no reduced Vit K → factors cannot be carboxylated → inactive → ↑ PT/INR"], ["DHFR Pathway (MTX/TMP)", "Dietary folate → FH₂ (dihydrofolate) → [DHFR] → FH₄ (THF) → methylene-THF → dTMP synthesis\nMethotrexate/Trimethoprim BLOCK DHFR → FH₂ accumulates → no THF → no purines/pyrimidines → ↓ DNA synthesis → megaloblastic anemia\nLeucovorin (5-formyl-THF) BYPASSES DHFR → rescues even when DHFR fully blocked"], ["INH + PLP (Isoniazid)", "PLP (Pyridoxal Phosphate) = active coenzyme form of B₆\nINH forms an inactive hydrazone with PLP → PLP unavailable for:\n • Transamination (↓ amino acid metabolism)\n • Decarboxylation (↓ GABA, serotonin, dopamine synthesis)\n • ALAS (↓ heme synthesis → sideroblastic anemia)\n • Peripheral nerve maintenance (→ neuropathy)\nFix: Pyridoxine 25-50 mg/day competes with hydrazone formation"], ["Alcohol + B₁ (Wernicke's)", "Thiamine → TPP (Thiamine PyroPhosphate)\nTPP is cofactor for: Pyruvate DH, α-KG DH, Transketolase\nAlcohol: ↓ intake + ↓ absorption + ↑ renal loss → B₁ depletion\nGlucose administration → drives pyruvate DH → consumes last B₁ → Wernicke's\nSigns: Confusion + Ataxia + Ophthalmoplegia (CAO)"], ["CYP450 Induction (Phenytoin/Carbamazepine)", "Phenytoin, phenobarbital, carbamazepine → induce CYP2C9, CYP3A4, CYP2C19 isoenzymes\nResult: Accelerated catabolism of:\n • 25(OH)D and 1,25(OH)₂D₃ → ↓ Vit D → ↓ Ca absorption → osteomalacia/fractures\n • Folate → ↓ THF → megaloblastic anemia\n • Vitamin K → ↑ PT, neonatal bleeding\n • Warfarin itself → reduced anticoagulation (dose must be increased)"], ] for title, content in mech_data: card = Table( [[Paragraph(title, S("MH", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE))], [Paragraph(content, S("MC", fontName="Courier", fontSize=7.5, textColor=DARK, leading=11))]], colWidths=[18.2*cm] ) card.setStyle(TableStyle([ ("BACKGROUND", (0,0),(0,0), CRIMSON), ("BACKGROUND", (0,1),(0,1), colors.HexColor("#FFF5F5")), ("BOX", (0,0),(-1,-1), 0.7, CRIMSON), ("TOPPADDING", (0,0),(-1,-1), 5), ("BOTTOMPADDING",(0,0),(-1,-1), 5), ("LEFTPADDING",(0,0),(-1,-1), 8), ("RIGHTPADDING",(0,0),(-1,-1), 8), ])) story.append(KeepTogether([card, Spacer(1, 0.3*cm)])) # ── FOOTER ──────────────────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.5, color=BORDER)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "Sources: Lippincott Illustrated Reviews: Biochemistry 8e; Lippincott Illustrated Reviews: Pharmacology; " "Harrison's Principles of Internal Medicine 22E (2025, McGraw Hill); Goldman-Cecil Medicine (International Edition); " "Bradley & Daroff's Neurology in Clinical Practice; Basic Medical Biochemistry 6e. " "Generated by Orris Medical Assistant · July 2026. For educational use only.", FOOTP )) doc.build(story) print("PDF generated:", OUTPUT) PYEOF
Vitamin Drug Interactions Study Guide
PDF Document · PDF
| Group | Drugs |
|---|---|
| TB drugs | INH, Hydralazine, Cycloserine |
| Anticoagulants | Warfarin |
| Antifolates | Methotrexate, Trimethoprim, Pyrimethamine |
| Hormonal | OCPs (B₆, Folate, B₁₂, B₂, C) |
| Antiepileptics | Phenytoin, Phenobarbital, Carbamazepine |
| Antibiotics | Broad-spectrum (Vit K, Biotin) |
| Lipid-lowering | Cholestyramine (all fat-soluble vitamins) |
| GI drugs | PPIs (B₁₂), Orlistat (A, D, E, K) |
| Neurology | L-DOPA + B₆ paradox |
| Dermatology | Isotretinoin (Vit A toxicity) |
| Alcohol | Multiple B vitamins |