Stroke

Reading File
Asking for Preferences
Finding Sources
Searching PubMed

"ischemic stroke" AND "acute treatment"

Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Loading Image
Finding Sources
I now have comprehensive information from multiple authoritative sources. Here is the complete structured answer on Acute Stroke Management.

Acute Stroke Management

Stroke and TIA Management Flowchart
Figure: Medical management of stroke and TIA. Ischemic stroke accounts for ~85% of cases; hemorrhage ~15%. - Harrison's Principles of Internal Medicine, 22e

Step 1: Immediate Assessment (All Stroke Types)

ABC + Glucose first. On arrival:
  • Secure airway, assess breathing and circulation
  • Stat blood glucose - hypoglycemia (BG <60 mg/dL) mimics stroke and is treated with IV dextrose
  • Non-contrast CT brain is the mandatory first imaging step - it rules out hemorrhage before any thrombolytic therapy is considered
  • Activate a stroke team / stroke protocol immediately

Step 2: Ischemic Stroke (~85%) - Reperfusion Therapy

The primary goal is restoring perfusion to viable but non-infarcted ischemic penumbra. Two strategies are proven effective:

A. IV Thrombolysis

Agents:
  • Alteplase - 0.9 mg/kg IV (max 90 mg) over 60 minutes; first 10% given as bolus over 1 minute. This is the FDA-approved standard dose. (Low-dose 0.6 mg/kg is standard in Japan but not recommended by AHA/ASA.)
  • Tenecteplase - 0.25 mg/kg IV (max 25 mg) as a single bolus. Moderate-to-high quality evidence shows similar rates of functional outcome, symptomatic ICH, and mortality vs. alteplase. Single-bolus administration is more practical. Preferred when the patient is also going for mechanical thrombectomy (EXTEND-IA TNK trial showed higher reperfusion and better outcomes vs. alteplase in this setting).
Time windows:
  • Within 3 hours of clearly defined symptom onset: solidly supported by multiple RCTs including the landmark NINDS trial
  • 3-4.5 hours: extended window supported by ECASS III; AHA/ASA guidelines recommend thrombolysis up to 4.5 hours in eligible patients
Key eligibility criteria (AHA/ASA 2019):
  • No hemorrhage on CT
  • BP must be <185/110 mmHg before initiation (and maintained <180/105 mmHg during/after)
  • No major surgery within 14 days; no severe head trauma within 3 months
  • No recent (3-month) prior stroke or serious intracranial disease
  • Blood glucose >50 mg/dL
  • Not on anticoagulants with therapeutic effect
Blood pressure management during/after thrombolysis:
  • Monitor BP every 15 minutes during treatment, then every 30 minutes for 6 hours, then hourly for 16 hours
  • Systolic 180-230 mmHg or diastolic 105-120 mmHg → Labetalol 10 mg IV over 1-2 min (repeat q10-20 min; max 300 mg) or labetalol infusion 2-8 mg/min
  • Systolic >230 mmHg or diastolic 121-140 mmHg → same labetalol regimen or Nicardipine infusion 5 mg/h (titrate up by 2.5 mg/h every 5 min to max 15 mg/h). If uncontrolled, consider sodium nitroprusside.
Complication - Symptomatic ICH: Treat with cryoprecipitate (10 U IV), antifibrinolytics (tranexamic acid, epsilon-aminocaproic acid), fresh frozen plasma, or platelets. Target fibrinogen ≥150 mg/dL. Neurosurgical intervention if indicated.
Cerebral microbleeds (CMBs): >10 CMBs on MRI → risk of symptomatic ICH after thrombolysis is significantly elevated (30-47% vs 1-4%); benefits of thrombolytics are uncertain in this population.
  • Rosen's Emergency Medicine, 9e (Table 87.5; p. 1435)

B. Mechanical Thrombectomy (Endovascular)

Indicated for large vessel occlusions (LVO) in the anterior circulation. Decisively demonstrated in multiple RCTs (MR CLEAN, SWIFT PRIME, EXTEND-IA, ESCAPE, REVASCAT, THRACE).
Criteria (0-6 hours from onset):
  • Prestroke mRS ≤1 (no significant disability)
  • Occlusion of ICA or M1 segment of MCA
  • NIHSS ≥6
  • ASPECTS ≥6
  • Can receive thrombectomy regardless of whether IV alteplase was given
Extended time windows:
  • 6-16 hours: eligible if meeting DAWN or DEFUSE 3 criteria (mismatch between clinical deficit and infarct core on CT perfusion or DWI-MRI)
  • 16-24 hours: select patients meeting DAWN criteria
Timing matters: Each 1-hour delay in reperfusion associates with worse functional outcome. Symptom onset to arterial puncture should be minimized.
Uncertain benefit: M2/M3 MCA occlusions, ACA, basilar, vertebral, PCA occlusions; prestroke mRS >1; NIHSS <6; ASPECTS <6.
  • Rosen's Emergency Medicine, 9e (p. 1439)

