Give a flowchart of how to approach and manage a case of AIS as per ACA/aha

Reading File
Finding Sources
Searching PubMed

"acute ischemic stroke" AND "guidelines"

Searching the Web

AHA ACS 2024 acute ischemic stroke management guidelines flowchart algorithm

Reading File
Reading Web Page

https://www.stroke.org/-/media/Stroke-Files/Ischemic-Stroke-…

Reading File
Generating Image

A detailed clinical flowchart titled "AHA/ASA Acute Ischemic Stroke (AIS) Management Algorithm" with the following sequential steps and decision points: START: STROKE SYMPTOMS ONSET Step 1 - OUT OF HOSPITAL: - Bystander recognition using FAST (Face drooping, Arm weakness, Speech difficulty, Time to call 911) - EMS activation - EMS assessment: CPSS / LAPSS / BE-FAST Step 2 - FIRST MEDICAL CONTACT (EMS): - Assess ABCs (Airway, Breathing, Circulation) - Monitor BP (do NOT treat unless extreme) - Cardiac monitoring, IV access - Supplemental O2 to maintain SpO2 >94% - Check blood glucose, treat if <60 mg/dL - Record Time Last Known Well (LKW) - Pre-notify receiving hospital - Transport to nearest Stroke Center Step 3 - IN EMERGENCY DEPARTMENT: - Neurological exam + NIHSS score - Door-to-CT ≤25 min Step 4 - IMMEDIATE DIAGNOSTICS (ALL PATIENTS): - Non-contrast CT head (rule out hemorrhage) - Blood glucose, CBC, Platelet count - PT/INR, aPTT, Electrolytes, Renal function - Troponin, ECG - For thrombectomy candidates: CT Angiography (CTA) Decision diamond: CT SHOWS HEMORRHAGE? → YES: Hemorrhagic stroke pathway (Neurosurgery consult, manage ICH/SAH) → NO: Acute Ischemic Stroke confirmed → Continue Step 5 - SIMULTANEOUS EVALUATION (in parallel): Branch A: EVALUATE FOR IV THROMBOLYSIS (tPA) Branch B: EVALUATE FOR MECHANICAL THROMBECTOMY (<24h) BRANCH A - IV ALTEPLASE ELIGIBILITY: Within 3 hours of LKW: - Age ≥18, measurable neurological deficit - No hemorrhage on CT - No major exclusions (recent surgery, anticoagulation, etc.) Within 3-4.5 hours: Additional exclusions apply (age >80, severe diabetes, prior stroke+DM, NIHSS>25, anticoagulants, imaging >1/3 MCA) → QUALIFIES: Administer IV Alteplase 0.9 mg/kg (max 90 mg) over 60 min (10% as bolus) OR Tenecteplase 0.25 mg/kg IV bolus (max 25 mg) if thrombectomy candidate → Door-to-needle goal: ≤60 min BRANCH B - MECHANICAL THROMBECTOMY ELIGIBILITY: Within 0-6 hours: Prestroke mRS 0-1, ICA or M1 occlusion, Age ≥18, NIHSS ≥6, ASPECTS ≥6 Within 6-24 hours: Meets DAWN or DEFUSE-3 criteria → QUALIFIES: Perform Mechanical Thrombectomy (stent retriever preferred) → Door-to-puncture goal: ≤90 min Step 6 - POST-REPERFUSION / GENERAL AIS CARE (All patients): - Admit to Stroke Unit or ICU - BP control: Keep <180/105 if tPA given; allow permissive hypertension if no tPA (up to 220/120) - Glucose: Treat hyperglycemia (target 140-180 mg/dL); treat hypoglycemia (<60 mg/dL) - Temperature: Treat fever (antipyretics if >38°C) - O2: Maintain SpO2 >94% - NPO + dysphagia screen before oral intake - Antiplatelet: Aspirin 325 mg within 24-48h (if no tPA, give immediately; if tPA, wait 24h) - Statin therapy - DVT prophylaxis - Monitor neuro status; urgent CT if deterioration Step 7 - SECONDARY PREVENTION WORKUP: - Identify stroke etiology (cardioembolic, large vessel, small vessel, cryptogenic) - Echocardiogram, Holter/telemetry for AF - Lipid panel, HbA1c, vascular risk factors - Anticoagulation if AF identified (start 4-14 days) - Antiplatelet therapy for non-cardioembolic stroke Step 8 - REHABILITATION & DISCHARGE PLANNING: - Formal ADL/functional assessment - Speech, physical, occupational therapy - Patient/family education - Risk factor modification Color coding: blue header, green for treatment boxes, yellow for decision diamonds, red for hemorrhage branch, orange for time-sensitive goals

!

404 Not Found. {'message': '{\n "error": {\n "code": 404,\n "message": "Publisher model `projects/engaged-beaker-474810-u2/locations/global/publishers/google/models/gemini-3-pro-image-preview` was not found or your project does not have access to it. Ensure you are using a valid model name and that the model is available in the specified region. For more information, see: https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations.",\n "status": "NOT_FOUND"\n }\n}\n', 'status': 'Not Found'}

We encountered an error while processing your request. Please try again or reach out to us for help.

Give a flowchart of how to approach and manage a case of AIS as per ACA/aha

Reading File
Finding Sources
Reading Web Page

https://www.stroke.org/-/media/Stroke-Files/Ischemic-Stroke-…

Running Command

