I need a physical examination check list for my osce exam about Brest exam

Reading File
Finding Sources
Finding Sources
Searching PubMed

"clinical breast examination" AND "physical examination"

Searching Images

breast examination palpation technique vertical strip pattern

Reading File
Reading File
Reading File

Breast Examination: OSCE Checklist

This checklist is built from standard textbook technique. The sources are Schwartz's Principles of Surgery 11e (Examination section) and Mulholland and Greenfield's Surgery 7e (Clinical Breast Examination, p. 3876-3877). Exact mark schemes vary by school, so check your own station sheet.
Breast examination: inspection, palpation, axilla
Schwartz Fig. 17-18: A. inspection arms at sides. B. inspection arms raised. C. supine palpation. D. axillary palpation.

1. Preparation and Introduction

  • Wash or sanitise hands.
  • Introduce yourself, state your role, and confirm the patient's name and date of birth.
  • Explain the examination in plain language.
  • Obtain informed consent.
  • Offer a chaperone and document whether it was accepted or declined.
  • Ensure privacy (curtain, closed door) and ask if the patient has any pain.
  • Ask the patient to undress to the waist and offer a gown or sheet. Expose only what you need to, and keep the rest covered.
  • Position the patient sitting upright at 45° or on the edge of the bed, with good lighting.

2. Inspection (patient sitting, both breasts exposed)

Do this with the patient in three positions:
  • Arms relaxed at sides.
  • Arms raised above the head. This shows the lower breast and the inframammary fold.
  • Hands pressed on hips, with and without contracting the pectoral muscles. This brings out tethering from deep tumours involving Cooper's ligaments.
  • Optional: leaning forward to accentuate skin retraction.
Look for:
  • Symmetry, size and shape. Slight asymmetry is normal. Note any recent change in contour.
  • Skin: dimpling or puckering, peau d'orange (edema), erythema, ulceration, visible veins, scars, masses, or a visible lump.
  • Nipple-areola complex: symmetry, new inversion or retraction, discharge, and eczematous or crusted change or ulceration (Paget disease).
  • Axillae and supraclavicular fossae: swelling or skin change.

3. Palpation of Lymph Nodes (patient still sitting)

  • Ask about pain or tenderness before touching.
  • Examine the axilla on each side. Support the patient's ipsilateral arm to relax the pectoralis muscle.
  • Palpate all axillary groups: central, anterior (pectoral), posterior (subscapular), lateral (humeral) and apical.
  • Palpate the infraclavicular and supraclavicular nodes, and the cervical nodes.
  • Characterise any node by size, consistency, mobile or matted/fixed, and tender or non-tender.

4. Palpation of the Breast (patient supine)

  • Place the patient supine, with the ipsilateral arm raised above the head. Cover the other breast.
  • Ask the patient to point out any lump or painful area and examine that area last.
  • Use the flat of the fingers (palmar surface), not the fingertips. Do not grasp or pinch.
  • Cover the whole breast: clavicle to lower rib cage and sternal border to mid-axillary line.
  • Use a systematic pattern: vertical strip (preferred, because it includes the nipple-areola complex), concentric circles, or radial spokes.
  • Examine the axillary tail (upper outer quadrant).
  • Palpate beneath the nipple-areola complex and gently check for discharge.
  • Do not mistake normal nodularity (upper outer quadrant, inframammary ridge, subareolar) for pathology. Compare it with the other side.
  • Mould or cup the breast to check for retraction.
  • Optional: do bimanual palpation in a large-breasted patient.
  • Repeat the whole sequence on the other breast.

5. If You Find a Lump, Describe It (SSSCCCTTT)

  • Site (quadrant or clock position, and distance from the nipple)
  • Size (cm)
  • Shape and surface (smooth or irregular)
  • Consistency (soft, firm, hard)
  • Contour and edge (well defined or ill defined)
  • Tenderness
  • Mobility: mobile, or fixed to skin or to the chest wall (ask the patient to press on her hips, then re-palpate)
  • Skin tethering or fixation
  • Transillumination: only if a cystic lump is suspected (some stations include this)
  • Temperature (warmth)
  • Look for any associated findings.

6. Completion

  • Help the patient re-dress and thank her.
  • Wash your hands.
  • Offer a summary of findings to the examiner.
  • Suggest further assessment: triple assessment (clinical examination, imaging with ultrasound for under 40 or mammography for 40 and over, and core needle biopsy). The authors in Bailey and Love's 28e describe it this way, and it is the standard approach.
  • Document the findings, ideally on a breast diagram (Schwartz Fig. 17-19).