Step 3: Blood Glucose and Temperature

  • Persistent hyperglycemia (first 24 hours) is associated with worse outcomes. Target BG 140-180 mg/dL with insulin; avoid hypoglycemia
  • Hypothermia is neuroprotective in animal models and cardiac arrest patients, but has not been proven effective in ischemic stroke and increases pneumonia rates
  • Treat fever aggressively (antipyretics, cooling) as it worsens ischemic injury

Step 4: Antithrombotic Therapy (Non-Reperfusion)

Aspirin:
  • The only antiplatelet proven effective for acute ischemic stroke treatment
  • Large trials (IST, CAST) showed aspirin 160 mg/day within 48 hours prevents ~9 deaths or nonfatal recurrences per 1000 strokes treated, and ~13 fewer patients dead/dependent at 6 months
  • Start as soon as hemorrhage is excluded (or 24 hours after thrombolysis)
Dual antiplatelet (DAPT):
  • Aspirin + clopidogrel or aspirin + ticagrelor: effective for minor stroke or TIA to prevent early second stroke
Anticoagulation:
  • Routine heparin or anticoagulation is NOT recommended for atherothrombotic stroke - multiple trials show no benefit and increased hemorrhage risk
  • Exceptions: dural sinus thrombosis (heparin beneficial), possible benefit in cardioembolic stroke for selected patients (AF), hypercoagulable states, arterial dissection (evidence is weak)
  • Harrison's Principles of Internal Medicine, 22e (p. 3486)
  • Bradley and Daroff's Neurology in Clinical Practice

Step 5: Hemorrhagic Stroke (~15%)

Management is fundamentally different from ischemic stroke:
Intracerebral Hemorrhage (ICH) - 7% of all strokes:
  • Blood pressure lowering: BP reduction is the primary intervention (target SBP <140 mmHg is commonly used for ICH, vs. permissive hypertension allowed in ischemic stroke without reperfusion therapy)
  • Reverse anticoagulation if on warfarin/anticoagulants: Vitamin K, prothrombin complex concentrate (PCC), fresh frozen plasma
  • Surgical evacuation: considered in selected patients (large lobar hemorrhage, cerebellar hemorrhage >3 cm with deterioration, hydrocephalus)
  • Do NOT give thrombolytics
Subarachnoid Hemorrhage (SAH) - 4% of all strokes:
  • Aneurysmal SAH: neurosurgical clipping or endovascular coiling of the aneurysm
  • Nimodipine (oral) to prevent vasospasm
  • Close monitoring for re-bleeding, vasospasm, hydrocephalus

Step 6: Establish Cause and Secondary Prevention

After acute stabilization, establish etiology:
CauseIntervention
Atrial fibrillation (17%)Long-term oral anticoagulation (DOAC preferred)
Carotid disease (4%)CEA (carotid endarterectomy) or carotid stenting
Other/cryptogenic (64%)Aspirin ± dipyridamole or clopidogrel

Step 7: Supportive Care and Rehabilitation

  • Stroke unit care reduces mortality and improves outcomes vs. general wards
  • DVT prophylaxis: pneumatic compression stockings (proven benefit, safe alternative to heparin in hemorrhagic stroke)
  • Early rehabilitation: physical therapy, occupational therapy, speech therapy
  • Prevent complications: aspiration pneumonia, pressure sores, contractures
  • Constrained movement therapy (immobilizing unaffected limb) improves hemiparesis - effective even years post-stroke, suggesting neural pathway recruitment
  • SSRIs may help prevent post-stroke depression; evidence for motor recovery remains uncertain
  • Telemedicine/telestroke services extend specialist availability to primary centers
  • Harrison's Principles of Internal Medicine, 22e (p. 3486-3487)

Recent literature note (2025-2026): A 2026 systematic review and meta-analysis (PMID: 41263069) in the journal Stroke investigated GLP-1 receptor agonists as treatment for non-diabetic ischemic stroke - a potential emerging avenue. A 2026 systematic review (PMID: 42440218) on endovascular treatment economics confirms the cost-effectiveness of mechanical thrombectomy. These do not contradict the management framework above.

Create a clinical reference card or pocket guide for acute stroke protocols

Asking for Preferences
Reading File
Running Command

ls /home/daytona/workspace/ && mkdir -p /home/daytona/workspace/stroke-pocket-gu…

Writing File

~/stroke-pocket-guide/generate_pocket_guide.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm, cm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_RIGHT
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont

OUTPUT = "/home/daytona/workspace/stroke-pocket-guide/Acute_Stroke_Pocket_Guide.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
RED        = colors.HexColor("#C0392B")   # danger / header
ORANGE     = colors.HexColor("#E67E22")   # warning
DARK_BLUE  = colors.HexColor("#1A2F5A")   # section headers
MID_BLUE   = colors.HexColor("#2980B9")   # sub-headers
LIGHT_BLUE = colors.HexColor("#D6EAF8")   # row highlight
LIGHT_GREY = colors.HexColor("#F2F3F4")   # alternate rows
GREEN      = colors.HexColor("#1E8449")   # ok / go
YELLOW_BG  = colors.HexColor("#FEF9E7")   # caution boxes
WHITE      = colors.white
BLACK      = colors.HexColor("#1C1C1C")

