Latest guidelines for treatment of ACS, NSTEMI, STEMI

Reading File
Reading File
Finding Sources
Finding Sources
Searching PubMed

acute coronary syndrome AND treatment

Searching the Web

2025 ACC AHA acute coronary syndromes guideline STEMI NSTEMI recommendations

Searching the Web

2023 ESC Guidelines acute coronary syndromes antithrombotic recommendations STEMI NSTEMI

Reading Web Page

https://www.acc.org/Latest-in-Cardiology/Journal-Scans/2025/…

Finding Sources
Searching PubMed

acute coronary syndrome

Current guideline basis

The most current major US guideline is the 2025 ACC/AHA/ACEP/NAEMSP/SCAI Guideline for Acute Coronary Syndromes, which combines STEMI, NSTEMI, and unstable angina guidance. The comparable European reference is the 2023 ESC ACS guideline. A concise US guideline summary is available from the ACC.
This is an educational summary, not an order set. Suspected ACS requires emergency assessment and local protocol activation.

1. Immediate approach for all suspected ACS

  1. ECG within 10 minutes, repeat ECGs if symptoms continue or the initial tracing is non-diagnostic.
  2. Use high-sensitivity troponin with a validated serial algorithm plus clinical assessment.
  3. Continuous monitoring, IV access, focused examination, and rapid assessment for shock, acute heart failure, arrhythmia, mechanical complication, or aortic dissection.
  4. Give aspirin promptly, unless there is true allergy or active major bleeding.
  5. Use oxygen only for hypoxemia or respiratory distress, rather than routinely.
  6. Give nitrates for ongoing ischemic pain/hypertension when appropriate. Avoid with hypotension, suspected right-ventricular infarction, or recent phosphodiesterase-5 inhibitor use.
  7. Start anticoagulation and choose a P2Y12 inhibitor based on whether STEMI or NSTE-ACS is present and on the planned invasive strategy.
  8. Initiate high-intensity statin therapy in all ACS patients unless contraindicated.

2. STEMI: reperfusion is the priority

Preferred strategy: primary PCI

  • Activate the catheterization laboratory immediately for STEMI or a STEMI equivalent with ongoing ischemia.
  • Primary PCI is preferred if it can be delivered rapidly. Systems should aim for a first-medical-contact to device time of about 90 minutes for direct presenters and generally no more than 120 minutes when transfer is needed.
  • Use radial access when feasible to lower bleeding and vascular complications.
  • The 2025 US guideline gives a Class I recommendation for intravascular imaging guidance during PCI and supports complete revascularization in appropriate multivessel disease, with timing and method individualized. ACC guideline summary

If PCI cannot be delivered on time

  • For a patient with STEMI symptom onset generally within 12 hours, give fibrinolysis if there is no contraindication and timely PCI cannot be achieved.
  • Transfer immediately to a PCI-capable center after lysis.
  • Perform rescue PCI for failed reperfusion, recurrent ischemia, shock, severe heart failure, or unstable arrhythmia.
  • Do not fibrinolyse NSTEMI or unstable angina.

Antithrombotic treatment in STEMI

  • Aspirin plus a P2Y12 inhibitor is standard.
  • In patients undergoing PCI, ticagrelor or prasugrel is generally preferred over clopidogrel when there is no contraindication.
  • Use procedural anticoagulation, commonly unfractionated heparin; bivalirudin or enoxaparin may be appropriate in selected settings.
  • Glycoprotein IIb/IIIa inhibitors are generally for bailout, such as large thrombus burden or no-reflow, not routine upstream use.

3. NSTEMI and unstable angina: risk-stratify, then choose invasive timing

NSTEMI differs from STEMI because there is no routine fibrinolysis and no automatic immediate cath for every patient.

Immediate invasive angiography

Perform angiography as soon as possible, often within about 2 hours, for very-high-risk features:
  • Hemodynamic instability or cardiogenic shock
  • Recurrent or refractory chest pain despite treatment
  • Life-threatening arrhythmia or cardiac arrest
  • Acute heart failure due to ongoing ischemia
  • Mechanical complication
  • Recurrent dynamic ST-segment changes, especially transient ST elevation

Early invasive strategy

Perform angiography within 24 hours for high-risk NSTE-ACS, such as:
  • Confirmed NSTEMI with a significant troponin rise/fall
  • Dynamic ST/T-wave changes
  • High GRACE risk score
  • Recurrent symptoms or clinical instability despite initial therapy

Selective or delayed approach

For lower-risk patients without recurrent ischemia, use observation, serial troponins/ECGs, and noninvasive ischemia or coronary assessment as appropriate.

Antiplatelet and anticoagulant approach in NSTE-ACS

  • Aspirin plus a P2Y12 inhibitor is standard for confirmed ACS.
  • In patients proceeding to PCI, ticagrelor or prasugrel is generally favored over clopidogrel when suitable.
  • Routine P2Y12 pretreatment before coronary anatomy is known is not recommended when early angiography is planned, because it can increase bleeding and may complicate urgent CABG.
  • Provide parenteral anticoagulation during the acute phase. Drug selection depends on the anticipated invasive strategy, renal function, and bleeding risk.

4. DAPT duration and bleeding-risk tailoring

  • Default after ACS is dual antiplatelet therapy for at least 12 months in patients without high bleeding risk.
  • Shorter DAPT, early aspirin discontinuation with P2Y12 monotherapy, or de-escalation to clopidogrel may be considered when bleeding risk is high.
  • Longer therapy can be considered for selected patients with high ischemic risk and low bleeding risk.
  • Use a proton-pump inhibitor when gastrointestinal bleeding risk is relevant.
The 2025 ACC/AHA summary specifically emphasizes 12 months of DAPT as the default in low-bleeding-risk ACS patients.

5. Cardiogenic shock and complications

  • Prompt revascularization of the culprit vessel is central in MI with cardiogenic shock.
  • Escalate rapidly to a shock team or PCI-capable center when available.
  • Mechanical circulatory support is selective, not routine. The 2025 guideline supports use of a microaxial flow pump in carefully selected MI-related shock patients, with close attention to vascular-access complications and weaning.
  • Assess for acute mitral regurgitation, ventricular septal rupture, free-wall rupture, ventricular arrhythmia, and right-ventricular infarction.

6. Secondary prevention before discharge

  • High-intensity statin for all ACS patients. If LDL-C remains at or above 70 mg/dL (1.8 mmol/L) on maximally tolerated statin, add a nonstatin agent such as ezetimibe, PCSK9-targeting therapy, inclisiran, or bempedoic acid according to patient factors and access. ACC summary
  • Assess left-ventricular function.
  • Use ACE inhibitor/ARB when indicated, especially with LVEF reduction, heart failure, hypertension, diabetes, or chronic kidney disease.
  • Use beta-blockers in patients with reduced LVEF, heart failure, arrhythmia, or another indication. Avoid early use in shock, acute decompensated heart failure, marked bradycardia, or high-grade AV block.
  • Add mineralocorticoid-receptor antagonist when LVEF is reduced with heart failure or diabetes, if renal function and potassium permit.
  • Prescribe sublingual nitroglycerin where appropriate, smoking cessation, blood-pressure/diabetes management, vaccination as indicated, and cardiac rehabilitation.
  • Recheck lipids about 4 to 8 weeks after starting or changing lipid therapy.

Key differences to remember

