Give me acute coronary syndrome,pathophysiology,evaluation types,management
"acute coronary syndrome" AND management
2025 ACC AHA acute coronary syndromes guideline evaluation management
https://www.acc.org/Latest-in-Cardiology/Journal-Scans/2025/…
| Type | ECG | Cardiac troponin | Usual mechanism |
|---|---|---|---|
| ST-elevation myocardial infarction (STEMI) | Persistent ST-segment elevation or equivalent ischemic pattern | Elevated | Usually acute, complete coronary occlusion |
| Non-ST-elevation MI (NSTEMI) | ST depression, T-wave inversion, or sometimes normal/nonspecific ECG | Elevated with rise/fall | Usually partial or intermittent coronary occlusion |
| Unstable angina (UA) | May be normal or show ischemic changes | Not elevated | Ischemia without detectable myocyte necrosis |
Find the latest ACS guidelines and key treatment timelines
2025 ACC AHA ACEP NAEMSP SCAI guideline acute coronary syndromes full guideline key recommendations time to ECG primary PCI fibrinolysis
2023 ESC Guidelines acute coronary syndromes timing immediate early invasive strategy PCI fibrinolysis
"acute coronary syndrome" AND guideline
https://www.ahajournals.org/doi/full/10.1161/CIR.00000000000…
PMID: 40014670
| Action | Target timeline |
|---|---|
| Initial assessment, monitoring, IV access, focused history/examination | Immediately |
| 12-lead ECG | Within 10 minutes of first medical contact or ED arrival |
| Repeat ECG if symptoms continue or initial ECG nondiagnostic | Serially, without delay |
| High-sensitivity troponin | At presentation, then use a validated 0/1-hour or 0/2-hour serial testing pathway where available |
| Aspirin and antithrombotic/anti-ischemic therapy when indicated | As soon as ACS is suspected and contraindications are excluded |
| Clinical situation | Timeline/decision |
|---|---|
| STEMI diagnosed | Activate catheterization laboratory immediately |
| PCI-capable system available | Perform primary PCI as rapidly as possible |
| Expected first-medical-contact to device time ≤120 minutes | Transfer for primary PCI rather than fibrinolysis |
| Expected first-medical-contact to device time >120 minutes, symptom onset <12 h, no contraindication | Give fibrinolysis promptly, then transfer to a PCI-capable centre |
| Fibrinolysis operational target | Door-to-needle / FMC-to-needle ≤30 minutes |
| Failed fibrinolysis | Immediate rescue PCI |
| Successful fibrinolysis | Routine angiography with intent to PCI at 2-24 hours |
| Symptoms 12-24 h with ongoing ischemia, heart failure, shock, or electrical instability | Urgent angiography/PCI is appropriate |
| Stable patient >48 h after symptom onset with persistently occluded infarct artery | Routine late PCI of the occluded artery is generally not recommended |
| Risk category | Examples | Angiography timing |
|---|---|---|
| Very high risk | Hemodynamic instability/shock, refractory or recurrent chest pain despite treatment, life-threatening arrhythmia, acute heart failure due to ongoing ischemia, mechanical MI complication, recurrent dynamic ST changes | Immediate, ideally <2 hours |
| High risk | Confirmed NSTEMI, significant troponin rise/fall, dynamic ST-T changes, transient ST elevation, GRACE score >140 | Early invasive approach, generally within 24 hours |
| Intermediate risk | Diabetes, renal dysfunction, reduced EF/heart failure history, prior PCI/CABG, recurrent symptoms but no very-high-risk features | Invasive assessment during the hospital admission, timing based on clinical course and local pathways |
| Low risk / uncertain ACS | Normal serial ECG/troponin and no high-risk features | Observation, structured rule-out pathway, and selective noninvasive testing or coronary CT angiography where appropriate |
| Treatment | Timing/principle |
|---|---|
| Aspirin | Give promptly unless active major bleeding or true allergy |
| P2Y12 inhibitor | Add when indicated as DAPT, individualized by planned PCI/CABG strategy and bleeding risk |
| Anticoagulation | Start according to STEMI/NSTE-ACS pathway and intended invasive strategy |
| Oxygen | Only for hypoxemia, respiratory distress, or shock, not routinely in normoxemic patients |
| Nitrates | For ischemic pain if not hypotensive and no right-ventricular infarction or recent PDE-5 inhibitor use |
| High-intensity statin | Start early in all ACS patients unless contraindicated |
| Beta-blocker | Early oral use if stable; avoid early use in shock, acute heart failure, marked bradycardia, or AV block |
| ACE inhibitor/ARB | Start during admission when indicated, particularly with reduced EF, anterior MI, diabetes, CKD, or hypertension |
Create a one-page ACS timeline quick-reference PDF
2025 ACC AHA acute coronary syndromes guideline key treatment timeline ECG 10 minutes PCI 120 fibrinolysis 30 minutes
~/
mkdir -p "/tmp/workspace/acs-timeline-pdf/src" "/tmp/workspace/acs-timeline-pdf/output"
~/acs-timeline-pdf/src/create_acs_timeline.py
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib import colors
from reportlab.pdfbase.pdfmetrics import stringWidth
from reportlab.lib.units import inch
from pypdf import PdfReader
OUT = '/tmp/workspace/acs-timeline-pdf/output/ACS_Timeline_Quick_Reference.pdf'
W, H = letter
NAVY = colors.HexColor('#102A43')
BLUE = colors.HexColor('#2563A8')
PALE_BLUE = colors.HexColor('#EAF3FA')
RED = colors.HexColor('#B42318')
PALE_RED = colors.HexColor('#FDECEC')
GREEN = colors.HexColor('#19734A')
PALE_GREEN = colors.HexColor('#EAF7EF')
AMBER = colors.HexColor('#9A6700')
PALE_AMBER = colors.HexColor('#FFF7E6')
GRAY = colors.HexColor('#52606D')
LINE = colors.HexColor('#CBD5E1')
WHITE = colors.white
c = canvas.Canvas(OUT, pagesize=letter)
c.setTitle('ACS Timeline Quick Reference')
c.setAuthor('Orris')
M = 30
def rect(x,y,w,h,fill,stroke=None, radius=0):
c.setFillColor(fill)
c.setStrokeColor(stroke or fill)
if radius:
c.roundRect(x,y,w,h,radius,fill=1,stroke=1 if stroke else 0)
else:
c.rect(x,y,w,h,fill=1,stroke=1 if stroke else 0)
def txt(x,y,text,size=9,color=NAVY,font='Helvetica', maxw=None, leading=None):
c.setFillColor(color); c.setFont(font,size)
if maxw is None:
c.drawString(x,y,text); return y-size
words=text.split(); lines=[]; line=''
for word in words:
test=(line+' '+word).strip()
if stringWidth(test,font,size) <= maxw: line=test
else: lines.append(line); line=word
if line: lines.append(line)
ld=leading or size*1.25
for i,ln in enumerate(lines): c.drawString(x,y-i*ld,ln)
return y-len(lines)*ld
def bold(x,y,text,size=9,color=NAVY):
return txt(x,y,text,size,color,'Helvetica-Bold')
def pill(x,y,label,bg,fg):
width=stringWidth(label,'Helvetica-Bold',7.2)+12
rect(x,y,width,16,bg,radius=8)
c.setFillColor(fg); c.setFont('Helvetica-Bold',7.2); c.drawCentredString(x+width/2,y+4.5,label)
return width
def bullet(x,y,text,width,size=8.2,color=NAVY):
c.setFillColor(BLUE); c.circle(x+3,y+2.6,1.6,fill=1,stroke=0)
return txt(x+10,y,text,size,color,'Helvetica',width-10,10.2)
# header
rect(0,H-88,W,88,NAVY)
c.setFillColor(WHITE); c.setFont('Helvetica-Bold',22); c.drawString(M,H-43,'ACUTE CORONARY SYNDROME')
c.setFont('Helvetica-Bold',11); c.setFillColor(colors.HexColor('#B9E3FF')); c.drawString(M,H-62,'TIMELINE QUICK REFERENCE | Adult suspected ACS')
c.setFont('Helvetica',7.5); c.setFillColor(colors.HexColor('#D9E2EC')); c.drawRightString(W-M,H-62,'2025 ACC/AHA and 2023 ESC guidance')
# immediate action bar
Y=H-112
rect(M,Y-36,W-2*M,36,PALE_BLUE,LINE,5)
bold(M+12,Y-14,'0-10 MIN',10,BLUE)
txt(M+82,Y-14,'Monitor, obtain IV access, focused assessment, and acquire/interpret a 12-lead ECG.',9,NAVY)
txt(M+82,Y-27,'Give aspirin promptly when appropriate. Do not delay STEMI reperfusion for troponin.',8,GRAY)
# diagnostic strip
Y-=56
bold(M,Y,'1. CLASSIFY THE PRESENTATION',11,NAVY)
rect(M,Y-67,174,54,PALE_RED,LINE,5); pill(M+10,Y-31,'STEMI / equivalent',PALE_RED,RED)
txt(M+10,Y-47,'Persistent ST elevation or ischemic',8,NAVY,154)
txt(M+10,Y-58,'equivalent: activate reperfusion.',8,NAVY,154)
rect(M+187,Y-67,174,54,PALE_AMBER,LINE,5); pill(M+197,Y-31,'NSTE-ACS',PALE_AMBER,AMBER)
txt(M+197,Y-47,'No persistent ST elevation:',8,NAVY,154)
txt(M+197,Y-58,'serial hs-troponin + risk stratify.',8,NAVY,154)
rect(M+374,Y-67,174,54,PALE_GREEN,LINE,5); pill(M+384,Y-31,'ONGOING SUPPORT',PALE_GREEN,GREEN)
txt(M+384,Y-47,'Oxygen only if hypoxemia, distress,',8,NAVY,154)
txt(M+384,Y-58,'or shock. Treat instability at once.',8,NAVY,154)
# STEMI Panel
Y-=91
rect(M,Y-229,267,216,colors.HexColor('#FAFCFE'),LINE,6)
rect(M,Y-41,267,28,RED,RED,6)
c.setFillColor(WHITE); c.setFont('Helvetica-Bold',12); c.drawString(M+12,Y-31,'2. STEMI: REPERFUSION PATHWAY')
y=Y-59
bold(M+13,y,'Symptom onset <12 h',9,RED); y-=17
y=bullet(M+13,y,'Primary PCI is preferred when first-medical-contact to device time is 120 min or less.',240); y-=5
y=bullet(M+13,y,'If expected PCI delay is >120 min and no contraindication: give fibrinolysis promptly, then transfer immediately to a PCI centre.',240); y-=5
rect(M+13,y-31,239,29,PALE_RED,None,4)
bold(M+22,y-13,'Fibrinolysis target: needle ≤30 min',8.8,RED)
txt(M+22,y-24,'from hospital arrival / first contact pathway.',7.7,GRAY)
y-=48
y=bullet(M+13,y,'Suspected failed fibrinolysis: immediate rescue PCI.',240); y-=5
y=bullet(M+13,y,'Successful fibrinolysis: angiography with planned PCI at 2-24 h.',240); y-=5
y=bullet(M+13,y,'Ongoing ischemia, shock, acute HF, or electrical instability: urgent angiography/PCI regardless of delay.',240)
# NSTEMI panel
rect(M+282,Y-229,300,216,colors.HexColor('#FAFCFE'),LINE,6)
rect(M+282,Y-41,300,28,AMBER,AMBER,6)
c.setFillColor(WHITE); c.setFont('Helvetica-Bold',12); c.drawString(M+294,Y-31,'3. NSTE-ACS: TIMING OF ANGIOGRAPHY')
y=Y-60
# rows
rows=[
('IMMEDIATE <2 h', 'Very high risk: shock/hemodynamic instability, refractory pain, life-threatening arrhythmia, acute HF, mechanical complication, recurrent dynamic ST changes.', PALE_RED, RED),
('EARLY <24 h', 'High risk: confirmed NSTEMI, dynamic ST-T changes, transient ST elevation, or GRACE >140.', PALE_AMBER, AMBER),
('IN-HOSPITAL / SELECTIVE', 'Intermediate risk: invasive assessment during admission. Low-risk or uncertain ACS: selective testing/observation pathway.', PALE_GREEN, GREEN),
]
for label,body,bg,fg in rows:
rect(M+294,y-49,276,44,bg,None,4)
bold(M+303,y-18,label,8.4,fg)
txt(M+303,y-30,body,7.5,NAVY,255,9)
y-=54
bold(M+294,Y-222,'Do NOT use fibrinolysis for NSTEMI or unstable angina.',8.2,RED)
# medication and disposition
Y-=251
bold(M,Y,'4. EARLY MEDICAL THERAPY AND DISCHARGE CHECKPOINTS',11,NAVY)
rect(M,Y-82,552,68,PALE_BLUE,LINE,5)
# 3 columns
bold(M+12,Y-32,'NOW',8.8,BLUE)
txt(M+12,Y-45,'Aspirin, P2Y12 inhibitor and anticoagulation as indicated. Nitrates if suitable. High-intensity statin early.',7.7,NAVY,164,9.5)
bold(M+194,Y-32,'BEFORE DISCHARGE',8.8,BLUE)
txt(M+194,Y-45,'DAPT plan, secondary prevention, cardiac rehabilitation, smoking cessation, and follow-up.',7.7,NAVY,164,9.5)
bold(M+376,Y-32,'4-8 WEEKS',8.8,BLUE)
txt(M+376,Y-45,'Check fasting lipid panel after starting or changing lipid-lowering therapy.',7.7,NAVY,164,9.5)
# footer caution + sources
Y=42
rect(M,Y,552,30,colors.HexColor('#FFF5F5'),colors.HexColor('#F8B4B4'),5)
bold(M+10,Y+17,'SAFETY:',8.2,RED)
txt(M+58,Y+17,'Use local protocols and senior cardiology/emergency input. This is an educational quick-reference, not a standalone order set.',7.4,NAVY)
txt(M,Y-12,'Sources: 2025 ACC/AHA/ACEP/NAEMSP/SCAI ACS Guideline (Circulation, PMID 40014670); 2023 ESC ACS Guideline.',6.8,GRAY)
txt(M,Y-22,'Key targets: ECG ≤10 min; PCI decision threshold FMC-to-device 120 min; fibrinolysis target ≤30 min; NSTE-ACS immediate <2 h / early <24 h.',6.8,GRAY)
c.showPage(); c.save()
# Verify one page and extract text
reader=PdfReader(OUT)
assert len(reader.pages)==1, f'Expected one page, got {len(reader.pages)}'
text=reader.pages[0].extract_text()
assert 'ACUTE CORONARY SYNDROME' in text and 'STEMI' in text and 'NSTE-ACS' in text
print(f'Created {OUT} | pages={len(reader.pages)} | text_chars={len(text)}')
python "/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py" && ls -lh "/tmp/workspace/acs-timeline-pdf/output/ACS_Timeline_Quick_Reference.pdf"
~/acs-timeline-pdf/src/create_acs_timeline.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py'
python "/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py" && ls -lh "/tmp/workspace/acs-timeline-pdf/output/ACS_Timeline_Quick_Reference.pdf"
~/acs-timeline-pdf/src/create_acs_timeline.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py'
python "/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py" && ls -lh "/tmp/workspace/acs-timeline-pdf/output/ACS_Timeline_Quick_Reference.pdf"
~/acs-timeline-pdf/src/create_acs_timeline.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py'
python "/tmp/workspace/acs-timeline-pdf/src/create_acs_timeline.py" && ls -lh "/tmp/workspace/acs-timeline-pdf/output/ACS_Timeline_Quick_Reference.pdf"
ACS Timeline Quick Reference
PDF Document · PDF