# ── Document ─────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=12*mm, rightMargin=12*mm,
    topMargin=10*mm, bottomMargin=10*mm,
    title="Acute Stroke Pocket Guide",
    author="Orris Clinical Reference"
)

W = A4[0] - 24*mm   # usable width

# ── Styles ───────────────────────────────────────────────────────────────────
base = getSampleStyleSheet()

def S(name, **kw):
    """Quick ParagraphStyle factory."""
    return ParagraphStyle(name, **kw)

sTitle = S("sTitle",
    fontSize=18, leading=22, textColor=WHITE,
    fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=2)

sSubtitle = S("sSubtitle",
    fontSize=9, leading=12, textColor=colors.HexColor("#BDC3C7"),
    fontName="Helvetica", alignment=TA_CENTER)

sSectionHdr = S("sSectionHdr",
    fontSize=9, leading=11, textColor=WHITE,
    fontName="Helvetica-Bold", alignment=TA_LEFT,
    leftIndent=4, spaceBefore=2, spaceAfter=2)

sSubHdr = S("sSubHdr",
    fontSize=8, leading=10, textColor=DARK_BLUE,
    fontName="Helvetica-Bold", alignment=TA_LEFT,
    spaceBefore=3, spaceAfter=1)

sBody = S("sBody",
    fontSize=7.5, leading=10, textColor=BLACK,
    fontName="Helvetica", alignment=TA_LEFT,
    spaceAfter=1)

sBold = S("sBold",
    fontSize=7.5, leading=10, textColor=BLACK,
    fontName="Helvetica-Bold", alignment=TA_LEFT)

sSmall = S("sSmall",
    fontSize=6.5, leading=8, textColor=colors.HexColor("#555555"),
    fontName="Helvetica", alignment=TA_LEFT)

sAlert = S("sAlert",
    fontSize=7.5, leading=10, textColor=RED,
    fontName="Helvetica-Bold", alignment=TA_LEFT)

sGreen = S("sGreen",
    fontSize=7.5, leading=10, textColor=GREEN,
    fontName="Helvetica-Bold", alignment=TA_LEFT)

sCellBold = S("sCellBold",
    fontSize=7.5, leading=9, textColor=BLACK,
    fontName="Helvetica-Bold")

sCellBody = S("sCellBody",
    fontSize=7, leading=9, textColor=BLACK,
    fontName="Helvetica")

sCellWhite = S("sCellWhite",
    fontSize=8, leading=10, textColor=WHITE,
    fontName="Helvetica-Bold")

# ── Helper: coloured section header bar ─────────────────────────────────────
def section_bar(text, bg=DARK_BLUE, fg=WHITE, icon=""):
    full = f"{icon}  {text}" if icon else text
    tbl = Table([[Paragraph(full, sSectionHdr)]],
                colWidths=[W], rowHeights=[14])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ]))
    return tbl

# ── Helper: two-column layout ────────────────────────────────────────────────
def two_col(left_items, right_items, lw_frac=0.50):
    lw = W * lw_frac
    rw = W - lw - 3*mm
    from reportlab.platypus import KeepTogether
    tbl = Table([[left_items, right_items]],
                colWidths=[lw, rw])
    tbl.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),
    ]))
    return tbl

# ── Helper: styled data table ────────────────────────────────────────────────
def data_table(headers, rows, col_widths, hdr_bg=MID_BLUE):
    data = [[Paragraph(h, sCellWhite) for h in headers]]
    for i, row in enumerate(rows):
        bg = LIGHT_BLUE if i % 2 == 0 else WHITE
        data.append([Paragraph(str(c), sCellBody) for c in row])
    tbl = Table(data, colWidths=col_widths)
    style = [
        ("BACKGROUND",    (0, 0), (-1, 0), hdr_bg),
        ("GRID",          (0, 0), (-1,-1), 0.3, colors.HexColor("#CCCCCC")),
        ("ROWBACKGROUNDS",(0, 1), (-1,-1), [LIGHT_BLUE, WHITE]),
        ("TOPPADDING",    (0, 0), (-1,-1), 3),
        ("BOTTOMPADDING", (0, 0), (-1,-1), 3),
        ("LEFTPADDING",   (0, 0), (-1,-1), 4),
        ("RIGHTPADDING",  (0, 0), (-1,-1), 4),
        ("VALIGN",        (0, 0), (-1,-1), "TOP"),
    ]
    tbl.setStyle(TableStyle(style))
    return tbl

def bullet(text, style=sBody, indent=6):
    return Paragraph(f"<bullet bulletIndent='{indent}' indent='14'>\u2022</bullet> {text}", style)

def sp(h=3):
    return Spacer(1, h)

# ════════════════════════════════════════════════════════════════════════════
# BUILD CONTENT
# ════════════════════════════════════════════════════════════════════════════
story = []

