The following files are required for me to teach students appearing for the INI SS CET CVTS which is a single best answer multiple choice question examination. Generate 2 files from each chapter number 55 1. 5 page High yield notes from the chapter for teaching with probable questions, and include teaching notes, flowcharts, landmark trials, guidelines, tables, memory aids, exam pearls and most probably INI SS Questions. Also include last minute revision tables. 2. 20 MCQs from the chapter in the INI CET SS standard format single best answer, can have a paragraph questions, vignettes, image based questions, photographs with attributes. Source can be the internet as well. Make sure that the PDF has all 20 questions.
You mentioned 'chapter number 55' but the uploaded files are Chapters 57, 58, 59, and 60. Which chapter should I generate the files from?
python3 -c " import pdfplumber with pdfplumber.open('/home/daytona/workspace/attachments/77c4b2c5-4a7f-4fba-9466-fc97c0aece50/Chapter_57_PDF_pages_111-128.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() print(f'--- PAGE {i+1} ---') print(text[:3000] if text else '[No text]') print() " 2>&1 | head -400
python3 -c " import pdfplumber with pdfplumber.open('/home/daytona/workspace/attachments/77c4b2c5-4a7f-4fba-9466-fc97c0aece50/Chapter_57_PDF_pages_111-128.pdf') as pdf: for i, page in enumerate(pdf.pages[10:], start=11): text = page.extract_text() print(f'--- PAGE {i} ---') print(text[:3000] if text else '[No text]') print() " 2>&1 | head -400
mkdir -p /home/daytona/workspace/chapter57 && python3 << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm, cm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak, KeepTogether) from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY from reportlab.platypus.flowables import Flowable import reportlab.rl_config doc = SimpleDocTemplate( "/home/daytona/workspace/chapter57/Ch57_HighYield_Notes.pdf", pagesize=A4, topMargin=15*mm, bottomMargin=15*mm, leftMargin=15*mm, rightMargin=15*mm, title="Chapter 57 – Management of Acute Coronary Syndromes | High Yield Notes" ) W, H = A4 styles = getSampleStyleSheet() # Custom styles def S(name, **kw): base = kw.pop("parent", "Normal") s = ParagraphStyle(name, parent=styles[base], **kw) return s TITLE = S("TITLE", fontSize=16, leading=20, textColor=colors.HexColor("#1a2a6c"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=4) SUBTITLE = S("SUBTITLE", fontSize=11, leading=14, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=8) H1 = S("H1", fontSize=12, leading=15, textColor=colors.white, fontName="Helvetica-Bold", alignment=TA_LEFT, spaceAfter=2, backColor=colors.HexColor("#1a2a6c"), leftIndent=-3, rightIndent=-3, borderPadding=(3,5,3,5)) H2 = S("H2", fontSize=10.5, leading=13, textColor=colors.HexColor("#1a2a6c"), fontName="Helvetica-Bold", alignment=TA_LEFT, spaceAfter=2, borderPadding=(1,0,1,4)) H3 = S("H3", fontSize=10, leading=12, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", alignment=TA_LEFT, spaceAfter=1) BODY = S("BODY", fontSize=9, leading=12, alignment=TA_JUSTIFY, spaceAfter=3) BULLET = S("BULLET", fontSize=9, leading=11, leftIndent=12, firstLineIndent=-8, spaceAfter=2) PEARL = S("PEARL", fontSize=9, leading=12, backColor=colors.HexColor("#fff3cd"), leftIndent=8, rightIndent=8, borderPadding=(3,5,3,5), textColor=colors.HexColor("#856404"), fontName="Helvetica-Bold", spaceAfter=3) MEM = S("MEM", fontSize=9, leading=12, backColor=colors.HexColor("#d4edda"), leftIndent=8, rightIndent=8, borderPadding=(3,5,3,5), textColor=colors.HexColor("#155724"), fontName="Helvetica-Oblique", spaceAfter=3) RED = S("RED", fontSize=9, leading=12, backColor=colors.HexColor("#f8d7da"), leftIndent=8, rightIndent=8, borderPadding=(3,5,3,5), textColor=colors.HexColor("#721c24"), fontName="Helvetica-Bold", spaceAfter=3) SMALL = S("SMALL", fontSize=8, leading=10, textColor=colors.HexColor("#555555"), spaceAfter=2) def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#cccccc"), spaceAfter=4, spaceBefore=2) def section_box(text, color="#1a2a6c"): data = [[Paragraph(text, ParagraphStyle("sb", fontSize=11, leading=14, fontName="Helvetica-Bold", textColor=colors.white, alignment=TA_LEFT))]] t = Table(data, colWidths=[W - 30*mm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), colors.HexColor(color)), ("BOX", (0,0), (-1,-1), 0.5, colors.white), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 8), ])) return t story = [] # ────────────────────────────────────────────────────────────── # PAGE 1 – HEADER + ACS OVERVIEW + CLASSIFICATION + PATHOPHYSIOLOGY # ────────────────────────────────────────────────────────────── story.append(Paragraph("Chapter 57", SUBTITLE)) story.append(Paragraph("Management of Acute Coronary Syndromes", TITLE)) story.append(Paragraph("INI SS CET – CVTS High Yield Teaching Notes | Piana & Bagai", SMALL)) story.append(hr()) story.append(section_box("1. CLASSIFICATION & DEFINITIONS")) story.append(Spacer(1,3)) # Classification table class_data = [ [Paragraph("<b>Feature</b>", SMALL), Paragraph("<b>STEMI</b>", SMALL), Paragraph("<b>NSTEMI</b>", SMALL), Paragraph("<b>UA</b>", SMALL)], ["Coronary occlusion", "Complete / sustained", "Partial / transient", "Partial / transient"], ["Transmural ischemia", "Yes", "No", "No"], ["ECG", "ST elevation ≥1mm (≥2mm V2-V3)", "ST depression / T-inversion", "Normal / ST dep / T-inv"], ["Biomarkers (cTnI/T)", "Elevated", "Elevated", "Normal"], ["Pathology", "Full thickness necrosis", "Subendocardial necrosis", "No necrosis"], ] ct = Table(class_data, colWidths=[43*mm,38*mm,38*mm,33*mm]) ct.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#1a2a6c")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),8), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f4ff"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),3), ("BOTTOMPADDING",(0,0),(-1,-1),3), ("LEFTPADDING",(0,0),(-1,-1),4), ])) story.append(ct) story.append(Spacer(1,5)) story.append(Paragraph("<b>STEMI Diagnostic Cut-Points:</b>", H3)) story.append(Paragraph("• ≥1 mm in all leads except V2-V3", BULLET)) story.append(Paragraph("• ≥2 mm in V2-V3 (men >40 yr); ≥1.5 mm in women in V2-V3", BULLET)) story.append(Paragraph("• New LBBB + ischemic symptoms = STEMI equivalent", BULLET)) story.append(Spacer(1,3)) story.append(Paragraph("⚡ EXAM PEARL: Wellens' Syndrome = deeply inverted/biphasic T in V2-V3 → proximal LAD critical stenosis. Isoelectric/minimally raised ST. High-risk lesion – do NOT stress test!", PEARL)) story.append(section_box("2. PATHOPHYSIOLOGY")) story.append(Spacer(1,3)) story.append(Paragraph("<b>Mechanism of Plaque Disruption:</b>", H3)) story.append(Paragraph( "Advanced plaques: lipid-rich necrotic core + fibrous cap. Cap disruption by matrix metalloproteinases (MMPs) + smooth muscle cell apoptosis → exposure of collagen + von Willebrand Factor (vWF) → platelet adhesion → ADP + TxA₂ release → platelet amplification → fibrinogen bridges via GP IIb/IIIa → fibrin + platelet thrombus.", BODY)) story.append(Paragraph("<b>Type 1 vs Type 2 MI:</b>", H3)) t1t2 = [ [Paragraph("<b>Type 1 MI</b>",SMALL), Paragraph("<b>Type 2 MI</b>",SMALL)], ["Atherothrombosis – plaque rupture/erosion", "O₂ supply-demand mismatch – no plaque rupture"], ["CAD as primary cause", "Secondary to tachycardia, severe HTN, AS, anemia, hypoxia"], ["Standard ACS management", "Treat underlying cause; CAD still present on angiogram in many"], ] t1t2t = Table(t1t2, colWidths=[82*mm, 88*mm]) t1t2t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#1a2a6c")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),8), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f4ff"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),3), ("BOTTOMPADDING",(0,0),(-1,-1),3), ("LEFTPADDING",(0,0),(-1,-1),4), ])) story.append(t1t2t) story.append(Spacer(1,3)) story.append(Paragraph("🧠 MEMORY AID (O₂ Demand vs Supply Mismatch): <i>TASH-MBH</i> – Tachycardia, Aortic Stenosis, HCM (demand↑) | Fixed stenosis, Microvascular dys, Bridging, Hypotension/Shock (supply↓)</i>", MEM)) story.append(section_box("3. DIAGNOSIS – ECG & BIOMARKERS")) story.append(Spacer(1,3)) story.append(Paragraph("<b>ECG Findings:</b>", H3)) story.append(Paragraph("• ST depression ≥0.5mm in 2 contiguous leads + T inversion >1mm → NSTEMI", BULLET)) story.append(Paragraph("• ST dep ≥1mm in 6+ leads + ST elevation in aVR/V1 → LEFT MAIN / Multivessel disease", BULLET)) story.append(Paragraph("• Wellens syndrome: biphasic/deeply inverted T waves V2-V3, near-isoelectric ST → proximal LAD", BULLET)) story.append(Spacer(1,2)) story.append(Paragraph("<b>4th Universal Definition of MI (2018):</b>", H3)) story.append(Paragraph("Myocardial <i>injury</i> = elevated cTn (any cause). Myocardial <i>infarction</i> = injury + rising/falling cTn pattern + clinical evidence of ischemia (symptoms / ECG changes).", BODY)) story.append(Spacer(1,2)) story.append(Paragraph("⚡ EXAM PEARL: HEART Score (History, ECG, Age, Risk factors, Troponin). Score <3 → 0.2% 30d MACE (safe discharge). Score ≥7 → 3% risk (admit + invasive strategy).", PEARL)) story.append(Paragraph("⚡ EXAM PEARL: TIMI score predicts 14-day outcome. GRACE score predicts 6-month outcome. HEART score is most useful for <b>initial ER triage</b> and identifying <b>low-risk</b> patients.", PEARL)) story.append(PageBreak()) # ────────────────────────────────────────────────────────────── # PAGE 2 – NSTEMI MANAGEMENT: ANTI-ISCHEMIC + ANTIPLATELET # ────────────────────────────────────────────────────────────── story.append(section_box("4. NSTE-ACS MANAGEMENT – ANTI-ISCHEMIC THERAPY")) story.append(Spacer(1,3)) ai_data = [ [Paragraph("<b>Drug</b>",SMALL), Paragraph("<b>Class I (Do)</b>",SMALL), Paragraph("<b>Class III (Avoid)</b>",SMALL)], ["IV Nitroglycerin", "Persistent ischemia / HF / HTN for 48h", "SBP <90, RV infarction, PDE-5i within 24h (sildenafil/vardenafil) or 48h (tadalafil)"], ["Oral Beta-blockers", "Within 24h if no contraindications; metoprolol/bisoprolol/carvedilol if LVEF <40%", "CHF, low-output, cardiogenic shock risk, AV block, active asthma"], ["IV Beta-blockers", "IIa: for HTN with no contraindications", "All above + especially if any sign of CHF or shock"], ["Oral ACEI", "Within 24h if anterior STEMI, HF, LVEF <40%, or hypertensive", "Hypotension, renal failure, bilateral RAS, pregnancy"], ["Morphine IV", "Can use for unrelieved pain (IIb)", "May mask pain; possibly reduces antiplatelet absorption"], ] ait = Table(ai_data, colWidths=[32*mm, 62*mm, 76*mm]) ait.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#1a2a6c")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f4ff"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(ait) story.append(Spacer(1,4)) story.append(Paragraph("<b>Supplemental O₂:</b> Only if SpO₂ <90% or respiratory distress (NOT routine).", BODY)) story.append(section_box("5. ANTIPLATELET THERAPY")) story.append(Spacer(1,3)) story.append(Paragraph("<b>Aspirin:</b>", H3)) story.append(Paragraph("• Loading: 162–325 mg non-enteric chewable ASAP", BULLET)) story.append(Paragraph("• Maintenance: 81 mg/day indefinitely (Class IIa for 81 mg as preferred maintenance dose)", BULLET)) story.append(Paragraph("• MOA: Irreversible COX-1 inhibition → ↓ TxA₂ → ↓ platelet aggregation", BULLET)) story.append(Paragraph("• Min effective dose: 75 mg (ATT meta-analysis: 22% ↓ vascular death/MI/stroke)", BULLET)) story.append(Spacer(1,3)) story.append(Paragraph("<b>P2Y12 Inhibitors – Comparison Table:</b>", H3)) p2y_data = [ [Paragraph("<b>Drug</b>",SMALL), Paragraph("<b>MOA</b>",SMALL), Paragraph("<b>Key Trial</b>",SMALL), Paragraph("<b>Special Notes</b>",SMALL)], ["Clopidogrel", "Prodrug→active metabolite via CYP2C19; irreversible", "CURE trial", "Reduced efficacy with CYP2C19 loss-of-function alleles"], ["Prasugrel", "Prodrug; faster, more potent; irreversible", "TRITON-TIMI 38", "Avoid: prior stroke/TIA, age >75, weight <60kg. Give after PCI (not pre-angio) in NSTEMI"], ["Ticagrelor", "Reversible; direct-acting; NO CYP2C19 needed", "PLATO trial", "↓ overall mortality vs clopidogrel. Higher non-CABG bleeding; fatal intracranial hemorrhage higher"], ["Cangrelor", "IV; reversible; rapid on/off", "CHAMPION trials", "Useful as bridge or at time of PCI when oral loading not possible"], ] p2yt = Table(p2y_data, colWidths=[26*mm, 44*mm, 35*mm, 63*mm]) p2yt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#b21f1f")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#fff5f5"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(p2yt) story.append(Spacer(1,3)) story.append(Paragraph("⚡ EXAM PEARL – ISAR-REACT 5 Trial: Prasugrel > Ticagrelor for ACS undergoing invasive evaluation → 2.4% absolute ↓ in death/MI/stroke at 1 year, with similar major bleeding. STENT thrombosis lower with prasugrel.", PEARL)) story.append(Paragraph("⚡ EXAM PEARL: Prasugrel in NSTEMI – give ONLY after coronary anatomy defined (not pre-angiography). In STEMI – can give pre-angio (TRITON trial design).", PEARL)) story.append(Paragraph("<b>DAPT Duration:</b>", H3)) story.append(Paragraph("• Post-ACS with PCI: 12 months (high bleeding risk: 6 months acceptable) • Post-STEMI without PCI: aspirin indefinitely + P2Y12 for 12 months", BODY)) story.append(Paragraph("• CABG planned: Stop clopidogrel/ticagrelor ≥5 days before; prasugrel ≥7 days before", BODY)) story.append(Paragraph("🧠 MEMORY AID (prasugrel contraindications): <i>PAST</i> – Prior stroke/TIA, Age >75, Small weight (<60kg), Triple antithrombotic not wanted</i>", MEM)) story.append(PageBreak()) # ────────────────────────────────────────────────────────────── # PAGE 3 – GPI + ANTICOAGULANTS + INVASIVE STRATEGY + LANDMARK TRIALS # ────────────────────────────────────────────────────────────── story.append(section_box("6. GLYCOPROTEIN IIb/IIIa INHIBITORS (GPI)")) story.append(Spacer(1,3)) story.append(Paragraph( "GP IIb/IIIa receptors: ~50,000/platelet → final common pathway of aggregation (regardless of stimulus). GPIs block fibrinogen cross-linking.", BODY)) story.append(Paragraph("<b>Available agents (US):</b> Eptifibatide, Tirofiban (t½ 2–3h). Abciximab no longer marketed in USA.", BODY)) story.append(Paragraph("<b>Guideline Recommendations (2014 AHA/ACC):</b>", H3)) story.append(Paragraph("• Class I: GPI at PCI if not pre-treated with clopidogrel AND not on bivalirudin", BULLET)) story.append(Paragraph("• Class IIa: High-risk features, adequately pre-treated with clopidogrel", BULLET)) story.append(Paragraph("• Class IIb: High-risk (elevated Tn) + early invasive strategy + aspirin + P2Y12", BULLET)) story.append(Paragraph("• NO role in NSTE-ACS managed with ischemia-guided (conservative) strategy", BULLET)) story.append(Spacer(1,3)) story.append(section_box("7. ANTICOAGULATION THERAPY")) story.append(Spacer(1,3)) ac_data = [ [Paragraph("<b>Agent</b>",SMALL), Paragraph("<b>MOA</b>",SMALL), Paragraph("<b>Key Points</b>",SMALL), Paragraph("<b>Landmark Trial</b>",SMALL)], ["UFH", "Binds AT → inhibits IIa (and Xa for long chains >18 oligo)", "Weight-based IV; requires monitoring (aPTT); can be reversed", "ISIS-2"], ["Enoxaparin (LMWH)", "Binds AT → predominantly anti-Xa; some anti-IIa", "SC injection; peak anti-Xa at 3-6h; avoid/dose-reduce in renal failure; femoral sheath removal 4-6h after IV / 6-8h after SC dose", "SYNERGY trial"], ["Fondaparinux", "Synthetic factor Xa inhibitor only", "Class I for UA/NSTEMI; avoid in severe renal failure; lower bleeding vs enoxaparin in OASIS-5", "OASIS-5"], ["Bivalirudin", "Direct thrombin inhibitor (reversible)", "Preferred over UFH + GPI in many modern PCI centers; reduced bleeding in MATRIX trial; higher stent thrombosis but lower mortality", "MATRIX, HORIZONS-AMI"], ] act = Table(ac_data, colWidths=[28*mm, 42*mm, 72*mm, 32*mm]) act.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#1a2a6c")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f4ff"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(act) story.append(Spacer(1,4)) story.append(Paragraph("⚡ EXAM PEARL: SYNERGY Trial – Enoxaparin = UFH for high-risk NSTEMI. CROSSING anticoagulants (switching between UFH and enoxaparin mid-treatment) = ↑ bleeding and no benefit.", PEARL)) story.append(section_box("8. INVASIVE vs ISCHEMIA-GUIDED STRATEGY")) story.append(Spacer(1,3)) story.append(Paragraph("<b>Indications for Early Invasive Strategy (Table 57.3):</b>", H3)) inv_data = [ [Paragraph("<b>Urgent/Immediate Invasive</b>",SMALL), Paragraph("<b>Early Invasive (<24h)</b>",SMALL), Paragraph("<b>Ischemia-Guided</b>",SMALL)], ["Refractory angina despite med Rx", "Elevated cTnI/cTnT", "TIMI score 0-1"], ["Hemodynamic/electrical instability", "New ST-segment depression", "GRACE score <109"], ["No ST elevation but refractory ischemia", "HF or new MR", "Low-risk cTn-negative women"], ["", "Prior PCI <6 months / prior CABG", "Patient/physician preference, no high-risk features"], ["", "LVEF <40%", ""], ["", "High-risk noninvasive test", ""], ["", "Sustained VT, TIMI/GRACE high risk", ""], ] invt = Table(inv_data, colWidths=[57*mm, 66*mm, 51*mm]) invt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#b21f1f")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#fff5f5"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(invt) story.append(Spacer(1,3)) story.append(Paragraph("<b>NSTEMI + CABG consideration:</b>", H3)) story.append(Paragraph("~1/3 NSTEMI patients undergo CABG within 48h (median 73h after admission). In-hospital mortality ~3.7% (similar for early vs late CABG). Elderly (>80y): mortality 5–8% (11% urgent).", BODY)) story.append(Spacer(1,3)) # LANDMARK TRIALS BOX lt_data = [ [Paragraph("<b>Trial</b>",SMALL), Paragraph("<b>Topic</b>",SMALL), Paragraph("<b>Key Finding</b>",SMALL)], ["CURE", "Clopidogrel + ASA in NSTE-ACS", "DAPT ↓ CV death/MI/stroke vs ASA alone"], ["TRITON-TIMI 38", "Prasugrel vs Clopidogrel", "Prasugrel superior; ↑ bleeding; avoid: prior stroke/TIA, age>75, wt<60kg"], ["PLATO", "Ticagrelor vs Clopidogrel", "Ticagrelor ↓ CV death/MI/stroke; ↓ all-cause mortality; no ↑ overall major bleeding"], ["ISAR-REACT 5", "Prasugrel vs Ticagrelor", "Prasugrel better (2.4% abs ↓ in MACE); similar bleeding; reversibility of ticagrelor NOT a practical advantage"], ["SYNERGY", "Enoxaparin vs UFH (NSTE-ACS)", "Enoxaparin non-inferior; avoid crossing anticoagulants"], ["OASIS-5", "Fondaparinux vs Enoxaparin", "Fondaparinux: ↓ major bleeding, ↑ catheter thrombus (supplement with UFH at PCI)"], ["MATRIX", "Bivalirudin vs UFH (ACS)", "Bivalirudin: ↓ bleeding + ↓ mortality; ↑ stent thrombosis; no diff in MACE"], ["HORIZONS-AMI", "Bivalirudin vs UFH+GPI in STEMI", "Bivalirudin: ↓ bleeding + ↓ cardiac mortality at 30d"], ["SHOCK", "Revascularization in CS-STEMI", "PCI/CABG ↑ survival at 6 and 12 months vs fibrinolysis in cardiogenic shock"], ["COMPLETE", "Multivessel PCI in STEMI", "Complete revasc ↓ CV death/MI vs culprit-only PCI"], ["REACT", "Rescue PCI after failed fibrinolysis", "Rescue PCI ↓ reinfarction vs conservative Rx or repeat fibrinolysis"], ] ltt = Table(lt_data, colWidths=[35*mm, 55*mm, 82*mm]) ltt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#1a2a6c")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f4ff"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(section_box("9. LANDMARK TRIALS SUMMARY", color="#2d6a4f")) story.append(Spacer(1,3)) story.append(ltt) story.append(PageBreak()) # ────────────────────────────────────────────────────────────── # PAGE 4 – STEMI MANAGEMENT + FIBRINOLYSIS + CABG + CARDIOGENIC SHOCK # ────────────────────────────────────────────────────────────── story.append(section_box("10. STEMI MANAGEMENT – REPERFUSION STRATEGY")) story.append(Spacer(1,3)) story.append(Paragraph("<b>Primary PCI (preferred):</b>", H3)) story.append(Paragraph("• FMC-to-PCI: ≤90 min at PCI-capable hospital; ≤120 min if transfer required", BULLET)) story.append(Paragraph("• After 12–24h: PCI for ongoing ischemia/hemodynamic instability/malignant arrhythmias", BULLET)) story.append(Paragraph("• Delayed PCI of totally occluded infarct artery >24h after STEMI in <b>stable</b> patients = Class III (no benefit/harm)", BULLET)) story.append(Spacer(1,3)) # Reperfusion flowchart story.append(Paragraph("<b>STEMI Reperfusion Decision Flowchart:</b>", H3)) fc_data = [ [Paragraph("<b>STEMI Diagnosed (ECG + symptoms)</b>", ParagraphStyle("fch",fontSize=9,fontName="Helvetica-Bold",alignment=TA_CENTER,textColor=colors.white,backColor=colors.HexColor("#1a2a6c")))], [Paragraph("↓", ParagraphStyle("arr",fontSize=10,alignment=TA_CENTER))], [Paragraph("<b>PCI-capable hospital available within 120 min (FMC to balloon)?</b>", ParagraphStyle("fch2",fontSize=9,fontName="Helvetica-Bold",alignment=TA_CENTER))], ] fct = Table(fc_data, colWidths=[170*mm]) fct.setStyle(TableStyle([ ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#1a2a6c")), ("TOPPADDING",(0,0),(-1,-1),3), ("BOTTOMPADDING",(0,0),(-1,-1),3), ("LEFTPADDING",(0,0),(-1,-1),5), ])) story.append(fct) twopath = Table([ [ Paragraph("YES → <b>Primary PCI</b>\n• FMC-to-balloon ≤90 min (PCI center)\n• ≤120 min if transfer needed\n• Culprit-only PCI (except hemodynamic compromise)\n• Multivessel PCI or staged PCI acceptable (Class IIb)", ParagraphStyle("g1",fontSize=8.5,leading=12)), Paragraph("NO → <b>Fibrinolysis</b> (if <12h, no contraindications)\n• Give within 10 min of STEMI ECG diagnosis\n• TNK-tPA (weight-based bolus) or Reteplase (2×10 units q30min)\n• Failed if <50% ST resolution at 60-90 min → Rescue PCI\n• Pharmacoinvasive: transfer & angio at 3–24h after lysis", ParagraphStyle("g2",fontSize=8.5,leading=12)) ] ], colWidths=[83*mm, 87*mm]) twopath.setStyle(TableStyle([ ("BACKGROUND",(0,0),(0,0),colors.HexColor("#e8f5e9")), ("BACKGROUND",(1,0),(1,0),colors.HexColor("#fff3e0")), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("INNERGRID",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5), ("LEFTPADDING",(0,0),(-1,-1),6), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(twopath) story.append(Spacer(1,3)) story.append(Paragraph("<b>Fibrinolytic Absolute Contraindications:</b>", H3)) story.append(Paragraph( "Prior intracranial hemorrhage | Known cerebral vascular lesion/neoplasm | Ischemic stroke <3 months (NOT AIS within 4.5h) | Intracranial/spinal surgery <2 months | Closed head/facial trauma <3 months | Suspected aortic dissection | Uncontrolled severe HTN | Active bleeding/diathesis", RED)) story.append(Spacer(1,3)) story.append(Paragraph("⚡ EXAM PEARL: Survival advantage of primary PCI over immediate fibrinolysis is LOST when delay exceeds 120 minutes from FMC to PCI.", PEARL)) story.append(Paragraph("⚡ EXAM PEARL: Pre-hospital fibrinolysis → 17% ↓ all-cause mortality vs hospital-based therapy.", PEARL)) story.append(section_box("11. CABG IN STEMI")) story.append(Spacer(1,3)) story.append(Paragraph( "<b>Class I indications for urgent CABG in STEMI:</b> Ongoing/recurrent ischemia, cardiogenic shock, severe HF, high-risk features with anatomy not eligible for PCI or after failed PCI, or during repair of mechanical complications.", BODY)) story.append(Paragraph( "Older data suggested higher mortality with early CABG post-STEMI. Modern data (2000-2012, 184 patients): 1-month mortality ~10.8% (CABG within 24h) vs 8.9% (CABG >24h) – NOT significantly different.", BODY)) story.append(Spacer(1,3)) story.append(section_box("12. CARDIOGENIC SHOCK (CS)")) story.append(Spacer(1,3)) story.append(Paragraph("<b>Definition:</b> SBP <90 mmHg for ≥30 min, OR need for vasopressors to maintain SBP ≥90 with end-organ hypoperfusion.", BODY)) story.append(Paragraph( "• CS occurs when ≥40% of myocardium involved, or mechanical complication (papillary muscle rupture, VSD, free wall rupture)\n• MVCAD present in ~80% of CS patients\n• CS incidence in STEMI: ~8.6% (NRMI database)", BODY)) story.append(Paragraph("<b>SHOCK Trial:</b> PCI or CABG revascularization → improved 6- and 12-month survival vs fibrinolysis. Emergency revascularization recommended regardless of time from MI onset.", BODY)) story.append(Spacer(1,3)) story.append(Paragraph("⚡ EXAM PEARL – SHOCK-2 (CULPRIT-SHOCK trial): PCI of culprit-only lesion at index PCI in cardiogenic shock → LOWER 30-day mortality vs immediate multivessel PCI. Staged revascularization after clinical stabilization.", PEARL)) story.append(section_box("13. RADIAL vs FEMORAL ACCESS")) story.append(Spacer(1,3)) story.append(Paragraph("Radial access: ↓ access-site bleeding, ↓ vascular complications vs femoral. SAFARI-STEMI trial (bivalirudin ~90%) found NO difference in survival at 30 days. Both routes must be maintained by operators.", BODY)) story.append(PageBreak()) # ────────────────────────────────────────────────────────────── # PAGE 5 – SECONDARY PREVENTION + MULTIVESSEL CAD + LAST MINUTE REVISION TABLE + PROBABLE INI SS QUESTIONS # ────────────────────────────────────────────────────────────── story.append(section_box("14. POST-REVASCULARIZATION / SECONDARY PREVENTION")) story.append(Spacer(1,3)) sp_data = [ [Paragraph("<b>Drug Class</b>",SMALL), Paragraph("<b>Indication</b>",SMALL), Paragraph("<b>Key Target / Notes</b>",SMALL)], ["Aspirin", "ALL patients indefinitely", "81 mg/day maintenance"], ["P2Y12 inhibitor (prasugrel or ticagrelor preferred)", "ALL ACS for 12 months", "6 months acceptable for high bleeding risk"], ["Statin (high-intensity)", "ALL ACS patients", "LDL target <70 mg/dL; atorvastatin 80mg = gold standard (PROVE-IT TIMI 22)"], ["PCSK9 inhibitors (alirocumab/evolocumab)", "If LDL not at target on statin", "ODYSSEY OUTCOMES: alirocumab after ACS ↓ MACE"], ["Beta-blocker", "LVEF <40%, HF, arrhythmias", "Metoprolol, bisoprolol, carvedilol"], ["ACEI/ARB", "HF, LVEF <40%, anterior MI, diabetes, HTN", "Begin within 24h if no contraindication"], ["Aldosterone antagonist (eplerenone)", "LVEF ≤40% + DM or clinical HF", "Avoid if Cr >2.5 (men)/ >2.0 (women) or K >5"], ] spt = Table(sp_data, colWidths=[50*mm, 55*mm, 68*mm]) spt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#2d6a4f")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0fff4"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(spt) story.append(Spacer(1,3)) story.append(Paragraph("<b>Multivessel CAD in STEMI:</b>", H3)) story.append(Paragraph("• ~50% STEMI have other significant stenoses beyond culprit. Primary PCI restricted to culprit artery (except hemodynamic compromise).", BULLET)) story.append(Paragraph("• COMPLETE trial: complete revascularization (staged or immediate non-culprit PCI) → ↓ CV death/MI vs culprit-only", BULLET)) story.append(Paragraph("• 2015 ACC/AHA: Recommendation changed from Class III (harm) to Class IIb for non-culprit PCI in STEMI with multivessel disease", BULLET)) story.append(Spacer(1,3)) # ─── LAST MINUTE REVISION TABLE ─────────────────────────────── story.append(section_box("⚡ LAST MINUTE REVISION – HIGH YIELD TABLES", color="#b21f1f")) story.append(Spacer(1,3)) lmr = [ [Paragraph("<b>Topic</b>",SMALL), Paragraph("<b>Must-Know Fact</b>",SMALL)], ["Wellens Syndrome", "Biphasic/deep T-inversion V2-V3, near-isoelectric ST → proximal LAD critical stenosis → NEVER stress test!"], ["ST elevation aVR/V1 + 6+ lead ST dep", "Left main / triple vessel disease"], ["STEMI ECG criteria in V2-V3", "Men >40y: ≥2mm; Men ≤40y: ≥2.5mm; Women: ≥1.5mm"], ["FMC to balloon time", "≤90 min (PCI center); ≤120 min (transfer)"], ["Fibrinolysis in STEMI", "Give within 10 min of ECG diagnosis; 'failed' if <50% ST resolution at 60-90 min"], ["Rescue PCI", "Failed fibrinolysis → rescue PCI (Class IIa)"], ["Pharmacoinvasive strategy", "Fibrinolysis → transfer → angio at 3-24h post-lysis"], ["Prasugrel hold before CABG", "≥7 days; Clopidogrel/ticagrelor ≥5 days"], ["Cardiogenic shock threshold", "SBP <90 for ≥30 min OR vasopressor-dependent + end-organ hypoperfusion"], ["CS myocardium involvement", "≥40% myocardium OR mechanical complication"], ["CULPRIT-SHOCK", "Culprit-only PCI → ↓ 30d mortality vs immediate MV-PCI in CS"], ["COMPLETE trial", "Complete revasc (staged OK) ↓ CV death/MI in STEMI + MVD"], ["LDL target post-ACS", "<70 mg/dL; high-intensity statin (atorvastatin 80mg)"], ["O₂ supplementation in ACS", "Only if SpO₂ <90% or respiratory distress"], ["Prasugrel NOT in NSTEMI pre-angio", "Give only AFTER anatomy defined (unlike STEMI)"], ["Bivalirudin advantage", "↓ Bleeding + ↓ Cardiac mortality; higher stent thrombosis risk"], ["Fondaparinux at PCI", "Add UFH at time of PCI to prevent catheter thrombosis"], ["HEART score <3", "0.2% 30d MACE – safe for early discharge"], ["GRACE score", "Predicts 6-month outcomes in ACS"], ] lmrt = Table(lmr, colWidths=[52*mm, 118*mm]) lmrt.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor("#b21f1f")), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#fff5f5"),colors.white]), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),4), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(lmrt) story.append(Spacer(1,4)) # ─── PROBABLE INI SS QUESTIONS ───────────────────────────────── story.append(section_box("📋 PROBABLE INI SS CET QUESTIONS (Teaching Notes)", color="#2d6a4f")) story.append(Spacer(1,3)) pq = [ "1. A patient with NSTEMI requires CABG. Ticagrelor was the P2Y12 inhibitor used. When should ticagrelor be stopped preoperatively? → <b>≥5 days before</b> (prasugrel needs ≥7 days)", "2. Which P2Y12 inhibitor is contraindicated in a patient with NSTEMI who had a TIA 6 months ago? → <b>Prasugrel</b>", "3. ECG shows deep T-wave inversions in V2 and V3 with minimal ST elevation. Diagnosis? → <b>Wellens Syndrome</b> (proximal LAD critical stenosis)", "4. A STEMI patient is presented at a non-PCI-capable hospital. Transfer time to PCI center = 130 minutes. Next step? → <b>Fibrinolysis</b> (delay >120 min negates PCI benefit)", "5. In STEMI with cardiogenic shock and multivessel CAD, which strategy reduces 30-day mortality? → <b>Culprit-only PCI</b> (CULPRIT-SHOCK trial)", "6. Which anticoagulant is recommended for UA/NSTEMI but requires UFH supplement during PCI to prevent catheter thrombosis? → <b>Fondaparinux</b>", "7. ISAR-REACT 5 trial compared ticagrelor vs prasugrel in ACS. What was the key finding? → <b>Prasugrel superior</b> (2.4% absolute reduction in MACE; similar major bleeding)", "8. HEART score of 8 in a 60-year-old with chest pain. Best next step? → <b>Admit for early invasive strategy</b> (high-risk: 3% 30d MACE)", "9. Fibrinolysis given for STEMI. At 70 minutes, ST elevation unchanged. Next step? → <b>Rescue PCI</b> (failed fibrinolysis: <50% ST resolution at 60-90 min)", "10. ST elevation ≥1mm in aVR with ≥1mm ST depression in 6+ precordial leads → <b>Left main coronary artery obstruction / triple vessel disease</b>", ] for q in pq: story.append(Paragraph("• " + q, BULLET)) story.append(Spacer(1,2)) story.append(Paragraph("<i>Source: Chapter 57, Piana & Bagai – Management of Acute Coronary Syndromes (Cardiac Surgery textbook). Teaching notes prepared for INI SS CET CVTS. July 2026.</i>", SMALL)) doc.build(story) print("SUCCESS: High Yield Notes PDF generated!") PYEOF echo "Exit: $?"
python3 << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak) from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY doc = SimpleDocTemplate( "/home/daytona/workspace/chapter57/Ch57_HighYield_Notes.pdf", pagesize=A4, topMargin=15*mm, bottomMargin=15*mm, leftMargin=15*mm, rightMargin=15*mm, ) W, H = A4 styles = getSampleStyleSheet() def S(name, **kw): s = ParagraphStyle(name, parent=styles["Normal"], **kw) return s TITLE = S("TITLE", fontSize=16, leading=20, textColor=colors.HexColor("#1a2a6c"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=4) SUBTITLE = S("SUBTITLE", fontSize=11, leading=14, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=6) H3 = S("H3", fontSize=10, leading=12, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", spaceAfter=2) BODY = S("BODY", fontSize=9, leading=12, alignment=TA_JUSTIFY, spaceAfter=3) BULLET = S("BULLET", fontSize=9, leading=11, leftIndent=12, firstLineIndent=-8, spaceAfter=2) PEARL = S("PEARL", fontSize=8.5, leading=11, backColor=colors.HexColor("#fff3cd"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#856404"), fontName="Helvetica-Bold", spaceAfter=3) MEM = S("MEM", fontSize=8.5, leading=11, backColor=colors.HexColor("#d4edda"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#155724"), fontName="Helvetica", spaceAfter=3) RED = S("RED", fontSize=8.5, leading=11, backColor=colors.HexColor("#f8d7da"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#721c24"), fontName="Helvetica-Bold", spaceAfter=3) SMALL = S("SMALL", fontSize=7.5, leading=10, textColor=colors.HexColor("#555555"), spaceAfter=2) SMB = S("SMBN", fontSize=7.5, leading=10, fontName="Helvetica-Bold") def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#cccccc"), spaceAfter=3, spaceBefore=2) def sec(text, color="#1a2a6c"): data = [[Paragraph(text, ParagraphStyle("sb", fontSize=10.5, leading=13, fontName="Helvetica-Bold", textColor=colors.white, alignment=TA_LEFT))]] t = Table(data, colWidths=[W - 30*mm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), colors.HexColor(color)), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 7), ])) return t def tbl(data, widths, hdr_color="#1a2a6c", row_colors=None): if row_colors is None: row_colors = [colors.HexColor("#f0f4ff"), colors.white] t = Table(data, colWidths=widths) t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0), colors.HexColor(hdr_color)), ("TEXTCOLOR",(0,0),(-1,0), colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1), row_colors), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2), ("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) return t def p(text, style=None): if style is None: style = BODY return Paragraph(text, style) def sp(n=4): return Spacer(1, n) story = [] # ═══════════════════════════════════════════════════ # PAGE 1 # ═══════════════════════════════════════════════════ story += [ p("Chapter 57", SUBTITLE), p("Management of Acute Coronary Syndromes", TITLE), p("INI SS CET – CVTS High Yield Teaching Notes | Piana & Bagai", SMALL), hr(), sp(2), ] story.append(sec("1. CLASSIFICATION AND DEFINITIONS")) story.append(sp(3)) story.append(tbl([ [p("<b>Feature</b>",SMBN), p("<b>STEMI</b>",SMBN), p("<b>NSTEMI</b>",SMBN), p("<b>UA</b>",SMBN)], ["Occlusion", "Complete / sustained", "Partial / transient", "Partial / transient"], ["Transmural ischemia", "Yes", "No", "No"], ["ECG", "ST elev >=1mm; V2-V3: >=2mm men / >=1.5mm women", "ST dep / T-inv", "Normal / ST dep"], ["Biomarkers", "Elevated", "Elevated", "NORMAL"], ["Pathology", "Full-thickness necrosis", "Subendocardial necrosis", "No necrosis"], ], [38*mm, 40*mm, 40*mm, 35*mm])) story.append(sp(4)) story += [ p("<b>STEMI Diagnostic Cut-Points:</b>", H3), p("Leads other than V2-V3: >=1 mm ST elevation in 2 contiguous leads", BULLET), p("V2-V3: >=2 mm in men >40yr; >=2.5 mm in men <=40yr; >=1.5 mm in women", BULLET), p("New LBBB + ischemic symptoms = STEMI equivalent", BULLET), sp(3), p("EXAM PEARL: Wellens Syndrome = deeply inverted or biphasic T-waves in V2-V3, near-isoelectric ST. This signals a CRITICAL proximal LAD stenosis. Do NOT perform a stress test. Refer for urgent angiography.", PEARL), sp(3), ] story.append(sec("2. PATHOPHYSIOLOGY")) story.append(sp(3)) story += [ p("<b>Plaque Disruption Cascade:</b>", H3), p("Lipid-rich necrotic core + fibrous cap. Matrix metalloproteinases (MMPs) degrade cap + SMC apoptosis → collagen and vWF exposure → platelet adhesion → ADP + TxA2 release → platelet amplification → fibrinogen bridges via GP IIb/IIIa → fibrin-platelet thrombus formation.", BODY), sp(3), ] story.append(tbl([ [p("<b>Type 1 MI</b>",SMBN), p("<b>Type 2 MI</b>",SMBN)], ["Atherothrombosis: plaque rupture or erosion", "O2 supply-demand mismatch; no plaque rupture"], ["CAD is primary cause", "Secondary to tachyarrhythmia, severe HTN, AS, anemia, hypoxia"], ["Standard ACS management", "Treat underlying cause; CAD still found on angiogram in many"], ], [85*mm, 85*mm], row_colors=[colors.HexColor("#f0f4ff"), colors.white])) story.append(sp(4)) story += [ p("MEMORY AID – Type 2 MI supply-demand causes: TASH-MBH = Tachycardia, Aortic Stenosis, HCM (demand up) | Fixed stenosis, Microvascular dysfunction, Bridging, Hypotension/Shock (supply down)", MEM), sp(3), ] story.append(sec("3. DIAGNOSIS – ECG AND BIOMARKERS")) story.append(sp(3)) story += [ p("<b>ECG Findings:</b>", H3), p("ST depression >=0.5mm in 2 contiguous leads + T-inversion >1mm = NSTEMI", BULLET), p("ST depression >=1mm in 6+ leads + ST elevation in aVR/V1 = Left main or triple vessel disease", BULLET), p("Wellens: biphasic/deeply inverted T in V2-V3, near-isoelectric ST = proximal LAD critical stenosis", BULLET), sp(3), p("<b>4th Universal Definition of MI (2018 Circulation):</b>", H3), p("Myocardial injury = elevated cTn (any etiology). Myocardial infarction = injury PLUS rising/falling cTn pattern PLUS clinical evidence of ischemia (symptoms or ECG).", BODY), sp(3), p("EXAM PEARL: HEART Score less than 3 = 0.2% 30-day MACE (safe discharge from ER). Score 4-6 = 1% risk. Score 7-10 = 3% risk (admit + invasive strategy). HEART score is best for initial ER triage including identifying LOW-RISK patients.", PEARL), p("EXAM PEARL: TIMI score predicts 14-day outcome. GRACE score predicts 6-month outcome in ACS.", PEARL), PageBreak(), ] # ═══════════════════════════════════════════════════ # PAGE 2 # ═══════════════════════════════════════════════════ story.append(sec("4. NSTE-ACS ANTI-ISCHEMIC THERAPY (2014 AHA/ACC Guidelines)")) story.append(sp(3)) story.append(tbl([ [p("<b>Drug</b>",SMBN), p("<b>Class I Recommendation</b>",SMBN), p("<b>Class III / Contraindication</b>",SMBN)], ["IV Nitroglycerin", "Persistent ischemia, HF, or HTN for 48h", "SBP <90, RV infarction, PDE5i within 24h (sildenafil/vardenafil) or 48h (tadalafil)"], ["Oral Beta-blockers", "Within 24h; metoprolol/bisoprolol/carvedilol if LVEF <40% pre-discharge", "CHF, low-output, cardiogenic shock risk, advanced AV block, active asthma"], ["IV Beta-blockers", "Class IIa: for HTN if no contraindications", "Any sign of CHF, low-output, cardiogenic shock risk"], ["Oral ACEI", "Within 24h: anterior STEMI, HF, LVEF <40%, HTN, DM", "Hypotension, CKD severe, bilateral RAS, pregnancy"], ], [32*mm, 63*mm, 75*mm])) story.append(sp(3)) story += [ p("Supplemental O2: ONLY if SpO2 less than 90% or respiratory distress (not routine).", BODY), sp(3), ] story.append(sec("5. ANTIPLATELET THERAPY")) story.append(sp(3)) story += [ p("<b>Aspirin:</b>", H3), p("Loading dose: 162-325 mg non-enteric chewable ASAP on presentation", BULLET), p("Maintenance dose: 81 mg/day indefinitely (Class IIa – 81 mg is preferred over higher doses)", BULLET), p("MOA: Irreversible COX-1 inhibition, preventing TxA2 synthesis (platelet aggregation mediator)", BULLET), p("Min effective dose: 75 mg (ATT meta-analysis: 22% reduction in vascular death/MI/stroke)", BULLET), sp(3), p("<b>P2Y12 Inhibitors Comparison:</b>", H3), ] story.append(tbl([ [p("<b>Drug</b>",SMBN), p("<b>MOA</b>",SMBN), p("<b>Key Trial</b>",SMBN), p("<b>Special Notes</b>",SMBN)], ["Clopidogrel", "Prodrug via CYP2C19; irreversible ADP block", "CURE", "Reduced effect in CYP2C19 poor metabolizers"], ["Prasugrel", "Prodrug; faster/more potent; irreversible", "TRITON-TIMI 38", "NOT pre-angio in NSTEMI; OK pre-angio in STEMI. Avoid: prior stroke/TIA, age >75, wt <60 kg"], ["Ticagrelor", "Reversible; direct; no CYP2C19 needed", "PLATO", "Reduces overall mortality vs clopidogrel; higher non-CABG bleeding; intracranial bleeding higher"], ["Cangrelor", "IV; reversible; rapid on/off", "CHAMPION", "Useful as bridge or when oral P2Y12 not feasible at PCI"], ], [26*mm, 45*mm, 28*mm, 71*mm], hdr_color="#b21f1f", row_colors=[colors.HexColor("#fff5f5"), colors.white])) story.append(sp(4)) story += [ p("EXAM PEARL – ISAR-REACT 5: Prasugrel vs Ticagrelor in ACS going for invasive strategy. At 1 year: Prasugrel had 2.4% absolute reduction in death/MI/stroke (driven by fewer MIs). Major bleeding was SIMILAR. Stent thrombosis lower with prasugrel.", PEARL), p("EXAM PEARL: Prasugrel in NSTEMI – give AFTER coronary anatomy is defined (not preloading). In STEMI – prasugrel can be given before angiography (as per TRITON-TIMI 38 design).", PEARL), sp(2), p("<b>DAPT Duration:</b>", H3), p("Post-ACS with PCI: 12 months standard; 6 months acceptable in high bleeding risk patients", BULLET), p("Before CABG: Stop clopidogrel/ticagrelor at least 5 days before; prasugrel at least 7 days before", BULLET), sp(3), p("MEMORY AID – Prasugrel absolute contraindications: PAST = Prior stroke or TIA, Age more than 75, Small weight less than 60 kg, Triple antithrombotic therapy not tolerated", MEM), PageBreak(), ] # ═══════════════════════════════════════════════════ # PAGE 3 # ═══════════════════════════════════════════════════ story.append(sec("6. GLYCOPROTEIN IIb/IIIa INHIBITORS (GPI)")) story.append(sp(3)) story += [ p("GP IIb/IIIa receptors: approximately 50,000 per platelet. Represent the final common pathway of platelet aggregation regardless of the activating stimulus. GPIs block fibrinogen cross-linking.", BODY), p("<b>Available agents (US):</b> Eptifibatide and Tirofiban (half-life 2-3 hours, IV infusion). Abciximab is no longer marketed in the US.", BODY), p("<b>Guideline Recommendations (2014 AHA/ACC):</b>", H3), p("Class I: At time of PCI when patient NOT pre-treated with clopidogrel AND not anticoagulated with bivalirudin", BULLET), p("Class IIa: In high-risk patients adequately pre-treated with clopidogrel", BULLET), p("Class IIb: High-risk (elevated troponin) patients on early invasive strategy + aspirin + P2Y12", BULLET), p("No role in NSTE-ACS managed conservatively (ischemia-guided strategy)", BULLET), sp(3), ] story.append(sec("7. ANTICOAGULATION THERAPY")) story.append(sp(3)) story.append(tbl([ [p("<b>Agent</b>",SMBN), p("<b>MOA</b>",SMBN), p("<b>Key Points</b>",SMBN), p("<b>Landmark Trial</b>",SMBN)], ["UFH", "Binds AT; inhibits IIa (chains >18 oligo) and Xa", "IV; aPTT monitoring; reversible with protamine; preferred at PCI", "ISIS-2"], ["Enoxaparin (LMWH)", "Anti-Xa predominantly (some anti-IIa)", "SC; peak anti-Xa at 3-6h; avoid or reduce in CKD; sheath removal 4-6h post-IV / 6-8h post-SC", "SYNERGY"], ["Fondaparinux", "Synthetic factor Xa inhibitor ONLY", "Class I for UA/NSTEMI; must ADD UFH at PCI to prevent catheter thrombosis; lower bleeding vs enoxaparin (OASIS-5)", "OASIS-5"], ["Bivalirudin", "Direct thrombin inhibitor (reversible)", "Reduced bleeding and cardiac mortality vs UFH+GPI (MATRIX); higher stent thrombosis; preferred in radial access era", "MATRIX, HORIZONS-AMI"], ], [26*mm, 40*mm, 80*mm, 26*mm])) story.append(sp(4)) story += [ p("EXAM PEARL – SYNERGY Trial: Enoxaparin vs UFH in high-risk NSTEMI with early invasive strategy. Enoxaparin non-inferior. KEY WARNING: Crossing anticoagulants (switching UFH to enoxaparin or vice versa mid-treatment) = increased bleeding and no clinical benefit.", PEARL), p("EXAM PEARL – OASIS-5: Fondaparinux vs enoxaparin in NSTE-ACS. Fondaparinux had fewer major bleeds but increased catheter thrombosis during PCI. Therefore, supplemental UFH MUST be given at the time of PCI when patient is on fondaparinux.", PEARL), sp(3), ] story.append(sec("8. INVASIVE vs ISCHEMIA-GUIDED STRATEGY")) story.append(sp(3)) story.append(tbl([ [p("<b>Urgent/Immediate Invasive</b>",SMBN), p("<b>Early Invasive (within 24h)</b>",SMBN), p("<b>Ischemia-Guided (Conservative)</b>",SMBN)], ["Refractory angina despite intensive medical Rx", "Elevated cTnI or cTnT", "TIMI score 0-1"], ["Hemodynamic or electrical instability", "New ST-segment depression", "GRACE score less than 109"], ["No ST elevation but refractory ischemia", "Signs or symptoms of HF / new or worsening MR", "Low-risk, troponin-negative female patients"], ["", "Prior PCI within 6 months OR prior CABG", "Patient or physician preference in absence of high-risk features"], ["", "LVEF less than 40%", ""], ["", "High-risk noninvasive test findings", ""], ["", "Sustained VT; High TIMI or GRACE score", ""], ], [57*mm, 67*mm, 46*mm], hdr_color="#b21f1f", row_colors=[colors.HexColor("#fff5f5"), colors.white])) story.append(sp(4)) story += [ p("<b>NSTEMI + CABG Timing:</b> Approximately 1/3 of NSTEMI patients undergo CABG within 48h of admission (median 73h). In-hospital mortality similar for early vs late CABG (~3.7%). Age over 80: mortality 5-8% (11% for urgent cases).", BODY), sp(3), ] story.append(sec("9. LANDMARK TRIALS", color="#2d6a4f")) story.append(sp(3)) story.append(tbl([ [p("<b>Trial</b>",SMBN), p("<b>Topic</b>",SMBN), p("<b>Key Finding</b>",SMBN)], ["CURE", "Clopidogrel + ASA in NSTE-ACS", "DAPT reduces CV death/MI/stroke vs ASA alone"], ["TRITON-TIMI 38", "Prasugrel vs Clopidogrel in ACS + PCI", "Prasugrel superior in efficacy; more major bleeding; avoid in prior stroke/TIA, age >75, weight <60 kg"], ["PLATO", "Ticagrelor vs Clopidogrel in ACS", "Ticagrelor: lower CV death, MI, stroke; lower all-cause mortality; no increase in overall major bleeding"], ["ISAR-REACT 5", "Prasugrel vs Ticagrelor in ACS", "Prasugrel: 2.4% absolute reduction in MACE; similar bleeding; stent thrombosis lower with prasugrel"], ["SYNERGY", "Enoxaparin vs UFH in high-risk NSTE-ACS", "Enoxaparin non-inferior; avoid crossing anticoagulants"], ["OASIS-5", "Fondaparinux vs Enoxaparin", "Fondaparinux: fewer bleeds; but add UFH at PCI to prevent catheter thrombosis"], ["MATRIX", "Bivalirudin vs UFH in ACS", "Bivalirudin: lower bleeding, lower all-cause mortality, lower cardiac mortality; higher definite stent thrombosis"], ["HORIZONS-AMI", "Bivalirudin vs UFH+GPI in STEMI", "Bivalirudin: lower major bleeding and cardiac mortality at 30 days"], ["SHOCK", "Revascularization vs fibrinolysis in CS-STEMI", "PCI or CABG: improved 6-month and 12-month survival vs fibrinolysis in cardiogenic shock"], ["CULPRIT-SHOCK", "Culprit vs multivessel PCI in CS-STEMI", "Culprit-only PCI: LOWER 30-day mortality vs immediate multivessel PCI; stage the rest after stabilization"], ["COMPLETE", "Complete vs culprit-only revasc in STEMI + MVD", "Complete revascularization (immediate or staged): reduces CV death/MI vs culprit-only PCI"], ["REACT", "Rescue PCI vs conservative after failed fibrinolysis", "Rescue PCI reduces reinfarction vs conservative management or repeat fibrinolysis"], ["PROVE-IT TIMI 22", "Atorvastatin 80mg vs pravastatin 40mg post-ACS", "High-intensity statin (atorvastatin 80mg): fewer events at 30 days and 2 years; LDL target less than 70 mg/dL"], ], [35*mm, 55*mm, 80*mm], hdr_color="#2d6a4f", row_colors=[colors.HexColor("#f0fff4"), colors.white])) story.append(PageBreak()) # ═══════════════════════════════════════════════════ # PAGE 4 # ═══════════════════════════════════════════════════ story.append(sec("10. STEMI REPERFUSION STRATEGY")) story.append(sp(3)) story += [ p("<b>Primary PCI (preferred):</b>", H3), p("FMC-to-balloon: 90 minutes or less at PCI-capable hospital; 120 minutes or less when transfer is required", BULLET), p("Symptoms 12-24h: PCI indicated if ongoing ischemia, hemodynamic instability, or malignant arrhythmias", BULLET), p("Delayed PCI of totally occluded infarct artery more than 24h after STEMI in stable patients = Class III (no benefit)", BULLET), sp(3), p("<b>STEMI Reperfusion Decision:</b>", H3), ] twopath = Table([ [ p("YES – FMC to balloon under 120 min: PRIMARY PCI\n* FMC-to-balloon 90 min at PCI center; 120 min if transferred\n* Culprit-only PCI (unless hemodynamic compromise from non-culprit)\n* Complete revasc (COMPLETE trial): staged or index-procedure non-culprit PCI acceptable (Class IIb, updated 2015)", S("t1",fontSize=8.5,leading=12)), p("NO – Delay more than 120 min: FIBRINOLYSIS\n* Give within 10 min of STEMI ECG diagnosis\n* TNK-tPA (single weight-based bolus) or Reteplase (2x10 units 30 min apart)\n* Failed: less than 50% ST resolution at 60-90 min = Rescue PCI\n* Pharmacoinvasive: transfer + angio at 3-24h after lysis (regardless of clinical response)", S("t2",fontSize=8.5,leading=12)) ] ], colWidths=[83*mm, 87*mm]) twopath.setStyle(TableStyle([ ("BACKGROUND",(0,0),(0,0),colors.HexColor("#e8f5e9")), ("BACKGROUND",(1,0),(1,0),colors.HexColor("#fff3e0")), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("INNERGRID",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5), ("LEFTPADDING",(0,0),(-1,-1),6), ("VALIGN",(0,0),(-1,-1),"TOP"), ])) story.append(twopath) story.append(sp(4)) story += [ p("EXAM PEARL: Survival advantage of primary PCI over immediate fibrinolysis is LOST when FMC-to-balloon exceeds 120 minutes.", PEARL), p("EXAM PEARL: Pre-hospital fibrinolysis achieves a 17% reduction in all-cause mortality compared to hospital-based fibrinolysis.", PEARL), sp(3), ] story.append(sec("11. FIBRINOLYSIS – ABSOLUTE CONTRAINDICATIONS")) story.append(sp(2)) story.append(p("Prior intracranial hemorrhage | Known cerebral vascular lesion or neoplasm | Ischemic stroke within 3 months (NOT acute ischemic stroke within 4.5h) | Intracranial or spinal surgery within 2 months | Closed head or facial trauma within 3 months | Suspected aortic dissection | Severe uncontrolled hypertension | Active bleeding or bleeding diathesis", RED)) story.append(sp(3)) story.append(sec("12. CABG IN STEMI")) story.append(sp(3)) story += [ p("<b>Class I Indications for Urgent CABG in STEMI:</b> Ongoing or recurrent ischemia; cardiogenic shock; severe heart failure; high-risk anatomy not eligible for PCI or after failed PCI; and during repair of mechanical complications (VSD, papillary muscle rupture, free wall rupture).", BODY), p("Modern data: 1-month all-cause mortality 10.8% (CABG within 24h) vs 8.9% (CABG more than 24h) – NOT significantly different. 42% taken directly from cath lab to OR.", BODY), sp(3), ] story.append(sec("13. CARDIOGENIC SHOCK")) story.append(sp(3)) story += [ p("<b>Definition:</b> SBP less than 90 mmHg for at least 30 minutes OR vasopressors needed to maintain SBP at or above 90 mmHg WITH end-organ hypoperfusion.", BODY), p("Occurs when 40% or more of myocardium involved OR mechanical complication (papillary muscle rupture, VSD, free wall rupture)", BULLET), p("Incidence: approximately 8.6% of STEMI patients (NRMI database)", BULLET), p("Multivessel CAD present in approximately 80% of CS patients", BULLET), p("SHOCK Trial: PCI or CABG improved 6- and 12-month survival vs fibrinolysis in CS", BULLET), p("CULPRIT-SHOCK Trial: Culprit-only PCI has LOWER 30-day mortality vs immediate multivessel PCI in cardiogenic shock; stage non-culprit lesions after stabilization", BULLET), sp(3), p("EXAM PEARL: CULPRIT-SHOCK overturned prior thinking. Do NOT do immediate multivessel PCI in cardiogenic shock complicating STEMI. Culprit-only is the standard of care at index procedure.", PEARL), sp(3), ] story.append(sec("14. RADIAL vs FEMORAL ACCESS")) story.append(sp(3)) story += [ p("Radial access: fewer access-site bleeding events and vascular complications vs femoral access, with similar MACE. SAFARI-STEMI trial (bivalirudin in 90%): No survival difference at 30 days. Both approaches must be maintained by operators for optimal outcomes.", BODY), PageBreak(), ] # ═══════════════════════════════════════════════════ # PAGE 5 # ═══════════════════════════════════════════════════ story.append(sec("15. SECONDARY PREVENTION POST-ACS")) story.append(sp(3)) story.append(tbl([ [p("<b>Drug Class</b>",SMBN), p("<b>Indication</b>",SMBN), p("<b>Target / Notes</b>",SMBN)], ["Aspirin", "ALL patients, indefinitely", "81 mg/day maintenance"], ["P2Y12 inhibitor (prasugrel or ticagrelor preferred)", "ALL ACS for 12 months", "6 months if high bleeding risk"], ["High-intensity statin (atorvastatin 80mg)", "ALL ACS patients", "LDL target less than 70 mg/dL (PROVE-IT TIMI 22)"], ["PCSK9 inhibitors (alirocumab/evolocumab)", "LDL not at target on statin", "ODYSSEY OUTCOMES: alirocumab after ACS reduces MACE"], ["Beta-blocker (metoprolol, bisoprolol, carvedilol)", "LVEF less than 40%, HF, arrhythmias", "Long-acting agents preferred; initiate within 24h"], ["ACEI or ARB", "HF, LVEF less than 40%, anterior MI, DM, HTN", "Start within 24h if no contraindication"], ["Aldosterone antagonist (eplerenone)", "LVEF 40% or less PLUS DM or clinical HF", "Avoid if Cr more than 2.5 (men) / 2.0 (women) or K more than 5"], ], [50*mm, 55*mm, 68*mm], hdr_color="#2d6a4f", row_colors=[colors.HexColor("#f0fff4"), colors.white])) story.append(sp(3)) story += [ p("<b>Multivessel CAD in STEMI:</b>", H3), p("Approximately 50% of STEMI patients have additional significant non-culprit stenoses", BULLET), p("COMPLETE Trial: Complete revascularization (staged or at index procedure) reduces CV death/MI vs culprit-only PCI", BULLET), p("2015 ACC/AHA guideline update: Changed recommendation for non-culprit PCI in STEMI from Class III (harm) to Class IIb", BULLET), sp(3), ] story.append(sec("LAST-MINUTE REVISION TABLE", color="#b21f1f")) story.append(sp(3)) story.append(tbl([ [p("<b>Topic</b>",SMBN), p("<b>Must-Know Fact</b>",SMBN)], ["Wellens Syndrome", "Deep T-inversion or biphasic T in V2-V3, near-isoelectric ST = proximal LAD critical stenosis. Never stress test!"], ["ST elevation aVR + 6+ lead ST depression", "Left main or triple vessel disease"], ["STEMI V2-V3 criteria", "Men older than 40yr: 2mm; Men 40yr or younger: 2.5mm; Women: 1.5mm"], ["FMC-to-balloon", "90 min (PCI center); 120 min (transfer); delay more than 120 min negates PCI benefit over fibrinolysis"], ["Fibrinolysis timing", "Give within 10 minutes of ECG diagnosis. Absolute contraindications: prior ICH, stroke within 3 months, etc."], ["Failed fibrinolysis", "Less than 50% ST resolution at 60-90 min = failure. Next step: Rescue PCI (Class IIa)"], ["Pharmacoinvasive strategy", "Fibrinolysis at non-PCI center, then transfer for angiography at 3-24h after lysis"], ["Prasugrel hold pre-CABG", "At least 7 days. Clopidogrel/ticagrelor: at least 5 days"], ["Cardiogenic shock definition", "SBP less than 90 for 30+ min OR vasopressor-dependent WITH end-organ hypoperfusion"], ["Myocardium involved in CS", "40% or more of myocardium OR mechanical complication (VSD, papillary muscle rupture, free wall rupture)"], ["CULPRIT-SHOCK key message", "Culprit-only PCI = lower 30-day mortality vs immediate multivessel PCI in CS-STEMI"], ["COMPLETE trial", "Complete revascularization (staged OK) reduces CV death/MI vs culprit-only in STEMI + multivessel disease"], ["LDL target post-ACS", "Less than 70 mg/dL; atorvastatin 80mg (PROVE-IT TIMI 22)"], ["O2 in ACS", "Only if SpO2 less than 90% or respiratory distress. Not routine!"], ["Prasugrel NOT pre-angio in NSTEMI", "Give only after coronary anatomy defined. In STEMI: OK before angiography."], ["Bivalirudin advantage", "Reduces bleeding AND cardiac mortality; but increases stent thrombosis risk"], ["Fondaparinux at PCI", "Must add UFH to prevent catheter thrombosis (OASIS-5 lesson)"], ["HEART score less than 3", "0.2% 30-day MACE. Safe for early discharge from ER."], ["GRACE score", "Predicts 6-month outcomes. GRACE less than 109 = low risk = ischemia-guided strategy acceptable"], ["Pre-hospital fibrinolysis", "17% reduction in all-cause mortality vs hospital-based fibrinolysis in STEMI"], ], [52*mm, 118*mm], hdr_color="#b21f1f", row_colors=[colors.HexColor("#fff5f5"), colors.white])) story.append(sp(4)) story.append(sec("PROBABLE INI SS CET QUESTIONS", color="#2d6a4f")) story.append(sp(3)) pqs = [ "1. Ticagrelor used in NSTEMI patient needing CABG. When to stop? = At least 5 days before surgery (prasugrel = 7 days)", "2. NSTEMI patient with history of TIA 6 months ago. Which P2Y12 inhibitor is contraindicated? = Prasugrel", "3. ECG shows deep T-wave inversions in V2 and V3 with near-isoelectric ST segments. Diagnosis and next step? = Wellens Syndrome; urgent angiography (NO stress test)", "4. STEMI at a non-PCI hospital. Transfer time to PCI center = 130 minutes. Next step? = Fibrinolysis (delay more than 120 min negates PCI benefit)", "5. STEMI with cardiogenic shock and multivessel CAD at primary PCI. Which strategy reduces 30-day mortality? = Culprit-only PCI (CULPRIT-SHOCK trial)", "6. Anticoagulant for NSTEMI that needs UFH supplementation at PCI to prevent catheter thrombosis? = Fondaparinux", "7. ISAR-REACT 5 trial compared prasugrel vs ticagrelor. Key finding? = Prasugrel superior (2.4% absolute MACE reduction; similar major bleeding; lower stent thrombosis)", "8. HEART score of 8 in 60-year-old with chest pain. Best action? = Admit for early invasive strategy (score 7-10 = 3% 30-day MACE = high risk)", "9. Fibrinolysis given for STEMI. At 75 minutes: ST elevation unchanged and pain persists. Next step? = Rescue PCI (failed fibrinolysis less than 50% ST resolution at 60-90 min)", "10. ST elevation in aVR plus ST depression in 6 or more precordial leads. Likely culprit? = Left main coronary artery or triple vessel disease", ] for q in pqs: story.append(p(" " + q, BULLET)) story.append(sp(3)) story.append(p("<i>Source: Chapter 57, Piana and Bagai – Management of Acute Coronary Syndromes. Teaching notes for INI SS CET CVTS preparation. July 2026.</i>", SMALL)) doc.build(story) print("SUCCESS: High Yield Notes PDF generated!") PYEOF echo "Exit: $?"
python3 << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak) from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY doc = SimpleDocTemplate( "/home/daytona/workspace/chapter57/Ch57_HighYield_Notes.pdf", pagesize=A4, topMargin=15*mm, bottomMargin=15*mm, leftMargin=15*mm, rightMargin=15*mm, ) W, H = A4 styles = getSampleStyleSheet() def S(name, **kw): return ParagraphStyle(name, parent=styles["Normal"], **kw) TITLE = S("TITLEx", fontSize=16, leading=20, textColor=colors.HexColor("#1a2a6c"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=4) SUB = S("SUBx", fontSize=11, leading=14, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=6) H3 = S("H3x", fontSize=10, leading=12, textColor=colors.HexColor("#b21f1f"), fontName="Helvetica-Bold", spaceAfter=2) BODY = S("BODYx", fontSize=9, leading=12, alignment=TA_JUSTIFY, spaceAfter=3) BUL = S("BULx", fontSize=9, leading=11, leftIndent=12, firstLineIndent=-8, spaceAfter=2) PEARL = S("PEARLx", fontSize=8.5,leading=11, backColor=colors.HexColor("#fff3cd"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#856404"), fontName="Helvetica-Bold", spaceAfter=3) MEM = S("MEMx", fontSize=8.5,leading=11, backColor=colors.HexColor("#d4edda"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#155724"), fontName="Helvetica", spaceAfter=3) RED = S("REDx", fontSize=8.5,leading=11, backColor=colors.HexColor("#f8d7da"), leftIndent=6, rightIndent=6, borderPadding=(3,4,3,4), textColor=colors.HexColor("#721c24"), fontName="Helvetica-Bold", spaceAfter=3) SMALL = S("SMALLx", fontSize=7.5,leading=10, textColor=colors.HexColor("#555555"), spaceAfter=2) SMB = S("SMBx", fontSize=7.5,leading=10, fontName="Helvetica-Bold") def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#cccccc"), spaceAfter=3, spaceBefore=2) def sp(n=4): return Spacer(1, n) def p(t, s=None): return Paragraph(t, s or BODY) def sec(txt, col="#1a2a6c"): d = [[p(txt, ParagraphStyle("_sb",fontSize=10.5,leading=13,fontName="Helvetica-Bold", textColor=colors.white,alignment=TA_LEFT))]] t = Table(d, colWidths=[W-30*mm]) t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,-1),colors.HexColor(col)), ("TOPPADDING",(0,0),(-1,-1),4),("BOTTOMPADDING",(0,0),(-1,-1),4), ("LEFTPADDING",(0,0),(-1,-1),7), ])) return t def tbl(rows, widths, hc="#1a2a6c", rc=None): if rc is None: rc=[colors.HexColor("#f0f4ff"),colors.white] t = Table(rows, colWidths=widths) t.setStyle(TableStyle([ ("BACKGROUND",(0,0),(-1,0),colors.HexColor(hc)), ("TEXTCOLOR",(0,0),(-1,0),colors.white), ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"), ("FONTSIZE",(0,0),(-1,-1),7.5), ("ROWBACKGROUNDS",(0,1),(-1,-1),rc), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#cccccc")), ("INNERGRID",(0,0),(-1,-1),0.3,colors.HexColor("#dddddd")), ("TOPPADDING",(0,0),(-1,-1),2),("BOTTOMPADDING",(0,0),(-1,-1),2), ("LEFTPADDING",(0,0),(-1,-1),3),("VALIGN",(0,0),(-1,-1),"TOP"), ])) return t def hdr(t): return p("<b>"+t+"</b>", SMB) story = [] # PAGE 1 story += [p("Chapter 57", SUB), p("Management of Acute Coronary Syndromes", TITLE), p("INI SS CET – CVTS High Yield Teaching Notes | Piana and Bagai", SMALL), hr(), sp(2)] story.append(sec("1. CLASSIFICATION AND DEFINITIONS")) story.append(sp(3)) story.append(tbl([ [hdr("Feature"), hdr("STEMI"), hdr("NSTEMI"), hdr("UA")], ["Occlusion","Complete / sustained","Partial / transient","Partial / transient"], ["Transmural ischemia","Yes","No","No"], ["ECG","ST elevation >=1mm; V2-V3 >=2mm men / >=1.5mm women","ST depression or T-inversion","Normal or ST depression"], ["Biomarkers","Elevated","Elevated","NORMAL"], ["Pathology","Full-thickness necrosis","Subendocardial necrosis","No necrosis"], ],[38*mm,40*mm,40*mm,35*mm])) story += [sp(4), p("<b>STEMI ECG Cut-points:</b>",H3), p("All leads except V2-V3: ST elevation >=1 mm in 2 contiguous leads",BUL), p("V2-V3: >=2 mm men older than 40yr; >=2.5 mm men 40yr or younger; >=1.5 mm women",BUL), p("New LBBB + ischemic symptoms = STEMI equivalent",BUL), sp(3), p("EXAM PEARL: Wellens Syndrome = deeply inverted or biphasic T-waves in V2-V3 with near-isoelectric ST. Signals critical proximal LAD stenosis. NEVER perform stress test. Refer urgently for angiography.",PEARL), sp(2)] story.append(sec("2. PATHOPHYSIOLOGY")) story.append(sp(3)) story += [ p("<b>Plaque Disruption Cascade:</b>",H3), p("Lipid-rich necrotic core + fibrous cap degraded by MMPs + SMC apoptosis → vWF and collagen exposed → platelet adhesion → ADP + TxA2 → GP IIb/IIIa activation → fibrinogen cross-linking → fibrin-platelet occlusive thrombus.",BODY), sp(3)] story.append(tbl([ [hdr("Type 1 MI"),hdr("Type 2 MI")], ["Atherothrombosis: plaque rupture or erosion","O2 supply-demand mismatch; no plaque rupture"], ["CAD is primary cause","Secondary to tachycardia, severe HTN, AS, anemia, hypoxia, sepsis"], ["Standard ACS management","Treat underlying cause; CAD often found on angiogram"], ],[85*mm,85*mm])) story += [sp(4), p("MEMORY AID: Type 2 MI causes = TASH-MBH. Demand UP: Tachycardia, Aortic Stenosis, HCM. Supply DOWN: Fixed stenosis, Microvascular dysfunction, Bridging, Hypotension/Shock.",MEM),sp(3)] story.append(sec("3. DIAGNOSIS – ECG AND BIOMARKERS")) story.append(sp(3)) story += [ p("<b>ECG Findings:</b>",H3), p("ST depression >=0.5 mm in 2 contiguous leads + T-inversion >1 mm = NSTEMI pattern",BUL), p("ST depression >=1 mm in 6 or more leads + ST elevation in aVR or V1 = Left main or triple vessel disease",BUL), p("Wellens: biphasic or deeply inverted T in V2-V3, minimal ST change = proximal LAD critical stenosis",BUL), sp(3), p("<b>4th Universal Definition of MI (2018):</b>",H3), p("Myocardial INJURY = elevated cTn regardless of cause. Myocardial INFARCTION = injury + rising/falling cTn pattern + clinical evidence of ischemia (symptoms and/or ECG changes).",BODY), sp(3), p("EXAM PEARL: HEART Score less than 3 = 0.2% 30-day MACE (safe early ER discharge). Score 4-6 = 1% risk. Score 7-10 = 3% risk = admit + early invasive strategy. HEART is best for initial ER triage especially to identify LOW-RISK patients.",PEARL), p("EXAM PEARL: TIMI score predicts 14-day outcomes. GRACE score predicts 6-month outcomes in ACS.",PEARL), PageBreak()] # PAGE 2 story.append(sec("4. NSTE-ACS ANTI-ISCHEMIC THERAPY (2014 AHA/ACC)")) story.append(sp(3)) story.append(tbl([ [hdr("Drug"),hdr("Class I Recommendation"),hdr("Class III / Contraindication")], ["IV Nitroglycerin","Persistent ischemia, HF, or HTN for 48h","SBP less than 90, RV infarction, PDE5i within 24h (sildenafil/vardenafil) or 48h (tadalafil)"], ["Oral Beta-blockers","Within 24h if no contraindications; metoprolol/bisoprolol/carvedilol if LVEF less than 40%","CHF, low-output state, cardiogenic shock risk, advanced AV block, active asthma"], ["IV Beta-blockers","Class IIa: for hypertension if no contraindications","Any CHF, low-output, or cardiogenic shock signs"], ["Oral ACEI","Within 24h: anterior STEMI, HF, LVEF less than 40%, HTN, DM","Hypotension, severe CKD, bilateral RAS, pregnancy"], ],[32*mm,63*mm,75*mm])) story += [sp(3),p("Supplemental O2: ONLY if SpO2 less than 90% or respiratory distress. NOT routine.",BODY),sp(3)] story.append(sec("5. ANTIPLATELET THERAPY")) story.append(sp(3)) story += [ p("<b>Aspirin:</b>",H3), p("Loading: 162-325 mg non-enteric chewable ASAP. Maintenance: 81 mg/day indefinitely (Class IIa – 81 mg preferred over higher doses).",BUL), p("MOA: Irreversible COX-1 inhibition reducing TxA2 production. Min effective dose: 75 mg (ATT meta-analysis: 22% reduction in vascular events).",BUL), sp(3),p("<b>P2Y12 Inhibitors:</b>",H3)] story.append(tbl([ [hdr("Drug"),hdr("MOA"),hdr("Key Trial"),hdr("Special Notes")], ["Clopidogrel","Prodrug via CYP2C19; irreversible","CURE","Reduced effect in CYP2C19 poor metabolizers"], ["Prasugrel","Prodrug; faster and more potent; irreversible","TRITON-TIMI 38","Give AFTER anatomy defined in NSTEMI; before angio OK in STEMI. Avoid: prior stroke/TIA, age >75, weight <60 kg"], ["Ticagrelor","Reversible; direct; no CYP2C19 needed","PLATO","Reduces overall mortality vs clopidogrel; higher non-CABG bleeding; intracranial bleeding higher"], ["Cangrelor","IV; reversible; rapid on/off","CHAMPION","Bridge or when oral P2Y12 not feasible at PCI"], ],[26*mm,45*mm,30*mm,69*mm],hc="#b21f1f",rc=[colors.HexColor("#fff5f5"),colors.white])) story += [sp(4), p("EXAM PEARL: ISAR-REACT 5 trial compared prasugrel vs ticagrelor in ACS with invasive strategy. Prasugrel had 2.4% absolute reduction in MACE at 1 year (driven by fewer MIs). Major bleeding was SIMILAR. Stent thrombosis was lower with prasugrel.",PEARL), p("EXAM PEARL: In NSTEMI give prasugrel only AFTER coronary anatomy is defined (not before angiography). In STEMI prasugrel can be given before angiography.",PEARL), sp(2), p("<b>DAPT Duration:</b>",H3), p("Post-ACS with PCI: 12 months standard; 6 months if high bleeding risk. CABG planned: Stop clopidogrel/ticagrelor at least 5 days before; prasugrel at least 7 days before.",BUL), sp(3), p("MEMORY AID: Prasugrel absolute contraindications = PAST: Prior stroke or TIA, Age more than 75, Small weight less than 60 kg, Triple antithrombotic therapy risk.",MEM), PageBreak()] # PAGE 3 story.append(sec("6. GLYCOPROTEIN IIb/IIIa INHIBITORS (GPI)")) story.append(sp(3)) story += [ p("About 50,000 GP IIb/IIIa receptors per platelet; final common pathway of aggregation regardless of stimulus. GPIs block fibrinogen cross-linking.",BODY), p("<b>Agents (US market):</b> Eptifibatide and Tirofiban (half-life 2-3h, IV infusion 12-18h post-PCI). Abciximab no longer marketed in the US.",BODY), p("<b>2014 AHA/ACC Guideline Recommendations:</b>",H3), p("Class I: At PCI when NOT pre-treated with clopidogrel AND not on bivalirudin",BUL), p("Class IIa: High-risk patients adequately pre-treated with clopidogrel",BUL), p("Class IIb: High-risk (elevated troponin) on early invasive strategy + aspirin + P2Y12",BUL), p("No role when NSTE-ACS managed conservatively (ischemia-guided strategy)",BUL), sp(3)] story.append(sec("7. ANTICOAGULATION THERAPY")) story.append(sp(3)) story.append(tbl([ [hdr("Agent"),hdr("MOA"),hdr("Key Points"),hdr("Trial")], ["UFH","Binds antithrombin; inhibits IIa (chains >18 oligo) and Xa","IV; aPTT monitoring; reversible with protamine; preferred at PCI","ISIS-2"], ["Enoxaparin","Anti-Xa predominantly (some anti-IIa)","SC; peak anti-Xa at 3-6h; dose-reduce in CKD; sheath removal 4-6h (IV) or 6-8h (SC) post-dose","SYNERGY"], ["Fondaparinux","Synthetic factor Xa inhibitor only","Class I for UA/NSTEMI; must add UFH at PCI to prevent catheter thrombosis; fewer bleeds vs enoxaparin","OASIS-5"], ["Bivalirudin","Direct thrombin inhibitor (reversible)","Reduced bleeding + cardiac mortality vs UFH+GPI; higher stent thrombosis; good for radial-access PCI era","MATRIX, HORIZONS-AMI"], ],[26*mm,42*mm,78*mm,27*mm])) story += [sp(4), p("EXAM PEARL: SYNERGY Trial – Enoxaparin non-inferior to UFH in high-risk NSTEMI. WARNING: Crossing anticoagulants (switching UFH to enoxaparin mid-treatment or vice versa) increases bleeding with no clinical benefit.",PEARL), p("EXAM PEARL: OASIS-5 – Fondaparinux vs enoxaparin in NSTE-ACS. Fewer major bleeds with fondaparinux but increased catheter thrombosis. Solution: Always add UFH at the time of PCI when patient is on fondaparinux.",PEARL), sp(3)] story.append(sec("8. INVASIVE vs ISCHEMIA-GUIDED STRATEGY (Table 57.3)")) story.append(sp(3)) story.append(tbl([ [hdr("Urgent/Immediate Invasive"),hdr("Early Invasive (within 24h)"),hdr("Ischemia-Guided")], ["Refractory angina despite intensive medical therapy","Elevated cTnI or cTnT","TIMI score 0-1"], ["Hemodynamic or electrical instability","New ST-segment depression","GRACE score less than 109"], ["No ST elevation but refractory ischemia","HF signs or new or worsening MR","Low-risk troponin-negative female patients"], ["","Prior PCI within 6 months or prior CABG","Patient or physician preference; no high-risk features"], ["","LVEF less than 40%",""], ["","High-risk noninvasive test findings",""], ["","Sustained VT; high TIMI or GRACE score",""], ],[57*mm,67*mm,46*mm],hc="#b21f1f",rc=[colors.HexColor("#fff5f5"),colors.white])) story += [sp(4), p("<b>NSTEMI + CABG timing:</b> About 1 in 3 NSTEMI patients undergo CABG within 48h (median 73h after admission). In-hospital mortality similar for early vs late CABG (approximately 3.7%). Patients older than 80: 5-8% mortality (11% for urgent cases).",BODY), sp(3)] story.append(sec("9. LANDMARK TRIALS", col="#2d6a4f")) story.append(sp(3)) story.append(tbl([ [hdr("Trial"),hdr("Topic"),hdr("Key Finding")], ["CURE","Clopidogrel + ASA in NSTE-ACS","DAPT reduces CV death/MI/stroke vs ASA alone"], ["TRITON-TIMI 38","Prasugrel vs Clopidogrel","Prasugrel superior; more major bleeding; avoid prior stroke/TIA, age >75, weight <60 kg"], ["PLATO","Ticagrelor vs Clopidogrel","Ticagrelor: lower CV death, MI, stroke and all-cause mortality; no overall major bleeding increase"], ["ISAR-REACT 5","Prasugrel vs Ticagrelor","Prasugrel: 2.4% absolute MACE reduction; similar major bleeding; lower stent thrombosis"], ["SYNERGY","Enoxaparin vs UFH (NSTE-ACS)","Non-inferior; do not cross anticoagulants"], ["OASIS-5","Fondaparinux vs Enoxaparin","Fewer bleeds; add UFH at PCI to prevent catheter thrombosis"], ["MATRIX","Bivalirudin vs UFH in ACS","Lower bleeding; lower all-cause and cardiac mortality; higher definite stent thrombosis"], ["HORIZONS-AMI","Bivalirudin vs UFH+GPI in STEMI","Lower major bleeding and cardiac mortality at 30 days"], ["SHOCK","Revascularization in CS-STEMI","PCI or CABG improves 6- and 12-month survival vs fibrinolysis"], ["CULPRIT-SHOCK","Culprit vs multivessel PCI in CS-STEMI","Culprit-only PCI: LOWER 30-day mortality vs immediate multivessel PCI in CS"], ["COMPLETE","Complete vs culprit-only revasc in STEMI+MVD","Complete revascularization (staged OK): reduces CV death/MI"], ["REACT","Rescue PCI after failed fibrinolysis","Rescue PCI reduces reinfarction vs conservative therapy or repeat fibrinolysis"], ["PROVE-IT TIMI 22","Atorvastatin 80mg vs pravastatin 40mg post-ACS","High-intensity statin: fewer events from 30 days; LDL target less than 70 mg/dL"], ],[35*mm,55*mm,80*mm],hc="#2d6a4f",rc=[colors.HexColor("#f0fff4"),colors.white])) story.append(PageBreak()) # PAGE 4 story.append(sec("10. STEMI REPERFUSION STRATEGY")) story.append(sp(3)) story += [ p("<b>Primary PCI (preferred):</b>",H3), p("FMC-to-balloon 90 min or less at PCI-capable hospital; 120 min or less when transfer required.",BUL), p("Symptoms 12-24h: PCI if ongoing ischemia, hemodynamic instability, or malignant arrhythmias.",BUL), p("Delayed PCI of totally occluded infarct artery more than 24h after STEMI in stable patients = Class III (no benefit).",BUL), sp(3), p("<b>STEMI Reperfusion Decision:</b>",H3)] story.append(Table([ [p("YES – FMC-to-balloon under 120 min: PRIMARY PCI\n* FMC-to-balloon 90 min (PCI center); 120 min (transfer)\n* Culprit-only PCI (unless hemodynamic compromise from non-culprit)\n* Complete revascularization acceptable: staged or index-procedure non-culprit PCI (Class IIb per 2015 update; COMPLETE trial)", S("_t1",fontSize=8.5,leading=12)), p("NO – Delay over 120 min: FIBRINOLYSIS\n* Give within 10 min of STEMI ECG diagnosis\n* TNK-tPA (single weight-based IV bolus) or Reteplase (2x10 units 30 min apart)\n* Both restore TIMI 2-3 flow in about 85%\n* Failed: less than 50% ST resolution at 60-90 min = Rescue PCI\n* Pharmacoinvasive: transfer + angio 3-24h after lysis regardless of clinical response", S("_t2",fontSize=8.5,leading=12)) ] ],colWidths=[83*mm,87*mm])) story[-1].setStyle(TableStyle([ ("BACKGROUND",(0,0),(0,0),colors.HexColor("#e8f5e9")), ("BACKGROUND",(1,0),(1,0),colors.HexColor("#fff3e0")), ("BOX",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("INNERGRID",(0,0),(-1,-1),0.5,colors.HexColor("#aaaaaa")), ("TOPPADDING",(0,0),(-1,-1),5),("BOTTOMPADDING",(0,0),(-1,-1),5), ("LEFTPADDING",(0,0),(-1,-1),6),("VALIGN",(0,0),(-1,-1),"TOP"), ])) story += [sp(4), p("EXAM PEARL: PCI survival advantage over fibrinolysis is LOST when FMC-to-balloon exceeds 120 minutes.",PEARL), p("EXAM PEARL: Pre-hospital fibrinolysis achieves 17% reduction in all-cause mortality vs hospital-based fibrinolysis.",PEARL), sp(3)] story.append(sec("11. FIBRINOLYSIS – ABSOLUTE CONTRAINDICATIONS")) story.append(sp(2)) story.append(p("Prior intracranial hemorrhage | Known cerebral vascular lesion or neoplasm | Ischemic stroke within 3 months (NOT acute ischemic stroke within 4.5h) | Intracranial or spinal surgery within 2 months | Closed head or facial trauma within 3 months | Suspected aortic dissection | Severe uncontrolled hypertension | Active bleeding or bleeding diathesis",RED)) story.append(sp(3)) story.append(sec("12. CABG IN STEMI")) story.append(sp(3)) story += [ p("<b>Class I Indications for Urgent CABG in STEMI:</b> Ongoing or recurrent ischemia; cardiogenic shock; severe HF; high-risk anatomy not amenable to PCI or after failed PCI; during repair of mechanical complications (VSD, papillary muscle rupture, free wall rupture).",BODY), p("Modern data (2000-2012, 184 patients): 1-month mortality 10.8% within 24h vs 8.9% after 24h – not significantly different. 42% went directly from cath lab to OR.",BODY), sp(3)] story.append(sec("13. CARDIOGENIC SHOCK (CS)")) story.append(sp(3)) story += [ p("<b>Definition:</b> SBP less than 90 mmHg for 30 minutes or more, OR vasopressors required to maintain SBP 90 mmHg or above WITH end-organ hypoperfusion.",BODY), p("CS when 40% or more of myocardium involved OR mechanical complication (papillary rupture, VSD, free wall rupture)",BUL), p("Incidence: approximately 8.6% of STEMI patients (NRMI registry)",BUL), p("Multivessel CAD in approximately 80% of CS patients",BUL), p("SHOCK Trial: Revascularization (PCI or CABG) improved 6-month and 12-month survival vs fibrinolysis",BUL), p("CULPRIT-SHOCK: Culprit-only PCI had LOWER 30-day mortality vs immediate multivessel PCI in CS",BUL), sp(3), p("EXAM PEARL: CULPRIT-SHOCK overturned prior practice. Do NOT perform immediate multivessel PCI in cardiogenic shock complicating STEMI. Culprit-only at index procedure is the standard of care. Stage non-culprit lesions after stabilization.",PEARL), sp(3)] story.append(sec("14. RADIAL vs FEMORAL ACCESS")) story.append(sp(3)) story.append(p("Radial access: fewer access-site bleeding and vascular complications vs femoral, with similar MACE. SAFARI-STEMI (bivalirudin approximately 90%): No difference in 30-day survival. Operators must maintain proficiency at both.",BODY)) story.append(PageBreak()) # PAGE 5 story.append(sec("15. SECONDARY PREVENTION POST-ACS")) story.append(sp(3)) story.append(tbl([ [hdr("Drug Class"),hdr("Indication"),hdr("Target / Key Notes")], ["Aspirin","ALL patients indefinitely","81 mg/day maintenance"], ["P2Y12 inhibitor (prasugrel or ticagrelor preferred over clopidogrel)","ALL ACS for 12 months","6 months acceptable if high bleeding risk"], ["High-intensity statin (atorvastatin 80 mg)","ALL ACS patients","LDL target less than 70 mg/dL (PROVE-IT TIMI 22)"], ["PCSK9 inhibitors (alirocumab or evolocumab)","LDL not at target on statin","ODYSSEY OUTCOMES: alirocumab reduces MACE after ACS"], ["Beta-blocker (metoprolol, bisoprolol, carvedilol)","LVEF less than 40%, HF, arrhythmias","Long-acting; within 24h of admission"], ["ACEI or ARB","HF, LVEF less than 40%, anterior MI, DM, HTN","Start within 24h if no contraindication"], ["Aldosterone antagonist (eplerenone)","LVEF 40% or less PLUS DM or clinical HF","Avoid if Cr more than 2.5 (men) / 2.0 (women) or K more than 5"], ],[50*mm,55*mm,68*mm],hc="#2d6a4f",rc=[colors.HexColor("#f0fff4"),colors.white])) story += [sp(3), p("<b>Multivessel CAD in STEMI:</b>",H3), p("About 50% of STEMI patients have additional significant non-culprit stenoses",BUL), p("COMPLETE Trial: Complete revascularization (staged or index-procedure) reduces CV death/MI vs culprit-only PCI",BUL), p("2015 ACC/AHA update: Non-culprit PCI in STEMI changed from Class III (harm) to Class IIb",BUL), sp(3)] story.append(sec("LAST-MINUTE REVISION TABLE",col="#b21f1f")) story.append(sp(3)) story.append(tbl([ [hdr("Topic"),hdr("Must-Know Fact")], ["Wellens Syndrome","Deep T-inversion or biphasic T in V2-V3, near-isoelectric ST = proximal LAD critical stenosis. Never stress test!"], ["ST elevation aVR + 6+ lead ST depression","Left main or triple vessel disease"], ["STEMI V2-V3 criteria","Men older than 40yr: 2mm; Men 40yr or younger: 2.5mm; Women: 1.5mm"], ["FMC-to-balloon","90 min (PCI center); 120 min (transfer); delay over 120 min negates PCI benefit over fibrinolysis"], ["Fibrinolysis timing","Within 10 min of ECG diagnosis of STEMI. Absolute contraindications: prior ICH, stroke within 3 months, etc."], ["Failed fibrinolysis","Less than 50% ST resolution at 60-90 min. Next step: Rescue PCI (Class IIa)"], ["Pharmacoinvasive strategy","Fibrinolysis at non-PCI center then transfer for angiography 3-24h after lysis"], ["P2Y12 hold pre-CABG","Prasugrel: at least 7 days. Clopidogrel and ticagrelor: at least 5 days"], ["Cardiogenic shock definition","SBP less than 90 for 30+ min OR vasopressor-dependent WITH end-organ hypoperfusion"], ["CS myocardium threshold","40% or more involved OR mechanical complication (VSD, papillary rupture, free wall rupture)"], ["CULPRIT-SHOCK","Culprit-only PCI = lower 30-day mortality vs immediate multivessel PCI in CS-STEMI"], ["COMPLETE trial","Complete revasc (staged OK): reduces CV death/MI in STEMI + multivessel disease"], ["LDL target post-ACS","Less than 70 mg/dL with atorvastatin 80 mg (PROVE-IT TIMI 22)"], ["O2 in ACS","Only if SpO2 less than 90% or respiratory distress. Not routine!"], ["Prasugrel in NSTEMI","Give ONLY after coronary anatomy defined. In STEMI: OK before angiography."], ["Bivalirudin advantage","Reduces bleeding AND cardiac mortality; increases stent thrombosis risk"], ["Fondaparinux at PCI","Must add UFH at PCI to prevent catheter thrombosis"], ["HEART score less than 3","0.2% 30-day MACE. Safe for early discharge from ER."], ["GRACE score use","Less than 109 = low risk = ischemia-guided strategy acceptable. Predicts 6-month outcomes."], ["Pre-hospital fibrinolysis","17% reduction in all-cause mortality vs hospital-based fibrinolysis"], ],[52*mm,118*mm],hc="#b21f1f",rc=[colors.HexColor("#fff5f5"),colors.white])) story.append(sp(4)) story.append(sec("PROBABLE INI SS CET QUESTIONS (Teaching Notes)",col="#2d6a4f")) story.append(sp(3)) for q in [ "1. Ticagrelor used in NSTEMI patient needing CABG. When to stop ticagrelor? Answer: At least 5 days before surgery. Prasugrel requires at least 7 days.", "2. NSTEMI patient with prior TIA 6 months ago. Which P2Y12 inhibitor is absolutely contraindicated? Answer: Prasugrel.", "3. ECG shows deep T-wave inversions in V2 and V3 with near-isoelectric ST. Diagnosis and next step? Answer: Wellens Syndrome; urgent angiography; do NOT stress test.", "4. STEMI at non-PCI hospital. Transfer time 130 minutes. Next step? Answer: Fibrinolysis (delay over 120 min negates PCI benefit over immediate fibrinolysis).", "5. STEMI with cardiogenic shock and multivessel CAD at primary PCI. Which strategy reduces 30-day mortality? Answer: Culprit-only PCI (CULPRIT-SHOCK trial).", "6. Which anticoagulant for NSTEMI requires UFH supplementation at PCI to prevent catheter thrombosis? Answer: Fondaparinux.", "7. ISAR-REACT 5: Compared prasugrel vs ticagrelor. Key finding? Answer: Prasugrel superior: 2.4% absolute reduction in MACE at 1 year; similar major bleeding; lower stent thrombosis.", "8. HEART score 8 in a 60-year-old with chest pain. Best next action? Answer: Admit for early invasive strategy (score 7-10 = 3% 30-day MACE = high risk).", "9. Fibrinolysis given for STEMI. At 75 min: ST elevation unchanged and pain persists. Next step? Answer: Rescue PCI (failed fibrinolysis defined as less than 50% ST resolution at 60-90 min).", "10. ST elevation in aVR plus ST depression in 6 or more precordial leads. Most likely culprit vessel? Answer: Left main coronary artery or triple vessel disease.", ]: story.append(p(" " + q, BUL)) story.append(sp(3)) story.append(p("<i>Source: Chapter 57, Piana and Bagai – Management of Acute Coronary Syndromes. Teaching notes prepared for INI SS CET CVTS preparation. July 2026.</i>",SMALL)) doc.build(story) print("SUCCESS: High Yield Notes PDF generated!") PYEOF echo "Exit: $?"