Make a master differentiating table between as ar ps pr ms mr ts tr

Reading File
Finding Sources
Searching PubMed

heart murmurs AND auscultation

Searching the Web

Merck Manual cardiac murmurs aortic stenosis mitral regurgitation auscultation table

Master differentiation table: valvular lesions

Abbreviations: AS = aortic stenosis, AR = aortic regurgitation, PS = pulmonary stenosis, PR = pulmonary regurgitation, MS = mitral stenosis, MR = mitral regurgitation, TS = tricuspid stenosis, TR = tricuspid regurgitation.
LesionTiming and murmurBest heardRadiationKey auscultatory cluesClassic peripheral / examination findings
ASHarsh ejection systolic, crescendo-decrescendoRight 2nd intercostal spaceCarotidsSoft/absent A2 in severe AS; delayed peak indicates severe obstruction; systolic thrill may be presentSlow-rising, low-volume pulse (pulsus parvus et tardus); narrow pulse pressure; sustained heaving apex
ARHigh-pitched, blowing early diastolic decrescendoLeft sternal border, 3rd-4th intercostal spaces, sitting forward in end-expirationUsually noneMay have Austin Flint murmur: low-pitched mid-diastolic apical murmur from severe ARWide pulse pressure, bounding or collapsing pulse, head bobbing, Quincke nail-bed pulsation; displaced hyperdynamic apex
PSHarsh ejection systolic, crescendo-decrescendoLeft upper sternal border, 2nd intercostal spaceLeft shoulder / neck, sometimes backEjection click that decreases with inspiration; wide split S2 with soft/delayed P2 in severe diseaseRV heave; raised JVP if advanced RV failure
PRHigh-pitched early diastolic decrescendoLeft upper sternal borderUsually noneGraham Steell murmur in pulmonary hypertension: high-pitched PR murmur that becomes louder on inspirationSigns of pulmonary hypertension or RV failure, such as raised JVP and RV heave
MSLow-pitched rumbling mid-diastolic murmur, often presystolic accentuation if sinus rhythmApex, with bell in left lateral positionLocalizedLoud S1, opening snap after A2; shorter A2-OS interval suggests more severe MS; presystolic accentuation disappears in AFMalar flush, tapping apex; AF and pulmonary hypertension features in later disease
MRBlowing pansystolic murmurApexAxilla and sometimes backSoft S1; may have S3 from volume overload. Acute MR may be early decrescendo rather than pansystolicDisplaced, hyperdynamic apex; pulmonary edema if acute/severe
TSLow-pitched rumbling mid-diastolic murmurLower left sternal border / xiphisternumLocalizedOpening snap may occur; murmur increases with inspirationRaised JVP with prominent a waves, hepatomegaly, ascites, peripheral edema
TRBlowing pansystolic murmurLower left sternal borderRight sternal border / epigastriumIncreases with inspiration: Carvallo sign; may have pulsatile liverRaised JVP with prominent v waves, pulsatile hepatomegaly, ascites, edema

Quick timing rule

Systolic murmursDiastolic murmurs
AS, PS, MR, TRAR, PR, MS, TS
Ejection systolic: AS, PSEarly diastolic: AR, PR
Pansystolic: MR, TRMid-diastolic: MS, TS
A diastolic murmur is pathological until proven otherwise. The basic timing distinction between AS/MR in systole and AR/MS in diastole is described in Guyton and Hall Textbook of Medical Physiology under “Heart Murmurs Caused by Valvular Lesions.” The Merck auscultation guide provides supporting descriptions and maneuver effects.

Differentiation by respiration and bedside maneuvers

ManeuverMurmurs that become louderMurmurs that become softer
InspirationRight-sided: PS, PR, TS, TRMost left-sided murmurs relatively soften
ExpirationLeft-sided: AS, AR, MS, MRRight-sided murmurs relatively soften
Handgrip - increased afterloadMR, AR; may increase MS flow murmurAS, PS; also HCM and MVP
Standing / strain phase of Valsalva - reduced preloadMost murmurs decreaseAS, AR, MR, MS, PS, PR, TS, TR all generally decrease
Squatting / passive leg raise - increased preload and afterloadAS, MR, AR and most flow-dependent murmursHCM and MVP become softer / later
Release of ValsalvaRight-sided murmurs rise first; left-sided murmurs rise a few beats later-
High-yield rule: right-sided lesions increase with inspiration, whereas left-sided lesions are louder during expiration. Handgrip particularly favors regurgitant murmurs, especially MR and AR. This is consistent with the maneuver table in the Merck reference.