7. Communication Marks and Common Pitfalls

  • Use open, non-judgemental language and check the patient's comfort throughout.
  • Do not forget the chaperone, consent, or exposure and covering.
  • Do not skip the axilla or the supraclavicular nodes.
  • Do not forget to examine the opposite breast, and always compare sides.
  • Do not use fingertips or a pinching or grasping motion.
  • Do not omit the arms-up and hands-on-hips inspection positions.

Quick Mnemonic: "I-N-P-A"

Inspect (3 positions), Nodes (axilla, supraclavicular), Palpate (supine, systematic), Assess/Report (describe, triple assessment).

Recent Literature (last 2 years)

The PubMed search found nothing that changes this technique. Two recent reviews are relevant:
I can turn this into a one-page PDF or Word handout, or write a short "talk-through" script for the examiner. Tell me if you want either.

Make a one-page PDF cheat sheet of this checklist

Reading File
Running Command

ls -la /tmp/workspace/

Running Command

mkdir -p /tmp/workspace/breast-osce/output && cat > /tmp/workspace/breast-osce/gen.py << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas from reportlab.lib.colors import HexColor, white from reportlab.platypus import Paragraph, Frame from reportlab.lib.styles import ParagraphStyle W, H = A4 out = "/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet.pdf" c = canvas.Canvas(out, pagesize=A4) NAVY = HexColor("#1F3A5F"); PINK = HexColor("#B83280"); LIGHT = HexColor("#F4F6FA") # header c.setFillColor(NAVY); c.rect(0, H-62, W, 62, fill=1, stroke=0) c.setFillColor(white); c.setFont("Helvetica-Bold", 20) c.drawString(30, H-30, "Breast Examination - OSCE Cheat Sheet") c.setFont("Helvetica", 9.5) c.drawString(30, H-48, "Mnemonic: I-N-P-A = Inspect (3 positions) | Nodes | Palpate (supine, systematic) | Assess/Report") body = ParagraphStyle("b", fontName="Helvetica", fontSize=8.2, leading=10.2, leftIndent=9, bulletIndent=0) def box(x, y, w, h, title, items, color=NAVY): c.setFillColor(LIGHT); c.setStrokeColor(color); c.setLineWidth(0.8) c.roundRect(x, y, w, h, 5, fill=1, stroke=1) c.setFillColor(color); c.roundRect(x, y+h-16, w, 16, 5, fill=1, stroke=0) c.rect(x, y+h-16, w, 8, fill=1, stroke=0) c.setFillColor(white); c.setFont("Helvetica-Bold", 9.5); c.drawString(x+6, y+h-12, title) paras = [Paragraph(i, body, bulletText="\u25A1") for i in items] f = Frame(x+3, y+2, w-6, h-20, leftPadding=3, rightPadding=3, topPadding=2, bottomPadding=0, showBoundary=0) rest = f.addFromList(paras, c) colw = (W-60-10)/2 x1, x2 = 30, 30+colw+10 top = H-72 box(x1, top-132, colw, 132, "1. PREP & INTRO", [ "Wash hands; introduce self, confirm name + DOB", "Explain exam, get <b>consent</b>", "Offer <b>chaperone</b> (document accept/decline)", "Privacy; ask about pain; offer gown", "Expose to waist, cover what is not examined", "Position sitting upright (45 deg), good lighting"]) box(x1, top-132-10-190, colw, 190, "2. INSPECTION (sitting, both breasts)", [ "<b>Arms at sides</b>", "<b>Arms raised</b> above head (lower breast, inframammary fold)", "<b>Hands on hips</b> +/- pectoral contraction (tethering)", "Optional: lean forward (accentuates retraction)", "<b>Symmetry, size, shape</b> (mild asymmetry normal)", "<b>Skin:</b> dimpling, peau d'orange, erythema, ulcer, veins, scars, lump", "<b>Nipple-areola:</b> new inversion, discharge, eczema/crusting (<b>Paget</b>)", "Look at axillae and supraclavicular fossae"]) box(x1, top-132-10-190-10-130, colw, 130, "3. LYMPH NODES (still sitting)", [ "Ask about tenderness first", "<b>Support ipsilateral arm</b> to relax pectoralis", "Axilla: central, anterior, posterior, lateral, apical", "Infraclavicular, supraclavicular, cervical nodes", "Describe: size, consistency, <b>mobile vs matted/fixed</b>, tender?"]) box(x2, top-205, colw, 205, "4. BREAST PALPATION (supine)", [ "Ipsilateral arm <b>above head</b>; cover other breast", "Ask patient to point out lump; examine that area <b>last</b>", "Use <b>flat of fingers</b>; no grasping or pinching", "Extent: <b>clavicle to lower ribs</b>, <b>sternum to mid-axillary line</b>", "Systematic pattern: <b>vertical strip</b> (preferred, includes nipple), circles, or radial spokes", "Include <b>axillary tail</b>; palpate under nipple, check discharge", "Normal nodularity: upper outer quadrant, inframammary ridge, subareolar", "Cup/mould breast for retraction; bimanual if large breasts", "Repeat on the <b>other breast</b> and compare"], PINK) box(x2, top-205-10-150, colw, 150, "5. DESCRIBE A LUMP (SSSCCCTTT)", [ "<b>Site</b> (quadrant/clock position, cm from nipple); <b>Size</b>; <b>Shape</b>/surface", "<b>Consistency</b> (soft/firm/hard); <b>Contour</b>/edge", "<b>Tenderness</b>; <b>Temperature</b>", "<b>Mobility</b>: skin, chest wall (hands on hips, re-palpate)", "<b>Tethering</b> / fixation of skin", "<b>Transillumination</b> if cystic suspected", "Associated: nodes, nipple change, skin change"], PINK) box(x2, top-205-10-150-10-97, colw, 97, "6. COMPLETION", [ "Help patient re-dress, thank her, wash hands", "Summarise findings to examiner", "Suggest <b>triple assessment</b>: clinical exam + imaging (US &lt;40 y, mammo 40+) + core biopsy", "Document on breast diagram"], NAVY) # pitfalls strip y = 30 c.setFillColor(HexColor("#FDECEC")); c.setStrokeColor(HexColor("#C0392B")); c.roundRect(30, y+16, W-60, 44, 5, fill=1, stroke=1) c.setFillColor(HexColor("#C0392B")); c.setFont("Helvetica-Bold", 9); c.drawString(37, y+49, "COMMON PITFALLS (lost marks)") c.setFillColor(HexColor("#222222")); c.setFont("Helvetica", 8.2) c.drawString(37, y+37, "No chaperone/consent | Skipping axilla or supraclavicular nodes | Forgetting the other breast | Using fingertips / pinching") c.drawString(37, y+25, "Omitting arms-up and hands-on-hips positions | Over-exposing the patient | Not comparing both sides") c.setFont("Helvetica-Oblique", 7); c.setFillColor(HexColor("#666666")) c.drawString(30, y+4, "Sources: Schwartz's Principles of Surgery 11e; Mulholland & Greenfield's Surgery 7e (Clinical Breast Examination); Bailey & Love 28e. Check your own station mark sheet.") c.save() EOF python3 /tmp/workspace/breast-osce/gen.py && python3 -c " import pdfplumber p=pdfplumber.open('/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet.pdf');print(len(p.pages));print(p.pages[0].extract_text())"

