Generate flashcards for diarrhoea

I'll read the medical library skill first, then research diarrhoea comprehensively to generate high-quality flashcards.
Reading File
Now let me search the medical library for diarrhoea content in parallel:
Finding Sources
Finding Sources
Excellent - I have rich sources. Let me read the most comprehensive ones in parallel:
Reading File
Reading File
Reading File
Now let me get the core diarrhea section from Sleisenger (the main GI reference) and the Harriet Lane for paediatrics:
Reading File
Reading File
Finding Sources
I have substantial content. Let me read more of the Sleisenger chapter - the core pathophysiology and clinical sections:
Reading File
Finding Sources
Reading File
Finding Sources
I now have comprehensive content. Let me compile the flashcards with everything I've gathered:
Reading File

Flash cards

Pdf in this

You'd like the diarrhoea flashcards exported as a PDF. Let me read the PDF skill first, then build the file.
Reading File
Good. I'll use ReportLab to generate a well-designed flashcard PDF. Let me build it now:
Running Command

mkdir -p /home/daytona/workspace/diarrhoea-flashcards && ls /home/daytona/workspace/diarrhoea-flashcards/

Writing File

~/diarrhoea-flashcards/generate_flashcards.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, HRFlowable
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import KeepTogether

OUTPUT = "/home/daytona/workspace/diarrhoea-flashcards/Diarrhoea_Flashcards.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
TEAL       = colors.HexColor("#0D7377")
TEAL_LIGHT = colors.HexColor("#E6F4F4")
AMBER      = colors.HexColor("#D97706")
AMBER_LIGHT= colors.HexColor("#FFF7ED")
RED        = colors.HexColor("#B91C1C")
RED_LIGHT  = colors.HexColor("#FEF2F2")
BLUE       = colors.HexColor("#1D4ED8")
BLUE_LIGHT = colors.HexColor("#EFF6FF")
GREEN      = colors.HexColor("#15803D")
GREEN_LIGHT= colors.HexColor("#F0FDF4")
PURPLE     = colors.HexColor("#7E22CE")
PURPLE_LIGHT=colors.HexColor("#FAF5FF")
GREY_DARK  = colors.HexColor("#1F2937")
GREY_MID   = colors.HexColor("#6B7280")
WHITE      = colors.white

# Category colours: (header_bg, header_fg, card_bg, accent)
CAT_COLORS = {
    "Definition & Epidemiology": (TEAL,   WHITE, TEAL_LIGHT,   TEAL),
    "Pathophysiology":            (BLUE,   WHITE, BLUE_LIGHT,   BLUE),
    "Classification":             (PURPLE, WHITE, PURPLE_LIGHT, PURPLE),
    "Clinical Features":          (AMBER,  WHITE, AMBER_LIGHT,  AMBER),
    "Causes & Aetiology":         (RED,    WHITE, RED_LIGHT,    RED),
    "Investigations":             (GREEN,  WHITE, GREEN_LIGHT,  GREEN),
    "Management":                 (TEAL,   WHITE, TEAL_LIGHT,   TEAL),
    "Special Situations":         (AMBER,  WHITE, AMBER_LIGHT,  AMBER),
    "Complications":              (RED,    WHITE, RED_LIGHT,    RED),
}

