I need a history check list for my osce exam about anal pain

Reading File
Finding Sources
Finding Sources
Searching PubMed

"anal fissure" OR "anorectal pain"

Reading File
Reading File

OSCE history checklist: anal pain

1. Introduction

  • Wash hands, introduce yourself, confirm name and date of birth, and state your role.
  • Explain the purpose and get consent.
  • Offer a chaperone and make sure the patient is comfortable and has privacy. This is a sensitive topic, so use plain language.
  • Open with: "What has brought you in today?"

2. Pain (SOCRATES)

  • Site: Is the pain inside the anus, at the margin, or deeper in the perineum or rectum? Is it localised to one spot?
  • Onset: Sudden or gradual? How many hours, days or weeks ago? Was there a trigger, such as a hard stool, diarrhoea, anal sex, straining, childbirth or surgery?
  • Character: Sharp, tearing or "passing razor blades" suggests a fissure. Throbbing suggests an abscess. A dull ache or pressure suggests proctalgia or levator ani syndrome.
  • Radiation: To the buttock, sacrum, thigh or genitals?
  • Associated symptoms: Bleeding, swelling, discharge, fever (see sections 3 and 4).
  • Timing:
    • Constant, or only during and after defecation? Fissure pain typically lasts minutes to hours after a bowel movement. Sleisenger's textbook notes that fissure pain is usually absent on waking, before the first bowel movement (Sleisenger and Fordtran's GI and Liver Disease, p. 2675).
    • Sudden, brief and nocturnal attacks suggest proctalgia fugax. Pain worse on prolonged sitting suggests levator ani syndrome.
  • Exacerbating and relieving factors:
    • Defecation, sitting, walking, coughing.
    • Does it improve with sitz baths, analgesia or topical creams?
  • Severity: Score out of 10 and ask about the effect on sleep, work and daily life.

3. Key associated symptoms

Bleeding
  • Is it bright red on the paper or on the stool surface, or mixed in or dark?
  • How much is there: streaks, drops, or a pan full?
Lump or swelling
  • Is there a painful perianal lump (abscess, thrombosed haemorrhoid)?
  • Is there a prolapsing mass? Does it reduce spontaneously or manually?
Discharge
  • Pus, mucus or faecal matter?
  • Recurrent discharge after a previous abscess suggests a fistula-in-ano. Fischer's notes that many patients give a history of a previous abscess (Fischer's Mastery of Surgery, 8th ed; Current Surgical Therapy, 14th ed).
Systemic features
  • Fever, rigors and malaise suggest an abscess or sepsis.
Bowel habit
  • Constipation, straining, hard stools, diarrhoea, tenesmus, incomplete evacuation.
  • Incontinence of faeces or flatus.
  • Any recent change in habit.
Itching or soiling
  • Pruritus ani.
Urinary symptoms
  • Retention or dysuria. These suggest a deep or severe infection or a neurological cause.

4. Red flags (ask these explicitly)

  • Unintentional weight loss
  • Change in bowel habit lasting more than 6 weeks
  • Rectal bleeding with a change in habit
  • Persistent night sweats or fever
  • Family history of colorectal cancer
  • A non-healing fissure, or a fissure away from the midline. Sleisenger lists the possible causes: Crohn disease, TB, syphilis, anal squamous cell cancer, leukaemic ulcer and HIV-related ulcer (p. 2675).
  • Fever or a sudden severe increase in pain with a hard swelling in an immunosuppressed, neutropenic or diabetic patient. Treat perianal pain in a neutropenic patient as bacterial infection until proven otherwise (Sleisenger, Perianal Pain).

5. Differential-driven questions