Lesion-by-lesion rapid clinical differentiation

LesionTypical causeChamber consequencesMain symptoms / complications
ASDegenerative calcification, bicuspid valve, rheumatic diseasePressure overload LVHExertional angina, syncope, dyspnea; late heart failure
ARAortic root dilatation, bicuspid valve, endocarditis, rheumatic diseaseLV volume overload and eccentric LVHPalpitations, exertional dyspnea, heart failure; acute AR causes pulmonary edema and shock
PSUsually congenitalRV pressure overload, RVHOften asymptomatic if mild; exertional dyspnea, syncope, RV failure if severe
PRPulmonary hypertension, repaired congenital heart disease, endocarditisRV volume overloadUsually asymptomatic initially; severe PR causes RV failure
MSUsually rheumatic heart diseaseLA enlargement, pulmonary venous hypertension, later RV failureDyspnea, hemoptysis, AF, systemic embolism, pulmonary hypertension
MRDegenerative prolapse, ischemia/papillary muscle dysfunction, dilated LV, endocarditisLA and LV volume overloadDyspnea, fatigue, AF, pulmonary hypertension, heart failure
TSUsually rheumatic, often with MSRA enlargement and systemic venous congestionFatigue, edema, ascites, hepatic congestion, AF
TRUsually functional from RV dilatation/pulmonary hypertension; also endocarditisRA/RV dilatation, systemic venous congestionPulsatile liver, ascites, peripheral edema, fatigue

One-line memory anchors

  • AS: “Ejection systolic to the carotids + slow-rising pulse.”
  • AR: “Early blowing diastolic + wide pulse pressure.”
  • PS: “Ejection systolic at pulmonary area + inspiration.”
  • PR: “Early diastolic at pulmonary area + pulmonary hypertension.”
  • MS: “Opening snap + apical rumbling diastolic murmur.”
  • MR: “Pansystolic at apex to axilla.”
  • TS: “Right-sided MS, rare, raised JVP with giant a waves.”
  • TR: “Pansystolic LLSB murmur louder on inspiration + giant v waves.”
Exam caution: real patients can have mixed lesions, atrial fibrillation, pulmonary hypertension, prosthetic valves, or low cardiac output, all of which can alter the expected murmur intensity. Echocardiography confirms valve morphology, severity, chamber response, and pulmonary pressures.

Create a one-page PDF of this valvular lesion table

Reading File
Reading File
Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/valvular-lesions-pdf/src" "/tmp/workspace/valvular-lesions-pdf/output"

Writing File

~/valvular-lesions-pdf/src/create_valvular_table.py

from reportlab.lib import colors
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER
from reportlab.lib.units import mm
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer, KeepTogether
from reportlab.pdfbase.pdfmetrics import stringWidth
from pypdf import PdfReader

OUT = '/tmp/workspace/valvular-lesions-pdf/output/Valvular_Lesion_Differentiating_Table.pdf'
PAGE = landscape(A4)
W, H = PAGE
M = 9 * mm

styles = getSampleStyleSheet()
title = ParagraphStyle('TitleSmall', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=15, leading=17, alignment=TA_CENTER, textColor=colors.HexColor('#17365D'), spaceAfter=2)
sub = ParagraphStyle('Sub', parent=styles['Normal'], fontName='Helvetica', fontSize=6.8, leading=8.1, alignment=TA_CENTER, textColor=colors.HexColor('#4F4F4F'), spaceAfter=5)
head = ParagraphStyle('Head', parent=styles['Normal'], fontName='Helvetica-Bold', fontSize=6.4, leading=7.3, alignment=TA_CENTER, textColor=colors.white)
cell = ParagraphStyle('Cell', parent=styles['Normal'], fontName='Helvetica', fontSize=6.0, leading=7.05, spaceAfter=0)
lesion = ParagraphStyle('Lesion', parent=cell, fontName='Helvetica-Bold', fontSize=7.0, leading=8.0, textColor=colors.HexColor('#17365D'))
small_head = ParagraphStyle('SmallHead', parent=styles['Normal'], fontName='Helvetica-Bold', fontSize=6.5, leading=7.4, textColor=colors.white, alignment=TA_CENTER)
small = ParagraphStyle('Small', parent=styles['Normal'], fontName='Helvetica', fontSize=6.0, leading=7.0)
foot = ParagraphStyle('Foot', parent=styles['Normal'], fontName='Helvetica-Oblique', fontSize=5.5, leading=6.2, alignment=TA_CENTER, textColor=colors.HexColor('#555555'))