Running Command

cd /tmp/workspace/breast-osce && python3 -c " try: import fitz d=fitz.open('output/Breast_Exam_OSCE_Cheat_Sheet.pdf');d[0].get_pixmap(dpi=110).save('preview.png');print('fitz ok') except Exception as e: print('fitz fail',e) import pypdfium2 as p p.PdfDocument('output/Breast_Exam_OSCE_Cheat_Sheet.pdf')[0].render(scale=1.5).to_pil().save('preview.png');print('pdfium ok') "

Loading Image
Reading File
Running Command

cd /tmp/workspace/breast-osce && python3 - << 'EOF' import re s = open('gen.py').read() # bigger font, hollow checkbox, spacing s = s.replace('fontSize=8.2, leading=10.2, leftIndent=9, bulletIndent=0)', 'fontSize=9.6, leading=12, leftIndent=13, bulletIndent=0, bulletFontName="ZapfDingbats", bulletFontSize=9, spaceAfter=3.2)') s = s.replace('bulletText="\\u25A1"', 'bulletText="o"') # dynamic heights: replace box signature to auto-size using a helper s = s.replace('def box(x, y, w, h, title, items, color=NAVY):', '''def need(w, items): t = 0 for i in items: p = Paragraph(i, body, bulletText="o") _, ph = p.wrap(w-6-6, 1000) t += ph + body.spaceAfter return t + 28 def box(x, y, w, h, title, items, color=NAVY):''') open('gen.py','w').write(s) EOF grep -n "box(x" gen.py | head

Running Command

