What's the solution to IBS

Reading File
Finding Sources
Finding Sources
Searching PubMed

"irritable bowel syndrome"[MeSH Terms] AND "therapeutics"[MeSH Terms]

Searching the Web

irritable bowel syndrome treatment guideline ACG AGA low FODMAP diet neuromodulators

Reading File
Reading File
There is no single cure for IBS. It is a chronic disorder of gut-brain interaction, and the aim is to control symptoms. Most people get good relief from a stepwise plan matched to their main symptom (pain, diarrhea, constipation, or bloating).

Step 1: Confirm the diagnosis and explain it

  • Diagnosis is mostly clinical, using Rome IV criteria, with limited testing to exclude look-alikes.
  • Alarm features need a workup first: rectal bleeding, weight loss, anemia, nocturnal symptoms, onset after age 50, or a family history of colorectal cancer, IBD or celiac disease.
  • The ACG guideline suggests checking fecal calprotectin when diarrhea is prominent, to exclude IBD.
  • Reassurance and a good patient-clinician relationship are part of the treatment.

Step 2: Lifestyle and diet (first line for everyone)

  • Regular exercise, regular meals and good sleep.
  • Soluble fiber such as psyllium helps most with constipation. Insoluble fiber such as bran can worsen bloating.
  • Cut back on known triggers like caffeine, alcohol, fatty foods and sorbitol.
  • A time-limited low FODMAP diet, ideally with a dietitian, is recommended by the ACG for global symptoms, although the evidence is of low quality. It has three phases: restriction for 4 to 6 weeks, reintroduction, then personalization. Stop it if there is no response.
  • The ACG found insufficient evidence to recommend a gluten-free diet.

Step 3: Treatment by predominant symptom

These drugs and doses come from Harrison's and Cecil (tables cited at the end).
SymptomOptions
Pain and crampingAntispasmodics (peppermint oil, hyoscyamine, dicyclomine). Low-dose tricyclics (amitriptyline, nortriptyline) at 10 to 25 mg at bedtime, titrated up.
Constipation (IBS-C)Polyethylene glycol, lubiprostone, linaclotide, plecanatide, tenapanor. The ACG strongly recommends the secretory agents (chloride channel and guanylate cyclase activators).
Diarrhea (IBS-D)Loperamide, eluxadoline, bile acid sequestrants such as cholestyramine, and alosetron for severe IBS in women. Rifaximin 550 mg three times daily for 14 days is approved, and up to 2 retreatment courses are allowed.
Gas and bloatingLow FODMAP diet, probiotics, and rifaximin in some patients.
  • Gut-directed psychotherapy: Cognitive behavioral therapy and gut-directed hypnotherapy are effective and are suggested by the ACG for global symptoms. Both are underused.
  • Neuromodulators: Tricyclics and SSRIs work through the gut-brain axis, and a 2025 meta-analysis supports their use. They are particularly useful for pain that is persistent or severe. SSRIs tend to suit IBS-C and tricyclics IBS-D.

Step 4: If symptoms persist

  • Refer to a gastroenterologist or a gut-brain clinic.
  • Re-check for other diagnoses such as celiac disease, bile acid diarrhea, SIBO, pelvic floor dysfunction, and microscopic colitis.
  • Combine a neuromodulator with psychological therapy.