Suspected diagnosisKey history points
Anal fissurePain during and after a hard stool, bright red blood on the paper, posterior midline. Risk factors are constipation, childbirth and surgery.
Thrombosed external haemorrhoidSudden painful lump after straining, history of prolapse (Fischer's).
Perianal or ischiorectal abscessConstant throbbing pain, swelling, fever, worse on sitting. Often accompanied by anal discharge.
Fistula-in-anoPrevious abscess, persistent or recurrent discharge, intermittent pain.
Proctalgia fugaxBrief, severe, stabbing rectal pain at night, lasting seconds to minutes, then gone.
Levator ani syndromeChronic dull ache, worse on sitting, women more often affected.
Crohn diseaseDiarrhoea, weight loss, abdominal pain, skin tags, multiple or lateral fissures.
Anal or rectal cancerAge over 50, weight loss, bleeding, change in habit, a non-healing ulcer.
STI, proctitis or herpesSexual history, ulcers, discharge, tenesmus.
Pilonidal diseasePain in the natal cleft rather than the anus itself.

6. Past medical and surgical history

  • Previous anorectal problems: haemorrhoids, fissure, abscess, fistula, anorectal surgery.
  • Inflammatory bowel disease, diabetes, HIV, other immunosuppression.
  • Pelvic radiotherapy or malignancy.
  • Obstetric history: vaginal deliveries, perineal tears, forceps.
  • Previous colonoscopy.

7. Drug and allergy history

  • Opioids and anticholinergics, which cause constipation.
  • Anticoagulants and antiplatelets, which increase bleeding.
  • Laxatives, and any topical treatments already tried: GTN, diltiazem, steroid creams.
  • Immunosuppressants, chemotherapy, steroids.
  • Allergies.

8. Family history

  • Colorectal cancer or polyps
  • IBD
  • Coeliac disease

9. Social and sexual history

  • Diet: fibre and fluid intake.
  • Smoking, alcohol, recreational drugs.
  • Occupation, and whether prolonged sitting is involved.
  • Sexual history if relevant: receptive anal intercourse, number of partners, protection, previous STIs.
  • Travel history, if diarrhoea is present.

10. Ideas, concerns and expectations (ICE)

  • "What do you think is causing this?"
  • "Is there anything in particular you're worried about?" Patients often fear cancer.
  • "What were you hoping we could do today?"

11. Close

  • Summarise back to the patient and ask, "Is there anything I've missed?"
  • Explain the next steps: examination (inspection, then DRE and proctoscopy if tolerated), bloods, and possible referral.
  • Thank the patient, wash your hands and offer to answer questions.

OSCE tips

  • Always ask about red flags and sexual history. Candidates commonly lose marks by skipping these.
  • Be sensitive. Ask permission before sensitive questions, such as "I'd like to ask some personal questions, is that alright?"
  • A typical station vignette is a young adult or a recently post-partum woman with pain on defecation and bright red blood, which points to a fissure. Another is a diabetic patient with constant throbbing pain and fever, which points to an abscess.
  • In fissure pain, if the patient is in severe pain, a digital rectal exam is usually avoided unless the diagnosis is in doubt. Sleisenger recommends examination under anaesthesia in that case.
Source check: I searched recent systematic reviews, and the 2024 to 2025 papers I found cover fissure treatment (botulinum toxin vs sphincterotomy, PMIDs 39579232, 41493321, 39350497). None of them change the history-taking approach above.
I can turn this into a one-page printable PDF or run a practice mock station if you'd like.

Make a one-page PDF checklist I can print for revision

Reading File
Running Command

ls -la /tmp/workspace/

Running Command

mkdir -p /tmp/workspace/anal-pain-osce && cat > /tmp/workspace/anal-pain-osce/make.py <<'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import ParagraphStyle from reportlab.lib.units import mm from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate, Paragraph, Table, TableStyle, Spacer, KeepTogether OUT = "/tmp/workspace/anal-pain-osce/Anal_Pain_OSCE_History_Checklist.pdf" NAVY = colors.HexColor("#1F3A5F"); RED = colors.HexColor("#B3261E"); LIGHT = colors.HexColor("#EAF0F7") FS = 7.4 body = ParagraphStyle("b", fontName="Helvetica", fontSize=FS, leading=FS+1.9, leftIndent=9, firstLineIndent=-9) sub = ParagraphStyle("s", parent=body, leftIndent=18, firstLineIndent=-9, textColor=colors.HexColor("#333333")) head = ParagraphStyle("h", fontName="Helvetica-Bold", fontSize=8.4, leading=10.5, textColor=colors.white) title = ParagraphStyle("t", fontName="Helvetica-Bold", fontSize=15, leading=18, textColor=NAVY) tag = ParagraphStyle("tg", fontName="Helvetica", fontSize=7.5, leading=9.5, textColor=colors.HexColor("#555555")) foot = ParagraphStyle("f", fontName="Helvetica-Oblique", fontSize=6.4, leading=8, textColor=colors.HexColor("#666666")) BOX = '<font name="ZapfDingbats" size="6.5">o</font>&nbsp;' def item(t): return Paragraph(BOX + t, body) def subitem(t): return Paragraph("&nbsp;&nbsp;- " + t, sub) def section(num, name, items, red=False): col = RED if red else NAVY h = Table([[Paragraph(f"{num}. {name}", head)]], colWidths=[88*mm]) h.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),col),("LEFTPADDING",(0,0),(-1,-1),4), ("TOPPADDING",(0,0),(-1,-1),1.5),("BOTTOMPADDING",(0,0),(-1,-1),2)])) fl = [h, Spacer(1,1.5)] for i in items: fl.append(item(i) if isinstance(i,str) else subitem(i[0])) fl.append(Spacer(1,4)) return fl L = [] L += section(1,"Introduction",[ "Wash hands, introduce self, name and DOB, role", "Explain purpose, get consent", "Offer chaperone, privacy, comfort", "Open question: \"What has brought you in today?\""]) L += section(2,"Pain (SOCRATES)",[ "<b>Site:</b> inside anus, margin, deeper perineum", "<b>Onset:</b> sudden/gradual; trigger (hard stool, diarrhoea, anal sex, childbirth, surgery)", "<b>Character:</b> tearing/razor blades (fissure), throbbing (abscess), dull ache (levator ani)", "<b>Radiation:</b> buttock, sacrum, thigh, genitals", "<b>Associated:</b> bleeding, lump, discharge, fever", "<b>Timing:</b> constant vs only with/after defecation (fissure: minutes to hours after BM); brief nocturnal stabs (proctalgia fugax)", "<b>Exacerbating/relieving:</b> defecation, sitting, sitz baths, analgesia, creams", "<b>Severity:</b> /10; effect on sleep, work, daily life"]) L += section(3,"Associated symptoms",[ "<b>Bleeding:</b> bright red on paper/surface vs mixed/dark; amount", "<b>Lump:</b> painful swelling (abscess, thrombosed pile); prolapse, reduces?", "<b>Discharge:</b> pus, mucus, faeces; recurrent after abscess = fistula?", "<b>Systemic:</b> fever, rigors, malaise", "<b>Bowel habit:</b> constipation, straining, diarrhoea, tenesmus, incontinence", "Pruritus ani / soiling", "Urinary retention or dysuria (deep sepsis, neuro cause)"]) L += section(6,"PMH / PSH",[ "Previous haemorrhoids, fissure, abscess, fistula, anorectal surgery", "IBD, diabetes, HIV / immunosuppression", "Pelvic radiotherapy or malignancy", "Obstetric: vaginal deliveries, perineal tears, forceps", "Previous colonoscopy"]) R = [] R += section(4,"RED FLAGS (ask explicitly)",[ "Unintentional weight loss", "Change in bowel habit > 6 weeks", "Rectal bleeding with change in habit", "Night sweats / persistent fever", "Family history of colorectal cancer", "Non-healing fissure or fissure off the midline (Crohn, TB, syphilis, SCC, leukaemia, HIV ulcer)", "Immunosuppressed / neutropenic / diabetic with fever or severe worsening pain = sepsis until proven otherwise"], red=True) R += section(5,"Differential-driven clues",[ "<b>Fissure:</b> pain on/after hard stool, bright red blood, posterior midline (&gt;90%)", "<b>Thrombosed pile:</b> sudden painful lump after straining", "<b>Perianal abscess:</b> constant throbbing, swelling, fever, worse sitting", "<b>Fistula:</b> prior abscess, recurrent discharge", "<b>Proctalgia fugax:</b> seconds to minutes, night, then gone", "<b>Levator ani:</b> chronic dull ache, worse sitting", "<b>Crohn:</b> diarrhoea, weight loss, skin tags, multiple fissures", "<b>Cancer:</b> age &gt; 50, bleeding, weight loss, ulcer", "<b>STI / proctitis / HSV:</b> sexual hx, ulcers, tenesmus", "<b>Pilonidal:</b> natal cleft pain"]) R += section(7,"Drugs and allergies",[ "Opioids, anticholinergics (constipation)", "Anticoagulants / antiplatelets (bleeding)", "Laxatives; topicals tried (GTN, diltiazem, steroids)", "Steroids, immunosuppressants, chemo", "Allergies"]) R += section(8,"Family, social and sexual hx",[ "FH: colorectal cancer/polyps, IBD, coeliac", "Diet: fibre and fluids; smoking, alcohol, drugs", "Occupation (prolonged sitting)", "Sexual hx (ask permission): receptive anal sex, partners, protection, STIs", "Travel if diarrhoea"]) R += section(9,"ICE and close",[ "<b>Ideas:</b> \"What do you think is causing this?\"", "<b>Concerns:</b> often fear of cancer", "<b>Expectations:</b> \"What were you hoping for today?\"", "Summarise back; \"anything I've missed?\"", "Explain next steps (exam, bloods, referral); thank patient; wash hands"]) def build(): W,H = A4; m = 10*mm doc = BaseDocTemplate(OUT, pagesize=A4, leftMargin=m, rightMargin=m, topMargin=m, bottomMargin=m, title="Anal Pain OSCE History Checklist", author="Orris") fr = Frame(m, m, W-2*m, H-2*m, leftPadding=0, rightPadding=0, topPadding=0, bottomPadding=0) doc.addPageTemplates([PageTemplate(id="p", frames=[fr])]) t = Table([[Paragraph("Anal Pain: OSCE History Checklist", title)], [Paragraph("Tick each item as you rehearse. Source: Sleisenger and Fordtran's GI and Liver Disease; Fischer's Mastery of Surgery, 8th ed.", tag)]], colWidths=[W-2*m]) t.setStyle(TableStyle([("LINEBELOW",(0,1),(-1,1),1.2,NAVY),("BOTTOMPADDING",(0,1),(-1,1),4), ("LEFTPADDING",(0,0),(-1,-1),0),("TOPPADDING",(0,0),(-1,-1),0),("BOTTOMPADDING",(0,0),(-1,0),1)])) gap = 4*mm cols = Table([[L, "", R]], colWidths=[88*mm, gap, 88*mm]) cols.setStyle(TableStyle([("VALIGN",(0,0),(-1,-1),"TOP"),("LEFTPADDING",(0,0),(-1,-1),0), ("RIGHTPADDING",(0,0),(-1,-1),0),("TOPPADDING",(0,0),(-1,-1),0)])) story = [t, Spacer(1,5), cols, Spacer(1,3), Paragraph("Exam tips: always ask red flags and sexual history. Ask permission before sensitive questions. In painful fissure, avoid DRE unless diagnosis is in doubt. For revision only, not a clinical guideline.", foot)] doc.build(story) build() EOF cd /tmp/workspace/anal-pain-osce && python make.py && python -c " from pypdf import PdfReader; r=PdfReader('Anal_Pain_OSCE_History_Checklist.pdf'); print(len(r.pages)) import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: p.pages[0].to_image(resolution=110).save('preview.png') "