mkdir -p /tmp/workspace/ais-flowchart && python3 << 'PYEOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyBboxPatch, FancyArrowPatch import textwrap fig, ax = plt.subplots(figsize=(22, 60)) ax.set_xlim(0, 22) ax.set_ylim(0, 60) ax.axis('off') fig.patch.set_facecolor('#F8F9FA') # ── Helper functions ────────────────────────────────────────────────────────── def box(ax, x, y, w, h, text, bg, fg='black', fontsize=9, bold=False, style='round,pad=0.1', border='#555555', lw=1.2): fancy = FancyBboxPatch((x - w/2, y - h/2), w, h, boxstyle=style, facecolor=bg, edgecolor=border, linewidth=lw, zorder=3) ax.add_patch(fancy) weight = 'bold' if bold else 'normal' ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, color=fg, weight=weight, wrap=True, zorder=4, multialignment='center', linespacing=1.4) def diamond(ax, x, y, w, h, text, bg='#FFF3CD', border='#FFA500', fontsize=8.5): dx, dy = w/2, h/2 pts = [(x, y+dy), (x+dx, y), (x, y-dy), (x-dx, y)] diamond_patch = plt.Polygon(pts, closed=True, facecolor=bg, edgecolor=border, linewidth=1.5, zorder=3) ax.add_patch(diamond_patch) ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, weight='bold', color='#333333', zorder=4, multialignment='center') def arrow(ax, x1, y1, x2, y2, color='#444444', lw=1.5): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, connectionstyle='arc3,rad=0.0'), zorder=2) def label_arrow(ax, x, y, text, color='#555555', fontsize=8): ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, color=color, style='italic', zorder=5) # ── TITLE ───────────────────────────────────────────────────────────────────── ax.text(11, 59.2, 'AHA/ASA ACUTE ISCHEMIC STROKE (AIS)', ha='center', va='center', fontsize=16, weight='bold', color='white', zorder=4) ax.text(11, 58.65, 'APPROACH & MANAGEMENT FLOWCHART', ha='center', va='center', fontsize=13, weight='bold', color='#FFE082', zorder=4) ax.add_patch(FancyBboxPatch((0.3, 58.1), 21.4, 1.7, boxstyle='round,pad=0.1', facecolor='#1A237E', edgecolor='#0D47A1', linewidth=2, zorder=3)) ax.text(11, 57.75, '2018/2019 AHA/ASA Guidelines — Early Management of AIS', ha='center', va='center', fontsize=9, color='#B0BEC5', zorder=4) # ── PHASE 1: OUT OF HOSPITAL ────────────────────────────────────────────────── ax.text(11, 57.1, '① OUT OF HOSPITAL', ha='center', va='center', fontsize=10, weight='bold', color='#1565C0', zorder=4) box(ax, 11, 56.3, 13, 1.1, 'BYSTANDER RECOGNITION\nF.A.S.T. / BE-FAST\n(Face drooping · Arm weakness · Speech difficulty · Time to call EMS)', bg='#E3F2FD', border='#1565C0', fontsize=9) arrow(ax, 11, 55.75, 11, 55.15) box(ax, 11, 54.7, 13, 0.85, 'EMS ACTIVATION → Dispatch to nearest certified Stroke Center', bg='#E3F2FD', border='#1565C0', fontsize=9) # ── PHASE 2: FIRST MEDICAL CONTACT ─────────────────────────────────────────── arrow(ax, 11, 54.27, 11, 53.65) ax.text(11, 53.35, '② FIRST MEDICAL CONTACT (EMS)', ha='center', va='center', fontsize=10, weight='bold', color='#1565C0', zorder=4) box(ax, 11, 52.35, 14.5, 1.7, '• Assess & stabilize ABCs • Stroke screen: CPSS / LAPSS\n' '• Monitor BP — do NOT treat unless SBP >220 (no tPA candidate)\n' '• Cardiac monitoring • IV access • Supplemental O₂ if SpO₂ <94%\n' '• Check blood glucose — treat if <60 mg/dL\n' '• Record Time Last Known Well (LKW) • Pre-notify hospital', bg='#E8EAF6', border='#3949AB', fontsize=8.8) # ── PHASE 3: EMERGENCY DEPARTMENT ──────────────────────────────────────────── arrow(ax, 11, 51.5, 11, 50.9) ax.text(11, 50.6, '③ EMERGENCY DEPARTMENT', ha='center', va='center', fontsize=10, weight='bold', color='#1565C0', zorder=4) box(ax, 11, 49.85, 14.5, 1.3, 'Neurological Exam + NIHSS Score\n' 'GOAL: Door-to-CT ≤ 25 min | Door-to-Needle (IV tPA) ≤ 60 min\n' 'Door-to-Puncture (Thrombectomy) ≤ 90 min', bg='#E8EAF6', border='#3949AB', fontsize=9, bold=False) # ── PHASE 4: IMMEDIATE DIAGNOSTICS ──────────────────────────────────────────── arrow(ax, 11, 49.2, 11, 48.6) ax.text(11, 48.3, '④ IMMEDIATE DIAGNOSTICS — ALL PATIENTS', ha='center', va='center', fontsize=10, weight='bold', color='#1565C0', zorder=4) box(ax, 11, 47.25, 14.5, 1.7, 'Non-contrast CT Head • Blood glucose • CBC + Platelets\n' 'PT/INR • aPTT • Electrolytes • Renal function • Troponin • ECG\n' '──────────────────────────────────────────────────\n' 'SELECT PATIENTS: CT Angiography (CTA) if thrombectomy candidate\n' '(do NOT delay IV tPA for CTA if tPA indicated)', bg='#F3E5F5', border='#7B1FA2', fontsize=8.8) # ── DECISION: HEMORRHAGE? ───────────────────────────────────────────────────── arrow(ax, 11, 46.4, 11, 45.75) diamond(ax, 11, 45.1, 7, 1.15, 'CT: Hemorrhage\nPresent?', bg='#FFF9C4', border='#F57F17') # YES → Hemorrhagic branch arrow(ax, 14.5, 45.1, 18.5, 45.1, color='#C62828') label_arrow(ax, 16.3, 45.35, 'YES', color='#C62828', fontsize=9) box(ax, 19.5, 45.1, 4.5, 1.0, 'HEMORRHAGIC STROKE\nNeurosurgery / Neurology\nconsult → Manage ICH/SAH', bg='#FFEBEE', border='#C62828', fontsize=8.2, fg='#B71C1C') # NO → continue arrow(ax, 11, 44.52, 11, 43.9, color='#2E7D32') label_arrow(ax, 10.0, 44.2, 'NO →\nAIS', color='#2E7D32', fontsize=9) # ── CONFIRMED AIS ───────────────────────────────────────────────────────────── box(ax, 11, 43.45, 9, 0.75, '✔ CONFIRMED ACUTE ISCHEMIC STROKE', bg='#E8F5E9', border='#2E7D32', fontsize=10, bold=True, fg='#1B5E20') # ── SIMULTANEOUS EVALUATION ─────────────────────────────────────────────────── arrow(ax, 11, 43.07, 11, 42.5) ax.text(11, 42.2, '⑤ + ⑥ SIMULTANEOUS EVALUATION (Both assessed in parallel)', ha='center', va='center', fontsize=10, weight='bold', color='#4A148C', zorder=4) # Left branch label ax.text(5.5, 41.85, '⑤ IV THROMBOLYSIS', ha='center', va='center', fontsize=9.5, weight='bold', color='#0277BD', zorder=4) # Right branch label ax.text(16.5, 41.85, '⑥ MECHANICAL THROMBECTOMY', ha='center', va='center', fontsize=9.5, weight='bold', color='#E65100', zorder=4) # horizontal split line ax.annotate('', xy=(3.5, 41.6), xytext=(11, 41.6), arrowprops=dict(arrowstyle='->', color='#0277BD', lw=1.5), zorder=2) ax.annotate('', xy=(18.5, 41.6), xytext=(11, 41.6), arrowprops=dict(arrowstyle='->', color='#E65100', lw=1.5), zorder=2) # ── LEFT: IV ALTEPLASE BOX ──────────────────────────────────────────────────── box(ax, 5.0, 39.5, 9.5, 3.7, 'ELIGIBILITY — IV ALTEPLASE\n' '─────────────────────────────────\n' 'Within 3 h of LKW:\n' ' • Age ≥18 • Measurable neuro deficit\n' ' • No hemorrhage on CT\n' ' • No major exclusions (recent surgery,\n' ' active bleeding, BP >185/110 untreated)\n' '─────────────────────────────────\n' 'Within 3–4.5 h (additional exclusions):\n' ' • Age >80 • NIHSS >25\n' ' • Prior stroke + DM • Anticoagulant use\n' ' • Imaging: infarct >1/3 MCA territory', bg='#E1F5FE', border='#0277BD', fontsize=8.5) # ── RIGHT: THROMBECTOMY BOX ─────────────────────────────────────────────────── box(ax, 17.0, 39.5, 9.5, 3.7, 'ELIGIBILITY — MECH. THROMBECTOMY\n' '─────────────────────────────────\n' 'Within 0–6 h of LKW:\n' ' • Prestroke mRS 0–1\n' ' • Occlusion: ICA or M1 (proximal MCA)\n' ' • Age ≥18 • NIHSS ≥6 • ASPECTS ≥6\n' '─────────────────────────────────\n' 'Within 6–24 h (extended window):\n' ' • ICA or M1 occlusion +\n' ' • Meets DAWN trial criteria, OR\n' ' • Meets DEFUSE-3 trial criteria', bg='#FFF3E0', border='#E65100', fontsize=8.5) # Arrows down from eligibility boxes arrow(ax, 5.0, 37.6, 5.0, 36.95, color='#0277BD') arrow(ax, 17.0, 37.6, 17.0, 36.95, color='#E65100') # ── TREATMENT BOXES ────────────────────────────────────────────────────────── box(ax, 5.0, 35.9, 9.5, 1.8, '⑦ ADMINISTER IV ALTEPLASE\n' '─────────────────────────────────\n' 'Alteplase: 0.9 mg/kg IV (max 90 mg)\n' ' 10% bolus over 1 min → rest over 60 min\n' 'OR Tenecteplase: 0.25 mg/kg IV bolus (max 25 mg)\n' ' [preferred if also going to thrombectomy]', bg='#B3E5FC', border='#0277BD', fontsize=8.5, bold=False) box(ax, 17.0, 35.9, 9.5, 1.8, '⑧ PERFORM MECHANICAL THROMBECTOMY\n' '─────────────────────────────────\n' 'Stent retriever (preferred) or aspiration\n' 'Goal: Door-to-puncture ≤ 90 min\n' 'Can combine with IV tPA (bridging therapy)\n' 'Target: mTICI ≥2b reperfusion', bg='#FFE0B2', border='#E65100', fontsize=8.5, bold=False) # Rejoin arrows arrow(ax, 5.0, 35.0, 5.0, 34.35, color='#0277BD') arrow(ax, 17.0, 35.0, 17.0, 34.35, color='#E65100') # converge to center ax.annotate('', xy=(11, 33.8), xytext=(5.0, 34.15), arrowprops=dict(arrowstyle='->', color='#444', lw=1.5, connectionstyle='arc3,rad=-0.2'), zorder=2) ax.annotate('', xy=(11, 33.8), xytext=(17.0, 34.15), arrowprops=dict(arrowstyle='->', color='#444', lw=1.5, connectionstyle='arc3,rad=0.2'), zorder=2) # ── PHASE 7: POST-REPERFUSION / GENERAL AIS CARE ────────────────────────────── ax.text(11, 33.45, '⑨ POST-REPERFUSION / GENERAL AIS IN-HOSPITAL CARE', ha='center', va='center', fontsize=10, weight='bold', color='#1B5E20', zorder=4) box(ax, 11, 31.5, 16, 3.5, 'ADMIT to Stroke Unit / ICU — monitor ≥ 24 h\n' '──────────────────────────────────────────────────────────\n' 'AIRWAY: Supplemental O₂ if SpO₂ <94% • Intubate if GCS ≤8 or airway unprotected\n' 'BLOOD PRESSURE:\n' ' • If tPA given: Keep <180/105 mmHg for ≥24 h\n' ' • If NO tPA: Permissive HTN — treat only if >220/120 mmHg\n' ' • If thrombectomy done: Keep BP <180/105 post-procedure\n' 'GLUCOSE: Target 140–180 mg/dL • Treat hypoglycemia (<60 mg/dL) immediately\n' 'TEMPERATURE: Treat fever >38°C with antipyretics (acetaminophen)\n' 'DYSPHAGIA SCREEN before any oral intake (NPO if fails)\n' 'ANTIPLATELET: Aspirin 325 mg — if NO tPA: within 24–48 h of onset\n' ' if tPA given: start at 24 h post-tPA\n' 'STATIN therapy • DVT prophylaxis (compression stockings, then LMWH when safe)\n' 'MONITOR neuro status — urgent CT if deterioration or severe headache', bg='#E8F5E9', border='#2E7D32', fontsize=8.5) arrow(ax, 11, 29.75, 11, 29.1) # ── PHASE 8: SECONDARY PREVENTION WORKUP ───────────────────────────────────── ax.text(11, 28.8, '⑩ SECONDARY PREVENTION WORKUP', ha='center', va='center', fontsize=10, weight='bold', color='#4A148C', zorder=4) box(ax, 11, 27.3, 16, 2.75, 'IDENTIFY STROKE ETIOLOGY (TOAST Classification):\n' ' Large artery atherosclerosis • Cardioembolic • Small vessel (lacunar)\n' ' Other determined • Cryptogenic\n' '──────────────────────────────────────────────────────────\n' 'Investigations: Echocardiogram • 24–48 h cardiac telemetry (→ prolonged Holter if cryptogenic)\n' 'Lipid panel • HbA1c • Carotid duplex / MRA / CTA\n' '──────────────────────────────────────────────────────────\n' 'ANTICOAGULATION: Start 4–14 days post-stroke if AF identified (warfarin / NOAC)\n' 'ANTIPLATELET: Dual antiplatelet (ASA + clopidogrel) for 21 days if minor stroke / TIA\n' 'CAROTID ENDARTERECTOMY / STENTING: If symptomatic stenosis 50–99%\n' 'BP TARGET: <130/80 mmHg long-term • Statin: target LDL <70 mg/dL', bg='#EDE7F6', border='#4A148C', fontsize=8.5) arrow(ax, 11, 25.92, 11, 25.25) # ── PHASE 9: REHAB & DISCHARGE ──────────────────────────────────────────────── ax.text(11, 24.95, '⑪ REHABILITATION & DISCHARGE PLANNING', ha='center', va='center', fontsize=10, weight='bold', color='#BF360C', zorder=4) box(ax, 11, 23.6, 16, 2.4, 'Formal assessment: ADLs · Communication · Functional mobility (before discharge)\n' 'Speech therapy (dysphagia, aphasia) • Physical therapy • Occupational therapy\n' 'Rehabilitation intensity commensurate with anticipated benefit & tolerance\n' '──────────────────────────────────────────────────────────\n' 'Patient & family education on stroke recognition, risk factors, medications\n' 'Smoking cessation • Diabetes control • Hypertension management\n' 'Care transition plan + outpatient neurology follow-up', bg='#FBE9E7', border='#BF360C', fontsize=8.5) arrow(ax, 11, 22.4, 11, 21.8) # ── OUTCOME BOX ────────────────────────────────────────────────────────────── box(ax, 11, 21.35, 10, 0.8, '🎯 GOAL: Minimize disability · Prevent recurrence · Optimize long-term function', bg='#F9A825', border='#E65100', fontsize=9.5, bold=True, fg='#212121') # ── TIME TARGETS SIDEBAR ───────────────────────────────────────────────────── box(ax, 1.3, 37.5, 2.2, 6.5, '⏱ TIME\nTARGETS\n' '──────\n' 'Door→CT\n≤25 min\n' '──────\n' 'Door→\nNeedle\n≤60 min\n' '──────\n' 'Door→\nPuncture\n≤90 min\n' '──────\n' 'LKW→tPA\n≤4.5 h\n' '──────\n' 'LKW→MT\n≤24 h\n(select)', bg='#FFF8E1', border='#F57F17', fontsize=8, bold=False) # ── LEGEND ─────────────────────────────────────────────────────────────────── legend_items = [ (mpatches.Patch(color='#E3F2FD', ec='#1565C0'), 'Prehospital / EMS phase'), (mpatches.Patch(color='#F3E5F5', ec='#7B1FA2'), 'Diagnostics'), (mpatches.Patch(color='#B3E5FC', ec='#0277BD'), 'IV Thrombolysis'), (mpatches.Patch(color='#FFE0B2', ec='#E65100'), 'Mechanical Thrombectomy'), (mpatches.Patch(color='#E8F5E9', ec='#2E7D32'), 'General AIS Care'), (mpatches.Patch(color='#EDE7F6', ec='#4A148C'), 'Secondary Prevention'), (mpatches.Patch(color='#FFEBEE', ec='#C62828'), 'Hemorrhagic Stroke Pathway'), ] handles, labels = zip(*legend_items) legend = ax.legend(handles, labels, loc='lower right', bbox_to_anchor=(0.99, 0.01), fontsize=8.5, title='Legend', title_fontsize=9, framealpha=0.95, edgecolor='#777') ax.text(11, 20.6, 'Source: AHA/ASA 2018 Guidelines for the Early Management of AIS + 2019 Update | ' 'Rosen\'s Emergency Medicine | Bradley & Daroff\'s Neurology', ha='center', va='center', fontsize=7.5, color='#888888', style='italic', zorder=4) plt.tight_layout(pad=0.5) plt.savefig('/tmp/workspace/ais-flowchart/AIS_Management_Flowchart_AHA_ASA.png', dpi=180, bbox_inches='tight', facecolor='#F8F9FA') plt.close() print("Saved successfully.") PYEOF