# ─── TITLE BANNER ────────────────────────────────────────────────────────────
title_tbl = Table(
    [[Paragraph("ACUTE STROKE PROTOCOL", sTitle)],
     [Paragraph("Clinical Pocket Reference  |  Based on AHA/ASA Guidelines", sSubtitle)]],
    colWidths=[W]
)
title_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("ROUNDEDCORNERS",[4]),
]))
story.append(title_tbl)
story.append(sp(5))

# ─── STEP 0: RECOGNITION ─────────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("STEP 0 — RECOGNITION  (BE-FAST)", bg=RED),
    sp(3),
    data_table(
        ["Sign", "Finding"],
        [
            ["Balance", "Sudden loss of balance or coordination"],
            ["Eyes", "Sudden vision loss or double vision"],
            ["Face", "Facial droop — ask patient to smile"],
            ["Arm", "Arm weakness — ask to raise both arms"],
            ["Speech", "Slurred or strange speech"],
            ["Time", "Time to call emergency services NOW — note exact onset time"],
        ],
        [W*0.20, W*0.80],
        hdr_bg=RED
    ),
    sp(3),
]))

# ─── STEP 1: IMMEDIATE ACTIONS ────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("STEP 1 — IMMEDIATE ACTIONS (First 10 minutes)", bg=DARK_BLUE),
    sp(3),
    data_table(
        ["Priority", "Action"],
        [
            ["ABCs", "Airway, Breathing, Circulation — O₂ if SpO₂ <94%"],
            ["Glucose", "Stat fingerstick BG — treat hypoglycaemia (<60 mg/dL) with IV dextrose immediately"],
            ["IV Access", "Two large-bore IVs; draw blood (CBC, BMP, coagulation, troponin, type & screen)"],
            ["12-lead ECG", "Rule out AF; identify concurrent ACS"],
            ["Imaging", "Non-contrast CT brain STAT — rule out haemorrhage before any thrombolysis"],
            ["CT-A", "CT angiography if LVO suspected (NIHSS ≥6 or dense MCA sign)"],
            ["Neuro exam", "NIHSS score, last known well time, medications, contraindications"],
        ],
        [W*0.18, W*0.82],
    ),
    sp(3),
]))

# ─── STEP 2 SPLIT: ISCHEMIC vs HAEMORRHAGIC ──────────────────────────────────
story.append(section_bar("STEP 2 — ACUTE MANAGEMENT BY STROKE TYPE", bg=MID_BLUE))
story.append(sp(4))

# ── Left: Ischemic ──────────────────────────────────────────────────────────
isch_items = [
    section_bar("ISCHEMIC STROKE  (~85%)", bg=colors.HexColor("#1A6F9A"), fg=WHITE),
    sp(2),
    Paragraph("IV THROMBOLYSIS", sSubHdr),
    data_table(
        ["Agent", "Dose", "Window"],
        [
            ["<b>Alteplase</b>", "0.9 mg/kg IV (max 90 mg)\n10% bolus over 1 min\n90% infusion over 60 min", "0 – 4.5 h"],
            ["<b>Tenecteplase</b>", "0.25 mg/kg IV (max 25 mg)\nSingle bolus", "0 – 4.5 h\n(preferred if EVT planned)"],
        ],
        [W*0.22, W*0.30, W*0.15],
    ),
    sp(2),
    Paragraph("KEY CONTRAINDICATIONS", sSubHdr),
    bullet("BP >185/110 mmHg (must treat first)", sBody),
    bullet("Haemorrhage on CT / previous ICH", sAlert),
    bullet("Anticoagulants with therapeutic effect (INR >1.7, DOAC within 48 h)", sBody),
    bullet("Major surgery / severe trauma within 14 days", sBody),
    bullet("Prior stroke or serious head trauma within 3 months", sBody),
    bullet("Blood glucose <50 mg/dL", sBody),
    sp(2),
    Paragraph("BP TARGETS", sSubHdr),
    data_table(
        ["Scenario", "BP Target", "Agent"],
        [
            ["Before thrombolysis", "<185/110 mmHg", "Labetalol 10–20 mg IV or\nNicardipine infusion"],
            ["During / after (24 h)", "<180/105 mmHg", "Labetalol or Nicardipine"],
            ["No thrombolysis", "<220/120 mmHg\n(permissive first 24 h)", "Treat if >220/120"],
        ],
        [W*0.30, W*0.22, W*0.15],
    ),
    sp(3),
]