IssueSTEMINSTEMI / unstable angina
Main goalImmediate reperfusionRisk-based invasive strategy
Cath timingImmediate primary PCIImmediate only if very-high-risk; early within 24 h if high-risk
FibrinolysisConsider if timely PCI unavailable and eligibleNot indicated
AntithromboticsDAPT + procedural anticoagulationDAPT + anticoagulation, avoid routine preloading if early angiography planned
RevascularizationPrimary PCI, then consider complete revascularizationAngiography and revascularization based on risk/anatomy
Recent guideline literature includes Kumbhani et al. (2025), “2025 Acute Coronary Syndromes Guideline-at-a-Glance,” JACC, PMID: 40013745.

In detail with dosing

Reading File
Finding Sources
Finding Sources
Finding Sources
Searching PubMed

acute coronary syndromes guideline

Searching the Web

2025 ACC AHA acute coronary syndrome guideline dosing aspirin ticagrelor prasugrel heparin tenecteplase PDF

Searching the Web

2023 ESC acute coronary syndrome guideline drug doses table aspirin ticagrelor prasugrel unfractionated heparin enoxaparin tenecteplase

Adult ACS treatment with commonly used doses

For trained clinicians and hospital protocols. Doses below are typical adult guideline doses, but must be individualized for age, weight, renal function, bleeding risk, prior anticoagulant use, planned PCI/CABG, and local formulary. Do not use this as a substitute for an ACS order set or senior cardiology input.
The current US reference is the 2025 ACC/AHA/ACEP/NAEMSP/SCAI ACS guideline. It covers STEMI, NSTEMI, and unstable angina together. It recommends DAPT for ACS, with ticagrelor or prasugrel preferred to clopidogrel for PCI when suitable, and 12 months of DAPT as the default if bleeding risk is not high. See the AHA key points.

1. First 10 minutes: suspected ACS

Essential actions

  • 12-lead ECG within 10 minutes, repeat if ongoing symptoms or initial ECG non-diagnostic.
  • Continuous ECG and SpO₂ monitoring, IV access, serial high-sensitivity troponins.
  • Activate primary PCI pathway immediately for STEMI or equivalent.
  • Assess for aortic dissection, active bleeding, shock, acute heart failure, and right-ventricular infarction before giving antithrombotics/nitrates.

Immediate symptom-directed treatment

DrugDoseKey cautions
Aspirin162-325 mg PO, chewed, immediately, then 81 mg PO dailyAvoid only with true hypersensitivity or active major bleeding.
OxygenGive only if SpO₂ <90%, respiratory distress, or other hypoxemiaRoutine oxygen in normoxemia is not recommended.
Nitroglycerin SL0.4 mg SL every 5 min, maximum 3 dosesAvoid in hypotension, suspected RV infarction, severe aortic stenosis, or phosphodiesterase-5 inhibitor use: sildenafil/vardenafil within 24 h, tadalafil within 48 h.
Nitroglycerin IVStart 5-10 micrograms/min, titrate every 3-5 min to pain/BP responseStop or reduce if hypotension, headache, or reflex tachycardia.
Morphine IV2-4 mg IV, may repeat in small increments for severe pain unrelieved by nitratesUse sparingly. Can cause hypotension, respiratory depression, and may delay oral P2Y12 absorption.
Metoprolol tartrate IVSelected stable patients: 5 mg IV every 5 min for 3 dosesAvoid with acute HF, shock/low-output state, bradycardia, AV block, severe asthma/bronchospasm. Oral beta-blocker is often safer initially.
Do not give NSAIDs other than aspirin in ACS because of increased cardiovascular risk.

2. Antiplatelet treatment

Aspirin plus a P2Y12 inhibitor

A. Ticagrelor

  • Loading dose: 180 mg PO once
  • Maintenance: 90 mg PO twice daily for the first 12 months after ACS
  • Then reassess need for continued therapy and dose strategy.
Use: Preferred P2Y12 inhibitor in many patients with ACS undergoing PCI.
Avoid/caution
  • Active bleeding
  • Prior intracranial hemorrhage
  • Severe hepatic impairment
  • Can cause dyspnea and bradyarrhythmia
  • Avoid maintenance aspirin doses above 100 mg/day
  • Less often used with fibrinolysis, where clopidogrel remains the usual option.

B. Prasugrel

  • Loading dose: 60 mg PO once
  • Maintenance: 10 mg PO once daily
  • If body weight <60 kg: 5 mg PO once daily maintenance.
Use: ACS patients proceeding to PCI, usually after coronary anatomy is known.
Do not use
  • Previous stroke or TIA
  • Active pathological bleeding
Generally avoid or use only after specialist assessment
  • Age ≥75 years, because bleeding risk is higher. A 5 mg dose may be considered in selected high-ischemic-risk cases.

C. Clopidogrel

  • PCI loading dose: 600 mg PO once, then 75 mg PO once daily
  • Medical management or when a 300 mg load is selected: 300 mg PO once, then 75 mg once daily
  • STEMI treated with fibrinolysis:
    • Age <75 years: 300 mg PO once, then 75 mg daily
    • Age ≥75 years: no loading dose, start 75 mg PO daily
Use:
  • Fibrinolysis
  • Need for oral anticoagulation after PCI
  • High bleeding risk or contraindication/intolerance to ticagrelor/prasugrel
  • True aspirin allergy, as the principal oral antiplatelet agent

P2Y12 timing in NSTEMI

For NSTEMI planned for early angiography within 24 hours, do not routinely pre-load a P2Y12 inhibitor before knowing coronary anatomy. If angiography will be delayed beyond 24 hours, upstream clopidogrel or ticagrelor may be considered in selected patients. This is specifically highlighted in the 2025 AHA guideline summary.

3. Anticoagulation

Do not combine anticoagulants routinely. Select one strategy based on STEMI/NSTEMI, PCI, fibrinolysis, renal function, and bleeding risk.

A. Unfractionated heparin, UFH

During primary PCI

  • 70-100 units/kg IV bolus if no GP IIb/IIIa inhibitor is planned.
  • 50-70 units/kg IV bolus if a GP IIb/IIIa inhibitor is used.
  • Adjust further doses to procedural activated clotting time, ACT, per cath-lab protocol.

NSTEMI/unstable angina before or without immediate PCI

  • 60 units/kg IV bolus, maximum 4,000 units
  • Then 12 units/kg/hour IV infusion, maximum initial rate 1,000 units/hour
  • Titrate to local aPTT or anti-Xa target, commonly aPTT about 1.5-2 times control.

STEMI with fibrinolysis

  • 60 units/kg IV bolus, maximum 4,000 units
  • Then 12 units/kg/hour, maximum 1,000 units/hour
  • Continue typically for 48 hours or until revascularization, with aPTT-guided adjustment.
Monitor: aPTT or anti-Xa, hemoglobin, platelets, overt bleeding. Consider HIT if platelet count falls substantially, typically >50% from baseline.

B. Enoxaparin

NSTEMI/unstable angina

  • 1 mg/kg SC every 12 hours
  • If CrCl <30 mL/min: 1 mg/kg SC every 24 hours

STEMI with fibrinolysis

Age <75 years
  • 30 mg IV bolus once, then
  • 1 mg/kg SC every 12 hours
  • Maximum 100 mg for each of the first two SC doses.
Age ≥75 years
  • No IV bolus
  • 0.75 mg/kg SC every 12 hours
  • Maximum 75 mg for each of the first two SC doses.