Running Command

python3 << 'PYEOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyBboxPatch import matplotlib.patheffects as pe fig, ax = plt.subplots(figsize=(22, 62)) ax.set_xlim(0, 22) ax.set_ylim(0, 62) ax.axis('off') fig.patch.set_facecolor('#F0F4F8') # ── helpers ──────────────────────────────────────────────────────────────────── def box(ax, x, y, w, h, text, bg, fg='#111111', fontsize=9, bold=False, border='#555555', lw=1.4, radius=0.15): b = FancyBboxPatch((x-w/2, y-h/2), w, h, boxstyle=f'round,pad={radius}', facecolor=bg, edgecolor=border, linewidth=lw, zorder=3) ax.add_patch(b) ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, color=fg, fontweight='bold' if bold else 'normal', multialignment='center', linespacing=1.45, zorder=4) def diamond(ax, x, y, w, h, text, bg='#FFF9C4', border='#F9A825', fontsize=9): dx, dy = w/2, h/2 poly = plt.Polygon([(x,y+dy),(x+dx,y),(x,y-dy),(x-dx,y)], closed=True, facecolor=bg, edgecolor=border, lw=1.8, zorder=3) ax.add_patch(poly) ax.text(x, y, text, ha='center', va='center', fontsize=fontsize, fontweight='bold', color='#333', zorder=4, multialignment='center') def arr(ax, x1,y1,x2,y2, color='#333333', lw=1.6, rad=0.0): ax.annotate('', xy=(x2,y2), xytext=(x1,y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, connectionstyle=f'arc3,rad={rad}'), zorder=2) def lbl(ax, x, y, text, color='#555', fs=8.2): ax.text(x, y, text, ha='center', va='center', fontsize=fs, color=color, fontstyle='italic', zorder=5) # ═══ TITLE BANNER ════════════════════════════════════════════════════════════ ax.add_patch(FancyBboxPatch((0.3,60.0),21.4,1.8, boxstyle='round,pad=0.15', facecolor='#0D1B6E', edgecolor='#1A237E', lw=2, zorder=3)) ax.text(11, 61.1, 'AHA / ASA ACUTE ISCHEMIC STROKE (AIS)', ha='center', va='center', fontsize=15, fontweight='bold', color='white', zorder=4) ax.text(11, 60.45,'APPROACH & MANAGEMENT FLOWCHART | 2018/2019 Guidelines', ha='center', va='center', fontsize=9.5, color='#90CAF9', zorder=4) # ═══ PHASE 1 — OUT OF HOSPITAL ═══════════════════════════════════════════════ ax.text(11, 59.55, '[1] OUT OF HOSPITAL', ha='center', va='center', fontsize=10, fontweight='bold', color='#0D47A1') box(ax, 11,58.85, 13,0.95, 'BYSTANDER RECOGNITION — B.E. F.A.S.T.\n' 'Balance loss | Eye vision change | Face drooping | Arm weakness | Speech difficulty | Time = Call EMS', bg='#DCEDC8', border='#558B2F', fontsize=8.8) arr(ax, 11,58.37, 11,57.8) box(ax, 11,57.45, 13,0.75, 'EMS ACTIVATION -> Dispatch to nearest certified Stroke Center (PSC / CSC / TSC)', bg='#DCEDC8', border='#558B2F', fontsize=8.8) # ═══ PHASE 2 — FIRST MEDICAL CONTACT ══════════════════════════════════════════ arr(ax, 11,57.07, 11,56.45) ax.text(11,56.15,'[2] FIRST MEDICAL CONTACT (EMS on scene)', ha='center', va='center', fontsize=10, fontweight='bold', color='#0D47A1') box(ax, 11,54.9, 15,2.2, 'Assess & stabilize ABCs (Airway, Breathing, Circulation)\n' 'Stroke screen: Cincinnati PSS (CPSS) / LA PSS (LAPSS)\n' 'Monitor BP — do NOT treat unless BP >220/120 and no tPA plan\n' 'Cardiac monitoring | IV access | Supplemental O2 if SpO2 <94%\n' 'Check Blood Glucose — treat if <60 mg/dL\n' 'Record Time Last Known Well (LKW) | Pre-notify hospital', bg='#E8EAF6', border='#3949AB', fontsize=8.8) # ═══ PHASE 3 — EMERGENCY DEPARTMENT ═══════════════════════════════════════════ arr(ax, 11,53.8, 11,53.2) ax.text(11,52.9,'[3] IN THE EMERGENCY DEPARTMENT', ha='center', va='center', fontsize=10, fontweight='bold', color='#0D47A1') box(ax, 11,52.0, 14.5,1.3, 'Neurological Exam + NIHSS Scoring\n' 'KEY GOALS: Door-to-CT <=25 min | Door-to-Needle (IV tPA) <=60 min | Door-to-Puncture (MT) <=90 min', bg='#E8EAF6', border='#3949AB', fontsize=9) # ═══ PHASE 4 — DIAGNOSTICS ════════════════════════════════════════════════════ arr(ax, 11,51.35, 11,50.75) ax.text(11,50.45,'[4] IMMEDIATE DIAGNOSTICS (ALL patients)', ha='center', va='center', fontsize=10, fontweight='bold', color='#0D47A1') box(ax, 11,49.1, 15,2.3, 'Non-contrast CT Head | Blood Glucose | CBC + Platelets\n' 'PT / INR | aPTT | Electrolytes + Renal function | Troponin | 12-lead ECG\n' '----------------------------------------------------------------------------------------------\n' 'SELECT PATIENTS (if thrombectomy candidate):\n' 'CT Angiography (CTA Head + Neck) — do NOT delay IV tPA administration for CTA', bg='#F3E5F5', border='#7B1FA2', fontsize=8.8) # ═══ DECISION: HEMORRHAGE ═════════════════════════════════════════════════════ arr(ax, 11,47.95, 11,47.3) diamond(ax, 11,46.6, 7,1.25, 'CT Head:\nHemorrhage?', bg='#FFF9C4', border='#F9A825', fontsize=9.5) # YES branch — right arr(ax, 14.5,46.6, 17.8,46.6, color='#B71C1C') lbl(ax, 16.0,46.88,'YES', color='#B71C1C', fs=9.5) box(ax, 19.5,46.6, 4.3,1.2, 'HEMORRHAGIC STROKE\n' 'Neurosurgery / Neurology consult\n' 'Manage ICH / SAH per protocol', bg='#FFEBEE', border='#C62828', fontsize=8.5, fg='#B71C1C') # NO — down arr(ax, 11,45.97, 11,45.35, color='#2E7D32') lbl(ax, 9.8,45.65,'NO', color='#2E7D32', fs=9.5) box(ax, 11,45.0, 9.5,0.65, 'CONFIRMED ACUTE ISCHEMIC STROKE', bg='#C8E6C9', border='#2E7D32', fontsize=10, bold=True, fg='#1B5E20') # ═══ SIMULTANEOUS BRANCHES ════════════════════════════════════════════════════ arr(ax, 11,44.67, 11,44.1) ax.text(11,43.78,'[5] + [6] SIMULTANEOUS EVALUATION', ha='center', va='center', fontsize=10, fontweight='bold', color='#4A148C') ax.text(11,43.38,'(IV Thrombolysis eligibility and Mechanical Thrombectomy eligibility assessed at the SAME time)', ha='center', va='center', fontsize=8.5, color='#6A1B9A') # split arrows ax.annotate('',xy=(5.0,43.0),xytext=(11,43.0), arrowprops=dict(arrowstyle='->',color='#0277BD',lw=1.6), zorder=2) ax.annotate('',xy=(17.0,43.0),xytext=(11,43.0), arrowprops=dict(arrowstyle='->',color='#E65100',lw=1.6), zorder=2) ax.text(5.0,42.72,'[5] IV THROMBOLYSIS',ha='center',fontsize=9.5,fontweight='bold',color='#0277BD') ax.text(17.0,42.72,'[6] MECHANICAL THROMBECTOMY',ha='center',fontsize=9.5,fontweight='bold',color='#E65100') # ── LEFT ELIGIBILITY BOX ───────────────────────────────────────────────────── box(ax, 5.0,40.3, 9.5,4.3, 'ELIGIBILITY FOR IV tPA\n' '------------------------------------------\n' 'Within 3 h of LKW:\n' ' Age >=18 | Measurable neuro deficit\n' ' No hemorrhage on CT\n' ' BP <=185/110 (or reducible to this)\n' ' No active bleeding / recent major surgery\n' '------------------------------------------\n' 'Within 3 - 4.5 h (extra exclusions):\n' ' Age >80\n' ' NIHSS >25\n' ' Prior stroke + diabetes combined\n' ' Anticoagulant use (any dose)\n' ' Infarct >1/3 of MCA territory on imaging', bg='#E1F5FE', border='#0277BD', fontsize=8.6) # ── RIGHT ELIGIBILITY BOX ──────────────────────────────────────────────────── box(ax, 17.0,40.3, 9.5,4.3, 'ELIGIBILITY FOR MECH. THROMBECTOMY\n' '------------------------------------------\n' 'Within 0 - 6 h of LKW:\n' ' Prestroke mRS 0-1 (functionally independent)\n' ' Occlusion: ICA or proximal MCA (M1)\n' ' Age >=18\n' ' NIHSS >=6\n' ' ASPECTS >=6 on CT / CTA\n' '------------------------------------------\n' 'Extended window 6 - 24 h:\n' ' ICA or M1 occlusion AND\n' ' Meets DAWN trial criteria\n' ' OR Meets DEFUSE-3 trial criteria\n' ' (advanced perfusion imaging required)', bg='#FFF3E0', border='#E65100', fontsize=8.6) arr(ax, 5.0,38.15, 5.0,37.5, color='#0277BD') arr(ax, 17.0,38.15, 17.0,37.5, color='#E65100') # ── TREATMENT BOXES ────────────────────────────────────────────────────────── box(ax, 5.0,36.2, 9.5,2.4, '[7] ADMINISTER IV tPA\n' '------------------------------------------\n' 'Alteplase 0.9 mg/kg IV (max 90 mg)\n' ' -> 10% as IV bolus over 1 min\n' ' -> Remaining 90% infused over 60 min\n' 'OR Tenecteplase 0.25 mg/kg IV bolus (max 25 mg)\n' ' [preferred if thrombectomy also planned]', bg='#B3E5FC', border='#0288D1', fontsize=8.6, bold=False) box(ax, 17.0,36.2, 9.5,2.4, '[8] MECHANICAL THROMBECTOMY\n' '------------------------------------------\n' 'Stent retriever (preferred) or aspiration\n' 'Door-to-groin puncture target: <=90 min\n' 'Bridging IV tPA before MT if eligible\n' 'Target reperfusion: mTICI >=2b\n' 'Post-MT BP: keep <180/105 mmHg', bg='#FFE0B2', border='#E65100', fontsize=8.6, bold=False) # converge back to center arr(ax, 5.0,35.0, 5.0,34.4, color='#0288D1') arr(ax, 17.0,35.0, 17.0,34.4, color='#E65100') ax.annotate('',xy=(11,33.85),xytext=(5.0,34.25), arrowprops=dict(arrowstyle='->',color='#444',lw=1.5, connectionstyle='arc3,rad=-0.25'),zorder=2) ax.annotate('',xy=(11,33.85),xytext=(17.0,34.25), arrowprops=dict(arrowstyle='->',color='#444',lw=1.5, connectionstyle='arc3,rad=0.25'),zorder=2) # ═══ PHASE 9 — GENERAL IN-HOSPITAL CARE ══════════════════════════════════════ ax.text(11,33.5,'[9] POST-REPERFUSION / GENERAL AIS IN-HOSPITAL CARE (all patients)', ha='center',va='center',fontsize=10,fontweight='bold',color='#1B5E20') box(ax, 11,31.2, 17.5,4.3, 'ADMIT to Stroke Unit or ICU | Continuous monitoring >=24 h\n' '=================================================================\n' 'AIRWAY: O2 to maintain SpO2 >=94% | Intubate if GCS <=8 or unprotected airway\n' '\n' 'BLOOD PRESSURE:\n' ' - After IV tPA: target BP <180/105 mmHg for >=24 h post-infusion\n' ' - No tPA / no reperfusion: permissive HTN — treat only if BP >220/120 mmHg\n' ' - Post-mechanical thrombectomy: BP <180/105 mmHg\n' '\n' 'GLUCOSE: Target 140-180 mg/dL | Treat hypoglycemia (<60 mg/dL) immediately with IV dextrose\n' 'TEMPERATURE: Treat fever >38 deg C with acetaminophen (hypothermia NOT routinely recommended)\n' 'DYSPHAGIA SCREEN: Before ANY oral intake — NPO + NG tube if swallow screen fails\n' 'ANTIPLATELET: Aspirin 325 mg — if no tPA: within 24-48 h; if tPA given: start at 24 h\n' 'STATIN therapy | DVT prophylaxis (compression devices -> LMWH when safe)\n' 'Frequent neuro-checks — urgent CT if headache, vomiting, or neuro deterioration', bg='#E8F5E9', border='#2E7D32', fontsize=8.7) arr(ax, 11,29.05, 11,28.4) # ═══ PHASE 10 — SECONDARY PREVENTION ═════════════════════════════════════════ ax.text(11,28.1,'[10] SECONDARY PREVENTION WORKUP (Stroke Etiology)', ha='center',va='center',fontsize=10,fontweight='bold',color='#4A148C') box(ax, 11,26.2, 17.5,3.7, 'TOAST CLASSIFICATION: Large artery | Cardioembolic | Small vessel (lacunar) | Other | Cryptogenic\n' '=================================================================\n' 'INVESTIGATIONS:\n' ' Echocardiogram (TTE / TEE) | Cardiac telemetry 24-48 h | Prolonged Holter if cryptogenic\n' ' Fasting lipids | HbA1c | Carotid duplex / CTA / MRA | Hypercoagulable workup (if indicated)\n' '=================================================================\n' 'TREATMENT BASED ON ETIOLOGY:\n' ' Cardioembolic / AF identified: Anticoagulation (NOAC preferred) — start 4-14 days post-stroke\n' ' Non-cardioembolic (large / small vessel): Dual antiplatelet (ASA + Clopidogrel) x 21 days (minor stroke/TIA)\n' ' Symptomatic carotid stenosis 50-99%: CEA (within 2 weeks) or CAS\n' ' BP target long-term: <130/80 mmHg | LDL target: <70 mg/dL | High-intensity statin', bg='#EDE7F6', border='#4A148C', fontsize=8.7) arr(ax, 11,24.35, 11,23.7) # ═══ PHASE 11 — REHAB ════════════════════════════════════════════════════════ ax.text(11,23.4,'[11] REHABILITATION & DISCHARGE PLANNING', ha='center',va='center',fontsize=10,fontweight='bold',color='#BF360C') box(ax, 11,21.8, 17.5,3.1, 'Formal assessment of ADLs, communication, functional mobility (before discharge)\n' 'Speech therapy (dysphagia / aphasia) | Physical therapy | Occupational therapy\n' 'Rehabilitation intensity commensurate with benefit and patient tolerance\n' '=================================================================\n' 'Patient & family education: Stroke recognition (FAST) | Risk factor control | Medication adherence\n' 'Smoking cessation | Tight glycaemic & BP control | Exercise & diet counselling\n' 'Care transition plan | Outpatient neurology / stroke clinic follow-up within 30 days', bg='#FBE9E7', border='#BF360C', fontsize=8.7) arr(ax, 11,20.25, 11,19.65) # ═══ GOAL BOX ════════════════════════════════════════════════════════════════ box(ax, 11,19.2, 12,0.8, 'GOAL: Minimise disability | Prevent recurrence | Optimise long-term function', bg='#FDD835', border='#F9A825', fontsize=10, bold=True, fg='#212121') # ═══ TIME TARGETS SIDEBAR ════════════════════════════════════════════════════ box(ax, 1.2,38.5, 2.1,8.5, 'TIME\nTARGETS\n' '--------\n' 'Door to CT\n<=25 min\n' '--------\n' 'Door to\nNeedle\n<=60 min\n' '--------\n' 'Door to\nPuncture\n<=90 min\n' '--------\n' 'LKW to\nIV tPA\n<=4.5 h\n' '--------\n' 'LKW to\nMT\n<=24 h\n(selected)', bg='#FFF8E1', border='#F57F17', fontsize=8.4) # ═══ LEGEND ══════════════════════════════════════════════════════════════════ legend_items = [ mpatches.Patch(color='#DCEDC8', ec='#558B2F', label='Prehospital / EMS'), mpatches.Patch(color='#E8EAF6', ec='#3949AB', label='Emergency Department'), mpatches.Patch(color='#F3E5F5', ec='#7B1FA2', label='Diagnostics'), mpatches.Patch(color='#B3E5FC', ec='#0288D1', label='IV Thrombolysis'), mpatches.Patch(color='#FFE0B2', ec='#E65100', label='Mechanical Thrombectomy'), mpatches.Patch(color='#E8F5E9', ec='#2E7D32', label='General AIS Care'), mpatches.Patch(color='#EDE7F6', ec='#4A148C', label='Secondary Prevention'), mpatches.Patch(color='#FFEBEE', ec='#C62828', label='Hemorrhagic Stroke Path'), mpatches.Patch(color='#FBE9E7', ec='#BF360C', label='Rehabilitation'), ] ax.legend(handles=legend_items, loc='lower right', bbox_to_anchor=(1.0, 0.01), fontsize=8.5, title='Colour Legend', title_fontsize=9, framealpha=0.95, edgecolor='#AAAAAA') ax.text(11,18.55, 'Source: AHA/ASA 2018 Guidelines for Early Management of AIS (2019 Update) | ' "Rosen's Emergency Medicine | Bradley & Daroff's Neurology in Clinical Practice", ha='center', va='center', fontsize=7.2, color='#888', fontstyle='italic') plt.tight_layout(pad=0.4) plt.savefig('/tmp/workspace/ais-flowchart/AIS_Management_Flowchart_AHA_ASA.png', dpi=180, bbox_inches='tight', facecolor='#F0F4F8') plt.close() print("Done.") PYEOF