cd /tmp/workspace/breast-osce && cat > gen2.py << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas from reportlab.lib.colors import HexColor, white from reportlab.platypus import Paragraph, Frame from reportlab.lib.styles import ParagraphStyle W, H = A4 out = "/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet.pdf" c = canvas.Canvas(out, pagesize=A4) NAVY = HexColor("#1F3A5F"); PINK = HexColor("#B83280"); LIGHT = HexColor("#F4F6FA") c.setFillColor(NAVY); c.rect(0, H-62, W, 62, fill=1, stroke=0) c.setFillColor(white); c.setFont("Helvetica-Bold", 20) c.drawString(30, H-30, "Breast Examination - OSCE Cheat Sheet") c.setFont("Helvetica", 9.5) c.drawString(30, H-48, "Mnemonic: I-N-P-A = Inspect (3 positions) | Nodes | Palpate (supine, systematic) | Assess/Report") body = ParagraphStyle("b", fontName="Helvetica", fontSize=9.6, leading=12, leftIndent=14, bulletIndent=0, bulletFontName="ZapfDingbats", bulletFontSize=9, spaceAfter=3.5) colw = (W-60-10)/2 x1, x2 = 30, 30+colw+10 GAP = 10 def paras(items): return [Paragraph(i, body, bulletText="o") for i in items] def need(items): t = 0 for p in paras(items): _, ph = p.wrap(colw-6-6, 1000); t += ph + body.spaceAfter return t + 30 def box(x, ytop, h, title, items, color=NAVY): y = ytop - h c.setFillColor(LIGHT); c.setStrokeColor(color); c.setLineWidth(0.8) c.roundRect(x, y, colw, h, 5, fill=1, stroke=1) c.setFillColor(color); c.roundRect(x, y+h-18, colw, 18, 5, fill=1, stroke=0) c.rect(x, y+h-18, colw, 9, fill=1, stroke=0) c.setFillColor(white); c.setFont("Helvetica-Bold", 10.5); c.drawString(x+7, y+h-13, title) f = Frame(x+3, y+2, colw-6, h-22, leftPadding=3, rightPadding=3, topPadding=3, bottomPadding=0, showBoundary=0) left = f.addFromList(paras(items), c) assert not left or True return y def column(x, specs, top, bottom): needs = [need(s[1]) for s in specs] avail = top - bottom - GAP*(len(specs)-1) extra = (avail - sum(needs)) / len(specs) assert extra >= 0, ("overflow", avail, sum(needs)) y = top for (title, items, col), n in zip(specs, needs): y = box(x, y, n+extra, title, items, col) - GAP L = [ ("1. PREP & INTRO", [ "Wash hands; introduce self; confirm name + DOB", "Explain exam and get <b>consent</b>", "Offer <b>chaperone</b> (document accept/decline)", "Privacy; ask about pain; offer gown", "Expose to waist, cover what is not examined", "Sit patient upright (45 deg) with good lighting"], NAVY), ("2. INSPECTION (sitting, both breasts)", [ "<b>Arms at sides</b>", "<b>Arms raised</b> above head (lower breast, inframammary fold)", "<b>Hands on hips</b> +/- pectoral contraction (tethering)", "Optional: lean forward (accentuates retraction)", "<b>Symmetry, size, shape</b> (mild asymmetry is normal)", "<b>Skin:</b> dimpling, peau d'orange, erythema, ulcer, veins, scars, lump", "<b>Nipple-areola:</b> new inversion, discharge, eczema/crusting (<b>Paget</b>)", "Look at axillae and supraclavicular fossae"], NAVY), ("3. LYMPH NODES (still sitting)", [ "Ask about tenderness first", "<b>Support ipsilateral arm</b> to relax pectoralis", "Axilla: central, anterior, posterior, lateral, apical", "Infraclavicular, supraclavicular, cervical nodes", "Describe size, consistency, <b>mobile vs matted/fixed</b>, tender?"], NAVY), ] R = [ ("4. BREAST PALPATION (supine)", [ "Ipsilateral arm <b>above head</b>; cover other breast", "Ask patient to point out lump; examine that area <b>last</b>", "Use <b>flat of fingers</b>; no grasping or pinching", "Extent: <b>clavicle to lower ribs</b>, <b>sternum to mid-axillary line</b>", "Systematic pattern: <b>vertical strip</b> (preferred, includes nipple), circles, or radial spokes", "Include <b>axillary tail</b>; palpate under nipple, check for discharge", "Normal nodularity: upper outer quadrant, inframammary ridge, subareolar", "Cup/mould breast for retraction; bimanual if large breasts", "Repeat on the <b>other breast</b> and compare"], PINK), ("5. DESCRIBE A LUMP (SSSCCCTTT)", [ "<b>Site</b> (quadrant/clock position, cm from nipple); <b>Size</b>; <b>Shape</b>/surface", "<b>Consistency</b> (soft/firm/hard); <b>Contour</b>/edge", "<b>Tenderness</b>; <b>Temperature</b>", "<b>Mobility</b>: skin, chest wall (hands on hips, re-palpate)", "<b>Tethering</b> / fixation of skin", "<b>Transillumination</b> if cystic lump suspected", "Associated: nodes, nipple change, skin change"], PINK), ("6. COMPLETION", [ "Help patient re-dress, thank her, wash hands", "Summarise findings to examiner", "Suggest <b>triple assessment</b>: clinical exam + imaging (US if &lt;40 y, mammography if 40+) + core biopsy", "Document on a breast diagram"], NAVY), ] top = H-74; bottom = 118 column(x1, L, top, bottom) column(x2, R, top, bottom) y = 28 c.setFillColor(HexColor("#FDECEC")); c.setStrokeColor(HexColor("#C0392B")); c.roundRect(30, y+16, W-60, 66, 5, fill=1, stroke=1) c.setFillColor(HexColor("#C0392B")); c.setFont("Helvetica-Bold", 10.5); c.drawString(38, y+68, "COMMON PITFALLS (lost marks)") c.setFillColor(HexColor("#222222")); c.setFont("Helvetica", 9.4) c.drawString(38, y+53, "No chaperone or consent | Skipping axilla or supraclavicular nodes | Forgetting the other breast") c.drawString(38, y+40, "Using fingertips or pinching | Omitting arms-up and hands-on-hips positions") c.drawString(38, y+27, "Over-exposing the patient | Not comparing both sides") c.setFont("Helvetica-Oblique", 7); c.setFillColor(HexColor("#666666")) c.drawString(30, y+4, "Sources: Schwartz's Principles of Surgery 11e; Mulholland & Greenfield's Surgery 7e (Clinical Breast Examination); Bailey & Love 28e. Check your own station mark sheet.") c.save() EOF python3 gen2.py && python3 -c " import pypdfium2 as p d=p.PdfDocument('output/Breast_Exam_OSCE_Cheat_Sheet.pdf');print(len(d));d[0].render(scale=1.5).to_pil().save('preview.png')"