# ── Right: Haemorrhagic ─────────────────────────────────────────────────────
haem_items = [
    section_bar("HAEMORRHAGIC STROKE  (~15%)", bg=RED, fg=WHITE),
    sp(2),
    Paragraph("INTRACEREBRAL HAEMORRHAGE (ICH)", sSubHdr),
    bullet("Target SBP <140 mmHg acutely (IV labetalol / nicardipine / clevidipine)", sBody),
    bullet("Reverse anticoagulation IMMEDIATELY", sAlert),
    bullet("Warfarin → Vitamin K + PCC (preferred) or FFP", sBody),
    bullet("Dabigatran → Idarucizumab (Praxbind®)", sBody),
    bullet("Xa inhibitors → Andexanet alfa or PCC", sBody),
    bullet("Correct platelets if <100k or on antiplatelet + surgery planned", sBody),
    bullet("NO thrombolytics, NO anticoagulation", sAlert),
    bullet("Neurosurgery consult: cerebellar ICH >3 cm, herniation, hydrocephalus", sBody),
    sp(4),
    Paragraph("SUBARACHNOID HAEMORRHAGE (SAH)", sSubHdr),
    bullet("Secure aneurysm: surgical clipping or endovascular coiling", sBody),
    bullet("Nimodipine 60 mg PO q4h × 21 days (vasospasm prevention)", sGreen),
    bullet("Monitor for re-bleeding, vasospasm, hydrocephalus", sBody),
    bullet("Avoid hypotension; maintain euvolaemia", sBody),
    sp(3),
]

story.append(two_col(isch_items, haem_items, lw_frac=0.52))
story.append(sp(4))

# ─── MECHANICAL THROMBECTOMY ──────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("MECHANICAL THROMBECTOMY (EVT) — Ischemic LVO Only", bg=colors.HexColor("#1A6F9A")),
    sp(3),
    data_table(
        ["Criteria", "Details"],
        [
            ["Vessel", "ICA or M1 MCA occlusion (anterior circulation)"],
            ["Function", "Pre-stroke mRS ≤1 (independent)"],
            ["Severity", "NIHSS ≥6"],
            ["Imaging", "ASPECTS ≥6 on CT or small infarct core on CT perfusion / DWI-MRI"],
            ["0 – 6 h window", "Standard window — offer EVT regardless of IV alteplase status"],
            ["6 – 16 h window", "DAWN / DEFUSE-3 criteria: mismatch between deficit & infarct core"],
            ["16 – 24 h window", "DAWN criteria only — CT perfusion or DWI mismatch required"],
            ["Key principle", "Every 1-hour delay → worse functional outcome. Door-to-puncture <90 min"],
        ],
        [W*0.22, W*0.78],
    ),
    sp(3),
]))

# ─── ANTITHROMBOTIC THERAPY ───────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("ANTITHROMBOTIC THERAPY  (Ischemic Stroke)", bg=DARK_BLUE),
    sp(3),
    data_table(
        ["Scenario", "Drug", "Timing / Dose", "Duration"],
        [
            ["All ischemic strokes (no thrombolysis)", "Aspirin 325 mg", "Load immediately after CT confirms ischaemia", "Lifelong"],
            ["Post-thrombolysis", "Aspirin 325 mg", "Wait 24 h after rtPA; repeat CT first", "Lifelong"],
            ["Minor stroke or TIA (NIHSS ≤3)", "Aspirin + Clopidogrel (DAPT)", "Start within 24 h; continue 21 days", "Then single agent"],
            ["Atrial fibrillation (cardioembolic)", "DOAC (apixaban/rivaroxaban)\nor warfarin (INR 2–3)", "Start 2–14 days post-stroke depending on size", "Lifelong"],
            ["Carotid stenosis ≥50%", "Antiplatelet + CEA or stenting", "CEA within 2 weeks of TIA/minor stroke", "Per vascular surgery"],
        ],
        [W*0.24, W*0.22, W*0.30, W*0.24],
    ),
    sp(3),
]))

# ─── GLUCOSE & METABOLIC ─────────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("METABOLIC TARGETS  (All Stroke Types)", bg=colors.HexColor("#117A65")),
    sp(3),
    data_table(
        ["Parameter", "Target", "Intervention"],
        [
            ["Blood Glucose", "140 – 180 mg/dL", "Insulin infusion for hyperglycaemia; IV dextrose for hypoglycaemia (<60 mg/dL)"],
            ["Temperature", "Normothermia (≤37.5°C)", "Antipyretics + cooling — fever worsens ischaemic injury"],
            ["O₂ Saturation", "≥94%", "Supplemental O₂ or intubation if needed; avoid routine O₂ if SpO₂ normal"],
            ["Sodium", "Normonatraemia", "Hypo-osmolar fluids contraindicated (worsen oedema) — use 0.9% NaCl"],
        ],
        [W*0.20, W*0.25, W*0.55],
        hdr_bg=colors.HexColor("#117A65")
    ),
    sp(3),
]))