CrCl <30 mL/min
  • Use 1 mg/kg SC every 24 hours. Avoid accumulation and reassess bleeding risk carefully.

If proceeding to PCI after enoxaparin

  • If last SC dose was within 8 hours, generally no additional dose.
  • If last dose was 8-12 hours earlier, give 0.3 mg/kg IV enoxaparin at PCI.
  • Avoid switching repeatedly between UFH and enoxaparin unless there is a clear clinical reason.

C. Fondaparinux

NSTEMI/unstable angina

  • 2.5 mg SC once daily
It has a lower bleeding risk in many NSTE-ACS patients, particularly if a conservative approach is used.

Important PCI warning

Do not use fondaparinux alone during PCI because of catheter thrombosis risk. If the patient undergoes PCI, give additional procedural UFH or bivalirudin.

STEMI receiving fibrinolysis, where used

  • 2.5 mg IV once, then 2.5 mg SC once daily.
Avoid: severe renal impairment, usually CrCl <30 mL/min.

D. Bivalirudin, PCI option

  • 0.75 mg/kg IV bolus
  • Then 1.75 mg/kg/hour IV infusion during PCI
  • Continue up to 4 hours after PCI only when indicated by procedural/clinical context.
Renal adjustment: reduce infusion rate in severe renal impairment according to local protocol. It may be selected where bleeding or HIT is a major concern.

4. STEMI: reperfusion and dosing

A. Primary PCI, preferred reperfusion

Primary PCI is preferred when it can be performed rapidly, generally within about 120 minutes of first medical contact when transfer is required.

STEMI antithrombotic regimen for primary PCI

  1. Aspirin 162-325 mg chewed, then 81 mg daily
  2. One P2Y12 inhibitor:
    • Ticagrelor 180 mg, then 90 mg twice daily, or
    • Prasugrel 60 mg, then 10 mg daily if eligible, or
    • Clopidogrel 600 mg, then 75 mg daily
  3. UFH 70-100 units/kg IV, or another selected PCI anticoagulant.
Radial access is preferred when feasible to lower bleeding and vascular complications. The 2025 guideline also recommends intravascular imaging to guide PCI and supports complete revascularization in suitable multivessel ACS. See the ACC synopsis.

B. Fibrinolysis

Use only if:
  • STEMI symptom onset is usually within 12 hours
  • Primary PCI cannot be provided within an appropriate timeframe
  • There is no absolute contraindication
  • The patient can be transferred immediately to a PCI center after lysis.
Never use fibrinolysis for NSTEMI or unstable angina.

Tenecteplase, TNK

Give as a single IV bolus over 5 seconds, weight-based:
WeightTenecteplase dose
<60 kg30 mg
60-69 kg35 mg
70-79 kg40 mg
80-89 kg45 mg
≥90 kg50 mg
In patients ≥75 years receiving a pharmaco-invasive strategy, many protocols use a half-dose tenecteplase because of intracranial hemorrhage risk. Follow the governing local STEMI protocol.

Alteplase, accelerated regimen

Total dose: 100 mg over 90 minutes:
  1. 15 mg IV bolus
  2. 0.75 mg/kg over 30 minutes, maximum 50 mg
  3. 0.5 mg/kg over 60 minutes, maximum 35 mg

Reteplase

  • 10 units IV bolus over 2 minutes
  • Repeat 10 units IV bolus 30 minutes later

Essential fibrinolysis contraindications

Do not give fibrinolysis with:
  • Any prior intracranial hemorrhage
  • Known intracranial vascular lesion or malignant intracranial tumor
  • Ischemic stroke within 3 months
  • Suspected aortic dissection
  • Active bleeding or significant bleeding diathesis
  • Significant closed head/facial trauma within 3 months
  • Severe uncontrolled hypertension, such as persistent BP >180/110 mmHg, depending on context/protocol
After fibrinolysis:
  • Transfer to PCI center immediately.
  • Perform rescue PCI for failed reperfusion, persistent pain/ST elevation, shock, acute HF, or malignant arrhythmia.
  • If reperfusion appears successful, proceed with early routine angiography/PCI in a pharmaco-invasive strategy.

5. NSTEMI/unstable angina: invasive timing and drugs

Immediate invasive strategy

Proceed urgently, usually within about 2 hours, for:
  • Cardiogenic shock or hemodynamic instability
  • Refractory/recurrent ischemic chest pain
  • Life-threatening arrhythmia or cardiac arrest
  • Acute heart failure from ongoing ischemia
  • Mechanical MI complication
  • Recurrent dynamic ST changes, especially transient ST elevation

Early invasive strategy, within 24 hours

Appropriate for high-risk patients, including:
  • Confirmed NSTEMI with rise/fall in troponin
  • Dynamic ST/T changes
  • High GRACE risk score
  • Recurrent symptoms despite medical treatment

Typical NSTEMI regimen

  1. Aspirin: 162-325 mg chewed, then 81 mg daily
  2. Anticoagulant:
    • UFH: 60 units/kg bolus, then 12 units/kg/hour, or
    • Enoxaparin: 1 mg/kg SC q12h, or
    • Fondaparinux: 2.5 mg SC daily if not going immediately to PCI
  3. P2Y12 selection/timing:
    • If cath is immediate or early, defer routine pretreatment.
    • At PCI, use ticagrelor 180 mg, prasugrel 60 mg if eligible, or clopidogrel 600 mg.
  4. High-intensity statin promptly.

6. GP IIb/IIIa inhibitors: bailout, not routine

Consider mainly for large thrombus burden, no-reflow, or other catheter-lab bailout situations.

Eptifibatide

  • 180 micrograms/kg IV bolus
  • Repeat 180 micrograms/kg IV after 10 minutes
  • Then 2 micrograms/kg/min IV infusion, often for up to 18 hours
  • If CrCl <50 mL/min: reduce infusion to 1 microgram/kg/min

Tirofiban

  • 25 micrograms/kg IV over 3 minutes
  • Then 0.15 micrograms/kg/min IV infusion, often up to 18 hours
  • Reduce infusion by 50% in significant renal impairment, commonly CrCl <60 mL/min.

7. Early secondary prevention and discharge doses

TherapyTypical dose
Aspirin81 mg PO daily indefinitely, unless contraindicated
Ticagrelor90 mg PO twice daily, generally 12 months after ACS
Prasugrel10 mg PO daily or 5 mg daily if <60 kg, generally 12 months if appropriate
Clopidogrel75 mg PO daily, generally 12 months after ACS
Atorvastatin40-80 mg PO daily, commonly 80 mg
Rosuvastatin20-40 mg PO daily
Metoprolol succinateOften begin 12.5-25 mg PO daily, titrate if LVEF reduction/HF/arrhythmia/hypertension and stable
LisinoprilOften 2.5-5 mg PO daily, titrate based on BP, creatinine, and potassium
LosartanOften 25-50 mg PO daily if ACE inhibitor is not tolerated
Eplerenone25 mg PO daily, increase to 50 mg daily if LVEF ≤40% plus HF or diabetes and potassium/renal function permit
Pantoprazole40 mg PO daily if GI-bleeding risk while on DAPT