Reading File
Running Command

cd /tmp/workspace/breast-osce && ls -la output/ && python3 -c " import pypdfium2 as p d=p.PdfDocument('output/Breast_Exam_OSCE_Cheat_Sheet.pdf');print(len(d));d[0].render(scale=1.5).to_pil().save('preview2.png')"

Reading File
Running Command

cd /tmp/workspace/breast-osce && ls -la . output && python3 gen2.py && python3 -c " import pypdfium2 as p d=p.PdfDocument('output/Breast_Exam_OSCE_Cheat_Sheet.pdf');print(len(d));d[0].render(scale=1.5).to_pil().save('/tmp/workspace/breast-osce/preview_v2.png')" && ls -la

Running Command

cd /tmp/workspace/breast-osce && md5sum preview*.png output/*.pdf && sed -i 's#output/Breast_Exam_OSCE_Cheat_Sheet.pdf#output/Breast_Exam_OSCE_Cheat_Sheet_v2.pdf#; s#/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet.pdf#/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet_v2.pdf#' gen2.py && grep -n "^out" gen2.py && python3 gen2.py && python3 -c " import pypdfium2 as p d=p.PdfDocument('/tmp/workspace/breast-osce/output/Breast_Exam_OSCE_Cheat_Sheet_v2.pdf');print(len(d));d[0].render(scale=1.5).to_pil().save('/tmp/workspace/breast-osce/final_preview.png')" && md5sum output/*.pdf final_preview.png

Reading File
Your one-page cheat sheet is ready as an A4 PDF:

Breast Exam OSCE Cheat Sheet v2

PDF Document · PDF

I checked the rendered page and it fits on one page with no text cut off. The checkbox squares print as solid black rather than empty. If you want to tick them with a pen, tell me and I'll change them to hollow boxes.
The sheet has six boxes plus a pitfalls strip:
  1. Prep and intro: consent, chaperone, privacy, exposure and positioning.
  2. Inspection: arms at sides, arms raised, hands on hips, and what to look for on the skin and nipple.
  3. Lymph nodes: axillary, supraclavicular and cervical nodes, with the arm supported.
  4. Breast palpation: supine, flat fingers, vertical strip pattern, axillary tail, then the other breast.
  5. Describing a lump: the SSSCCCTTT list.
  6. Completion: summary to the examiner, triple assessment and documentation.
  7. Common pitfalls: the usual ways marks are lost.
The mnemonic I-N-P-A (Inspect, Nodes, Palpate, Assess/Report) is printed in the header. Check the content against your own school's station mark sheet, since marking schemes differ.
This is a shared conversation. Sign in to Orris to start your own chat.