# ─── BP MANAGEMENT TABLE (ICH) ───────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("BP MANAGEMENT QUICK-REFERENCE", bg=colors.HexColor("#922B21")),
    sp(3),
    data_table(
        ["Situation", "SBP Target", "First-line Agent(s)"],
        [
            ["Before IV thrombolysis", "<185/110", "Labetalol 10–20 mg IV bolus; Nicardipine 5 mg/h infusion"],
            ["During/after thrombolysis (24 h)", "<180/105", "Labetalol 2–8 mg/min infusion; Nicardipine up to 15 mg/h"],
            ["Ischemic stroke — no reperfusion", "<220/120\n(permissive)", "Treat only if BP >220/120 or hypertensive emergency"],
            ["ICH (intracerebral haemorrhage)", "<140", "IV nicardipine, labetalol, or clevidipine infusion"],
            ["SAH (subarachnoid)", "Individualised\n(avoid hypotension)", "Nicardipine infusion; maintain CPP"],
        ],
        [W*0.30, W*0.18, W*0.52],
        hdr_bg=colors.HexColor("#922B21")
    ),
    sp(3),
]))

# ─── SUPPORTIVE CARE ─────────────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("SUPPORTIVE CARE & COMPLICATIONS", bg=DARK_BLUE),
    sp(3),
]))

supp_left = [
    Paragraph("DVT PROPHYLAXIS", sSubHdr),
    bullet("Pneumatic compression stockings — start immediately", sGreen),
    bullet("UFH or LMWH: ischemic stroke only, after 24–48 h when haemorrhage risk low", sBody),
    sp(4),
    Paragraph("DYSPHAGIA", sSubHdr),
    bullet("Nil by mouth until formal swallow assessment", sAlert),
    bullet("NGT feeding if prolonged dysphagia", sBody),
    sp(4),
    Paragraph("CEREBRAL OEDEMA / HERNIATION", sSubHdr),
    bullet("HOB 30°, head midline, avoid hypotonic fluids", sBody),
    bullet("Mannitol 0.5–1 g/kg IV or hypertonic saline for ICP crisis", sBody),
    bullet("Hemicraniectomy for malignant MCA syndrome (age <60, dominant/non-dominant)", sBody),
]

supp_right = [
    Paragraph("SEIZURE MANAGEMENT", sSubHdr),
    bullet("Treat clinical seizures; no prophylactic AEDs routinely", sBody),
    bullet("Lorazepam IV for status epilepticus", sBody),
    sp(4),
    Paragraph("SYMPTOMATIC ICH (post-thrombolysis)", sSubHdr),
    bullet("Stop alteplase immediately", sAlert),
    bullet("Cryoprecipitate 10 U IV (target fibrinogen ≥150 mg/dL)", sBody),
    bullet("Tranexamic acid or epsilon-aminocaproic acid", sBody),
    bullet("Neurosurgery consult urgently", sBody),
    sp(4),
    Paragraph("EARLY REHABILITATION", sSubHdr),
    bullet("Mobilise within 24–48 h if stable", sGreen),
    bullet("Speech, physical, occupational therapy from day 1", sBody),
    bullet("Stroke unit care reduces mortality & dependency", sGreen),
]

story.append(two_col(supp_left, supp_right, lw_frac=0.50))
story.append(sp(4))

# ─── NIHSS QUICK REFERENCE ───────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("NIHSS QUICK SEVERITY GUIDE", bg=colors.HexColor("#6C3483")),
    sp(3),
    data_table(
        ["Score", "Severity", "Clinical Implication"],
        [
            ["0", "No stroke", "Normal"],
            ["1 – 4", "Minor stroke", "DAPT (aspirin + clopidogrel); consider EVT if LVO"],
            ["5 – 15", "Moderate stroke", "IV tPA if eligible; EVT if LVO confirmed"],
            ["16 – 20", "Moderate–severe", "IV tPA + EVT if eligible; ICU-level monitoring"],
            ["21 – 42", "Severe stroke", "EVT if LVO; consider goals of care discussion"],
        ],
        [W*0.12, W*0.20, W*0.68],
        hdr_bg=colors.HexColor("#6C3483")
    ),
    sp(3),
]))

# ─── TIME TARGETS ────────────────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("TIME TARGETS  (Door-to-Treatment Benchmarks)", bg=GREEN),
    sp(3),
    data_table(
        ["Milestone", "Target Time"],
        [
            ["CT brain completed", "≤25 min from door"],
            ["CT brain interpreted", "≤45 min from door"],
            ["Door-to-needle (IV tPA)", "≤60 min from door  (target: ≤45 min)"],
            ["Door-to-puncture (EVT)", "≤90 min from door"],
            ["Symptom onset to IV tPA", "≤4.5 hours"],
            ["Symptom onset to EVT", "≤6 hours (up to 24 h with imaging selection)"],
        ],
        [W*0.60, W*0.40],
        hdr_bg=GREEN
    ),
    sp(3),
]))