Loading Image
Running Command

cd /tmp/workspace/anal-pain-osce && python -c " import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: pg=p.pages[0]; w=pg.extract_words() print(pg.height, max(x['bottom'] for x in w), min(x['x0'] for x in w), max(x['x1'] for x in w), pg.width) print(pg.extract_text()[:600]) "; ls -la

Running Command

cd /tmp/workspace/anal-pain-osce && sed -i 's/^FS = 7.4/FS = 8.8/; s/fontSize=8.4, leading=10.5/fontSize=9.8, leading=12.2/; s/size="6.5"/size="7.5"/; s/fontSize=7.5, leading=9.5/fontSize=8, leading=10/; s/fontSize=6.4, leading=8/fontSize=7.4, leading=9.2/' make.py && python make.py && python -c " import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: print(len(p.pages)); w=p.pages[0].extract_words(); print(max(x['bottom'] for x in w), p.pages[0].height) "

Running Command

cd /tmp/workspace/anal-pain-osce && sed -i 's/^FS = 8.8/FS = 10.2/; s/fontSize=9.8, leading=12.2/fontSize=11, leading=13.5/; s/size="7.5"/size="8.5"/' make.py && python make.py && python -c " import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: print(len(p.pages)); w=p.pages[0].extract_words(); print(max(x['bottom'] for x in w), p.pages[0].height) "