def p(text, style=cell):
    return Paragraph(text, style)

rows = [
 ['Lesion', 'Murmur timing and character', 'Best heard / radiation', 'Key auscultatory clues', 'Clinical findings and associations'],
 ['<b>AS</b><br/>Aortic stenosis', '<b>Harsh ejection systolic</b><br/>Crescendo-decrescendo', '<b>R 2nd ICS</b><br/>Radiates to carotids', 'Soft or absent A2; late peaking suggests severe disease; systolic thrill', '<b>Pulsus parvus et tardus</b>, narrow pulse pressure, heaving apex<br/>Degenerative, bicuspid, rheumatic'],
 ['<b>AR</b><br/>Aortic regurgitation', '<b>High-pitched early diastolic</b><br/>Blowing decrescendo', '<b>L sternal edge</b>, 3rd-4th ICS<br/>Sitting forward, end-expiration', 'Austin Flint murmur at apex in severe AR', '<b>Wide pulse pressure</b>, collapsing pulse, displaced hyperdynamic apex<br/>Aortic-root disease, endocarditis'],
 ['<b>PS</b><br/>Pulmonary stenosis', '<b>Harsh ejection systolic</b><br/>Crescendo-decrescendo', '<b>L upper sternal border</b><br/>May radiate to left shoulder/back', 'Ejection click decreases with inspiration; wide split S2, soft/delayed P2', 'RV heave; raised JVP if advanced<br/>Usually congenital'],
 ['<b>PR</b><br/>Pulmonary regurgitation', '<b>Early diastolic</b><br/>High-pitched decrescendo', '<b>L upper sternal border</b>', 'Graham Steell murmur in pulmonary hypertension; louder with inspiration', 'Pulmonary hypertension or RV failure signs<br/>Often secondary to pulmonary hypertension'],
 ['<b>MS</b><br/>Mitral stenosis', '<b>Low-pitched mid-diastolic</b><br/>Rumbling; presystolic accentuation in sinus rhythm', '<b>Apex</b>, bell<br/>Left lateral position', '<b>Loud S1 + opening snap</b>; shorter A2-OS interval = more severe; accentuation lost in AF', 'Malar flush, tapping apex<br/>AF, embolism, pulmonary hypertension<br/>Usually rheumatic'],
 ['<b>MR</b><br/>Mitral regurgitation', '<b>Blowing pansystolic</b>', '<b>Apex</b><br/>Radiates to axilla', 'Soft S1; S3 with volume overload; acute MR may be early decrescendo', 'Displaced hyperdynamic apex; pulmonary edema if acute<br/>MVP, ischemia, dilated LV, endocarditis'],
 ['<b>TS</b><br/>Tricuspid stenosis', '<b>Low-pitched mid-diastolic</b><br/>Rumbling', '<b>Lower L sternal border</b> / xiphisternum', 'May have opening snap; <b>increases with inspiration</b>', 'Raised JVP with giant <b>a</b> waves, hepatomegaly, ascites, edema<br/>Often rheumatic'],
 ['<b>TR</b><br/>Tricuspid regurgitation', '<b>Blowing pansystolic</b>', '<b>Lower L sternal border</b>', '<b>Carvallo sign:</b> louder with inspiration', 'Raised JVP with giant <b>v</b> waves, pulsatile liver, ascites, edema<br/>Often functional from RV dilatation'],
]

data = [[p(x, head) for x in rows[0]]]
for r in rows[1:]:
    data.append([p(r[0], lesion)] + [p(x) for x in r[1:]])