# ─── SECONDARY PREVENTION ────────────────────────────────────────────────────
story.append(KeepTogether([
    section_bar("SECONDARY PREVENTION — BEFORE DISCHARGE", bg=DARK_BLUE),
    sp(3),
    data_table(
        ["Risk Factor", "Target / Intervention"],
        [
            ["Blood pressure", "Target <130/80 mmHg long-term; start/optimise antihypertensives"],
            ["Atrial fibrillation", "Anticoagulation (DOAC preferred over warfarin for non-valvular AF)"],
            ["LDL cholesterol", "High-intensity statin; target LDL <70 mg/dL (or <55 mg/dL if recurrent)"],
            ["Diabetes", "HbA1c <7%; GLP-1 agonists may have additional benefit (emerging data 2026)"],
            ["Carotid stenosis ≥50%", "CEA within 2 weeks of TIA/minor stroke (if symptomatic)"],
            ["Lifestyle", "Smoking cessation, Mediterranean diet, exercise ≥150 min/week, weight loss"],
            ["Antiplatelet (non-AF)", "Aspirin, or clopidogrel, or aspirin + dipyridamole (extended release)"],
        ],
        [W*0.30, W*0.70],
    ),
    sp(3),
]))

# ─── FOOTER ──────────────────────────────────────────────────────────────────
story.append(HRFlowable(width=W, thickness=0.5, color=DARK_BLUE))
story.append(sp(2))
story.append(Paragraph(
    "Based on AHA/ASA 2019 Stroke Guidelines | Rosen's Emergency Medicine 9e | Harrison's Principles 22e | Bradley & Daroff's Neurology  "
    "— For clinical guidance only; always apply individual patient assessment. | Generated by Orris, July 2026",
    sSmall
))

# ─── BUILD PDF ────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /home/daytona/workspace/stroke-pocket-guide && python generate_pocket_guide.p…

Running Command

ls -lh /home/daytona/workspace/stroke-pocket-guide/Acute_Stroke_Pocket_Guide.pdf

Running Command

cd /home/daytona/workspace/stroke-pocket-guide && python -c " from pypdf import …

Your clinical pocket guide is ready:

Acute Stroke Pocket Guide

PDF Document · PDF


What's included across 3 A4 pages:
SectionContents
STEP 0 - RecognitionBE-FAST mnemonic table
STEP 1 - Immediate ActionsABCs, glucose, imaging priorities (first 10 min)
STEP 2 - Ischemic vs HaemorrhagicSide-by-side two-column layout
IV ThrombolysisAlteplase & tenecteplase dosing, time windows, contraindications
BP ManagementColour-coded targets for every scenario (pre-tPA, post-tPA, ICH, SAH)
Mechanical ThrombectomyEligibility criteria, DAWN/DEFUSE-3 extended windows, timing benchmarks
Antithrombotic TherapyAspirin, DAPT, DOAC, anticoagulation by aetiology
Metabolic TargetsGlucose, temperature, O₂, sodium
Supportive CareDVT prophylaxis, dysphagia, oedema, seizures, symptomatic ICH
NIHSS Severity GuideScore ranges mapped to clinical action
Time TargetsDoor-to-needle ≤60 min, door-to-puncture ≤90 min
Secondary PreventionBP, AF, LDL, diabetes, carotid, lifestyle
Based on AHA/ASA 2019 Guidelines, Rosen's Emergency Medicine 9e, and Harrison's 22e.

Generate a quick-ref flowchart for door triage decisions

Generating Image

A clean, professional clinical flowchart titled "ACUTE STROKE — DOOR TRIAGE DECISIONS" for emergency department use. The flowchart uses a top-down decision tree format with color-coded boxes and arrows. Layout and content: START BOX (dark navy blue, top center): "Patient Arrives with Suspected Stroke" with subtext "Activate Stroke Alert — Note Exact Time" FIRST DECISION DIAMOND (dark blue): "ABCs Stable?" - NO arrow → red box "Stabilise Airway / CPR / Call Resus Team" - YES arrow continues down STEP BOX (teal): "Immediate Actions (≤10 min)" containing a checklist: "✓ Fingerstick glucose ✓ IV access + bloods ✓ 12-lead ECG ✓ Vitals + O₂ if SpO₂ <94% ✓ NIHSS score ✓ Last Known Well (LKW) time" DECISION DIAMOND: "Glucose <60 mg/dL?" - YES → orange box "IV Dextrose → Reassess — Rule out hypoglycaemic mimic" - NO → continue down ACTION BOX (dark blue): "STAT Non-Contrast CT Brain (target ≤25 min from door)" DECISION DIAMOND: "Haemorrhage on CT?" - YES (right branch, red): "HAEMORRHAGIC STROKE" → red box with: "• Target SBP <140 mmHg (IV nicardipine/labetalol) • Reverse anticoagulation (PCC / Idarucizumab / Vitamin K) • Neurosurgery consult • ICU admission" - NO (left branch, blue): "ISCHEMIC STROKE" → continues DECISION DIAMOND (blue): "Symptom onset or LKW ≤4.5 hours?" - YES → green box "Eligible for IV tPA?" with sub-diamond - YES → bright green action box "IV Alteplase 0.9 mg/kg (max 90 mg) — Door-to-Needle ≤60 min TARGET" - NO (contraindicated) → grey box "Best Medical Therapy: Aspirin 325 mg + Supportive Care" - NO (>4.5 hours or wake-up stroke) → teal box "CT Angiography + CT Perfusion" DECISION DIAMOND (blue): "NIHSS ≥6 + LVO on CTA?" - YES → bright blue box "Mechanical Thrombectomy (EVT) — Door-to-Puncture ≤90 min — Consider up to 24h with DAWN/DEFUSE-3 criteria" - NO → grey box "Admit Stroke Unit — Aspirin + Monitoring" BOTTOM BOX (dark navy, full width): "ALL PATIENTS: Stroke Unit Admission | DVT Prophylaxis | Swallow Screen | Glucose/Temp targets | Secondary Prevention Planning" Design: White background, color-coded branches (red=haemorrhagic, blue=ischemic, green=treatment go, orange=caution), clear sans-serif font, professional medical illustration style, arrows clearly labeled YES/NO, compact but readable for wall poster or pocket card use.