Lipid management

  • Start high-intensity statin during admission.
  • Recheck lipids in 4-8 weeks after initiation or intensification.
  • If LDL-C remains ≥70 mg/dL (1.8 mmol/L) on maximally tolerated statin, add lipid-lowering therapy, typically ezetimibe 10 mg daily, then consider PCSK9-targeting therapy or other options as appropriate. The ACC guideline summary lists ezetimibe, evolocumab, alirocumab, inclisiran, and bempedoic acid as options.

DAPT and bleeding risk

  • Default: 12 months of aspirin plus a P2Y12 inhibitor after ACS if bleeding risk is not high.
  • For higher bleeding risk after PCI, options include shortened DAPT and selected transition to P2Y12 monotherapy.
  • Give a PPI in patients at risk of GI bleeding.
  • If long-term oral anticoagulation is required, use clopidogrel as the P2Y12 agent in most cases and stop aspirin after 1-4 weeks post-PCI when clinically appropriate, rather than continuing prolonged triple therapy. AHA key recommendations

Must-not-miss safety points

  • No fibrinolytic therapy in NSTEMI/unstable angina.
  • Do not give nitrates with hypotension, RV infarction, or recent PDE-5 inhibitor use.
  • Do not use prasugrel with prior stroke/TIA.
  • Adjust enoxaparin and several antithrombotics in renal impairment.
  • Do not use fondaparinux as the only anticoagulant during PCI.
  • Assess hemoglobin, platelet count, renal function, and bleeding risk before and during antithrombotic therapy.
  • Refer every suitable patient to cardiac rehabilitation, smoking cessation support, and structured follow-up.
Recent guideline reference: Kumbhani et al. (2025), “2025 Acute Coronary Syndromes Guideline-at-a-Glance,” Journal of the American College of Cardiology, PMID: 40013745.

Create a one-page ACS dosing quick-reference PDF

Reading File
Reading File
Browsing Directory

~/

Finding Sources
Searching PubMed

acute coronary syndrome

Searching the Web

2025 ACC AHA ACS guideline top things to know DAPT statin PCI

Running Command