Your one-page checklist PDF is ready:

Anal Pain OSCE History Checklist

PDF Document · PDF

I checked that it is a single A4 page and that all the text sits inside the margins. I couldn't open a visual preview, so look it over before you print.
  • Layout: it has two columns with a tick box beside each item.
  • Left column: introduction, pain (SOCRATES), associated symptoms, and past medical and surgical history.
  • Right column: red flags (in red), differential-driven clues, drugs and allergies, family, social and sexual history, and ICE with the closing steps.
  • Footer: a short line of exam tips.
It prints best in black and white or colour at 100% scale on A4. If you want a different layout, such as larger text, a "fissure vs abscess vs haemorrhoid" comparison table, or one mock-station mark scheme, I can change it.

I need a history check list for my surgery osce exam about anal pain

Reading File
Finding Sources
Reading File
Reading File

Surgery OSCE: anal pain history checklist

This is the surgical version of the earlier checklist. It adds points that surgical stations tend to mark: haemorrhoid grading, sepsis risk, continence, and fitness for theatre. Your earlier

Anal Pain OSCE History Checklist

PDF Document · PDF

covers the core structure, and I can regenerate it with these additions.

1. Opening

  • Wash hands, introduce yourself, confirm name and DOB, explain your role and get consent.
  • Offer a chaperone and privacy.
  • Open with "What has brought you in today?" and let the patient talk first.

