Tomorrow is my ICMHE practical exam and in spotters they will put stethoscope, bp cuff, thermometer , pulse oximeter and other also and I am in 2nd year mbbs . What instrument they will put at my level and what possible questions they may ask
2nd year MBBS practical exam spotters instruments questions ICMHE
2nd year MBBS pharmacology practical spotter instruments stethoscope BP apparatus questions
ICMHE instruments
ICMHE 2nd year MBBS practical exam instruments spotters list
ICMHE Karachi 2nd year MBBS pharmacology physiology practical spotter instruments
https://www.studocu.com/in/document/gs-medical-college-hospi…
| Color | Additive | Use |
|---|---|---|
| Red | None | Serum, biochemistry |
| Purple/EDTA | EDTA | CBC, blood counts |
| Blue | Sodium citrate | Coagulation (PT, APTT) |
| Green | Heparin | Plasma, electrolytes |
| Grey | Fluoride oxalate | Blood glucose |
| Yellow | SST/gel | Serology |
Tomorrow is my ICMHE practical exam and in spotters they will put stethoscope, bp cuff, thermometer , pulse oximeter , knee jerk hammer , queen square hammer . what possible questions they may ask.
| Diaphragm | Bell | |
|---|---|---|
| Frequency | High frequency | Low frequency |
| Application | Pressed firmly | Applied lightly |
| Sounds heard | Normal heart sounds (S1, S2), breath sounds, bowel sounds | S3, S4, mitral stenosis murmur |
| Phase | Sound | Significance |
|---|---|---|
| I | Sharp tapping | Systolic BP |
| II | Swishing/whooshing | - |
| III | Crisp, loud tapping | - |
| IV | Muffled/soft | - |
| V | Silence | Diastolic BP |
| Site | Normal | Notes |
|---|---|---|
| Rectal | 37.5°C | Highest, most accurate |
| Oral | 37.0°C | Standard |
| Axillary | 36.5°C | Lowest, least accurate |
| Tympanic | ~37°C | Fast, convenient |
Rectal > Oral > Axillary (remember: ROA - rectal on top)
| SpO2 | SaO2 |
|---|---|
| Pulse oximetry (non-invasive) | Arterial blood gas (invasive, gold standard) |
| Peripheral measurement | Direct arterial measurement |
| Estimate | Accurate measurement |
| Grade | Meaning |
|---|---|
| 0 | Absent |
| 1+ | Diminished (hypo) |
| 2+ | Normal |
| 3+ | Increased (no clonus) |
| 4+ | Hyperreflexia with clonus |
| Feature | Queen Square | Taylor/Patella Hammer |
|---|---|---|
| Shape | Round/disc head, long handle | Triangular/tomahawk |
| Primary use | Plantar reflex, ankle jerk | Knee jerk, general DTRs |
| Handle | Long (~30 cm) | Short |
Create a printable one-page quick reference cheat sheet PDF for these 6 instruments
ls -la /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/icmhe-cheatsheet
~/icmhe-cheatsheet/generate_cheatsheet.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer
from reportlab.lib.enums import TA_CENTER, TA_LEFT
from reportlab.platypus import HRFlowable
output_path = "/home/daytona/workspace/icmhe-cheatsheet/ICMHE_Spotter_Cheatsheet.pdf"
doc = SimpleDocTemplate(
output_path,
pagesize=A4,
leftMargin=0.8*cm,
rightMargin=0.8*cm,
topMargin=0.7*cm,
bottomMargin=0.5*cm,
)
# ── Colour palette ──────────────────────────────────────────────
DARK_BLUE = colors.HexColor("#1a3c6b")
MID_BLUE = colors.HexColor("#2563a8")
LIGHT_BLUE = colors.HexColor("#dbeafe")
ACCENT = colors.HexColor("#e63946")
GOLD = colors.HexColor("#f4a261")
LIGHT_GOLD = colors.HexColor("#fff3e0")
WHITE = colors.white
GREY_BG = colors.HexColor("#f1f5f9")
GREY_TEXT = colors.HexColor("#374151")
GREEN = colors.HexColor("#166534")
GREEN_BG = colors.HexColor("#dcfce7")
styles = getSampleStyleSheet()
def style(name, **kw):
return ParagraphStyle(name, **kw)
title_style = style("title",
fontName="Helvetica-Bold", fontSize=13, textColor=WHITE,
alignment=TA_CENTER, spaceAfter=0, spaceBefore=0, leading=16)
sub_title_style = style("subtitle",
fontName="Helvetica", fontSize=7.5, textColor=LIGHT_BLUE,
alignment=TA_CENTER, spaceAfter=0, leading=10)
instr_head = style("ihead",
fontName="Helvetica-Bold", fontSize=8, textColor=WHITE,
alignment=TA_CENTER, leading=10)
label_style = style("label",
fontName="Helvetica-Bold", fontSize=6.8, textColor=DARK_BLUE,
spaceAfter=0, leading=9)
body_style = style("body",
fontName="Helvetica", fontSize=6.5, textColor=GREY_TEXT,
spaceAfter=0, leading=8.5)
emph_style = style("emph",
fontName="Helvetica-Bold", fontSize=6.5, textColor=ACCENT,
spaceAfter=0, leading=8.5)
normal_val = style("nval",
fontName="Helvetica-Bold", fontSize=6.8, textColor=GREEN,
spaceAfter=0, leading=9)
footer_style = style("footer",
fontName="Helvetica-BoldOblique", fontSize=6.5, textColor=MID_BLUE,
alignment=TA_CENTER, leading=9)
def P(text, s=None):
return Paragraph(text, s or body_style)
def cell_block(lines):
"""Build a list of Paragraph objects for a table cell."""
result = []
for line in lines:
result.append(Paragraph(line, body_style))
return result
# ── Helper: mini 2-col key-value table inside a cell ────────────
def kv(key, val, key_color=DARK_BLUE, val_color=GREY_TEXT):
return Paragraph(f'<font color="#{key_color.hexval()[2:]}"><b>{key}:</b></font> '
f'<font color="#{val_color.hexval()[2:]}">{val}</font>', body_style)
# ═══════════════════════════════════════════════════════════════════
# INSTRUMENT DATA
# ═══════════════════════════════════════════════════════════════════
instruments = [
{
"name": "STETHOSCOPE",
"emoji": "🩺",
"color": colors.HexColor("#1e40af"),
"normal": None,
"parts": "Earpieces → Binaurals → Tubing → Chest piece → Stem",
"key_facts": [
("Inventor", "Laennec, 1816"),
("Diaphragm", "High freq: S1, S2, breath & bowel sounds (press firmly)"),
("Bell", "Low freq: S3, S4, mitral stenosis (apply lightly)"),
("Main use", "Auscultation of heart, lungs, BP (Korotkoff sounds)"),
],
"viva": [
"Diff between bell vs diaphragm?",
"What sounds does the bell hear?",
"Name the parts of a stethoscope.",
],
},
{
"name": "BP CUFF (Sphygmomanometer)",
"emoji": "💉",
"color": colors.HexColor("#7c3aed"),
"normal": "Normal BP: 120/80 mmHg | Pulse Pressure: 40 mmHg | MAP: ~93 mmHg",
"parts": "Cuff (bladder) → Tubing → Bulb → Valve → Manometer",
"key_facts": [
("Korotkoff I", "Tapping = SYSTOLIC BP"),
("Korotkoff V", "Silence = DIASTOLIC BP"),
("Artery", "Brachial artery compressed"),
("Cuff size", "12-13 cm wide, 35 cm long"),
("Auscultatory gap", "False silence in hypertensives → underestimates systolic"),
("Small cuff", "Falsely HIGH reading"),
("Large cuff", "Falsely LOW reading"),
("Preferred arm", "Right arm (direct from aorta)"),
],
"viva": [
"Name all 5 Korotkoff phases.",
"What is auscultatory gap?",
"Errors in BP measurement?",
"What is MAP formula?",
],
},
{
"name": "THERMOMETER",
"emoji": "🌡️",
"color": colors.HexColor("#b45309"),
"normal": "Normal: 98.6°F = 37°C (oral) | Rectal > Oral > Axillary",
"parts": "Bulb → Capillary tube → Constriction → Stem → Scale (°F/°C)",
"key_facts": [
("Rectal", "37.5°C — highest, most accurate"),
("Oral", "37.0°C — standard"),
("Axillary", "36.5°C — lowest, least accurate"),
("Constriction", "Prevents mercury from falling back (allows reading)"),
("Pyrexia", ">37.2°C | Hyperpyrexia: >41°C | Hypothermia: <35°C"),
("Mercury phased out", "Due to toxicity → replaced by digital"),
("Formula", "°C = (°F − 32) × 5/9"),
],
"viva": [
"Why is there a constriction in mercury thermometer?",
"Sites of temp measurement — which is highest?",
"Define pyrexia vs hyperpyrexia.",
"Convert 98.6°F to °C.",
],
},
{
"name": "PULSE OXIMETER",
"emoji": "📡",
"color": colors.HexColor("#0f766e"),
"normal": "Normal SpO₂: 95–100% | <90% = significant hypoxia",
"parts": "Finger probe (LED emitter + photodetector) → Display unit",
"key_facts": [
("Principle", "Beer-Lambert Law — 2 wavelengths"),
("660 nm red", "Absorbed by deoxyhaemoglobin"),
("940 nm infrared", "Absorbed by oxyhaemoglobin"),
("SpO₂ vs SaO₂", "SpO₂ = non-invasive estimate; SaO₂ = ABG (gold standard)"),
("CO poisoning", "Falsely HIGH — COHb absorbs same as OxyHb"),
("Nail polish", "Falsely LOW (dark colours)"),
("Unreliable in", "Poor perfusion, shivering, arrhythmia, cold hands"),
("Also displays", "Pulse rate + plethysmograph waveform"),
],
"viva": [
"What is the principle of pulse oximetry?",
"Why can't it detect CO poisoning?",
"SpO₂ vs SaO₂ — difference?",
"What causes false readings?",
],
},
{
"name": "KNEE JERK HAMMER (Taylor)",
"emoji": "🔨",
"color": colors.HexColor("#b91c1c"),
"normal": "Normal reflex grade: 2+",
"parts": "Triangular rubber head + Metal handle (tomahawk shape)",
"key_facts": [
("Reflex tested", "Patellar reflex (knee jerk) = Monosynaptic stretch reflex"),
("Spinal level", "L2–L4 (mainly L3–L4) via Femoral nerve"),
("Arc", "Patellar tendon → Muscle spindle → Spinal cord → Quadriceps"),
("Absent reflex", "LMN lesion, peripheral neuropathy, DM, hypothyroidism"),
("Exaggerated", "UMN lesion (stroke, MS, spinal cord lesion above L2)"),
("Grading", "0=absent | 1+=diminished | 2+=normal | 3+=brisk | 4+=clonus"),
("Position", "Legs hanging free OR knee slightly flexed over examiner's hand"),
],
"viva": [
"Spinal level of knee jerk reflex?",
"What does the hammer actually stretch?",
"LMN vs UMN effect on reflexes?",
"Grade the DTRs.",
],
},
{
"name": "QUEEN SQUARE HAMMER",
"emoji": "🔨",
"color": colors.HexColor("#15803d"),
"normal": "Normal plantar: plantar FLEXION (toes curl down)",
"parts": "Long handle (~30 cm) + Circular/disc rubber head",
"key_facts": [
("Primary use", "Plantar reflex (Babinski sign) + Ankle jerk"),
("Babinski +ve", "Big toe DORSIFLEXION + fanning = UMN lesion (abnormal in adults)"),
("Babinski -ve", "Plantar FLEXION = normal in adults"),
("Normal in infants", "Up to 2 yrs (pyramidal tract not yet myelinated)"),
("Plantar arc", "Sural/tibial nerve → S1–S2 → Tibial nerve"),
("Oppenheim sign", "Stroke along tibia — same significance as Babinski"),
("Gordon sign", "Squeeze calf — same as Babinski (UMN)"),
("vs Taylor", "Queen Square: round head, long handle | Taylor: triangular, short"),
],
"viva": [
"What is a positive Babinski sign?",
"Spinal level of plantar reflex?",
"Normal plantar response in adults vs infants?",
"Difference between Queen Square and Taylor hammer?",
],
},
]
# ═══════════════════════════════════════════════════════════════════
# BUILD THE PDF
# ═══════════════════════════════════════════════════════════════════
story = []
# ── HEADER ─────────────────────────────────────────────────────────
header_data = [[
Paragraph("ICMHE 2nd Year MBBS — Practical Spotter Quick Reference", title_style),
]]
header_table = Table(header_data, colWidths=[19.4*cm])
header_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
("ROWBACKGROUNDS", (0,0), (-1,-1), [DARK_BLUE]),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 8),
("ROUNDEDCORNERS", [4]),
]))
story.append(header_table)
subtitle_data = [[
Paragraph("Stethoscope | BP Cuff | Thermometer | Pulse Oximeter | Knee Jerk Hammer | Queen Square Hammer", sub_title_style),
]]
sub_table = Table(subtitle_data, colWidths=[19.4*cm])
sub_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), MID_BLUE),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
]))
story.append(sub_table)
story.append(Spacer(1, 3*mm))
# ── INSTRUMENT CARDS (3 x 2 grid) ─────────────────────────────────
def build_card(instr):
"""Return a list of flowables that make up one instrument card."""
c = instr["color"]
# Title bar
title_p = Paragraph(instr["name"], style("ct",
fontName="Helvetica-Bold", fontSize=8, textColor=WHITE,
alignment=TA_CENTER, leading=10))
title_cell = [[title_p]]
t_title = Table(title_cell, colWidths=[9.1*cm])
t_title.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), c),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
("LEFTPADDING", (0,0), (-1,-1), 4),
("RIGHTPADDING", (0,0), (-1,-1), 4),
]))
# Normal value banner
if instr["normal"]:
nv = Paragraph(instr["normal"], style("nv",
fontName="Helvetica-Bold", fontSize=6.5, textColor=GREEN,
alignment=TA_CENTER, leading=8))
nv_cell = [[nv]]
t_nv = Table(nv_cell, colWidths=[9.1*cm])
t_nv.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), GREEN_BG),
("TOPPADDING", (0,0), (-1,-1), 2),
("BOTTOMPADDING", (0,0), (-1,-1), 2),
]))
else:
t_nv = None
# Parts
parts_p = Paragraph(
f'<font color="#1a3c6b"><b>Parts:</b></font> {instr["parts"]}',
body_style)
parts_cell = [[parts_p]]
t_parts = Table(parts_cell, colWidths=[9.1*cm])
t_parts.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), LIGHT_BLUE),
("TOPPADDING", (0,0), (-1,-1), 2),
("BOTTOMPADDING", (0,0), (-1,-1), 2),
("LEFTPADDING", (0,0), (-1,-1), 4),
("RIGHTPADDING", (0,0), (-1,-1), 4),
]))
# Key facts table
kf_rows = []
for k, v in instr["key_facts"]:
key_p = Paragraph(k, style("kk", fontName="Helvetica-Bold", fontSize=6.3,
textColor=DARK_BLUE, leading=8))
val_p = Paragraph(v, style("kv", fontName="Helvetica", fontSize=6.3,
textColor=GREY_TEXT, leading=8))
kf_rows.append([key_p, val_p])
t_kf = Table(kf_rows, colWidths=[2.5*cm, 6.4*cm])
t_kf.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), WHITE),
("ROWBACKGROUNDS",(0,0), (-1,-1), [WHITE, GREY_BG]),
("TOPPADDING", (0,0), (-1,-1), 1.5),
("BOTTOMPADDING", (0,0), (-1,-1), 1.5),
("LEFTPADDING", (0,0), (0,-1), 4),
("LEFTPADDING", (1,0), (1,-1), 3),
("RIGHTPADDING", (0,0), (-1,-1), 3),
("LINEBELOW", (0,-1), (-1,-1), 0.3, colors.HexColor("#cbd5e1")),
]))
# Viva questions
viva_header = Paragraph("⚡ VIVA Q's", style("vh",
fontName="Helvetica-Bold", fontSize=6.5, textColor=ACCENT,
leading=8))
viva_rows = [[viva_header]]
for q in instr["viva"]:
viva_rows.append([Paragraph(f"▸ {q}", style("vq",
fontName="Helvetica", fontSize=6.2, textColor=GREY_TEXT, leading=8))])
t_viva = Table(viva_rows, colWidths=[9.1*cm])
t_viva.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), LIGHT_GOLD),
("BACKGROUND", (0,0), (0,0), colors.HexColor("#fff3e0")),
("TOPPADDING", (0,0), (-1,-1), 1.5),
("BOTTOMPADDING", (0,0), (-1,-1), 1.5),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 4),
("BOX", (0,0), (-1,-1), 0.5, GOLD),
]))
# Outer card border
card_content = [
[t_title],
]
if t_nv:
card_content.append([t_nv])
card_content.append([t_parts])
card_content.append([t_kf])
card_content.append([t_viva])
outer = Table(card_content, colWidths=[9.1*cm])
outer.setStyle(TableStyle([
("BOX", (0,0), (-1,-1), 1, c),
("TOPPADDING", (0,0), (-1,-1), 0),
("BOTTOMPADDING", (0,0), (-1,-1), 0),
("LEFTPADDING", (0,0), (-1,-1), 0),
("RIGHTPADDING", (0,0), (-1,-1), 0),
("ROUNDEDCORNERS", [3]),
]))
return outer
# Build 3-column grid: 2 rows of 3
GAP = 0.6*cm
col_w = 9.1*cm
rows = [instruments[0:3], instruments[3:6]]
for row_instruments in rows:
cards = [build_card(i) for i in row_instruments]
grid = Table(
[cards],
colWidths=[col_w, col_w, col_w],
hAlign="CENTER",
)
grid.setStyle(TableStyle([
("TOPPADDING", (0,0), (-1,-1), 0),
("BOTTOMPADDING", (0,0), (-1,-1), 0),
("LEFTPADDING", (0,0), (-1,-1), 3),
("RIGHTPADDING", (0,0), (-1,-1), 3),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(grid)
story.append(Spacer(1, 3*mm))
# ── GOLDEN RULES BAR ──────────────────────────────────────────────
rules = [
"1. Name instrument immediately",
"2. State parts & use",
"3. Always give NORMAL values",
"4. Mention spinal level for reflexes",
"5. UMN vs LMN for reflex hammers",
"6. CO poisoning → false HIGH SpO₂",
"7. Rectal > Oral > Axillary (temp)",
]
rules_cells = [[Paragraph(r, style("rc",
fontName="Helvetica", fontSize=6.3, textColor=DARK_BLUE, leading=8))
for r in rules]]
rules_table = Table(rules_cells, colWidths=[2.77*cm]*7)
rules_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), LIGHT_BLUE),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
("LEFTPADDING", (0,0), (-1,-1), 3),
("RIGHTPADDING", (0,0), (-1,-1), 3),
("BOX", (0,0), (-1,-1), 1, MID_BLUE),
("INNERGRID", (0,0), (-1,-1), 0.5, MID_BLUE),
("ALIGN", (0,0), (-1,-1), "CENTER"),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
golden_label = [[Paragraph("⭐ GOLDEN RULES FOR TOMORROW ⭐", style("gl",
fontName="Helvetica-Bold", fontSize=7.5, textColor=WHITE,
alignment=TA_CENTER, leading=10))]]
gl_table = Table(golden_label, colWidths=[19.4*cm])
gl_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
]))
story.append(gl_table)
story.append(rules_table)
# ── FOOTER ────────────────────────────────────────────────────────
story.append(Spacer(1, 2*mm))
footer_data = [[Paragraph(
"ICMHE 2nd Year MBBS Practical Exam | All the best! You've got this! | "
"Prepared: June 2026",
footer_style)]]
footer_table = Table(footer_data, colWidths=[19.4*cm])
footer_table.setStyle(TableStyle([
("TOPPADDING", (0,0), (-1,-1), 2),
("BOTTOMPADDING", (0,0), (-1,-1), 2),
("BACKGROUND", (0,0), (-1,-1), GREY_BG),
]))
story.append(footer_table)
# ── BUILD ────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF saved to: {output_path}")
cd /home/daytona/workspace/icmhe-cheatsheet && python generate_cheatsheet.py
ls -lh /home/daytona/workspace/icmhe-cheatsheet/ICMHE_Spotter_Cheatsheet.pdf
cd /home/daytona/workspace/icmhe-cheatsheet && python -c " from pypdf import PdfReader r = PdfReader('ICMHE_Spotter_Cheatsheet.pdf') print(f'Pages: {len(r.pages)}') text = r.pages[0].extract_text() print(text[:500]) "
ICMHE Spotter Cheatsheet
PDF Document · PDF
Tomorrow is my ICMHE practical exam and I don’t know anything about this slide please help meuderstand this life in very easy language
cd /home/daytona/workspace/attachments/e03a00f2-90d7-4a5d-87c4-9bf558b9aa6b && python3 -c " from pypdf import PdfReader r = PdfReader('Pulse.pdf') print(f'Total pages: {len(r.pages)}') for i, page in enumerate(r.pages): print(f'--- PAGE {i+1} ---') print(page.extract_text()) print() "
One-line definition: The expansion and elongation of the artery wall caused by blood being pushed by the heart.
| Location | Artery | Remember It As |
|---|---|---|
| Wrist | Radial artery | Most common site |
| Inner elbow | Brachial artery | Just medial to biceps |
| Neck | Carotid artery | Between throat + neck muscle |
| Groin | Femoral artery | Halfway - hip bone to pubic bone |
| Back of knee | Popliteal artery | Knee bent 30° |
| Top of foot | Dorsalis pedis | Absent in 10% of normal people! |
| Inner ankle | Posterior tibial | Behind medial ankle bone |
Tip: Count for 15 seconds, multiply by 4. OR count for a full minute for accuracy.
Check volume at carotid, brachial, or femoral artery (not radial - it's too small).
| Pulse Name | What it Feels Like | Disease |
|---|---|---|
| Anacrotic | Low volume, slow rising | Severe Aortic Stenosis (valve too tight) |
| Water-hammer | High volume, forceful, then collapses suddenly | Aortic Regurgitation (valve leaking) |
| Pulsus bisferiens | Double beat, high volume | Both Aortic stenosis + regurgitation together |
| Pulsus alternans | Alternating strong-weak-strong-weak | Left Ventricular Failure (heart pump failing) |
| Pulsus bigeminus | Two beats then a pause, repeating | Digitalis toxicity, 3:2 heart block |
| Dicrotic pulse | Two beats but low volume | Endotoxic shock, hypovolemic shock |
| Pulsus paradoxus | Pulse gets weaker when you breathe IN | Cardiac tamponade, severe asthma, constrictive pericarditis |
"Pulse is 72 bpm, regular in rhythm, normal in volume and character, with no radio-radial delay or radio-femoral delay, and all peripheral pulses are palpable."
| Feature | Normal | Abnormal |
|---|---|---|
| Rate | 60-100 bpm | <60 (brady) / >100 (tachy) |
| Rhythm | Regular | Irregular (AF most imp.) |
| Volume | Normal (PP 30-60 mmHg) | High / Low |
| Radio-radial delay | None | Subclavian/aortic problem |
| Radio-femoral delay | None | Coarctation of aorta |
| Arterial wall | Not palpable | Atherosclerosis (old age) |