How much time take to create flowchart plz tell me

Generating the flowchart takes about 10–30 seconds using the AI image generation tool — it's nearly instant.
Shall I go ahead and create it now?

Create the door triage flowchart now (AI-generated image)

Generating Image

A clean, professional clinical decision flowchart titled "ACUTE STROKE — DOOR TRIAGE DECISIONS" for emergency department wall poster use. Top-down flowchart with color-coded boxes and labeled arrows. FLOW (top to bottom): 1. START (dark navy rectangle, top center): "Patient Arrives with Suspected Stroke" / "Activate Stroke Alert — Note Exact Time of Arrival & Last Known Well (LKW)" 2. DIAMOND: "ABCs Stable?" - NO → RED box: "Stabilise Airway / CPR / Call Resus Team" - YES → continue down 3. TEAL rectangle: "Immediate Actions (≤10 min)" with checklist: ✓ Fingerstick glucose ✓ IV access + bloods (CBC, BMP, coag, troponin) ✓ 12-lead ECG ✓ Vitals + O₂ if SpO₂ <94% ✓ NIHSS score ✓ Record Last Known Well time 4. DIAMOND: "Glucose <60 mg/dL?" - YES → ORANGE box: "IV Dextrose → Reassess — Rule out hypoglycaemic mimic" - NO → continue down 5. DARK BLUE rectangle: "STAT Non-Contrast CT Brain (target: ≤25 min from door)" 6. DIAMOND: "Haemorrhage on CT?" - YES → RIGHT BRANCH (RED): Box: "HAEMORRHAGIC STROKE" • Lower BP: target SBP <140 mmHg (IV nicardipine / labetalol) • Reverse anticoagulation: PCC / Idarucizumab / Vitamin K • Neurosurgery consult • ICU admission - NO → LEFT BRANCH (BLUE): "ISCHEMIC STROKE" → continue 7. DIAMOND (blue): "LKW ≤4.5 hours?" - YES → DIAMOND: "IV tPA eligible? (no contraindications, BP <185/110)" - YES → BRIGHT GREEN box: "IV ALTEPLASE 0.9 mg/kg (max 90 mg) — Door-to-Needle TARGET ≤60 min" - NO → GREY box: "Best Medical Therapy: Aspirin 325 mg + Supportive Care" - NO / Wake-up stroke → TEAL box: "CT Angiography + CT Perfusion" 8. DIAMOND (blue): "NIHSS ≥6 AND LVO on CTA?" - YES → BRIGHT BLUE box: "MECHANICAL THROMBECTOMY (EVT) — Door-to-Puncture ≤90 min — Eligible up to 24h with DAWN/DEFUSE-3 mismatch criteria" - NO → GREY box: "Admit Stroke Unit — Aspirin + Monitoring + Workup" 9. BOTTOM BAR (full-width dark navy): "ALL PATIENTS: Stroke Unit Admission | DVT Prophylaxis (compression stockings) | Swallow Screen before PO | Glucose 140–180 mg/dL | Normothermia | Secondary Prevention Planning" Style: White background, professional medical illustration, sans-serif bold font, arrows clearly labeled YES/NO, red for haemorrhagic branch, blue for ischemic branch, green for treatment go-ahead, orange for caution. Suitable for printing as A3 wall poster or pocket card.

Here's your door triage flowchart:
Acute Stroke Door Triage Flowchart
What the flowchart covers, step by step:
  1. Stroke Alert activation - note arrival time and Last Known Well (LKW)
  2. ABCs - resus if unstable
  3. Immediate 10-minute actions - glucose, IV access, ECG, NIHSS, O₂
  4. Hypoglycaemia check - rule out mimics before CT
  5. STAT non-contrast CT - the central branch point
  6. Haemorrhage? (red branch) - BP <140, reverse anticoagulation, neurosurgery, ICU
  7. Ischemic? (blue branch) - tPA eligibility check (LKW ≤4.5h, no contraindications)
  8. IV Alteplase - door-to-needle ≤60 min target
  9. LVO + NIHSS ≥6? - Mechanical thrombectomy, door-to-puncture ≤90 min, up to 24h with DAWN/DEFUSE-3
  10. Bottom bar - universal care bundle for all stroke patients
You can print this as an A3 wall poster or save alongside the

Acute Stroke Pocket Guide

PDF Document · PDF

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