mkdir -p "/tmp/workspace/acs-dosing-quick-reference/src" "/tmp/workspace/acs-dosing-quick-reference/output" && python - <<'PY' from reportlab.lib.pagesizes import letter from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_LEFT, TA_CENTER from reportlab.lib.units import inch from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, KeepTogether from reportlab.pdfbase.pdfmetrics import stringWidth from reportlab.lib.colors import HexColor from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.pagesizes import landscape out='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf' PAGE_W, PAGE_H = landscape(letter) margin=0.32*inch def P(text, style): return Paragraph(text, style) navy=HexColor('#103B5C'); blue=HexColor('#196B99'); teal=HexColor('#087E8B'); lightblue=HexColor('#EAF4F8'); pale=HexColor('#F5F8FA'); red=HexColor('#A32020'); amber=HexColor('#FFF3D6'); gray=HexColor('#45515A') styles=getSampleStyleSheet() base=ParagraphStyle('base', parent=styles['Normal'], fontName='Helvetica', fontSize=6.35, leading=7.45, textColor=HexColor('#17232B'), spaceAfter=0) small=ParagraphStyle('small', parent=base, fontSize=5.75, leading=6.65) tiny=ParagraphStyle('tiny', parent=base, fontSize=5.05, leading=5.85) head=ParagraphStyle('head', parent=styles['Heading1'], fontName='Helvetica-Bold', fontSize=16.5, leading=17, textColor=colors.white, spaceAfter=0) subhead=ParagraphStyle('subhead', parent=base, fontSize=6.7, leading=7.7, textColor=colors.white) section=ParagraphStyle('section', parent=base, fontName='Helvetica-Bold', fontSize=8.2, leading=9, textColor=colors.white, alignment=TA_LEFT) colhead=ParagraphStyle('colhead', parent=base, fontName='Helvetica-Bold', fontSize=6.1, leading=6.8, textColor=navy) warn=ParagraphStyle('warn', parent=base, fontName='Helvetica-Bold', fontSize=5.8, leading=6.7, textColor=red) foot=ParagraphStyle('foot', parent=base, fontSize=4.8, leading=5.6, textColor=gray) class HeaderFooterDoc(SimpleDocTemplate): pass def section_bar(title, color=navy): t=Table([[P(title,section)]], colWidths=[10.36*inch], rowHeights=[0.20*inch]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),color),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),4),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),1)])) return t def table(rows, widths, header=True, font=base): data=[] for r,row in enumerate(rows): data.append([P(x, colhead if (r==0 and header) else font) for x in row]) t=Table(data, colWidths=widths, repeatRows=1 if header else 0, hAlign='LEFT') ts=[('VALIGN',(0,0),(-1,-1),'TOP'),('GRID',(0,0),(-1,-1),0.22,HexColor('#C5D5DF')),('LEFTPADDING',(0,0),(-1,-1),3.3),('RIGHTPADDING',(0,0),(-1,-1),3.3),('TOPPADDING',(0,0),(-1,-1),2.1),('BOTTOMPADDING',(0,0),(-1,-1),2.1)] if header: ts += [('BACKGROUND',(0,0),(-1,0),lightblue),('LINEBELOW',(0,0),(-1,0),0.6,blue)] for r in range(1 if header else 0,len(rows)): if r%2==0: ts.append(('BACKGROUND',(0,r),(-1,r),pale)) t.setStyle(TableStyle(ts)); return t doc=SimpleDocTemplate(out,pagesize=landscape(letter),rightMargin=margin,leftMargin=margin,topMargin=margin,bottomMargin=0.27*inch) story=[] # Header header_tbl=Table([[P('ACS ADULT DOSING QUICK REFERENCE',head), P('<b>STEMI • NSTEMI • Unstable Angina</b><br/>2025 ACC/AHA aligned | Adult hospital use',subhead)]], colWidths=[6.5*inch,3.86*inch], rowHeights=[0.49*inch]) header_tbl.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),navy),('VALIGN',(0,0),(-1,-1),'MIDDLE'),('LEFTPADDING',(0,0),(0,0),10),('RIGHTPADDING',(0,0),(0,0),5),('LEFTPADDING',(1,0),(1,0),5),('RIGHTPADDING',(1,0),(1,0),8),('ALIGN',(1,0),(1,0),'RIGHT')])) story += [header_tbl, Spacer(1,4)] # urgent safety banner alert=Table([[P('<b>Use local ACS protocol and cardiology/cath-lab direction.</b> Verify diagnosis, weight, creatinine clearance, platelets, active bleeding, prior anticoagulant exposure, and contraindications before dosing. <b>Never fibrinolyse NSTEMI/unstable angina.</b>',warn)]],colWidths=[10.36*inch]) alert.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),amber),('BOX',(0,0),(-1,-1),0.45,HexColor('#D2A13A')),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),6),('TOPPADDING',(0,0),(-1,-1),3),('BOTTOMPADDING',(0,0),(-1,-1),3)])) story += [alert,Spacer(1,4)] # Top two cols left_w=5.1*inch; right_w=5.1*inch initial=table([ ['Drug','Adult dose','Key safety points'], ['Aspirin','162-325 mg <b>chewed PO once</b>, then 81 mg PO daily','Avoid only for true allergy or active major bleeding.'], ['Oxygen','Only if SpO₂ <90%, respiratory distress, or hypoxemia','Do not give routinely if normoxemic.'], ['Nitroglycerin','0.4 mg SL q5 min, max 3 doses. IV: 5-10 micrograms/min, titrate','Avoid hypotension, RV infarct, severe AS, sildenafil/vardenafil <24 h, tadalafil <48 h.'], ['Morphine','2-4 mg IV, small repeat increments if severe refractory pain','Use sparingly: hypotension, respiratory depression, delayed P2Y12 absorption.'], ['Atorvastatin / rosuvastatin','Atorvastatin 40-80 mg PO daily <b>or</b> rosuvastatin 20-40 mg PO daily','Start high-intensity statin during admission.'] ],[0.92*inch,1.67*inch,2.51*inch],font=small) p2y=table([ ['P2Y12 inhibitor','Load','Maintenance / avoid'], ['Ticagrelor','180 mg PO once','90 mg PO BID. Avoid prior ICH, active bleed, severe hepatic impairment.'], ['Prasugrel','60 mg PO once','10 mg daily. 5 mg daily if <60 kg. <b>Do not use</b> prior stroke/TIA; generally avoid age ≥75 y. PCI use.'], ['Clopidogrel','PCI: 600 mg PO once. Fibrinolysis: <75 y: 300 mg once; ≥75 y: no load.','75 mg PO daily. Preferred with fibrinolysis or if long-term OAC is required.'], ['DAPT duration','Aspirin + oral P2Y12','Default 12 months if not high bleeding risk. In high bleeding risk, use a tailored, shorter strategy.'] ],[1.25*inch,1.4*inch,2.45*inch],font=small) left=KeepTogether([section_bar('1. IMMEDIATE SUPPORTIVE THERAPY'),initial]) right=KeepTogether([section_bar('2. ANTIPLATELET THERAPY'),p2y]) top=Table([[left,right]],colWidths=[5.1*inch,5.1*inch],hAlign='LEFT') top.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),0),('RIGHTPADDING',(0,0),(-1,-1),0),('TOPPADDING',(0,0),(-1,-1),0),('BOTTOMPADDING',(0,0),(-1,-1),0)])) story += [top,Spacer(1,4)] # antithrombotic story += [section_bar('3. ANTICOAGULATION'),table([ ['Agent / situation','Dose','Renal / procedural notes'], ['UFH: NSTEMI/UA or STEMI fibrinolysis','60 units/kg IV bolus, max 4,000 units; then 12 units/kg/h IV, max initial 1,000 units/h','Titrate aPTT or anti-Xa. Usually continue 48 h or until revascularization for fibrinolysis. Monitor platelets/HIT.'], ['UFH: primary PCI','70-100 units/kg IV bolus if no GP IIb/IIIa; 50-70 units/kg if GP IIb/IIIa used','Cath lab adjusts to ACT.'], ['Enoxaparin: NSTEMI/UA','1 mg/kg SC q12h','CrCl <30 mL/min: 1 mg/kg SC q24h.'], ['Enoxaparin: STEMI + fibrinolysis','<75 y: 30 mg IV bolus then 1 mg/kg SC q12h (max 100 mg first 2 doses). ≥75 y: no IV bolus, 0.75 mg/kg SC q12h (max 75 mg first 2).','CrCl <30: 1 mg/kg SC q24h. PCI: if last SC dose 8-12 h ago, 0.3 mg/kg IV.'], ['Fondaparinux: NSTEMI/UA','2.5 mg SC daily','Avoid if CrCl <30. <b>Never use alone during PCI</b>: add procedural UFH or bivalirudin.'], ['Bivalirudin: PCI','0.75 mg/kg IV bolus, then 1.75 mg/kg/h infusion during PCI','Adjust infusion in severe renal impairment per local protocol.'] ],[1.58*inch,4.1*inch,4.68*inch],font=small),Spacer(1,4)] # Lower two cols stemi=table([ ['STEMI route','Action / dose'], ['Primary PCI','Preferred. Aspirin + P2Y12 load + procedural anticoagulant. Aim for prompt reperfusion.'], ['Fibrinolysis','Only if timely PCI unavailable, symptom onset generally ≤12 h, and no contraindication. Transfer immediately to PCI center.'], ['Tenecteplase IV bolus once','<60 kg 30 mg | 60-69 kg 35 mg | 70-79 kg 40 mg | 80-89 kg 45 mg | ≥90 kg 50 mg. For age ≥75 y, many pharmaco-invasive protocols use half dose.'], ['Alteplase accelerated','15 mg IV bolus; then 0.75 mg/kg over 30 min (max 50 mg); then 0.5 mg/kg over 60 min (max 35 mg). Total 100 mg.'], ['Reteplase','10 units IV over 2 min, then 10 units IV over 2 min after 30 min.'], ['Rescue PCI','Persistent pain/ST elevation, shock, HF, malignant arrhythmia, or failed reperfusion.'] ],[1.28*inch,3.82*inch],font=small) nste=table([ ['NSTEMI/UA risk','Plan'], ['Very high risk','Immediate invasive strategy: shock/instability, refractory pain, life-threatening arrhythmia/cardiac arrest, acute HF, mechanical complication, or recurrent dynamic ST changes.'], ['High risk','Early angiography, usually within 24 h: confirmed NSTEMI, dynamic ST/T changes, high GRACE risk, or recurrent symptoms.'], ['P2Y12 timing','Do <b>not</b> routinely pre-load when early angiography is planned. If angiography is delayed >24 h, upstream ticagrelor or clopidogrel may be considered.'], ['No fibrinolysis','Fibrinolytic therapy is contraindicated in NSTEMI/unstable angina.'] ],[1.28*inch,3.82*inch],font=small) low=Table([[KeepTogether([section_bar('4. STEMI REPERFUSION',teal),stemi]),KeepTogether([section_bar('5. NSTEMI / UA INVASIVE TIMING',blue),nste])]],colWidths=[5.1*inch,5.1*inch]) low.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),0),('RIGHTPADDING',(0,0),(-1,-1),0),('TOPPADDING',(0,0),(-1,-1),0),('BOTTOMPADDING',(0,0),(-1,-1),0)])) story += [low,Spacer(1,3)] footer_text='<b>Core cautions:</b> No prasugrel with prior stroke/TIA. Avoid nitrates with hypotension/RV infarct/recent PDE-5 inhibitor. Use GP IIb/IIIa inhibitors mainly for cath-lab bailout. Check Hb, platelets, renal function and bleeding continuously. <b>Sources:</b> 2025 ACC/AHA/ACEP/NAEMSP/SCAI ACS Guideline; 2023 ESC ACS Guideline. Prepared 28 Sep 2026. Educational quick reference only.' footer=Table([[P(footer_text,foot)]],colWidths=[10.36*inch]) footer.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),HexColor('#EEF2F4')),('LINEABOVE',(0,0),(-1,0),0.4,HexColor('#B9C5CA')),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),2)])) story.append(footer) doc.build(story) print(out) PY python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf' r=PdfReader(p) print('pages',len(r.pages)) print('bytes',__import__('os').path.getsize(p)) print('chars',len(r.pages[0].extract_text())) print(r.pages[0].extract_text()[:500]) PY

Browsing Directory

~/acs-dosing-quick-reference/

Running Command