# ── Flashcard data ──────────────────────────────────────────────────────────
FLASHCARDS = [
    # ── DEFINITION & EPIDEMIOLOGY ────────────────────────────────────────────
    {
        "category": "Definition & Epidemiology",
        "q": "What is the clinical definition of diarrhoea?",
        "a": (
            "• Passage of <b>3 or more loose/liquid stools per day</b>, OR\n"
            "• Stool output <b>&gt;200 g/day</b> in adults\n"
            "• Most patients describe increased <b>fluidity</b> as the essential feature\n"
            "• <b>Acute:</b> &lt;2 weeks | <b>Persistent:</b> 2–4 weeks | <b>Chronic:</b> ≥4 weeks"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Definition & Epidemiology",
        "q": "What is the global burden of diarrhoeal disease?",
        "a": (
            "• 7.5% of Americans have acute gastroenteritis in any given month\n"
            "• &gt;3.5 million outpatient visits per year in the USA\n"
            "• &gt;180,000 hospital admissions and ~3,000 deaths/year from gastroenteritis in USA\n"
            "• Chronic diarrhoea affects <b>6.6%</b> of the population\n"
            "• In <b>developing countries</b>: leading cause of morbidity and mortality, especially in children"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── PATHOPHYSIOLOGY ──────────────────────────────────────────────────────
    {
        "category": "Pathophysiology",
        "q": "What are the four main pathophysiological mechanisms of diarrhoea?",
        "a": (
            "1. <b>Osmotic</b> – non-absorbable solutes draw water into the lumen\n"
            "2. <b>Secretory</b> – net excess of ion/fluid secretion over absorption\n"
            "3. <b>Inflammatory/Exudative</b> – mucosal damage with exudate, blood, pus\n"
            "4. <b>Motility-related</b> – rapid transit reduces contact time for absorption\n\n"
            "<i>Note: Most clinical diarrhoea is <b>complex</b> and involves multiple mechanisms simultaneously (ALPINEs framework)</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Pathophysiology",
        "q": "How does osmotic diarrhoea differ from secretory diarrhoea?",
        "a": (
            "<b>Osmotic diarrhoea:</b>\n"
            "• Non-absorbable solutes (e.g., Mg²⁺, lactose) draw water into lumen\n"
            "• <b>Stops with fasting</b>\n"
            "• Stool osmotic gap <b>&gt;125 mOsm/kg</b>\n\n"
            "<b>Secretory diarrhoea:</b>\n"
            "• Excess active secretion or impaired absorption of ions\n"
            "• <b>Persists with fasting</b>\n"
            "• Stool osmotic gap <b>&lt;50 mOsm/kg</b>\n"
            "• Often large volume (cholera: up to 10–12 L/day)"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Pathophysiology",
        "q": "What is the stool osmotic gap and how is it calculated?",
        "a": (
            "<b>Formula:</b>  290 – 2 × (stool [Na⁺] + stool [K⁺])\n\n"
            "• <b>&gt;125 mOsm/kg</b> → Osmotic diarrhoea\n"
            "• <b>&lt;50 mOsm/kg</b> → Secretory diarrhoea\n"
            "• 50–125 mOsm/kg → Indeterminate / complex\n\n"
            "<i>290 is the assumed normal plasma osmolality used as reference</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Pathophysiology",
        "q": "How does cholera cause diarrhoea?",
        "a": (
            "• <i>Vibrio cholerae</i> toxin increases <b>cAMP</b> in enterocytes\n"
            "• Opens apical <b>chloride channels (CFTR)</b> → Cl⁻ secretion\n"
            "• Na⁺ and water follow passively → massive secretory diarrhoea\n"
            "• Output: <b>10–12 L/day</b> (colon can reabsorb max 6–8 L/day)\n"
            "• Also stimulates enteric nerves and endocrine cells\n"
            "• Without treatment: mortality up to <b>50%</b>"
        ),
        "source": "Guyton & Hall Medical Physiology; Sleisenger & Fordtran's"
    },
    {
        "category": "Pathophysiology",
        "q": "What is the ALPINEs framework in diarrhoea pathophysiology?",
        "a": (
            "ALPINEs describes the regulatory systems involved in diarrhoea:\n\n"
            "<b>A</b> – Autocrine\n"
            "<b>L</b> – Luminal\n"
            "<b>P</b> – Paracrine\n"
            "<b>I</b> – Immune\n"
            "<b>N</b> – Neural\n"
            "<b>E</b> – Endocrine\n"
            "<b>S</b> – (Systems)\n\n"
            "These systems interact simultaneously – e.g., enteric nerves stimulate mast cells, mast cell histamine alters neuron function, prostaglandins affect epithelium AND motility AND permeability"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── CLASSIFICATION ───────────────────────────────────────────────────────
    {
        "category": "Classification",
        "q": "How is diarrhoea classified by duration?",
        "a": (
            "• <b>Acute:</b> &lt;2 weeks — usually infectious\n"
            "• <b>Persistent:</b> 2–4 weeks — may be infectious or early chronic\n"
            "• <b>Chronic:</b> ≥4 weeks — broad differential; structural, functional, inflammatory, endocrine\n\n"
            "<i>Acute diarrhoea resolves spontaneously in most cases; chronic diarrhoea requires systematic evaluation</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Classification",
        "q": "Classify diarrhoea by stool character (watery / fatty / inflammatory).",
        "a": (
            "<b>Watery diarrhoea:</b>\n"
            "• Osmotic: carbohydrate malabsorption, osmotic laxatives (Mg²⁺, PO₄³⁻, SO₄²⁻)\n"
            "• Secretory: bacterial toxins, VIPoma, carcinoid, microscopic colitis, IBD\n\n"
            "<b>Fatty (steatorrhoea):</b>\n"
            "• Malabsorption: coeliac, Whipple, short bowel, SIBO\n"
            "• Maldigestion: pancreatic exocrine insufficiency, bile acid deficiency\n\n"
            "<b>Inflammatory:</b>\n"
            "• IBD, invasive infections (Salmonella, Shigella, Campylobacter, C. diff), ischaemic colitis, radiation colitis"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Classification",
        "q": "What distinguishes large-volume from small-volume diarrhoea clinically?",
        "a": (
            "<b>Large-volume diarrhoea:</b>\n"
            "• Suggests small bowel or right colon pathology\n"
            "• Often watery, no tenesmus\n"
            "• E.g., cholera, VIPoma, coeliac disease\n\n"
            "<b>Small-volume diarrhoea:</b>\n"
            "• Suggests left colon / rectal pathology\n"
            "• Associated with urgency, tenesmus, passage of blood/mucus\n"
            "• E.g., ulcerative colitis, rectal cancer, infectious proctitis"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── CLINICAL FEATURES ────────────────────────────────────────────────────
    {
        "category": "Clinical Features",
        "q": "What features in the history help characterise diarrhoea?",
        "a": (
            "• <b>Onset & duration</b> (acute vs chronic)\n"
            "• <b>Stool frequency, volume, consistency</b>\n"
            "• <b>Blood, mucus, pus</b> in stool → inflammatory / invasive\n"
            "• <b>Nocturnal diarrhoea</b> → organic (not functional)\n"
            "• <b>Fasting</b>: stops with fasting → osmotic; persists → secretory\n"
            "• <b>Travel history</b> → traveller's diarrhoea\n"
            "• <b>Food intake</b> (dairy, gluten, sorbitol, alcohol)\n"
            "• <b>Medications</b> (antibiotics, NSAIDs, PPI, metformin, laxatives)\n"
            "• <b>Immunosuppression</b> (HIV, chemotherapy, transplant)\n"
            "• <b>Weight loss, fever, systemic symptoms</b> → alarm features"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Clinical Features",
        "q": "What are the alarm features (red flags) in diarrhoea?",
        "a": (
            "• <b>Rectal bleeding</b>\n"
            "• <b>Nocturnal diarrhoea</b> (waking from sleep)\n"
            "• <b>Unintentional weight loss</b>\n"
            "• <b>Progressive symptoms</b>\n"
            "• <b>Age &gt;50 years</b> with new-onset symptoms\n"
            "• <b>Family history</b> of colorectal cancer or IBD\n"
            "• <b>Anaemia</b> on blood tests\n"
            "• <b>Fever with toxic appearance</b>\n\n"
            "<i>Alarm features warrant urgent investigation and colonoscopy</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Clinical Features",
        "q": "What are the physical examination findings to look for in diarrhoea?",
        "a": (
            "• <b>Signs of dehydration:</b> dry mucous membranes, reduced skin turgor, sunken eyes, tachycardia, hypotension\n"
            "• <b>Fever</b> → infectious or inflammatory\n"
            "• <b>Abdominal tenderness</b> → location suggests pathology\n"
            "• <b>Perianal disease</b> (fistulae, skin tags) → Crohn disease\n"
            "• <b>Extra-intestinal features:</b> arthritis, uveitis, erythema nodosum (IBD); flushing (carcinoid); goitre (hyperthyroidism)\n"
            "• <b>Lymphadenopathy/wasting</b> → malignancy or HIV\n"
            "• <b>Digital rectal exam:</b> exclude faecal impaction with overflow"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── CAUSES & AETIOLOGY ───────────────────────────────────────────────────
    {
        "category": "Causes & Aetiology",
        "q": "What are the common bacterial causes of acute infective diarrhoea?",
        "a": (
            "• <b>Campylobacter jejuni</b> — most common bacterial cause in UK\n"
            "• <b>Salmonella spp.</b> — food-borne, may cause systemic illness\n"
            "• <b>Shigella spp.</b> — dysentery (bloody diarrhoea), person-to-person\n"
            "• <b>E. coli (ETEC)</b> — traveller's diarrhoea (secretory toxin)\n"
            "• <b>E. coli O157:H7 (EHEC)</b> — haemorrhagic colitis → HUS\n"
            "• <b>Clostridioides difficile</b> — antibiotic-associated, pseudomembranous colitis\n"
            "• <b>Vibrio cholerae</b> — massive secretory diarrhoea ('rice-water stools')\n"
            "• <b>Yersinia, Aeromonas, Plesiomonas</b>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Causes & Aetiology",
        "q": "What are the common viral and parasitic causes of diarrhoea?",
        "a": (
            "<b>Viruses:</b>\n"
            "• <b>Norovirus</b> — most common cause of acute viral gastroenteritis in adults\n"
            "• <b>Rotavirus</b> — most common in children &lt;5 years\n"
            "• <b>Adenovirus, Astrovirus</b> — paediatric\n"
            "• <b>CMV</b> — immunocompromised patients\n\n"
            "<b>Parasites:</b>\n"
            "• <b>Giardia lamblia</b> — steatorrhoea, bloating, no blood\n"
            "• <b>Entamoeba histolytica</b> — amoebic dysentery (bloody)\n"
            "• <b>Cryptosporidium parvum</b> — watery, self-limited in immunocompetent; chronic in HIV\n"
            "• <b>Cyclospora, Cystoisospora</b> — returning travellers"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Causes & Aetiology",
        "q": "What endocrine/hormonal causes of secretory diarrhoea should be remembered?",
        "a": (
            "Mnemonic: <b>VIPoma Gastrinoma Carcinoid Medullary Pheochromocytoma</b>\n\n"
            "• <b>VIPoma</b> — vasoactive intestinal peptide → 'pancreatic cholera' (&gt;3 L/day)\n"
            "• <b>Gastrinoma</b> (Zollinger–Ellison) — excess acid inactivates pancreatic lipase\n"
            "• <b>Carcinoid syndrome</b> — serotonin, watery diarrhoea + flushing\n"
            "• <b>Medullary carcinoma of thyroid</b> — calcitonin\n"
            "• <b>Phaeochromocytoma</b> — catecholamines\n"
            "• <b>Somatostatinoma</b> — inhibits secretin/CCK → malabsorption\n"
            "• <b>Addison disease</b> — aldosterone deficiency\n"
            "• <b>Hyperthyroidism</b> — increased motility"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Causes & Aetiology",
        "q": "Which drugs commonly cause diarrhoea?",
        "a": (
            "• <b>Antibiotics</b> — disruption of microbiome; C. difficile risk (especially 3rd-gen cephalosporins, clindamycin)\n"
            "• <b>Metformin</b> — GI side effects, common\n"
            "• <b>NSAIDs</b> — mucosal irritation\n"
            "• <b>PPIs</b> — alter gut microbiome\n"
            "• <b>Magnesium-containing antacids</b> — osmotic\n"
            "• <b>Laxatives (stimulant)</b> — secretory/motility\n"
            "• <b>Colchicine, SSRIs, ACE inhibitors</b>\n"
            "• <b>Chemotherapy agents</b> (irinotecan, 5-FU)\n"
            "• <b>HAART (HIV treatment)</b> — protease inhibitors especially"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Causes & Aetiology",
        "q": "What are the causes of chronic diarrhoea to consider systematically?",
        "a": (
            "1. <b>Functional:</b> IBS-D, functional diarrhoea\n"
            "2. <b>Malabsorption:</b> coeliac disease, SIBO, lactase deficiency, short bowel\n"
            "3. <b>Inflammatory:</b> IBD (Crohn's, UC), microscopic colitis\n"
            "4. <b>Infectious:</b> Giardia, C. difficile, tropical infections\n"
            "5. <b>Drugs/iatrogenic:</b> medications, post-surgical (vagotomy, cholecystectomy), radiation\n"
            "6. <b>Endocrine:</b> hyperthyroidism, VIPoma, carcinoid, Addison's\n"
            "7. <b>Neoplastic:</b> colorectal cancer, lymphoma, villous adenoma\n"
            "8. <b>Bile acid malabsorption</b> — after ileal resection or disease\n"
            "9. <b>Microscopic colitis</b> — collagenous or lymphocytic colitis"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── INVESTIGATIONS ───────────────────────────────────────────────────────
    {
        "category": "Investigations",
        "q": "What stool tests are used in the evaluation of diarrhoea?",
        "a": (
            "<b>Basic stool tests:</b>\n"
            "• <b>Faecal calprotectin</b> — sensitive marker of intestinal inflammation (IBD vs functional)\n"
            "• <b>Stool culture</b> — for bacterial pathogens (Salmonella, Shigella, Campylobacter, E. coli)\n"
            "• <b>Ova & parasites</b> — Giardia, Cryptosporidium, amoeba\n"
            "• <b>C. difficile toxin PCR / EIA</b>\n"
            "• <b>Multiplex PCR panel</b> — rapid, covers bacteria + viruses + parasites\n"
            "• <b>Faecal fat (72h collection)</b> — steatorrhoea (&gt;7g fat/day)\n"
            "• <b>Faecal elastase</b> — pancreatic exocrine insufficiency\n"
            "• <b>Faecal lactoferrin</b> — inflammatory marker"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease; Goldman-Cecil Medicine"
    },
    {
        "category": "Investigations",
        "q": "What blood tests are indicated in chronic diarrhoea?",
        "a": (
            "• <b>FBC</b> — anaemia (IBD, coeliac, malignancy), eosinophilia (parasites)\n"
            "• <b>CRP / ESR</b> — inflammation\n"
            "• <b>U&E, creatinine</b> — dehydration, electrolyte disturbance\n"
            "• <b>TFTs</b> — hyperthyroidism\n"
            "• <b>IgA tTG antibody + IgA level</b> — coeliac screen\n"
            "• <b>Serum B12, folate, ferritin</b> — malabsorption\n"
            "• <b>Albumin</b> — nutritional status / protein-losing enteropathy\n"
            "• <b>Gut hormones</b> — gastrin (Zollinger–Ellison), VIP, chromogranin A, 5-HIAA\n"
            "• <b>Cortisol / synacthen test</b> — Addison disease"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Investigations",
        "q": "When is colonoscopy/endoscopy indicated in diarrhoea?",
        "a": (
            "<b>Colonoscopy indicated in:</b>\n"
            "• Alarm features (rectal bleeding, weight loss, age &gt;50)\n"
            "• Chronic unexplained diarrhoea\n"
            "• Suspected IBD\n"
            "• Suspected microscopic colitis (biopsy even with normal appearance)\n"
            "• Toxic-appearing patient with acute severe diarrhoea\n"
            "• AIDS-related diarrhoea (colonoscopy preferred over sigmoidoscopy — right colon may be affected)\n\n"
            "<b>Sigmoidoscopy</b> — adequate for initial assessment of acute severe infectious diarrhoea\n\n"
            "<i>Always take mucosal biopsies even if mucosa looks normal</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },

    # ── MANAGEMENT ───────────────────────────────────────────────────────────
    {
        "category": "Management",
        "q": "What is oral rehydration therapy (ORT) and how does it work?",
        "a": (
            "<b>Principle:</b> Na⁺–glucose co-transport (SGLT1) drives Na⁺ absorption even when secretory mechanisms are impaired\n\n"
            "<b>WHO-ORS composition:</b>\n"
            "• Glucose 13.5 g/L | NaCl 2.6 g/L | KCl 1.5 g/L | Na-citrate 2.9 g/L\n"
            "• Osmolality: <b>245 mOsm/L</b> (reduced-osmolality formula)\n\n"
            "<b>Use:</b>\n"
            "• First-line for mild-moderate dehydration in all ages\n"
            "• Revolutionary treatment — reduced cholera mortality from 50% to near 0%\n"
            "• IV fluids reserved for severe dehydration or vomiting\n"
            "• Avoid high-sugar drinks (sports drinks) — can worsen osmotic diarrhoea"
        ),
        "source": "Harrison's Principles of Internal Medicine; Sleisenger & Fordtran's"
    },
    {
        "category": "Management",
        "q": "When are antibiotics indicated in acute infective diarrhoea?",
        "a": (
            "<b>Generally NOT needed</b> — most acute diarrhoea is self-limiting\n\n"
            "<b>Antibiotics indicated in:</b>\n"
            "• Severe/invasive infection (fever, bloody stool, toxic appearance)\n"
            "• <b>Shigellosis</b> — azithromycin or ciprofloxacin\n"
            "• <b>Cholera</b> — doxycycline (reduces duration/volume)\n"
            "• <b>C. difficile</b> — vancomycin (oral) or fidaxomicin (first-line); metronidazole (mild)\n"
            "• <b>Traveller's diarrhoea</b> — azithromycin or rifaximin\n"
            "• <b>Giardiasis</b> — metronidazole or tinidazole\n"
            "• <b>Amoebiasis</b> — metronidazole followed by luminal agent (paromomycin)\n\n"
            "<i>Avoid antibiotics in EHEC O157:H7 — risk of HUS increases</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease; Harrison's"
    },
    {
        "category": "Management",
        "q": "What anti-motility and anti-secretory agents are used in diarrhoea?",
        "a": (
            "<b>Anti-motility agents:</b>\n"
            "• <b>Loperamide</b> (opioid receptor agonist) — reduces peristalsis and fluid secretion; first-line for non-bloody, non-infective diarrhoea\n"
            "• <b>Diphenoxylate/atropine (Lomotil)</b> — similar mechanism\n\n"
            "<b>Cautions:</b> avoid in inflammatory/bloody diarrhoea and C. difficile (risk of toxic megacolon)\n\n"
            "<b>Antisecretory:</b>\n"
            "• <b>Bismuth subsalicylate</b> — antisecretory + antimicrobial + anti-inflammatory\n"
            "• <b>Racecadotril</b> — enkephalinase inhibitor → reduces cAMP-mediated secretion\n"
            "• <b>Octreotide</b> — somatostatin analogue for VIPoma, carcinoid, chemotherapy diarrhoea"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease; Harriet Lane Handbook"
    },
    {
        "category": "Management",
        "q": "How is C. difficile infection (CDI) managed?",
        "a": (
            "<b>Stop precipitating antibiotic</b> if possible\n\n"
            "<b>Treatment by severity:</b>\n"
            "• <b>Non-severe:</b> Oral <b>vancomycin</b> 125 mg QDS × 10 days, or <b>fidaxomicin</b> 200 mg BD × 10 days\n"
            "• <b>Severe (WBC &gt;15, creatinine &gt;133):</b> oral vancomycin 500 mg QDS\n"
            "• <b>Fulminant (ileus/toxic megacolon):</b> IV metronidazole + oral vancomycin ± colectomy\n\n"
            "<b>Recurrent CDI:</b>\n"
            "• <b>Faecal microbiota transplant (FMT)</b> — highly effective for ≥2 recurrences\n"
            "• Bezlotoxumab (monoclonal Ab) to prevent recurrence\n\n"
            "<i>Risk factors: advanced age, broad-spectrum antibiotics, hospitalization, PPI use</i>"
        ),
        "source": "Goldman-Cecil Medicine; Sleisenger & Fordtran's"
    },
    {
        "category": "Management",
        "q": "How is acute diarrhoea managed based on patient appearance?",
        "a": (
            "<b>Non-toxic patient:</b>\n"
            "• Symptomatic therapy + oral rehydration\n"
            "• Usually no investigations required\n"
            "• Reassurance and dietary advice\n\n"
            "<b>Toxic patient (fever, dehydration, haemodynamic instability):</b>\n"
            "• IV fluids + electrolyte repletion\n"
            "• FBC, U&E, serum creatinine\n"
            "• Stool: culture (if fecal WBC present), O&P, Giardia/Cryptosporidium antigen, C. diff PCR\n"
            "• Consider multiplex PCR stool panel\n"
            "• Sigmoidoscopy or colonoscopy if warranted\n"
            "• Consider empirical antibiotics if severe"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease (Table 16.3)"
    },

    # ── SPECIAL SITUATIONS ───────────────────────────────────────────────────
    {
        "category": "Special Situations",
        "q": "What causes diarrhoea in HIV/AIDS patients?",
        "a": (
            "<b>Pre-HAART era:</b> up to 90% of AIDS patients had diarrhoea\n"
            "<b>Post-HAART era:</b> less common; mainly drug-induced (protease inhibitors) or non-HIV causes\n\n"
            "<b>Infectious causes (by organism type):</b>\n"
            "• <b>Protozoa (most common):</b> Cryptosporidium*, Microsporidia*, Giardia, Cyclospora, Entamoeba, Leishmania\n"
            "• <b>Bacteria:</b> Salmonella*, Shigella*, Campylobacter*, C. diff, MAC, TB\n"
            "• <b>Viruses:</b> CMV, HSV, Adenovirus, Norovirus\n"
            "• <b>Fungi:</b> Histoplasma, Cryptococcus, Candida\n\n"
            "<b>Risk factors for OI:</b> low CD4 count, not on HAART, unsafe water, exposure to animals\n"
            "<i>* = common + often chronic/refractory in HIV</i>"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Special Situations",
        "q": "What is traveller's diarrhoea and how is it managed?",
        "a": (
            "• Defined as ≥3 loose stools/day in a traveller, ± cramping, nausea, fever\n"
            "• Most common in travel to South Asia, Sub-Saharan Africa, Latin America\n\n"
            "<b>Causes:</b> ETEC (most common), Campylobacter, Shigella, Salmonella, Norovirus, Giardia\n\n"
            "<b>Management:</b>\n"
            "• <b>Mild:</b> Oral rehydration + bismuth subsalicylate or loperamide\n"
            "• <b>Moderate-severe:</b> <b>Azithromycin</b> 1g single dose (drug of choice)\n"
            "  or Rifaximin 200mg TDS × 3 days (non-invasive E. coli only)\n"
            "  or Ciprofloxacin (increasing resistance)\n"
            "• <b>Prevention:</b> boiled/bottled water, food hygiene; prophylactic antibiotics not routinely recommended"
        ),
        "source": "Harrison's Principles of Internal Medicine; Sleisenger & Fordtran's"
    },
    {
        "category": "Special Situations",
        "q": "What is microscopic colitis and how does it present?",
        "a": (
            "• Chronic watery, non-bloody diarrhoea — often <b>nocturnal</b>, large volume\n"
            "• Predominantly affects <b>older women</b>\n"
            "• <b>Normal colonoscopy</b> — diagnosis requires <b>biopsy</b>\n\n"
            "<b>Two subtypes:</b>\n"
            "• <b>Collagenous colitis</b> — thickened subepithelial collagen band (&gt;10 µm)\n"
            "• <b>Lymphocytic colitis</b> — increased intraepithelial lymphocytes (&gt;20 per 100 epithelial cells)\n\n"
            "<b>Associations:</b> NSAIDs, PPIs, SSRIs, coeliac disease, autoimmune conditions\n\n"
            "<b>Treatment:</b> Budesonide (first-line), stop offending drugs; cholestyramine for mild cases"
        ),
        "source": "Sleisenger & Fordtran's GI and Liver Disease"
    },
    {
        "category": "Special Situations",
        "q": "What are the causes of post-surgical diarrhoea?",
        "a": (
            "• <b>Post-vagotomy diarrhoea</b> — after truncal vagotomy; rapid gastric emptying and abnormal intestinal motility\n"
            "• <b>Bile acid malabsorption</b> — after ileal resection (&gt;100cm) → bile acids reach colon → secretory diarrhoea\n"
            "• <b>Short bowel syndrome</b> — after extensive small bowel resection → reduced absorptive surface\n"
            "• <b>Post-cholecystectomy diarrhoea</b> — continuous bile acid secretion into gut\n"
            "• <b>Dumping syndrome</b> — rapid transit after gastric surgery → osmotic diarrhoea\n"
            "• <b>C. difficile</b> — hospital-acquired, antibiotic-associated\n\n"
            "<i>Post-operative diarrhoea: always first exclude toxic megacolon (C. diff)</i>"
        ),
        "source": "Goldman-Cecil Medicine; Bailey & Love's Surgery; Sleisenger & Fordtran's"
    },

    # ── COMPLICATIONS ────────────────────────────────────────────────────────
    {
        "category": "Complications",
        "q": "What are the complications of acute severe diarrhoea?",
        "a": (
            "<b>Fluid and electrolyte complications:</b>\n"
            "• <b>Dehydration</b> — mild, moderate, severe\n"
            "• <b>Hyponatraemia / hypernatraemia</b>\n"
            "• <b>Hypokalaemia</b> — from stool potassium losses\n"
            "• <b>Metabolic acidosis</b> — HCO₃⁻ loss in stool\n\n"
            "<b>Infective complications:</b>\n"
            "• <b>Bacteraemia / septicaemia</b> — Salmonella, Shigella\n"
            "• <b>Haemolytic Uraemic Syndrome (HUS)</b> — EHEC O157:H7 → thrombotic microangiopathy\n"
            "• <b>Reactive arthritis</b> — post-Campylobacter, Salmonella, Shigella, Yersinia\n"
            "• <b>Toxic megacolon</b> — C. difficile, IBD\n\n"
            "<b>Nutritional:</b> malnutrition (especially in children in developing countries)"
        ),
        "source": "Guyton & Hall; Sleisenger & Fordtran's"
    },
    {
        "category": "Complications",
        "q": "What is Haemolytic Uraemic Syndrome (HUS) and which pathogen causes it?",
        "a": (
            "<b>Cause:</b> Enterohaemorrhagic <i>E. coli</i> <b>O157:H7</b> (EHEC)\n"
            "• Produces Shiga toxin (verotoxin) → systemic absorption\n\n"
            "<b>Classic triad of HUS:</b>\n"
            "1. <b>Microangiopathic haemolytic anaemia</b> (MAHA)\n"
            "2. <b>Thrombocytopaenia</b>\n"
            "3. <b>Acute kidney injury</b>\n\n"
            "<b>Clinical features:</b> Haemorrhagic colitis → 5–10 days later: pallor, oedema, oliguria, purpura\n\n"
            "<b>Management:</b> Supportive (dialysis if needed); <b>avoid antibiotics</b> (may lyse bacteria → ↑ toxin release) and anti-motility agents\n\n"
            "<b>Prognosis:</b> Most children recover; 5% mortality"
        ),
        "source": "Harrison's Principles; Sleisenger & Fordtran's"
    },
    {
        "category": "Complications",
        "q": "What is toxic megacolon and how is it recognised?",
        "a": (
            "<b>Definition:</b> Non-obstructive dilatation of the colon (&gt;6 cm) with systemic toxicity\n\n"
            "<b>Causes:</b>\n"
            "• <b>C. difficile</b> (most common in hospital setting)\n"
            "• Inflammatory bowel disease (UC &gt; Crohn's)\n\n"
            "<b>Clinical features:</b>\n"
            "• <b>Paradoxical decrease in diarrhoea</b> (ileus)\n"
            "• Fever, tachycardia, hypotension, delirium (signs of sepsis)\n"
            "• Abdominal distension, tenderness\n\n"
            "<b>Investigations:</b> AXR — colonic dilatation &gt;6 cm\n\n"
            "<b>Management:</b> NBM, IV fluids, antibiotics (IV metronidazole + oral vancomycin for CDI), surgical review (subtotal colectomy if no improvement in 24–72h)"
        ),
        "source": "Goldman-Cecil Medicine; Sleisenger & Fordtran's"
    },
]

# ── Build PDF ─────────────────────────────────────────────────────────────────
def build_pdf(output_path, cards):
    doc = SimpleDocTemplate(
        output_path,
        pagesize=A4,
        leftMargin=18*mm, rightMargin=18*mm,
        topMargin=20*mm, bottomMargin=20*mm,
    )

    styles = getSampleStyleSheet()

    # Custom styles
    cover_title = ParagraphStyle("CoverTitle", parent=styles["Title"],
        fontSize=32, textColor=TEAL, spaceAfter=6, alignment=TA_CENTER, fontName="Helvetica-Bold")
    cover_sub = ParagraphStyle("CoverSub", parent=styles["Normal"],
        fontSize=14, textColor=GREY_MID, alignment=TA_CENTER, spaceAfter=4)
    cover_meta = ParagraphStyle("CoverMeta", parent=styles["Normal"],
        fontSize=10, textColor=GREY_MID, alignment=TA_CENTER)

    cat_header = ParagraphStyle("CatHeader", parent=styles["Normal"],
        fontSize=13, fontName="Helvetica-Bold", textColor=WHITE,
        alignment=TA_CENTER, spaceAfter=0, spaceBefore=0)

    card_num = ParagraphStyle("CardNum", parent=styles["Normal"],
        fontSize=8, textColor=GREY_MID, alignment=TA_LEFT, spaceAfter=2)
    q_style = ParagraphStyle("Q", parent=styles["Normal"],
        fontSize=11, fontName="Helvetica-Bold", textColor=GREY_DARK,
        spaceAfter=6, leading=15)
    a_style = ParagraphStyle("A", parent=styles["Normal"],
        fontSize=10, textColor=GREY_DARK,
        spaceAfter=3, leading=14)
    src_style = ParagraphStyle("Src", parent=styles["Normal"],
        fontSize=8, textColor=GREY_MID, alignment=TA_LEFT, spaceBefore=4)

    def make_divider(color):
        return HRFlowable(width="100%", thickness=1, color=color, spaceAfter=6, spaceBefore=2)

    story = []

    # ── Cover page ────────────────────────────────────────────────────────────
    story.append(Spacer(1, 60*mm))
    story.append(Paragraph("Diarrhoea", cover_title))
    story.append(Spacer(1, 4*mm))
    story.append(Paragraph("Medical Flashcard Set", cover_sub))
    story.append(Spacer(1, 6*mm))
    story.append(HRFlowable(width="60%", thickness=2, color=TEAL, spaceAfter=10, spaceBefore=4))
    story.append(Spacer(1, 4*mm))
    story.append(Paragraph(f"{len(cards)} Cards  •  9 Categories", cover_meta))
    story.append(Spacer(1, 3*mm))
    story.append(Paragraph("Definition  •  Pathophysiology  •  Classification  •  Clinical Features", cover_meta))
    story.append(Paragraph("Causes  •  Investigations  •  Management  •  Complications", cover_meta))
    story.append(Spacer(1, 12*mm))
    story.append(Paragraph("Based on: Sleisenger & Fordtran's GI and Liver Disease  •  Harrison's  •  Guyton & Hall  •  Goldman-Cecil Medicine", cover_meta))
    story.append(PageBreak())

    # ── Cards ─────────────────────────────────────────────────────────────────
    cat_order = list(dict.fromkeys(c["category"] for c in cards))
    cat_counts = {cat: sum(1 for c in cards if c["category"] == cat) for cat in cat_order}
    card_counter = 0

    current_cat = None
    for i, card in enumerate(cards):
        cat = card["category"]
        hdr_bg, hdr_fg, card_bg, accent = CAT_COLORS.get(cat, (TEAL, WHITE, TEAL_LIGHT, TEAL))

        # Category separator
        if cat != current_cat:
            if current_cat is not None:
                story.append(Spacer(1, 4*mm))
            # Category header bar
            header_table = Table(
                [[Paragraph(f"⬛  {cat}  ({cat_counts[cat]} cards)", cat_header)]],
                colWidths=["100%"]
            )
            header_table.setStyle(TableStyle([
                ("BACKGROUND", (0,0), (-1,-1), hdr_bg),
                ("TOPPADDING", (0,0), (-1,-1), 8),
                ("BOTTOMPADDING", (0,0), (-1,-1), 8),
                ("LEFTPADDING", (0,0), (-1,-1), 12),
                ("RIGHTPADDING", (0,0), (-1,-1), 12),
                ("ROUNDEDCORNERS", (0,0), (-1,-1), [6, 6, 6, 6]),
            ]))
            story.append(KeepTogether([header_table, Spacer(1, 3*mm)]))
            current_cat = cat

        card_counter += 1
        # Build card content
        q_text = card["q"]
        a_text = card["a"].replace("\n", "<br/>")
        src_text = f"Source: {card['source']}"

        inner = [
            Paragraph(f"Card {card_counter} of {len(cards)}", card_num),
            make_divider(accent),
            Paragraph(f"Q:  {q_text}", q_style),
            make_divider(accent),
            Paragraph(f"<b>Answer:</b>", a_style),
            Paragraph(a_text, a_style),
            Spacer(1, 2*mm),
            Paragraph(src_text, src_style),
        ]

        card_table = Table(
            [[inner]],
            colWidths=["100%"]
        )
        card_table.setStyle(TableStyle([
            ("BACKGROUND", (0,0), (-1,-1), card_bg),
            ("TOPPADDING", (0,0), (-1,-1), 10),
            ("BOTTOMPADDING", (0,0), (-1,-1), 10),
            ("LEFTPADDING", (0,0), (-1,-1), 14),
            ("RIGHTPADDING", (0,0), (-1,-1), 14),
            ("BOX", (0,0), (-1,-1), 1.5, accent),
            ("ROUNDEDCORNERS", (0,0), (-1,-1), [8, 8, 8, 8]),
        ]))

        story.append(KeepTogether([card_table, Spacer(1, 5*mm)]))

    doc.build(story)
    print(f"PDF written: {output_path}  ({len(cards)} cards)")

build_pdf(OUTPUT, FLASHCARDS)
Running Command

cd /home/daytona/workspace/diarrhoea-flashcards && python generate_flashcards.py

Your flashcard PDF is ready:

Diarrhoea Flashcards

PDF Document · PDF


What's inside - 33 cards across 9 colour-coded categories:
CategoryCards
Definition & Epidemiology2
Pathophysiology5
Classification3
Clinical Features3
Causes & Aetiology5
Investigations3
Management5
Special Situations4
Complications3
Topics covered include: definitions, stool osmotic gap formula, ALPINEs framework, cholera mechanism, osmotic vs secretory distinction, alarm features, bacterial/viral/parasitic causes, endocrine causes (VIPoma, carcinoid, etc.), WHO-ORS composition, antibiotic indications, C. difficile management, HUS, toxic megacolon, HIV diarrhoea, traveller's diarrhoea, and microscopic colitis.
All content is sourced from Sleisenger & Fordtran's, Harrison's, Guyton & Hall, and Goldman-Cecil Medicine.
This is a shared conversation. Sign in to Orris to start your own chat.