main = Table(data, colWidths=[27*mm, 50*mm, 49*mm, 65*mm, 76*mm], repeatRows=1)
main.setStyle(TableStyle([
 ('BACKGROUND',(0,0),(-1,0),colors.HexColor('#17365D')),
 ('GRID',(0,0),(-1,-1),0.28,colors.HexColor('#B9C7D8')),
 ('VALIGN',(0,0),(-1,-1),'MIDDLE'),
 ('LEFTPADDING',(0,0),(-1,-1),2.5),('RIGHTPADDING',(0,0),(-1,-1),2.5),
 ('TOPPADDING',(0,0),(-1,-1),2.2),('BOTTOMPADDING',(0,0),(-1,-1),2.2),
 ('BACKGROUND',(0,1),(-1,-1),colors.white),
 ('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.white,colors.HexColor('#F2F6FA')]),
]))

man = [
 [p('Maneuver', small_head), p('Murmur response', small_head)],
 [p('<b>Inspiration</b>', small), p('<b>Right-sided</b> murmurs increase: PS, PR, TS, TR.', small)],
 [p('<b>Expiration</b>', small), p('<b>Left-sided</b> murmurs become more apparent: AS, AR, MS, MR.', small)],
 [p('<b>Handgrip</b>', small), p('<b>Increases MR and AR</b>; decreases AS and PS.', small)],
 [p('<b>Standing / Valsalva strain</b>', small), p('Decreases most murmurs. (Exception outside this table: HCM increases; MVP click occurs earlier.)', small)],
]
man_tbl = Table(man, colWidths=[49*mm, 218*mm])
man_tbl.setStyle(TableStyle([
 ('BACKGROUND',(0,0),(-1,0),colors.HexColor('#2F6B82')),
 ('GRID',(0,0),(-1,-1),0.28,colors.HexColor('#B9C7D8')),
 ('VALIGN',(0,0),(-1,-1),'MIDDLE'),
 ('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.HexColor('#EDF5F7'), colors.white]),
 ('LEFTPADDING',(0,0),(-1,-1),3),('RIGHTPADDING',(0,0),(-1,-1),3),
 ('TOPPADDING',(0,0),(-1,-1),1.8),('BOTTOMPADDING',(0,0),(-1,-1),1.8),
]))

memory = Table([[p('<b>Fast pattern:</b> systolic = AS, PS, MR, TR. Diastolic = AR, PR, MS, TS.  Ejection systolic = AS/PS. Pansystolic = MR/TR. Early diastolic = AR/PR. Mid-diastolic = MS/TS.', foot)]], colWidths=[267*mm])
memory.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),colors.HexColor('#FFF4D6')),('BOX',(0,0),(-1,-1),0.3,colors.HexColor('#E3C875')),('LEFTPADDING',(0,0),(-1,-1),3),('RIGHTPADDING',(0,0),(-1,-1),3),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),2)]))

doc = SimpleDocTemplate(OUT, pagesize=PAGE, leftMargin=M, rightMargin=M, topMargin=7*mm, bottomMargin=7*mm, title='Valvular Lesion Differentiating Table', author='Orris')
story = [Paragraph('VALVULAR LESIONS: MASTER DIFFERENTIATING TABLE', title), Paragraph('Auscultation, key signs, and bedside maneuvers', sub), main, Spacer(1, 3.5*mm), man_tbl, Spacer(1, 2.3*mm), memory]
doc.build(story)

reader = PdfReader(OUT)
assert len(reader.pages) == 1, f'Expected 1 page, got {len(reader.pages)}'
text = reader.pages[0].extract_text()
assert 'VALVULAR LESIONS' in text and 'Carvallo' in text
print(f'Created {OUT} | pages={len(reader.pages)} | bytes={__import__("os").path.getsize(OUT)}')
Running Command

python "/tmp/workspace/valvular-lesions-pdf/src/create_valvular_table.py" && python -c "from pypdf import PdfReader; p='/tmp/workspace/valvular-lesions-pdf/output/Valvular_Lesion_Differentiating_Table.pdf'; r=PdfReader(p); print('verified_pages=',len(r.pages)); print('page_size=',float(r.pages[0].mediabox.width),float(r.pages[0].mediabox.height))"

Valvular Lesion Differentiating Table

PDF Document · PDF

Create a one-page PDF of this valvular lesion table

Reading File
Reading File

Valvular Lesion Differentiating Table

PDF Document · PDF

This is a shared conversation. Sign in to Orris to start your own chat.