python - <<'PY' from reportlab.lib.pagesizes import landscape, letter from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle from reportlab.lib.units import inch from reportlab.lib.colors import HexColor import os out='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf' navy=HexColor('#103B5C'); blue=HexColor('#196B99'); teal=HexColor('#087E8B'); lightblue=HexColor('#EAF4F8'); pale=HexColor('#F5F8FA'); red=HexColor('#A32020'); amber=HexColor('#FFF3D6'); gray=HexColor('#45515A') styles=getSampleStyleSheet() base=ParagraphStyle('base',parent=styles['Normal'],fontName='Helvetica',fontSize=5.8,leading=6.55,textColor=HexColor('#17232B')) small=ParagraphStyle('small',parent=base,fontSize=5.5,leading=6.2) tiny=ParagraphStyle('tiny',parent=base,fontSize=4.8,leading=5.45) head=ParagraphStyle('head',parent=base,fontName='Helvetica-Bold',fontSize=16,leading=16.5,textColor=colors.white) subhead=ParagraphStyle('subhead',parent=base,fontSize=6.4,leading=7.2,textColor=colors.white) section=ParagraphStyle('section',parent=base,fontName='Helvetica-Bold',fontSize=7.6,leading=8.2,textColor=colors.white) colhead=ParagraphStyle('colhead',parent=base,fontName='Helvetica-Bold',fontSize=5.7,leading=6.2,textColor=navy) warn=ParagraphStyle('warn',parent=base,fontName='Helvetica-Bold',fontSize=5.35,leading=6.0,textColor=red) foot=ParagraphStyle('foot',parent=base,fontSize=4.5,leading=5.05,textColor=gray) def P(x,s=base): return Paragraph(x,s) def bar(title,c=navy,w=10.36): t=Table([[P(title,section)]],colWidths=[w],rowHeights=[.18*inch]);t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),c),('LEFTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),1),('BOTTOMPADDING',(0,0),(-1,-1),1)]));return t def grid(rows,widths,font=small): data=[[P(x,colhead if r==0 else font) for x in row] for r,row in enumerate(rows)] t=Table(data,colWidths=widths,hAlign='LEFT',repeatRows=1) ts=[('VALIGN',(0,0),(-1,-1),'TOP'),('GRID',(0,0),(-1,-1),.18,HexColor('#C5D5DF')),('LEFTPADDING',(0,0),(-1,-1),2.7),('RIGHTPADDING',(0,0),(-1,-1),2.7),('TOPPADDING',(0,0),(-1,-1),1.6),('BOTTOMPADDING',(0,0),(-1,-1),1.6),('BACKGROUND',(0,0),(-1,0),lightblue),('LINEBELOW',(0,0),(-1,0),.5,blue)] for r in range(1,len(rows)): if r%2==0:ts.append(('BACKGROUND',(0,r),(-1,r),pale)) t.setStyle(TableStyle(ts));return t doc=SimpleDocTemplate(out,pagesize=landscape(letter),rightMargin=.32*inch,leftMargin=.32*inch,topMargin=.30*inch,bottomMargin=.24*inch) story=[] h=Table([[P('ACS ADULT DOSING QUICK REFERENCE',head),P('<b>STEMI • NSTEMI • Unstable Angina</b><br/>2025 ACC/AHA aligned | Adult hospital use',subhead)]],colWidths=[6.5*inch,3.86*inch],rowHeights=[.46*inch]);h.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),navy),('VALIGN',(0,0),(-1,-1),'MIDDLE'),('LEFTPADDING',(0,0),(0,0),9),('LEFTPADDING',(1,0),(1,0),5),('RIGHTPADDING',(1,0),(1,0),8),('ALIGN',(1,0),(1,0),'RIGHT')]));story+=[h,Spacer(1,3)] a=Table([[P('<b>Use local ACS protocol and cath-lab direction.</b> Verify diagnosis, weight, creatinine clearance, platelets, active bleeding, prior anticoagulant exposure, and contraindications before dosing. <b>Never fibrinolyse NSTEMI/unstable angina.</b>',warn)]],colWidths=[10.36*inch]);a.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),amber),('BOX',(0,0),(-1,-1),.4,HexColor('#D2A13A')),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),2)]));story += [a,Spacer(1,3)] initial=grid([['Drug','Adult dose','Key safety points'],['Aspirin','162-325 mg <b>chewed PO once</b>, then 81 mg PO daily','Avoid only true allergy or active major bleeding.'],['Oxygen','Only if SpO₂ <90%, respiratory distress, or hypoxemia','Do not give routinely if normoxemic.'],['Nitroglycerin','0.4 mg SL q5 min, max 3. IV 5-10 micrograms/min, titrate','Avoid hypotension, RV infarct, severe AS, sildenafil/vardenafil <24 h or tadalafil <48 h.'],['Morphine','2-4 mg IV; small repeats for refractory severe pain','Use sparingly: hypotension, respiratory depression, delayed P2Y12 absorption.'],['High-intensity statin','Atorvastatin 40-80 mg daily <b>or</b> rosuvastatin 20-40 mg daily','Initiate during admission.']],[.92*inch,1.67*inch,2.51*inch]) p2y=grid([['P2Y12 inhibitor','Load','Maintenance / avoid'],['Ticagrelor','180 mg PO once','90 mg PO BID. Avoid prior ICH, active bleeding, severe hepatic impairment.'],['Prasugrel','60 mg PO once','10 mg daily, 5 mg if <60 kg. <b>Do not use</b> prior stroke/TIA; generally avoid age ≥75 y. PCI use.'],['Clopidogrel','PCI: 600 mg PO. Fibrinolysis: <75 y 300 mg; ≥75 y no load.','75 mg PO daily. Use with fibrinolysis or if long-term OAC required.'],['DAPT duration','Aspirin + P2Y12','Default 12 months if not high bleeding risk. Tailor/shorten when bleeding risk high.']],[1.25*inch,1.4*inch,2.45*inch]) # each cell contains a list, permits table layout T=Table([[[bar('1. IMMEDIATE SUPPORTIVE THERAPY',navy,5.1),initial],[bar('2. ANTIPLATELET THERAPY',navy,5.1),p2y]]],colWidths=[5.1*inch,5.1*inch]);T.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),0),('RIGHTPADDING',(0,0),(-1,-1),0),('TOPPADDING',(0,0),(-1,-1),0),('BOTTOMPADDING',(0,0),(-1,-1),0)]));story += [T,Spacer(1,3)] anticoag=grid([['Agent / situation','Dose','Renal / procedural notes'],['UFH: NSTEMI/UA or STEMI fibrinolysis','60 units/kg IV bolus, max 4,000 units; then 12 units/kg/h, max initial 1,000 units/h','Titrate aPTT or anti-Xa. Usually 48 h or until revascularization after lysis. Monitor platelets/HIT.'],['UFH: primary PCI','70-100 units/kg IV bolus, or 50-70 units/kg if GP IIb/IIIa used','Cath lab adjusts to ACT.'],['Enoxaparin: NSTEMI/UA','1 mg/kg SC q12h','CrCl <30 mL/min: 1 mg/kg SC q24h.'],['Enoxaparin: STEMI + fibrinolysis','<75 y: 30 mg IV then 1 mg/kg SC q12h (max 100 mg first 2). ≥75 y: no IV bolus, 0.75 mg/kg q12h (max 75 mg first 2).','CrCl <30: 1 mg/kg q24h. PCI: if last SC dose 8-12 h ago, 0.3 mg/kg IV.'],['Fondaparinux: NSTEMI/UA','2.5 mg SC daily','Avoid CrCl <30. <b>Never alone during PCI</b>: add UFH or bivalirudin.'],['Bivalirudin: PCI','0.75 mg/kg IV bolus, then 1.75 mg/kg/h during PCI','Adjust in severe renal impairment per local protocol.']],[1.58*inch,4.1*inch,4.68*inch]);story += [bar('3. ANTICOAGULATION'),anticoag,Spacer(1,3)] stemi=grid([['STEMI route','Action / dose'],['Primary PCI','Preferred. Aspirin + P2Y12 load + procedural anticoagulant. Rapid reperfusion.'],['Fibrinolysis','Only if timely PCI unavailable, symptoms generally ≤12 h, and no contraindication. Transfer immediately to PCI center.'],['Tenecteplase IV bolus','<60 kg 30 mg | 60-69 kg 35 mg | 70-79 kg 40 mg | 80-89 kg 45 mg | ≥90 kg 50 mg. Age ≥75 y: many pharmaco-invasive protocols use half dose.'],['Alteplase accelerated','15 mg IV bolus; 0.75 mg/kg over 30 min (max 50 mg); then 0.5 mg/kg over 60 min (max 35 mg). Total 100 mg.'],['Reteplase','10 units IV over 2 min, then 10 units IV over 2 min after 30 min.'],['Rescue PCI','Persistent pain/ST elevation, shock, HF, malignant arrhythmia, or failed reperfusion.']],[1.28*inch,3.82*inch]) nste=grid([['NSTEMI/UA risk','Plan'],['Very high risk','Immediate invasive strategy: shock/instability, refractory pain, life-threatening arrhythmia/cardiac arrest, acute HF, mechanical complication, recurrent dynamic ST changes.'],['High risk','Early angiography, usually within 24 h: confirmed NSTEMI, dynamic ST/T changes, high GRACE risk, or recurrent symptoms.'],['P2Y12 timing','Do <b>not</b> routinely pre-load when early angiography planned. If >24 h delay, upstream ticagrelor or clopidogrel may be considered.'],['No fibrinolysis','Contraindicated in NSTEMI/unstable angina.']],[1.28*inch,3.82*inch]) L=Table([[[bar('4. STEMI REPERFUSION',teal,5.1),stemi],[bar('5. NSTEMI / UA INVASIVE TIMING',blue,5.1),nste]]],colWidths=[5.1*inch,5.1*inch]);L.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),0),('RIGHTPADDING',(0,0),(-1,-1),0),('TOPPADDING',(0,0),(-1,-1),0),('BOTTOMPADDING',(0,0),(-1,-1),0)]));story += [L,Spacer(1,2)] f=Table([[P('<b>Core cautions:</b> No prasugrel with prior stroke/TIA. Avoid nitrates with hypotension/RV infarct/recent PDE-5 inhibitor. GP IIb/IIIa inhibitors mainly cath-lab bailout. Check Hb, platelets, renal function and bleeding continuously. <b>Sources:</b> 2025 ACC/AHA/ACEP/NAEMSP/SCAI ACS Guideline; 2023 ESC ACS Guideline. Prepared 28 Sep 2026. Educational quick reference only.',foot)]],colWidths=[10.36*inch]);f.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),HexColor('#EEF2F4')),('LINEABOVE',(0,0),(-1,0),.4,HexColor('#B9C5CA')),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),2),('BOTTOMPADDING',(0,0),(-1,-1),2)]));story.append(f) doc.build(story) print(out) PY python - <<'PY' from pypdf import PdfReader import os p='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf' r=PdfReader(p) print('pages',len(r.pages),'bytes',os.path.getsize(p),'text_chars',len(r.pages[0].extract_text())) PY

Running Command

python - <<'PY' from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import landscape, letter from reportlab.lib.colors import HexColor, white, black from reportlab.lib.styles import ParagraphStyle from reportlab.platypus import Paragraph from reportlab.lib.enums import TA_LEFT from reportlab.pdfbase.pdfmetrics import stringWidth from reportlab.lib.units import inch import os out='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf' W,H=landscape(letter); M=22 navy=HexColor('#103B5C'); blue=HexColor('#196B99'); teal=HexColor('#087E8B'); pale=HexColor('#F5F8FA'); light=HexColor('#EAF4F8'); amber=HexColor('#FFF3D6'); red=HexColor('#9A2020'); grid=HexColor('#C5D5DF'); gray=HexColor('#45515A') base=ParagraphStyle('base',fontName='Helvetica',fontSize=5.35,leading=6.05,textColor=HexColor('#17232B'),spaceAfter=0) head=ParagraphStyle('head',fontName='Helvetica-Bold',fontSize=16,leading=16.4,textColor=white) sub=ParagraphStyle('sub',fontName='Helvetica',fontSize=6.3,leading=7.1,textColor=white,alignment=2) sec=ParagraphStyle('sec',fontName='Helvetica-Bold',fontSize=7.3,leading=8,textColor=white) ch=ParagraphStyle('ch',fontName='Helvetica-Bold',fontSize=5.35,leading=5.9,textColor=navy) wrn=ParagraphStyle('wrn',fontName='Helvetica-Bold',fontSize=5.25,leading=5.9,textColor=red) foot=ParagraphStyle('foot',fontName='Helvetica',fontSize=4.35,leading=4.95,textColor=gray) def para(c,text,x,y,w,style, valign='top'): p=Paragraph(text,style); aw,ah=p.wrap(w,1000); p.drawOn(c,x,y-ah); return ah def pheight(text,w,style): p=Paragraph(text,style); return p.wrap(w,1000)[1] def section(c,title,x,y,w,color=navy): c.setFillColor(color);c.rect(x,y-13,w,13,fill=1,stroke=0);para(c,title,x+5,y-2,w-10,sec);return y-13 def draw_table(c,rows,widths,x,y,styles=None): # y starts top; calculate fixed column positions xpos=[x] for q in widths: xpos.append(xpos[-1]+q) heights=[] for ri,row in enumerate(rows): st=ch if ri==0 else base hs=[pheight(cell,widths[i]-5,st) for i,cell in enumerate(row)] heights.append(max(hs)+3.4) for ri,row in enumerate(rows): h=heights[ri]; y2=y-h c.setFillColor(light if ri==0 else (pale if ri%2==0 else white));c.rect(x,y2,sum(widths),h,fill=1,stroke=0) c.setStrokeColor(grid);c.setLineWidth(.25);c.rect(x,y2,sum(widths),h,fill=0,stroke=1) for xx in xpos[1:-1]:c.line(xx,y2,xx,y) if ri==0: c.setStrokeColor(blue);c.setLineWidth(.55);c.line(x,y2,x+sum(widths),y2) st=ch if ri==0 else base for ci,cell in enumerate(row): para(c,cell,xpos[ci]+2.5,y-1.8,widths[ci]-5,st) y=y2 return y c=canvas.Canvas(out,pagesize=landscape(letter)); c.setTitle('ACS Adult Dosing Quick Reference') # header c.setFillColor(navy);c.rect(M,H-M-33,W-2*M,33,fill=1,stroke=0) para(c,'ACS ADULT DOSING QUICK REFERENCE',M+9,H-M-6,468,head) para(c,'<b>STEMI • NSTEMI • Unstable Angina</b><br/>2025 ACC/AHA aligned | Adult hospital use',W-M-280,H-M-6,270,sub) y=H-M-37 c.setFillColor(amber);c.rect(M,y-19,W-2*M,19,fill=1,stroke=0);c.setStrokeColor(HexColor('#D2A13A'));c.rect(M,y-19,W-2*M,19,fill=0,stroke=1) para(c,'<b>Use local ACS protocol and cath-lab direction.</b> Verify diagnosis, weight, creatinine clearance, platelets, active bleeding, prior anticoagulant exposure, and contraindications before dosing. <b>Never fibrinolyse NSTEMI/unstable angina.</b>',M+5,y-2,W-2*M-10,wrn) y-=23 # Top columns x1=M;x2=M+367;cw=360 ly=section(c,'1. IMMEDIATE SUPPORTIVE THERAPY',x1,y,cw) ry=section(c,'2. ANTIPLATELET THERAPY',x2,y,cw) rows1=[['Drug','Adult dose','Key safety points'],['Aspirin','162-325 mg <b>chewed PO once</b>, then 81 mg PO daily','Avoid only true allergy or active major bleeding.'],['Oxygen','Only if SpO₂ <90%, respiratory distress, or hypoxemia','Do not give routinely if normoxemic.'],['Nitroglycerin','0.4 mg SL q5 min, max 3. IV 5-10 micrograms/min, titrate','Avoid hypotension, RV infarct, severe AS, sildenafil/vardenafil <24 h or tadalafil <48 h.'],['Morphine','2-4 mg IV; small repeats for refractory severe pain','Use sparingly: hypotension, respiratory depression, delayed P2Y12 absorption.'],['High-intensity statin','Atorvastatin 40-80 mg daily <b>or</b> rosuvastatin 20-40 mg daily','Initiate during admission.']] rows2=[['P2Y12 inhibitor','Load','Maintenance / avoid'],['Ticagrelor','180 mg PO once','90 mg PO BID. Avoid prior ICH, active bleed, severe hepatic impairment.'],['Prasugrel','60 mg PO once','10 mg daily, 5 mg if <60 kg. <b>Do not use</b> prior stroke/TIA; generally avoid age ≥75 y. PCI use.'],['Clopidogrel','PCI: 600 mg PO. Fibrinolysis: <75 y 300 mg; ≥75 y no load.','75 mg PO daily. Use with fibrinolysis or if long-term OAC required.'],['DAPT duration','Aspirin + P2Y12','Default 12 months if not high bleeding risk. Tailor/shorten when bleeding risk high.']] end1=draw_table(c,rows1,[65,120,175],x1,ly);end2=draw_table(c,rows2,[88,100,172],x2,ry);y=min(end1,end2)-4 # anticoag z=section(c,'3. ANTICOAGULATION',M,y,W-2*M) rows3=[['Agent / situation','Dose','Renal / procedural notes'],['UFH: NSTEMI/UA or STEMI fibrinolysis','60 units/kg IV bolus, max 4,000 units; then 12 units/kg/h, max initial 1,000 units/h','Titrate aPTT or anti-Xa. Usually 48 h or until revascularization after lysis. Monitor platelets/HIT.'],['UFH: primary PCI','70-100 units/kg IV bolus, or 50-70 units/kg if GP IIb/IIIa used','Cath lab adjusts to ACT.'],['Enoxaparin: NSTEMI/UA','1 mg/kg SC q12h','CrCl <30 mL/min: 1 mg/kg SC q24h.'],['Enoxaparin: STEMI + fibrinolysis','<75 y: 30 mg IV then 1 mg/kg SC q12h (max 100 mg first 2). ≥75 y: no IV bolus, 0.75 mg/kg q12h (max 75 mg first 2).','CrCl <30: 1 mg/kg q24h. PCI: if last SC dose 8-12 h ago, 0.3 mg/kg IV.'],['Fondaparinux: NSTEMI/UA','2.5 mg SC daily','Avoid CrCl <30. <b>Never alone during PCI</b>: add UFH or bivalirudin.'],['Bivalirudin: PCI','0.75 mg/kg IV bolus, then 1.75 mg/kg/h during PCI','Adjust in severe renal impairment per local protocol.']] y=draw_table(c,rows3,[112,292,342],M,z)-4 # final two columns ly=section(c,'4. STEMI REPERFUSION',x1,y,cw,teal);ry=section(c,'5. NSTEMI / UA INVASIVE TIMING',x2,y,cw,blue) rows4=[['STEMI route','Action / dose'],['Primary PCI','Preferred. Aspirin + P2Y12 load + procedural anticoagulant. Rapid reperfusion.'],['Fibrinolysis','Only if timely PCI unavailable, symptoms generally ≤12 h, and no contraindication. Transfer immediately to PCI center.'],['Tenecteplase IV bolus','<60 kg 30 mg | 60-69 kg 35 mg | 70-79 kg 40 mg | 80-89 kg 45 mg | ≥90 kg 50 mg. Age ≥75 y: many pharmaco-invasive protocols use half dose.'],['Alteplase accelerated','15 mg IV bolus; 0.75 mg/kg over 30 min (max 50 mg); then 0.5 mg/kg over 60 min (max 35 mg). Total 100 mg.'],['Reteplase','10 units IV over 2 min, then 10 units IV over 2 min after 30 min.'],['Rescue PCI','Persistent pain/ST elevation, shock, HF, malignant arrhythmia, or failed reperfusion.']] rows5=[['NSTEMI/UA risk','Plan'],['Very high risk','Immediate invasive strategy: shock/instability, refractory pain, life-threatening arrhythmia/cardiac arrest, acute HF, mechanical complication, recurrent dynamic ST changes.'],['High risk','Early angiography, usually within 24 h: confirmed NSTEMI, dynamic ST/T changes, high GRACE risk, or recurrent symptoms.'],['P2Y12 timing','Do <b>not</b> routinely pre-load when early angiography planned. If >24 h delay, upstream ticagrelor or clopidogrel may be considered.'],['No fibrinolysis','Contraindicated in NSTEMI/unstable angina.']] end1=draw_table(c,rows4,[90,270],x1,ly);end2=draw_table(c,rows5,[90,270],x2,ry);y=min(end1,end2)-3 # Footer placed under whichever has more vertical room but fixed c.setFillColor(HexColor('#EEF2F4'));c.rect(M,12,W-2*M,18,fill=1,stroke=0);c.setStrokeColor(HexColor('#B9C5CA'));c.line(M,30,W-M,30) para(c,'<b>Core cautions:</b> No prasugrel with prior stroke/TIA. Avoid nitrates with hypotension/RV infarct/recent PDE-5 inhibitor. GP IIb/IIIa inhibitors mainly cath-lab bailout. Check Hb, platelets, renal function and bleeding continuously. <b>Sources:</b> 2025 ACC/AHA/ACEP/NAEMSP/SCAI ACS Guideline; 2023 ESC ACS Guideline. Prepared 28 Sep 2026. Educational quick reference only.',M+5,28,W-2*M-10,foot) c.save();print(out,os.path.getsize(out)) PY python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/acs-dosing-quick-reference/output/ACS_Adult_Dosing_Quick_Reference.pdf';r=PdfReader(p) print('pages=',len(r.pages),'size=',__import__('os').path.getsize(p),'chars=',len(r.pages[0].extract_text())) PY

Reading File

ACS Adult Dosing Quick Reference

PDF Document · PDF

It includes immediate therapy, antiplatelets, anticoagulation, STEMI fibrinolysis doses, and NSTEMI/UA invasive timing, with key safety cautions.
This is a shared conversation. Sign in to Orris to start your own chat.