2. Pain (SOCRATES)

  • Site: at the anal verge, inside the canal, or perianal/buttock?
  • Onset: sudden or gradual? Any trigger, such as a hard stool, straining, diarrhoea, anal sex, childbirth or surgery?
  • Character:
    • Tearing or "razor blades" suggests a fissure.
    • Throbbing suggests an abscess.
    • Sudden intense pain with a lump suggests a thrombosed haemorrhoid.
    • Dull ache suggests levator ani syndrome.
  • Radiation: buttock, sacrum, thigh, genitals?
  • Associated symptoms: bleeding, lump, discharge, fever.
  • Timing: constant, or only with and after defecation? Brief nocturnal stabs suggest proctalgia fugax.
  • Exacerbating/relieving: defecation, sitting, sitz baths, analgesia.
  • Severity: score out of 10 and ask about the effect on sleep and daily life.

3. Core surgical questions

Bleeding
  • Is it on the paper, dripping into the pan, coating the stool, or mixed in?
  • Is the blood bright red or dark?
  • Is it painless? Painless bleeding is characteristic of internal haemorrhoids (Mulholland and Greenfield's Surgery, 7e).
Prolapse and lump
  • Does anything come out when passing stool?
  • Does it go back by itself, need pushing back, or stay out? This gives the haemorrhoid grade. Fischer's describes four grades (Fischer's Mastery of Surgery, 8th ed, p. 4266):
    • Grade 1: never prolapses.
    • Grade 2: prolapses and returns spontaneously.
    • Grade 3: needs digital replacement.
    • Grade 4: permanently prolapsed.
  • Is there a painful lump, and did it appear suddenly?