Practical expectations

  • Most people have mild disease and do well in primary care. About 5% have severe, refractory disease with psychosocial factors (Harrison's Table 338-3).
  • Symptoms often wax and wane. Success usually means fewer flares and a better quality of life, not zero symptoms.

Recent evidence check

A quick search of 2024 to 2026 systematic reviews found nothing that contradicts the textbook approach. The relevant reviews were:
  • PMID 40258375: gut-brain neuromodulators.
  • PMID 40471839: safety of IBS drugs.
  • PMID 38499162: H1 antihistamines, an emerging area.
I haven't checked the doses against current labeling. Confirm drug choices with a clinician, especially for alosetron and eluxadoline, which have restrictions.
If you tell me your main symptom (diarrhea, constipation, mixed or pain) and what you've already tried, I can tailor this. If you are the patient, see a clinician before starting medication, particularly if you have any alarm features.
Sources: Harrison's Principles of Internal Medicine 22E, Chapter 338 (IBS treatment table); Goldman-Cecil Medicine, IBS section (drug and dose table, rifaximin); ACG Clinical Guideline: Management of IBS.

Create a presentation on IBS management by subtype

Reading File
Reading File
Reading File
Finding Sources
Searching the Web

ACG 2021 IBS guideline recommendations IBS-C IBS-D IBS-M linaclotide plecanatide tenapanor eluxadoline rifaximin tricyclic antidepressants

Running Command

mkdir -p /tmp/workspace/ibs-deck && ls -la /tmp/workspace/ /tmp/workspace/ibs-deck

Writing File

~/ibs-deck/build.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE

NAVY = RGBColor(0x1F, 0x3A, 0x5F)
TEAL = RGBColor(0x2A, 0x7F, 0x9E)   # IBS-C
ORANGE = RGBColor(0xD9, 0x82, 0x2B)  # IBS-D
PURPLE = RGBColor(0x6B, 0x5C, 0xA5)  # IBS-M
GRAY = RGBColor(0x6B, 0x72, 0x80)    # IBS-U
LIGHT = RGBColor(0xF3, 0xF6, 0xF9)
DARK = RGBColor(0x22, 0x2B, 0x38)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
RED = RGBColor(0xB4, 0x3A, 0x3A)
FONT = "Calibri"

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
BLANK = prs.slide_layouts[6]


def rect(slide, x, y, w, h, fill, line=None, shape=MSO_SHAPE.RECTANGLE):
    s = slide.shapes.add_shape(shape, Inches(x), Inches(y), Inches(w), Inches(h))
    s.fill.solid()
    s.fill.fore_color.rgb = fill
    if line is None:
        s.line.fill.background()
    else:
        s.line.color.rgb = line
    s.shadow.inherit = False
    return s


def text(slide, x, y, w, h, content, size=16, bold=False, color=DARK,
         align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.TOP):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.vertical_anchor = anchor
    tf.margin_left = tf.margin_right = Inches(0.05)
    tf.margin_top = tf.margin_bottom = Inches(0.03)
    p = tf.paragraphs[0]
    p.alignment = align
    r = p.add_run()
    r.text = content
    r.font.name = FONT
    r.font.size = Pt(size)
    r.font.bold = bold
    r.font.color.rgb = color
    return tb


def bullets(slide, x, y, w, h, items, size=16, color=DARK, space=6):
    """items: str or (str, level) or (bold_lead, rest)"""
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left = tf.margin_right = Inches(0.05)
    first = True
    for it in items:
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False
        p.space_after = Pt(space)
        lead, rest = None, it
        if isinstance(it, tuple):
            lead, rest = it
        r0 = p.add_run()
        r0.text = "\u2022  "
        r0.font.size = Pt(size)
        r0.font.name = FONT
        r0.font.color.rgb = TEAL
        r0.font.bold = True
        if lead:
            rl = p.add_run()
            rl.text = lead + " "
            rl.font.bold = True
            rl.font.size = Pt(size)
            rl.font.name = FONT
            rl.font.color.rgb = color
        r = p.add_run()
        r.text = rest
        r.font.size = Pt(size)
        r.font.name = FONT
        r.font.color.rgb = color
    return tb


def header(slide, title, sub=None, accent=NAVY):
    rect(slide, 0, 0, 13.333, 1.15, accent)
    text(slide, 0.6, 0.18, 12.1, 0.6, title, size=30, bold=True, color=WHITE)
    if sub:
        text(slide, 0.6, 0.72, 12.1, 0.35, sub, size=15, color=RGBColor(0xDD, 0xE6, 0xEE))


def footer(slide, n, src=None):
    if src:
        text(slide, 0.6, 7.02, 11.2, 0.3, src, size=10, color=GRAY)
    text(slide, 12.2, 7.02, 0.6, 0.3, str(n), size=10, color=GRAY, align=PP_ALIGN.RIGHT)


def notes(slide, t):
    slide.notes_slide.notes_text_frame.text = t


def table(slide, x, y, w, col_w, rows, header_fill=NAVY, size=13, row_h=0.5):
    nrows, ncols = len(rows), len(rows[0])
    gt = slide.shapes.add_table(nrows, ncols, Inches(x), Inches(y), Inches(w), Inches(row_h * nrows))
    tbl = gt.table
    for i, cw in enumerate(col_w):
        tbl.columns[i].width = Inches(cw)
    for r in range(nrows):
        tbl.rows[r].height = Inches(row_h)
        for c in range(ncols):
            cell = tbl.cell(r, c)
            cell.margin_left = cell.margin_right = Inches(0.08)
            cell.margin_top = cell.margin_bottom = Inches(0.04)
            cell.vertical_anchor = MSO_ANCHOR.MIDDLE
            tf = cell.text_frame
            tf.word_wrap = True
            p = tf.paragraphs[0]
            run = p.add_run()
            run.text = rows[r][c]
            run.font.name = FONT
            run.font.size = Pt(size)
            cell.fill.solid()
            if r == 0:
                cell.fill.fore_color.rgb = header_fill
                run.font.bold = True
                run.font.color.rgb = WHITE
            else:
                cell.fill.fore_color.rgb = LIGHT if r % 2 else WHITE
                run.font.color.rgb = DARK
                if c == 0:
                    run.font.bold = True
    return tbl


n = 0

# ---------- 1. Title ----------
s = prs.slides.add_slide(BLANK); n += 1
rect(s, 0, 0, 13.333, 7.5, NAVY)
# subtype colour strip
for i, col in enumerate([TEAL, ORANGE, PURPLE, GRAY]):
    rect(s, 0.8 + i * 1.2, 2.2, 1.1, 0.12, col)
text(s, 0.8, 2.45, 11.5, 1.2, "Irritable Bowel Syndrome", size=48, bold=True, color=WHITE)
text(s, 0.8, 3.5, 11.5, 0.8, "Management by subtype: IBS-C, IBS-D, IBS-M and IBS-U", size=26,
     color=RGBColor(0xDD, 0xE6, 0xEE))
text(s, 0.8, 5.6, 11.5, 0.5, "Based on Harrison's 22e, Goldman-Cecil, ACG 2021 and AGA 2022 guidelines",
     size=15, color=RGBColor(0xB8, 0xC7, 0xD6))
text(s, 0.8, 6.0, 11.5, 0.5, "For education. Drug choice and doses should be confirmed against current labeling.",
     size=13, color=RGBColor(0xB8, 0xC7, 0xD6))
notes(s, "Overview of how IBS management changes with the predominant stool pattern. Sources: Harrison's Principles of Internal Medicine 22e Ch 338; Goldman-Cecil Medicine IBS chapter; ACG Clinical Guideline 2021 (Lacy et al); AGA guidelines on IBS-C and IBS-D pharmacologic management 2022.")

# ---------- 2. Definition & subtypes ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "Diagnosis and subtyping", "Rome IV: recurrent abdominal pain at least 1 day/week for 3 months, symptom onset 6+ months ago")
bullets(s, 0.6, 1.4, 12.1, 1.5, [
    ("Pain plus 2 or more of:", "related to defecation, change in stool frequency, change in stool form."),
    ("Subtype is set by stool form", "(Bristol scale) on days with abnormal bowel movements, not by frequency alone."),
], size=17)
cards = [
    ("IBS-C", "Constipation", ">25% hard stools (Bristol 1-2)\n<25% loose stools (6-7)", TEAL),
    ("IBS-D", "Diarrhea", ">25% loose stools (Bristol 6-7)\n<25% hard stools (1-2)", ORANGE),
    ("IBS-M", "Mixed", ">25% hard stools AND\n>25% loose stools", PURPLE),
    ("IBS-U", "Unclassified", "Meets IBS criteria but fits\nnone of the above patterns", GRAY),
]
for i, (code, name, desc, col) in enumerate(cards):
    x = 0.6 + i * 3.08
    rect(s, x, 3.2, 2.9, 2.6, LIGHT)
    rect(s, x, 3.2, 2.9, 0.85, col)
    text(s, x, 3.2, 2.9, 0.85, code, size=28, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
    text(s, x, 4.15, 2.9, 0.4, name, size=18, bold=True, color=col, align=PP_ALIGN.CENTER)
    text(s, x + 0.1, 4.7, 2.7, 1.0, desc, size=14, align=PP_ALIGN.CENTER)
rect(s, 0.6, 6.1, 12.1, 0.75, RGBColor(0xFB, 0xEC, 0xEC))
text(s, 0.8, 6.1, 11.7, 0.75,
     "Alarm features need a workup first: rectal bleeding, weight loss, anemia, nocturnal symptoms, onset after age 50, family history of colon cancer, IBD or celiac disease.",
     size=14, color=RED, anchor=MSO_ANCHOR.MIDDLE)
footer(s, n, "Rome IV criteria; Harrison's Principles of Internal Medicine 22e")
notes(s, "Subtype classification uses stool form on days with abnormal bowel habits. Subtype can shift over time, so reassess at follow-up. Alarm features should prompt colonoscopy or other targeted investigation before labeling symptoms as IBS.")

# ---------- 3. Foundation for all ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "Foundation for every subtype", "Start here before choosing drugs")
cols = [
    ("Confirm and educate", NAVY, [
        "Positive diagnosis using Rome IV, limited testing",
        "Explain gut-brain interaction and that IBS is benign",
        "Set goal: fewer flares, not zero symptoms",
        "Fecal calprotectin when diarrhea is prominent",
        "Celiac serology if diarrhea or mixed pattern",
    ]),
    ("Lifestyle", TEAL, [
        "Regular exercise, meals and sleep",
        "Limit caffeine, alcohol, fatty foods, sorbitol",
        "Soluble fiber (psyllium) helps, especially in IBS-C",
        "Avoid insoluble bran, which can worsen bloating",
        "Track symptoms and triggers",
    ]),
    ("Dietary therapy", ORANGE, [
        "Limited trial of low FODMAP diet (ACG: conditional, low quality evidence)",
        "Phases: restrict 4-6 weeks, reintroduce, personalize",
        "Best with a dietitian; stop if no response",
        "Gluten-free diet: insufficient evidence",
    ]),
]
for i, (t, col, items) in enumerate(cols):
    x = 0.6 + i * 4.1
    rect(s, x, 1.5, 3.9, 0.6, col)
    text(s, x, 1.5, 3.9, 0.6, t, size=19, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
    rect(s, x, 2.1, 3.9, 4.6, LIGHT)
    bullets(s, x + 0.1, 2.25, 3.7, 4.4, items, size=15, space=8)
footer(s, n, "ACG Clinical Guideline: Management of IBS (Lacy et al, 2021); AGA 2022 dietary guidance; Harrison's 22e")
notes(s, "Mild disease (about 70% of patients) is usually managed in primary care with education, diet and lifestyle. About 25% are moderate and 5% severe with psychosocial comorbidity (Harrison's Table 338-3). The low FODMAP diet is a time-limited diagnostic and therapeutic trial, not a lifelong diet.")

# ---------- 4. IBS-C overview ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "IBS-C: stepwise approach", "Constipation-predominant", accent=TEAL)
steps = [
    ("Step 1", "Diet and fiber", "Soluble fiber (psyllium 3-4 g bid, titrate). Exercise. Low FODMAP trial if bloating."),
    ("Step 2", "Secretagogue", "Linaclotide 290 mcg daily (strong rec, AGA). Alternatives: plecanatide, tenapanor, lubiprostone."),
    ("Step 3", "Add pain control", "Antispasmodic or low-dose tricyclic if pain persists despite better stools."),
    ("Step 4", "Refractory", "Gut-directed psychotherapy, check pelvic floor dysfunction, consider tegaserod, GI referral."),
]
for i, (a, b, c) in enumerate(steps):
    y = 1.45 + i * 1.35
    rect(s, 0.6, y, 1.4, 1.2, TEAL)
    text(s, 0.6, y, 1.4, 1.2, a, size=22, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
    rect(s, 2.0, y, 10.7, 1.2, LIGHT)
    text(s, 2.2, y + 0.08, 10.3, 0.4, b, size=19, bold=True, color=TEAL)
    text(s, 2.2, y + 0.5, 10.3, 0.7, c, size=15)
rect(s, 0.6, 6.85 - 0.0, 0.01, 0.01, WHITE)
footer(s, n, "AGA IBS-C guideline 2022; ACG 2021; Goldman-Cecil Medicine")
notes(s, "AGA 2022 IBS-C: strong recommendation for linaclotide; conditional for tenapanor, plecanatide, tegaserod and lubiprostone; conditional for PEG, tricyclics and antispasmodics (low certainty); conditional recommendation against SSRIs. ACG 2021 gave a strong recommendation for the secretagogues as a class but suggested against PEG for global IBS symptoms, since PEG improves stool frequency but not pain. Laxatives still have a role for stool frequency.")

# ---------- 5. IBS-C drugs ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "IBS-C: drug options", "Doses as listed in Harrison's 22e and Goldman-Cecil", accent=TEAL)
rows = [
    ["Drug", "Class / action", "Dose", "Key cautions"],
    ["Linaclotide", "Guanylate cyclase-C agonist", "290 mcg daily (lower doses 72-145 mcg used)", "Diarrhea; avoid under 18 years"],
    ["Plecanatide", "Guanylate cyclase-C agonist", "3 mg daily", "Diarrhea; avoid under 18 years"],
    ["Tenapanor", "NHE3 inhibitor", "50 mg twice daily", "Diarrhea; avoid in children"],
    ["Lubiprostone", "Chloride channel activator", "8 mcg twice daily", "Nausea; labeled for women"],
    ["PEG 3350", "Osmotic laxative", "17 g daily, titrate", "Helps stools, weak for pain (ACG)"],
    ["Tegaserod", "5-HT4 agonist", "6 mg twice daily", "Women under 65, no CV ischemic history"],
]
table(s, 0.6, 1.5, 12.1, [2.0, 3.2, 3.6, 3.3], rows, header_fill=TEAL, size=14, row_h=0.62)
text(s, 0.6, 6.0, 12.1, 0.8,
     "Pain adjuncts: peppermint oil, hyoscyamine 0.125 mg or dicyclomine 10 mg as needed; tricyclic (amitriptyline or nortriptyline) 10-25 mg at bedtime.",
     size=15)
footer(s, n, "Harrison's Principles of Internal Medicine 22e; Goldman-Cecil Medicine; AGA 2022")
notes(s, "Diarrhea is the main side effect of the secretagogues and can lead to discontinuation. Counsel patients to take linaclotide 30 minutes before the first meal. Check current labeling for age and sex restrictions.")

# ---------- 6. IBS-D overview ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "IBS-D: stepwise approach", "Diarrhea-predominant", accent=ORANGE)
steps = [
    ("Step 1", "Exclude mimics, then diet", "Calprotectin, celiac serology. Low FODMAP trial. Reduce caffeine, sorbitol, fat."),
    ("Step 2", "Symptom control", "Loperamide 2-4 mg as needed for stool frequency. Antispasmodic for cramping."),
    ("Step 3", "Targeted drug", "Rifaximin 550 mg tid x 14 days, or eluxadoline 75-100 mg bid. Consider a bile acid binder."),
    ("Step 4", "Refractory", "Tricyclic neuromodulator, gut-directed therapy, alosetron for severe disease in women, GI referral."),
]
for i, (a, b, c) in enumerate(steps):
    y = 1.45 + i * 1.35
    rect(s, 0.6, y, 1.4, 1.2, ORANGE)
    text(s, 0.6, y, 1.4, 1.2, a, size=22, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
    rect(s, 2.0, y, 10.7, 1.2, LIGHT)
    text(s, 2.2, y + 0.08, 10.3, 0.4, b, size=19, bold=True, color=ORANGE)
    text(s, 2.2, y + 0.5, 10.3, 0.7, c, size=15)
footer(s, n, "AGA IBS-D guideline 2022; ACG 2021; Goldman-Cecil Medicine")
notes(s, "AGA 2022 IBS-D: conditional recommendations for eluxadoline, rifaximin and alosetron (moderate certainty), loperamide (very low certainty), tricyclics and antispasmodics (low certainty); conditional recommendation against SSRIs. Loperamide improves stool consistency but not global symptoms or pain, so it is mainly for mild pain. Bile acid diarrhea is a common missed cause; a trial of a bile acid binder is reasonable.")

# ---------- 7. IBS-D drugs ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "IBS-D: drug options", "Doses as listed in Harrison's 22e and Goldman-Cecil", accent=ORANGE)
rows = [
    ["Drug", "Class / action", "Dose", "Key cautions"],
    ["Loperamide", "Mu-opioid agonist", "2-4 mg as needed", "Constipation; no effect on global symptoms"],
    ["Rifaximin", "Non-absorbed antibiotic", "550 mg tid x 14 days; up to 2 retreatments", "Well tolerated; C. difficile rare"],
    ["Eluxadoline", "Mixed opioid receptor agent", "75-100 mg twice daily", "Pancreatitis, sphincter of Oddi spasm; avoid without gallbladder"],
    ["Alosetron", "5-HT3 antagonist", "0.5-1 mg twice daily", "Severe IBS-D in women; ischemic colitis, constipation"],
    ["Cholestyramine", "Bile acid binder", "4 g with meals, titrate", "Bloating; separate from other drugs"],
    ["Antispasmodics", "Anticholinergic", "Hyoscyamine 0.125 mg, dicyclomine 10 mg prn", "Dry mouth, blurred vision"],
]
table(s, 0.6, 1.5, 12.1, [2.0, 2.8, 3.5, 3.8], rows, header_fill=ORANGE, size=14, row_h=0.68)
footer(s, n, "Harrison's Principles of Internal Medicine 22e; Goldman-Cecil Medicine; Katzung 16e; AGA 2022")
notes(s, "Eluxadoline is contraindicated without a gallbladder, with a history of pancreatitis, or with heavy alcohol use. Alosetron is restricted under a risk program because of ischemic colitis. Rifaximin has a benefit within 1 to 2 weeks and can be retreated if symptoms recur.")

# ---------- 8. IBS-M and IBS-U ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "IBS-M and IBS-U", "Few trials; treat the symptom that dominates at the time", accent=PURPLE)
rect(s, 0.6, 1.5, 5.95, 4.9, LIGHT)
rect(s, 0.6, 1.5, 5.95, 0.6, PURPLE)
text(s, 0.6, 1.5, 5.95, 0.6, "IBS-M (alternating)", size=20, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
bullets(s, 0.75, 2.25, 5.7, 4.1, [
    "Most trials excluded or under-enrolled mixed patients",
    "Use diet, soluble fiber and stress management as the base",
    "Treat the current phase: loperamide or bile acid binder for diarrhea, PEG or secretagogue for constipation",
    "Avoid over-correcting; stop the agent when the pattern flips",
    "Tricyclics or gut-directed therapy suit pain across both phases",
], size=15, space=8)
rect(s, 6.75, 1.5, 5.95, 4.9, LIGHT)
rect(s, 6.75, 1.5, 5.95, 0.6, GRAY)
text(s, 6.75, 1.5, 5.95, 0.6, "IBS-U (unclassified)", size=20, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
bullets(s, 6.9, 2.25, 5.7, 4.1, [
    "Re-record stool form over 2 weeks; many reclassify",
    "Pain and bloating predominant: antispasmodic, peppermint oil, low FODMAP trial",
    "Reconsider other diagnoses if symptoms do not fit",
    "Psychological therapy is useful when anxiety or stress drive symptoms",
], size=15, space=8)
rect(s, 0.6, 6.5, 12.1, 0.4, WHITE)
text(s, 0.6, 6.5, 12.1, 0.4, "Subtype can change over time, so reassess at each visit.", size=14, bold=True, color=PURPLE)
footer(s, n, "Expert synthesis from ACG 2021, AGA 2022 and Goldman-Cecil; no dedicated guideline for IBS-M or IBS-U")
notes(s, "There are no dedicated guideline recommendations for IBS-M or IBS-U. This slide is a practical synthesis, so label it as expert opinion in teaching settings.")

# ---------- 9. Pain, bloating, brain-gut ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "Pain, bloating and the gut-brain axis", "Applies to all subtypes")
rows = [
    ["Option", "Details", "Evidence and notes"],
    ["Tricyclics", "Amitriptyline or nortriptyline 10-25 mg at bedtime, titrate up to 100 mg", "Recommended by ACG and AGA; best in IBS-D; watch constipation"],
    ["SSRIs", "Citalopram, fluoxetine, sertraline, paroxetine", "Listed in textbooks; AGA advises against for IBS-C and IBS-D"],
    ["Antispasmodics / peppermint oil", "Hyoscyamine, dicyclomine, peppermint oil 1-2 capsules tid", "Low quality evidence; short-term pain relief"],
    ["Gut-directed psychotherapy", "CBT, gut-directed hypnotherapy", "Suggested by ACG; effective, underused"],
    ["Probiotics", "Various strains", "ACG suggests against for global symptoms"],
]
table(s, 0.6, 1.5, 12.1, [2.8, 4.8, 4.5], rows, size=14, row_h=0.78)
text(s, 0.6, 6.3, 12.1, 0.6,
     "Neuromodulators are most useful for persistent or severe pain. A 2025 Lancet Gastroenterology & Hepatology meta-analysis supports their efficacy.",
     size=14, color=NAVY)
footer(s, n, "Goldman-Cecil Medicine; ACG 2021; AGA 2022; Khasawneh et al, Lancet Gastroenterol Hepatol 2025 (PMID 40258375)")
notes(s, "Explain neuromodulators as pain modulators, not antidepressants for mood, to improve adherence. Start low and go slow. Tricyclics at IBS doses are well below antidepressant doses.")

# ---------- 10. Refractory ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "When treatment fails", "Reassess before escalating")
cols = [
    ("Re-check the diagnosis", NAVY, [
        "Celiac disease",
        "Bile acid diarrhea",
        "SIBO",
        "Microscopic colitis",
        "Pelvic floor dysfunction (IBS-C)",
        "Medication or dietary causes",
    ]),
    ("Optimize treatment", TEAL, [
        "Confirm dose and adherence",
        "Add a neuromodulator plus psychological therapy",
        "Dietitian-led low FODMAP rechallenge",
        "Pelvic floor biofeedback if dyssynergia",
        "Switch drug class within the subtype",
    ]),
    ("Refer", ORANGE, [
        "Persistent alarm features",
        "Severe, refractory symptoms",
        "Significant psychosocial distress",
        "Gut-brain or multidisciplinary clinic",
        "About 5% of patients have severe disease",
    ]),
]
for i, (t, col, items) in enumerate(cols):
    x = 0.6 + i * 4.1
    rect(s, x, 1.5, 3.9, 0.6, col)
    text(s, x, 1.5, 3.9, 0.6, t, size=19, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
    rect(s, x, 2.1, 3.9, 4.6, LIGHT)
    bullets(s, x + 0.1, 2.25, 3.7, 4.4, items, size=16, space=9)
footer(s, n, "Harrison's Principles of Internal Medicine 22e; Goldman-Cecil Medicine")
notes(s, "Severe IBS (about 5%) has constant symptoms, more psychosocial difficulty and heavy health care use, and is managed at referral centers (Harrison's Table 338-3).")

# ---------- 11. Summary table ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "Summary: management by subtype")
rows = [
    ["Subtype", "First steps", "Drug options", "Avoid or caution"],
    ["IBS-C", "Soluble fiber, exercise, low FODMAP trial", "Linaclotide, plecanatide, tenapanor, lubiprostone, PEG", "Insoluble fiber if bloating; SSRIs per AGA"],
    ["IBS-D", "Exclude IBD and celiac, diet changes", "Loperamide, rifaximin, eluxadoline, alosetron, bile acid binders", "Eluxadoline without gallbladder; alosetron ischemic colitis"],
    ["IBS-M", "Diet, fiber, stress management", "Treat the dominant phase; tricyclic for pain", "Over-treatment that flips the pattern"],
    ["IBS-U", "Record stool form, reassess", "Antispasmodic, peppermint oil, psychotherapy", "Missed alternative diagnosis"],
    ["All", "Education, reassurance, alarm screen", "Tricyclic, gut-directed therapy for pain", "Probiotics for global symptoms (ACG)"],
]
tbl = table(s, 0.6, 1.5, 12.1, [1.4, 3.3, 4.1, 3.3], rows, size=14, row_h=0.85)
for r, col in zip(range(1, 6), [TEAL, ORANGE, PURPLE, GRAY, NAVY]):
    c = tbl.cell(r, 0)
    c.fill.solid()
    c.fill.fore_color.rgb = col
    for p in c.text_frame.paragraphs:
        for run in p.runs:
            run.font.color.rgb = WHITE
footer(s, n)
notes(s, "One-slide recap. Always rule out alarm features first and reassess subtype over time.")

# ---------- 12. References ----------
s = prs.slides.add_slide(BLANK); n += 1
header(s, "Sources")
bullets(s, 0.6, 1.5, 12.1, 5.3, [
    "Harrison's Principles of Internal Medicine, 22nd ed. Chapter 338, Irritable Bowel Syndrome (treatment table, severity spectrum).",
    "Goldman-Cecil Medicine, International Edition. Irritable Bowel Syndrome (drug and dose table, rifaximin, neuromodulators).",
    "Katzung's Basic and Clinical Pharmacology, 16th ed. Drugs used for irritable bowel syndrome.",
    "Lacy BE et al. ACG Clinical Guideline: Management of Irritable Bowel Syndrome. Am J Gastroenterol 2021;116:17-44. PMID 33315591.",
    "Chang L et al. AGA Clinical Practice Guideline on the Pharmacological Management of IBS With Constipation. Gastroenterology 2022. PMID 35738724.",
    "AGA Clinical Practice Guideline on the Pharmacological Management of IBS With Diarrhea. Gastroenterology 2022. PMID 35738725.",
    "Khasawneh M et al. Efficacy of gut-brain neuromodulators in IBS: updated systematic review and meta-analysis. Lancet Gastroenterol Hepatol 2025. PMID 40258375.",
], size=15, space=10)
text(s, 0.6, 6.4, 12.1, 0.5, "Doses and restrictions can change; confirm against current prescribing information.", size=13, color=GRAY)
footer(s, n)

prs.save("/tmp/workspace/ibs-deck/IBS_Management_by_Subtype.pptx")
print("saved", n)
Running Command

cd /tmp/workspace/ibs-deck && python build.py && python - <<'E' from pptx import Presentation p=Presentation("IBS_Management_by_Subtype.pptx") print(len(p.slides)) import re for i,s in enumerate(p.slides,1): for sh in s.shapes: if sh.has_text_frame and re.search('[\u2013\u2014]',sh.text_frame.text): print('dash',i) E

I've built a 12-slide deck on IBS management by subtype:

IBS Management by Subtype

Presentation · PPTX

I couldn't render the slides in this environment, so I haven't checked how they look. Open it and check for text overflow before presenting. Speaker notes are on most slides.
#Slide
1Title
2Diagnosis and subtyping: Rome IV criteria, Bristol stool form cut-offs for IBS-C, IBS-D, IBS-M and IBS-U, and alarm features
3Foundation for every subtype: education, lifestyle, low FODMAP diet
4IBS-C stepwise approach
5IBS-C drug table: linaclotide, plecanatide, tenapanor, lubiprostone, PEG, tegaserod
6IBS-D stepwise approach
7IBS-D drug table: loperamide, rifaximin, eluxadoline, alosetron, cholestyramine, antispasmodics
8IBS-M and IBS-U
9Pain, bloating and the gut-brain axis: tricyclics, SSRIs, antispasmodics, psychotherapy, probiotics
10When treatment fails: re-check the diagnosis, optimize treatment, refer
11One-slide summary table by subtype
12Sources
  • IBS-M and IBS-U: No guideline gives dedicated recommendations for these two, so slide 8 is my own practical synthesis. Label it as expert opinion if you teach from it.
  • Guideline wording:
    • SSRIs: Textbooks list them as an option, but the AGA 2022 guidelines advise against them in both IBS-C and IBS-D. Slide 9 shows both positions.
    • PEG: The ACG suggests against it for global IBS-C symptoms, because it helps stool frequency but not pain.
    • Probiotics: The ACG suggests against them for global symptoms.
  • Doses: They come from Harrison's 22e and Goldman-Cecil. Check them against current prescribing information before clinical use, especially for alosetron and eluxadoline, which are restricted.
This is a shared conversation. Sign in to Orris to start your own chat.