Here is your AHA/ASA AIS Management Flowchart:

AIS Management Flowchart AHA ASA

Image · PNG


AHA/ASA AIS Approach & Management - Summary of the Flowchart

The flowchart follows the official AHA/ASA 2018 + 2019 Guidelines from symptom onset through discharge. Here is a textual walkthrough:

[1] Out of Hospital

  • Bystander recognition using B.E. F.A.S.T. (Balance, Eyes, Face, Arm, Speech, Time)
  • Immediate EMS activation; transport to nearest certified Stroke Center

[2] First Medical Contact (EMS)

  • Stabilise ABCs; stroke screen with CPSS / LAPSS
  • Do NOT treat BP unless >220/120 (and no tPA planned)
  • Supplemental O2 if SpO2 <94%; check blood glucose (treat if <60 mg/dL)
  • Record Time Last Known Well (LKW); pre-notify hospital

[3] Emergency Department

  • NIHSS scoring
  • Door-to-CT ≤25 min | Door-to-Needle ≤60 min | Door-to-Puncture ≤90 min

[4] Immediate Diagnostics (ALL patients)

  • Non-contrast CT head, CBC, glucose, PT/INR, aPTT, electrolytes, troponin, ECG
  • CTA head + neck in thrombectomy candidates (do not delay IV tPA for CTA)