Discharge and recurrence
  • Is there pus, mucus or faecal discharge?
  • Has there been a previous abscess? About 30% of patients with anorectal sepsis have had a previous episode that drained or needed surgery (Fischer's, p. 4244).
  • Is the discharge recurrent? That suggests a fistula.
Systemic features of sepsis
  • Fever, rigors, malaise, anorexia, weight loss. Constitutional symptoms are common with ischiorectal abscess, and a supralevator abscess can cause them with no visible swelling (Fischer's, p. 4244).
Bowel habit and continence
  • Constipation, straining, diarrhoea, tenesmus.
  • Faecal or flatus incontinence, soiling, pruritus ani. Ask this before any sphincter-risking surgery.
Urinary symptoms
  • Retention or dysuria. These suggest deep sepsis or a neurological cause.

4. Red flags

  • Unintentional weight loss
  • Change in bowel habit lasting more than 6 weeks
  • Bleeding with change in habit
  • Family history of colorectal cancer
  • Night sweats or persistent fever
  • A fissure that is non-healing or off the midline. Think Crohn, TB, syphilis, SCC, leukaemic ulcer or HIV ulcer (Sleisenger, p. 2675).
  • Massive bleeding. This is rare from haemorrhoids alone, so look for polyps, rectal varices or AVM (Fischer's, p. 4266).

5. Secondary causes of anorectal sepsis (specifically asked in surgical stations)

  • AIDS or HIV
  • Pelvic inflammatory disease
  • Crohn disease
  • Malignancy
  • Previous anal surgery
(Fischer's, p. 4244.) Also ask about diabetes and immunosuppression.

6. Quick differential cues

DiagnosisKey history
FissurePain during and after a hard stool, bright red blood, usually posterior midline
Thrombosed haemorrhoidProlapse history, then sudden intense pain and a hard lump
External plexus haematomaSevere anal pain and swelling, self-limiting, resolves over about 5 days
Perianal or ischiorectal abscessThrobbing pain, swelling, fever, worse sitting
Fistula-in-anoPrevious abscess, recurrent discharge
Strangulated haemorrhoidProlapse, then painful and suppurating, with foul discharge
Anal cancerBleeding, mass, non-healing ulcer, weight loss, age over 50
Crohn perianal diseaseDiarrhoea, weight loss, skin tags, multiple fistulae

7. PMH, PSH, drugs, FH, social

  • Previous anorectal problems or surgery.
  • IBD, diabetes, HIV, pelvic radiotherapy.
  • Obstetric history: vaginal deliveries, tears.
  • Previous colonoscopy.
  • Drugs:
    • Anticoagulants and antiplatelets.
    • Opioids and anticholinergics (constipation).
    • Laxatives and topical treatments already tried: GTN, diltiazem, steroid creams.
    • Steroids and immunosuppressants.
  • Allergies, including latex and local anaesthetic.
  • Family history: colorectal cancer, IBD.
  • Social: diet (fibre, fluids), smoking, alcohol, occupation and sitting time, sexual history (ask permission first).

8. Fitness for surgery (add this if the station involves a surgical decision)

  • Previous anaesthetic problems
  • Cardiac and respiratory disease
  • Diabetes control
  • Anticoagulation plan
  • Last meal (relevant if an emergency incision and drainage is likely)

9. ICE and close

  • Ideas: "What do you think is going on?"
  • Concerns: often cancer or fear of surgery.
  • Expectations: "What were you hoping for today?"
  • Summarise back, ask "Anything I've missed?", and explain the next steps: inspection, DRE and proctoscopy (if tolerated), bloods, and possible referral.
  • Thank the patient and wash your hands.

Surgical OSCE tips

  • State the likely diagnosis and one or two differentials when summarising to the examiner.
  • Do not do a digital rectal exam on an acutely painful fissure unless the diagnosis is in doubt. Examination under anaesthesia is the alternative (Sleisenger).
  • In an acute severe pain case with fever, name sepsis and the need for urgent surgical drainage.
I did not run a new PubMed search for this version. The recent systematic reviews I found earlier covered fissure treatment only, and nothing in them changes the history-taking approach.

Update the PDF checklist with the surgical additions

Running Command

cd /tmp/workspace/anal-pain-osce && cat > make_v2.py <<'EOF' import sys from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import ParagraphStyle from reportlab.lib.units import mm from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate, Paragraph, Table, TableStyle, Spacer OUT = "/tmp/workspace/anal-pain-osce/Anal_Pain_OSCE_History_Checklist.pdf" NAVY = colors.HexColor("#1F3A5F"); RED = colors.HexColor("#B3261E"); GREEN = colors.HexColor("#2E6B4F") FS = float(sys.argv[1]) if len(sys.argv) > 1 else 8.2 body = ParagraphStyle("b", fontName="Helvetica", fontSize=FS, leading=FS+1.8, leftIndent=9, firstLineIndent=-9) head = ParagraphStyle("h", fontName="Helvetica-Bold", fontSize=FS+1.2, leading=FS+3.4, textColor=colors.white) title = ParagraphStyle("t", fontName="Helvetica-Bold", fontSize=15, leading=18, textColor=NAVY) tag = ParagraphStyle("tg", fontName="Helvetica", fontSize=7.6, leading=9.4, textColor=colors.HexColor("#555555")) foot = ParagraphStyle("f", fontName="Helvetica-Oblique", fontSize=6.8, leading=8.4, textColor=colors.HexColor("#666666")) BOX = '<font name="ZapfDingbats" size="%s">o</font>&nbsp;' % (FS-0.8) COLW = 88*mm def section(num, name, items, col=NAVY): h = Table([[Paragraph(f"{num}. {name}", head)]], colWidths=[COLW]) h.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),col),("LEFTPADDING",(0,0),(-1,-1),4), ("TOPPADDING",(0,0),(-1,-1),1.5),("BOTTOMPADDING",(0,0),(-1,-1),2)])) fl = [h, Spacer(1,1.5)] + [Paragraph(BOX + i, body) for i in items] + [Spacer(1,3.5)] return fl L = [] L += section(1,"Opening",[ "Wash hands, introduce self, name/DOB, role, consent", "Offer chaperone and privacy", "\"What has brought you in today?\" Let them talk first"]) L += section(2,"Pain (SOCRATES)",[ "<b>Site:</b> anal verge, inside canal, perianal/buttock", "<b>Onset:</b> sudden/gradual; trigger (hard stool, straining, diarrhoea, anal sex, childbirth, surgery)", "<b>Character:</b> tearing/razor blades (fissure); throbbing (abscess); sudden intense + lump (thrombosed pile); dull ache (levator ani)", "<b>Radiation:</b> buttock, sacrum, thigh, genitals", "<b>Associated:</b> bleeding, lump, discharge, fever", "<b>Timing:</b> constant vs with/after defecation; brief nocturnal stabs (proctalgia fugax)", "<b>Exacerbating/relieving:</b> defecation, sitting, sitz baths, analgesia", "<b>Severity:</b> /10; effect on sleep, daily life"]) L += section(3,"Core surgical questions",[ "<b>Bleeding:</b> on paper / dripping into pan / coating stool / mixed in; bright vs dark; <b>painless</b> = internal piles", "<b>Prolapse:</b> anything comes out? Goes back alone (G2), needs pushing back (G3), stays out (G4), never prolapses (G1)", "<b>Lump:</b> sudden painful lump? Skin tags?", "<b>Discharge:</b> pus, mucus, faeces; recurrent = fistula?", "<b>Previous abscess</b> drained/spontaneous (about 30% of anorectal sepsis)", "<b>Sepsis:</b> fever, rigors, malaise, anorexia, weight loss", "<b>Bowel habit:</b> constipation, straining, diarrhoea, tenesmus", "<b>Continence:</b> faecal/flatus incontinence, soiling, pruritus ani", "<b>Urinary:</b> retention, dysuria (deep sepsis)"]) L += section(4,"PMH, PSH, drugs",[ "Prior haemorrhoids, fissure, abscess, fistula, anorectal surgery", "IBD, diabetes, HIV, pelvic radiotherapy", "Obstetric: vaginal deliveries, tears, forceps", "Previous colonoscopy", "<b>Drugs:</b> anticoagulants/antiplatelets; opioids, anticholinergics; laxatives; topicals tried (GTN, diltiazem, steroid); steroids/immunosuppressants", "<b>Allergies</b> incl. latex and local anaesthetic"]) R = [] R += section(5,"RED FLAGS (ask explicitly)",[ "Unintentional weight loss", "Bowel habit change &gt; 6 weeks; bleeding with change in habit", "Night sweats / persistent fever", "FH colorectal cancer", "Non-healing fissure or off midline: Crohn, TB, syphilis, SCC, leukaemia, HIV ulcer", "Massive bleeding (rare from piles alone): polyp, rectal varices, AVM"], RED) R += section(6,"Secondary causes of anorectal sepsis",[ "AIDS / HIV", "Pelvic inflammatory disease", "Crohn disease", "Malignancy", "Previous anal surgery; diabetes, immunosuppression"], RED) R += section(7,"Differential cues",[ "<b>Fissure:</b> pain on/after hard stool, bright blood, posterior midline", "<b>Thrombosed pile:</b> prolapse history, then sudden pain and hard lump", "<b>External plexus haematoma:</b> severe pain + swelling, resolves about 5 days", "<b>Perianal/ischiorectal abscess:</b> throbbing, swelling, fever, worse sitting", "<b>Fistula:</b> prior abscess, recurrent discharge", "<b>Strangulated pile:</b> painful prolapse, suppurating, foul discharge", "<b>Anal cancer:</b> age &gt; 50, bleeding, mass, ulcer, weight loss", "<b>Crohn:</b> diarrhoea, weight loss, skin tags, multiple fistulae", "<b>Proctalgia fugax / levator ani / STI proctitis / pilonidal</b>"]) R += section(8,"Family and social",[ "FH: colorectal cancer/polyps, IBD, coeliac", "Diet (fibre, fluids), smoking, alcohol, drugs", "Occupation (prolonged sitting)", "Sexual hx (ask permission): receptive anal sex, partners, STIs"]) R += section(9,"Fitness for surgery",[ "Previous anaesthetic problems", "Cardiac / respiratory disease", "Diabetes control", "Anticoagulation plan", "Last meal (emergency I&amp;D likely?)"], GREEN) R += section(10,"ICE and close",[ "<b>Ideas:</b> \"What do you think is going on?\"", "<b>Concerns:</b> cancer? fear of surgery?", "<b>Expectations:</b> \"What were you hoping for today?\"", "Summarise, \"anything I've missed?\"; explain next steps (inspection, DRE/proctoscopy, bloods, referral); thank patient; wash hands"]) W,H = A4; m = 9*mm doc = BaseDocTemplate(OUT, pagesize=A4, leftMargin=m, rightMargin=m, topMargin=m, bottomMargin=m, title="Anal Pain Surgery OSCE History Checklist", author="Orris") doc.addPageTemplates([PageTemplate(id="p", frames=[Frame(m, m, W-2*m, H-2*m, leftPadding=0, rightPadding=0, topPadding=0, bottomPadding=0)])]) t = Table([[Paragraph("Anal Pain: Surgery OSCE History Checklist", title)], [Paragraph("Sources: Sleisenger and Fordtran's GI and Liver Disease; Fischer's Mastery of Surgery, 8th ed; Mulholland and Greenfield's Surgery, 7e.", tag)]], colWidths=[W-2*m]) t.setStyle(TableStyle([("LINEBELOW",(0,1),(-1,1),1.2,NAVY),("BOTTOMPADDING",(0,1),(-1,1),4), ("LEFTPADDING",(0,0),(-1,-1),0),("TOPPADDING",(0,0),(-1,-1),0),("BOTTOMPADDING",(0,0),(-1,0),1)])) cols = Table([[L, "", R]], colWidths=[COLW, 4*mm, COLW]) cols.setStyle(TableStyle([("VALIGN",(0,0),(-1,-1),"TOP"),("LEFTPADDING",(0,0),(-1,-1),0),("RIGHTPADDING",(0,0),(-1,-1),0),("TOPPADDING",(0,0),(-1,-1),0)])) doc.build([t, Spacer(1,5), cols, Spacer(1,2), Paragraph("Tips: state the likely diagnosis plus 1 to 2 differentials when summarising. Avoid DRE in an acutely painful fissure unless diagnosis is in doubt (EUA is the alternative). Fever plus severe pain = think sepsis and urgent drainage. For revision only, not a clinical guideline.", foot)]) EOF for fs in 9.2 9.6; do python make_v2.py $fs && python -c " import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: w=p.pages[0].extract_words(); print($fs, len(p.pages), round(max(x['bottom'] for x in w)), round(p.pages[0].height-9*72/25.4)) "; done

Running Command

cd /tmp/workspace/anal-pain-osce && python make_v2.py 10 && python -c " import pdfplumber with pdfplumber.open('Anal_Pain_OSCE_History_Checklist.pdf') as p: w=p.pages[0].extract_words(); print(len(p.pages), round(max(x['bottom'] for x in w)), round(p.pages[0].height-9*72/25.4), round(max(x['x1'] for x in w)), round(p.pages[0].width)) "

I've updated the PDF with the surgical additions:

Anal Pain OSCE History Checklist

PDF Document · PDF

It is still a single A4 page, and all the text sits inside the margins. I couldn't open a visual preview in this environment, so look it over before you print.
What's new compared with the first version:
  • Core surgical questions:
    • Bleeding pattern, with a note that painless bleeding means internal haemorrhoids.
    • Prolapse questions mapped to haemorrhoid grades 1 to 4.
    • Previous abscess (about 30% of anorectal sepsis).
    • Sepsis symptoms.
    • Continence.
    • Urinary symptoms.
  • Secondary causes of anorectal sepsis: HIV, pelvic inflammatory disease, Crohn disease, malignancy, previous anal surgery, diabetes and immunosuppression.
  • Expanded differential cues: thrombosed pile, external plexus haematoma, strangulated pile and fistula, alongside fissure, abscess, cancer and Crohn.
  • Fitness for surgery: anaesthetic history, cardiorespiratory disease, diabetes control, anticoagulation plan and last meal.
  • Allergies: latex and local anaesthetic are now included.
  • Tips line: state a diagnosis plus one or two differentials, avoid digital rectal examination in a painful fissure, and think sepsis if there is fever with severe pain.
The layout is the same as before: two columns, a tick box beside each item, and red flags in red. The new fitness-for-surgery box is green.
This replaced the earlier file. Tell me if you'd like the first version back or a separate copy.
This is a shared conversation. Sign in to Orris to start your own chat.