Decision: CT shows hemorrhage?

  • YES → Hemorrhagic stroke pathway (Neurosurgery/Neurology consult)
  • NO → Confirmed AIS; proceed below

[5] + [6] SIMULTANEOUS Evaluation (parallel tracks)

IV ThrombolysisMechanical Thrombectomy
Within 3 h: age ≥18, neuro deficit, no hemorrhage, BP ≤185/110, no major exclusions0-6 h: prestroke mRS 0-1, ICA/M1 occlusion, age ≥18, NIHSS ≥6, ASPECTS ≥6
Within 3-4.5 h: additional exclusions (age >80, NIHSS >25, prior stroke + DM, anticoagulants, infarct >1/3 MCA)6-24 h (extended): ICA/M1 occlusion + meets DAWN or DEFUSE-3 criteria

[7] Administer IV tPA

  • Alteplase 0.9 mg/kg IV (max 90 mg): 10% bolus over 1 min + 90% over 60 min
  • OR Tenecteplase 0.25 mg/kg IV bolus (max 25 mg) - preferred if thrombectomy also planned

[8] Mechanical Thrombectomy

  • Stent retriever (preferred) or aspiration technique
  • Can be combined with IV tPA (bridging therapy)
  • Target reperfusion: mTICI ≥2b

[9] General In-Hospital AIS Care

  • Admit to Stroke Unit/ICU for ≥24 h monitoring
  • BP: <180/105 if tPA given; permissive HTN (treat only >220/120) if no tPA
  • Glucose: 140-180 mg/dL; treat hypoglycemia immediately
  • Fever: Treat >38°C with acetaminophen
  • Dysphagia screen before any oral intake (NPO if fails)
  • Aspirin 325 mg: within 24-48 h (or at 24 h post-tPA)
  • Statin + DVT prophylaxis

[10] Secondary Prevention Workup (TOAST Classification)

  • Echocardiogram, telemetry/Holter for AF, lipids, HbA1c, carotid imaging
  • AF found → Anticoagulation (NOAC preferred), start 4-14 days post-stroke
  • Non-cardioembolic → Dual antiplatelet (ASA + clopidogrel) x21 days for minor stroke/TIA
  • Symptomatic carotid stenosis 50-99% → CEA within 2 weeks (or CAS)
  • Long-term BP target <130/80 mmHg | LDL <70 mg/dL on high-intensity statin

[11] Rehabilitation & Discharge

  • Formal ADL/functional assessment before discharge
  • Speech, physical, and occupational therapy
  • Patient/family education, risk factor counselling
  • Outpatient neurology follow-up within 30 days

Sources: AHA/ASA 2018 AIS Guidelines (2019 Update) | Rosen's Emergency Medicine (9780323757898) | Bradley & Daroff's Neurology in Clinical Practice (9780323642613)
This is a shared conversation. Sign in to Orris to start your own chat.