Give me a flowchart for management of snake bite case with photo and

Reading File
Finding Sources
Searching the Web

snakebite management flowchart clinical guidelines WHO 2024

Finding Sources
Loading Image
Loading Image
Reading File
Loading Image
Searching the Web

snakebite clinical photos fang marks local swelling necrosis envenomation signs

Loading Image
Loading Image
Loading Image
Generating Image

Medical flowchart for snakebite management. Clean clinical flowchart with boxes and arrows. Starting from top: "SNAKEBITE" box → "Prehospital First Aid" (keep calm, immobilize limb, remove jewelry, pressure immobilization bandage for neurotoxic snakes, do NOT cut/suck/tourniquet) → "Transport to Hospital" → "Emergency Assessment: ABCs, Vital Signs, History" → Decision diamond "Evidence of Envenomation?" → YES branch: "Signs present: Local swelling, fang marks, systemic symptoms" → "Investigations: CBC, coagulation profile, renal function, LFTs, urine for blood, ECG" → Decision "Severity grading: Mild/Moderate/Severe?" → three branches (Mild: observe, Moderate: antivenom, Severe: ICU + antivenom) → "Antivenom Administration" → "Monitor for reaction" → "Ongoing supportive care" and NO branch from envenomation: "Observe 6-24 hours, tetanus prophylaxis, wound care, discharge if stable". Professional medical blue and white color scheme.

Reading File
Loading Image
Here is a complete, image-rich guide to snakebite management with flowcharts and clinical photos.

Snakebite Management - Complete Clinical Guide with Flowchart


Types of Snakebite

Types of Snake Bite

Symptoms of Snakebite

Symptoms of Snake Bite

Management Flowchart (Generated)

Snakebite Management Flowchart

Clinical Reference Flowchart (Royal Children's Hospital, Australia)

RCH Snakebite Flowchart

Advanced Management Algorithm (UTH Surgery)

UTH Snakebite Algorithm

Monitoring Envenomation Progression

Serial skin marking is used to track the spread of local envenomation over time.
Serial skin marking of snakebite envenomation
Progression of envenomation being monitored using serial skin marking on the foot - Sabiston Textbook of Surgery

Step-by-Step Management Protocol

PHASE 1 - Prehospital First Aid (The "Do's and Don'ts")

DO:
  • Keep patient calm and still - movement accelerates venom absorption
  • Immobilize the affected limb below heart level in a functional position
  • Remove all jewelry, rings, watches, tight clothing from affected limb
  • Apply Pressure Immobilization Bandage (PIB) - for neurotoxic snakes (Elapids/cobras): wrap from bite site toward the body at ~55 mmHg, then splint the limb
  • Transport rapidly to the nearest hospital
DO NOT:
  • Incise or cut the wound
  • Apply suction (incision and suction not recommended since 1980)
  • Apply tourniquet or cryotherapy (high amputation risk)
  • Apply ice or heat (no benefit)
  • Rub or massage the wound
  • Give the patient alcohol
  • Try to catch or handle the snake (even dead snakes can reflexively bite)
  • Apply electrical shock therapy (proven ineffective)
Note: PIB is contraindicated for Crotalid (pit viper) bites in the US because it concentrates venom locally and increases necrosis. It is only recommended for neurotoxic species.

PHASE 2 - Emergency Department Assessment

ActionDetails
ABCsAirway, Breathing, Circulation first
IV accessTwo large-bore IVs
Vital signsRecord and repeat at intervals
HistoryTime of bite, snake description, symptoms onset
Wound examMeasure distance between fang marks (indicates snake size), clean wound gently
Mark swellingDraw outline of ecchymosis/edema with time and date on skin
TetanusAdminister tetanus toxoid

PHASE 3 - Investigations

TestReason
CBC + platelet countThrombocytopenia, DIC
PT, PTT, INR, FibrinogenCoagulopathy (up to 30% of Crotalid bites have abnormal coags)
Creatinine, BUNNephrotoxin-induced AKI, myoglobinuria
CPKMyotoxicity
LFTsHepatotoxicity
UrinalysisHematuria, myoglobinuria
ECGArrhythmia, cardiac monitoring
Venom detection kitSwab wound (Australia/PNG only - do NOT wash wound if kit available)

PHASE 4 - Grading of Envenomation (Dart 1996 modified)

GradeFeaturesManagement
Grade 0Fang marks only, no envenomationObserve 6-24 hrs, wound care, discharge
Grade 1 - MinimalFang marks + pain, 1-5 inches edema/erythema within 12h, no systemic signsMonitor, possible antivenom
Grade 2 - ModerateFang marks, edema >12 inches, mild systemic signs (nausea, vomiting, mild coagulopathy)Antivenom, admit
Grade 3 - SevereSevere swelling, systemic toxicity (hypotension, respiratory failure, DIC, neurotoxicity)ICU, antivenom, aggressive support

PHASE 5 - Antivenom (The Definitive Treatment)

Indications for antivenom:
  • Clinical envenomation (any systemic signs)
  • Significant local tissue injury progressing rapidly
  • Coagulopathy or thrombocytopenia
  • Neurotoxicity (ptosis, paralysis)
  • Hemodynamic instability
Administration:
  • Give as early as possible - delay worsens outcome
  • Pre-treat with antihistamine (diphenhydramine) and H2-blocker
  • Have epinephrine at bedside for anaphylaxis
  • Do NOT release PIB until antivenom is running (for neurotoxic bites)
  • Monitor for anaphylaxis and serum sickness
Repeat dosing: If symptoms worsen or recur, repeat loading dose (coagulopathy can recur up to 2 weeks after bite)

PHASE 6 - Supportive Care

ComplicationTreatment
Airway compromise / neurotoxicityElective intubation, mechanical ventilation
Acute renal failureIV fluids, dialysis if severe
DIC / coagulopathyAntivenom first; blood products only if active clinical bleeding
Compartment syndromeSurgical/pediatric surgery consult; fasciotomy if confirmed
Wound necrosisWound care, surgical debridement
Cardiac arrhythmiaContinuous monitoring, ACLS

PHASE 7 - Disposition

FindingAction
No envenomation after 6-24h observationDischarge in daylight hours with return precautions
Any evidence of envenomationAdmit for minimum 24h monitored bed
Severe envenomation / neurotoxicityICU admission
All envenomed childrenAdmit regardless of severity

Quick Summary Card

SNAKEBITE SCENE
    |
    v
Calm + Immobilize + Remove jewelry + PIB (neurotoxic) + Transport
    |
    v
ER: ABCs + IV access + Vitals + History + Mark swelling
    |
    v
Labs: CBC, Coags, Renal, CPK, Urinalysis + ECG + Tetanus
    |
    v
Envenomation present? ────NO────> Observe 6-24h → Discharge
    |YES
    v
Grade severity (0-3)
    |
    ├── Grade 0-1: Monitor ± antivenom
    ├── Grade 2: Antivenom + Admit
    └── Grade 3: ICU + Antivenom + Ventilator/Dialysis as needed
    |
    v
Monitor: Repeat labs, serial marking, watch for reaction
    |
    v
Improving? → Step down → Discharge with follow-up
Worsening? → Repeat antivenom dose

Sources: Sabiston Textbook of Surgery (9780443124341); Mulholland & Greenfield's Surgery; Royal Children's Hospital Clinical Guidelines; UTH Surgical Snakebite Algorithm; WHO Snakebite Guidelines

Create a PDF reference card for field first aid and snakebite symptoms

Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/snakebite-refcard && python3 -c "import reportl…

Give the treatment scenario according to Indian conditionsfor the 4 common snake

Reading File
Searching the Web

India Big Four snakes Russell's viper cobra krait saw-scaled viper treatment guidelines 2024

Finding Sources
Searching the Web

India snakebite treatment protocol antivenom dose Russell viper krait cobra 20WBCT VIPEREX

Loading Image
Reading Web Page

https://www.sctimst.ac.in/Post-flood-Management/General-Heal…

Searching the Web

common krait bite India clinical features nocturnal ascending paralysis neostigmine atropine treatment

Loading Image
Searching the Web

Russell viper India clinical features hemotoxicity AKI DIC treatment antivenom vials 20WBCT protocol

Excellent - I now have comprehensive data from Indian guidelines (MoHFW, SCTIMST, NHM). Let me compose the full response.

India's "Big Four" Snakes - Treatment Scenarios

The Big Four of India

India's Big Four Snakes
India has ~236 snake species; 13 are venomous. The "Big Four" account for the vast majority of medically significant bites and nearly all 46,000-60,000 annual snakebite deaths. India produces only polyvalent ASV (Anti-Snake Venom) - effective against all four species.
Management Summary Chart

Master Comparison Table

FeatureIndian Cobra (Naja naja)Common Krait (Bungarus caeruleus)Russell's Viper (Daboia russelii)Saw-Scaled Viper (Echis carinatus)
Venom typeNeurotoxic + cytotoxicNeurotoxic (pre-synaptic)Vasculotoxic + neurotoxic*Vasculotoxic (hemotoxic)
Local pain/swellingYES (marked)NO (minimal/absent)YES (severe)YES (moderate)
Neurological signsYES (ptosis, paralysis)YES (delayed, severe)Regional (South India)NO
Hemostatic abnormalityNOMay occur (rare)YES (DIC, bleeding)YES (coagulopathy)
Renal failure (AKI)NONOYES (common)NO
Response to neostigmineYES (good)+/- (partial/poor)NONO
Response to ASVYESYESYESYES
20WBCT useful?NoNoYES (key test)YES
Russell's viper in South India (Tamil Nadu, Kerala) also causes neurotoxicity - a key regional variation

🐍 1. Indian Cobra (Naja naja) - Neurotoxic + Cytotoxic

Identification & Bite Scenario

  • Found across India; active day and night
  • Bite typically painful with immediate local swelling, redness, necrosis
  • Spectacle marking on hood is characteristic

Clinical Features (onset 30 min - 6 hours)

Local: Severe pain, swelling, blistering, tissue necrosis, local lymphadenopathy
Neurological (5 Ds + 2 Ps):
  • Dyspnea, Dysphonia, Dysarthria, Diplopia, Dysphagia
  • Ptosis, Paralysis
  • Bilateral ptosis is the hallmark early sign
  • Hypertension + tachycardia (hypoxia-driven)

Investigations

  • 20WBCT - usually normal (no coagulopathy)
  • ABG (respiratory failure risk)
  • Neostigmine challenge test to confirm neurotoxicity

Treatment Protocol (MoHFW India Standard)

Step 1 - First Aid
  • Immobilize limb, pressure bandage (PIB) - APPLY for cobra (neurotoxic)
  • Rapid transport to hospital
Step 2 - ASV
  • Initial dose: 8-10 vials IV (polyvalent ASV) over 30-60 min
  • No need for repeat dosing based on WBCT (coagulopathy not a feature)
  • Monitor for anaphylaxis
Step 3 - Neostigmine-Atropine (AN test/therapy)
  • Atropine 0.6 mg IV first, then Neostigmine 1.5 mg IV stat
  • Repeat neostigmine 0.5 mg with atropine every 30 min x 5 doses
  • Taper at 1h, 2h, 6h, 12h intervals
  • Positive response = ≥50% recovery of ptosis within 1 hour
  • If no improvement after 3rd dose - STOP (suggests krait bite)
Step 4 - Ventilatory support
  • Elective intubation if bulbar paralysis, stridor, or respiratory failure
  • May need ventilation for days until neuromuscular junction recovers
Drugs: Atropine + Neostigmine + ASV + Ventilator support

🐍 2. Common Krait (Bungarus caeruleus) - Pre-Synaptic Neurotoxic

Identification & Bite Scenario

  • Nocturnal snake - most bites occur while sleeping on the floor at night
  • Bite is nearly painless - patient may not wake up
  • Blue-black body with white crossbands; grows to ~1 m

Clinical Features (onset 6-36 hours - DELAYED)

Local: Minimal or NO swelling - the most dangerous deceptive feature
Neurological (progressive descending/ascending paralysis):
  • Wakes up with abdominal cramps, nausea (early sign)
  • Ptosis, diplopia, dysarthria, dysphagia
  • Progressive limb weakness → respiratory muscle paralysis
  • Death from respiratory failure if unrecognized
Critical point: Krait acts at pre-synaptic nerve terminals → causes irreversible neurotransmitter depletion → poor response to neostigmine (unlike cobra)

Investigations

  • 20WBCT: usually NORMAL
  • ABG critical - watch pCO2 rise (respiratory failure)
  • Neostigmine test: partial/no response distinguishes from cobra

Treatment Protocol (Indian Guidelines)

Step 1 - ASV
  • Initial dose: 8-10 vials IV (polyvalent ASV)
  • Higher doses may be needed (up to 20 vials total in severe cases)
Step 2 - Neostigmine trial
  • Give atropine + neostigmine as AN test
  • If NO improvement after 3 doses → confirms krait (pre-synaptic)
  • Calcium gluconate 10 mL IV slowly (6 hourly) - helps at pre-synaptic terminal; continue until neuroparalysis resolves (may take 5-7 days)
  • In children: calcium gluconate 1-2 mL/kg diluted 1:1 slowly
Step 3 - Ventilatory support (most critical)
  • Early intubation and mechanical ventilation is lifesaving
  • Action is irreversible - patient may require ventilation for 5-7 days or longer
  • Do NOT wait for respiratory failure to intubate
Key rule: If krait bite is suspected and no ASV available, intubate and ventilate - this alone can save the patient
Drugs: ASV + Calcium gluconate + Ventilator (Neostigmine has limited utility)

🐍 3. Russell's Viper (Daboia russelii) - Vasculotoxic + Hemotoxic

Identification & Bite Scenario

  • Most medically dangerous - accounts for 43% of snakebite deaths in India
  • Heavy-bodied, chain-like brown spots, loud hissing sound
  • Found in agricultural fields - highest rural morbidity

Clinical Features (onset within minutes)

Local (immediate, severe):
  • Intense pain at bite site within minutes
  • Rapid swelling, ecchymosis, blistering, necrosis
Systemic - Hemotoxic (most characteristic):
  • Gingival bleeding, epistaxis, hemoptysis
  • Bleeding from IV sites and injection punctures (pathognomonic)
  • DIC (consumptive coagulopathy)
  • 20WBCT non-clotting within 30 min of bite
  • Subconjunctival hemorrhage, petechiae, purpura
Systemic - Renal (Russell's viper specific):
  • Acute Kidney Injury (AKI) - direct nephrotoxicity + myoglobinuria
  • Oliguria/anuria - can develop within hours
  • Requires dialysis in severe cases
Regional variant - South India Neurotoxicity:
  • Ptosis, external ophthalmoplegia, facial palsy
  • Anterior pituitary hemorrhage (Sheehan's-like syndrome: hypopituitarism months later)

Investigations

  • 20WBCT: KEY DIAGNOSTIC TEST - non-clotting blood indicates viper envenomation
  • PT/INR, aPTT, fibrinogen (DIC panel)
  • Serum creatinine, BUN, urine output (AKI monitoring)
  • CBC (thrombocytopenia, anemia)
  • CPK (myotoxicity)

Treatment Protocol (Indian Guidelines - MoHFW 2016)

Step 1 - ASV (DEFINITIVE TREATMENT)
  • Initial dose: 10 vials IV (polyvalent ASV) in 200 mL NS over 30-60 min
  • Repeat 20WBCT at 6 hours after first dose
  • If still non-clotting → 5-10 additional vials (half dose) every 6 hours
  • Maximum recommended: 30 vials total (each vial neutralizes ~6 mg venom)
  • Do NOT repeat before 6 hours - liver cannot regenerate clotting factors faster
Step 2 - Repeat dosing rule:
After initial dose, NO additional ASV until 6-hour WBCT. If WBCT >20 min at 6h → repeat 5-10 vials. Continue 6-hourly until clotting restored.
Step 3 - Renal management
  • IV fluid resuscitation (cautiously - avoid fluid overload)
  • Strict input-output monitoring (hourly urine output)
  • Dialysis (hemodialysis/peritoneal dialysis) if AKI progresses
Step 4 - DIC management
  • ASV is primary treatment for coagulopathy - treat DIC with antivenom FIRST
  • Blood products (FFP, packed RBCs, platelets) only if active clinical bleeding
  • Do NOT routinely treat laboratory coagulopathy without bleeding
Drugs: ASV (10-30 vials guided by WBCT) + Dialysis + Blood products if bleeding
DO NOT use heparin in Russell's viper DIC - trials have shown no benefit and increased harm

🐍 4. Saw-Scaled Viper (Echis carinatus) - Hemotoxic

Identification & Bite Scenario

  • Smallest of the Big Four (~30-60 cm); makes characteristic sizzling sound by rubbing scales
  • Found in dry, arid regions: Rajasthan, Gujarat, Maharashtra, UP
  • Night biter - very aggressive despite small size

Clinical Features

Local: Moderate pain, swelling, blistering; less severe necrosis than Russell's viper
Systemic - Hemotoxic (similar to Russell's, but NO renal failure):
  • Coagulopathy: DIC, non-clotting blood
  • Gingival bleeding, epistaxis, hematemesis
  • Bleeding from bite site
  • NO acute kidney injury (key difference from Russell's viper)
  • NO neurological features
In Rajasthan, Sochurek's saw-scaled viper (Echis carinatus sochureki) may show reduced response to standard polyvalent ASV - higher doses may be needed

Investigations

  • 20WBCT: non-clotting (confirms viper bite)
  • DIC panel (PT, aPTT, fibrinogen, D-dimer)
  • Renal function (usually normal - distinguishes from Russell's)

Treatment Protocol

Step 1 - ASV
  • Initial dose: 5-8 vials IV (slightly lower than Russell's - less venom volume)
  • If 20WBCT still abnormal at 6 hours → repeat 5 vials every 6 hours
  • Maximum up to 20-25 vials (smaller snake = less venom overall)
Step 2 - Repeat WBCT at 6h to guide repeat dosing
Step 3 - Supportive care
  • Blood products for active bleeding only
  • NO dialysis needed (renal function spared)
  • Wound care for local necrosis
Drugs: ASV (5-20 vials guided by WBCT) + Blood products if active bleeding

The 20-Minute Whole Blood Clotting Test (20WBCT) - India's Bedside Tool

This test is the bedside gold standard in Indian settings where laboratory access is limited:
1. Draw 2 mL fresh venous blood into a CLEAN glass test tube
2. Leave undisturbed for 20 minutes at room temperature
3. Tilt the tube at 20 minutes:
   - Blood clotted = NORMAL (no viper venom)
   - Blood still liquid (no clot) = ABNORMAL → VIPER ENVENOMATION
4. Repeat at 6 hours after ASV to guide repeat dosing
Plastic tubes CANNOT be used - venous glass tube is required for activation of clotting cascade

India-Specific ASV Dosing Summary

SnakeInitial ASV DoseRepeat DosingMax DoseKey Monitoring
Cobra8-10 vials IVNot routinely needed~10-15 vialsNeostigmine response, ABG
Krait8-10 vials IVUp to 20 vials total~20 vialsVentilation, neostigmine test
Russell's Viper10 vials IV5-10 vials q6h if WBCT abnormal30 vials6-hourly WBCT, urine output
Saw-Scaled Viper5-8 vials IV5 vials q6h if WBCT abnormal~20-25 vials6-hourly WBCT
Polyvalent ASV available in India (manufacturers): VINS Bioproducts, Bharat Serums, Premium Serums, Haffkine Bio-Pharmaceutical

Treatment Algorithm by Presentation (Indian Syndromic Approach)

Patient presents with snakebite
              |
     ┌────────┴────────┐
  Local features?     No local features
  (swelling/necrosis)  (sleeping on floor at night)
     |                        |
     ↓                        ↓
  Viper likely            KRAIT likely
     |                   → ASV + Ventilate
     |
  20WBCT at 20 min
     |
  ┌──┴──┐
Non-clotting  Clotting normally
     |              |
  VIPER             |
   |          Neurological features?
   |              |
   ↓           ┌──┴──┐
Russell's viper  Yes        No
or Saw-scaled   COBRA    Dry bite /
   |          → ASV +    Non-venomous
   ↓          Neostigmine   → Observe
ASV 10 vials             24 hours
Repeat WBCT 6h
AKI monitoring
Dialysis if needed

Common Indian Field Realities & Pitfalls

PitfallCorrection
Giving tourniquetSTOP - causes limb ischemia; use PIB for neurotoxic bites only
Traditional healer before hospital - herbs, incisions, suckingWastes time; increases wound infection; does not neutralize venom
Not identifying krait bite at night - "I was sleeping, nothing bit me"Always suspect krait if nocturnal onset of abdominal cramps + ptosis
Stopping ASV after 10 vialsRepeat WBCT at 6h - Russell's viper may need up to 30 vials
Not checking renal functionRussell's viper causes AKI even with adequate ASV; monitor urine output
Giving neostigmine for kraitLimited utility in pre-synaptic toxin; ventilator is the priority
Assuming polyvalent ASV covers all snakesHump-nosed pit viper and Sochurek's saw-scaled viper may not respond

Sources: Ministry of Health & Family Welfare (MoHFW) Standard Treatment Guidelines for Snakebite India 2016; SCTIMST Indian Guidelines and Protocol; North-South Divide in Snake Bite Envenomation PMC5113082; WHO Guidelines for Management of Snakebites (South-East Asia region)

Create a visual flowchart comparing neurotoxic vs hemotoxic snakebite management

Generating Image

Professional medical split-panel comparison flowchart for snakebite management. Two-column layout side by side. Left column has a green header "NEUROTOXIC SNAKEBITE" with cobra and krait icons. Right column has a red header "HEMOTOXIC SNAKEBITE" with Russell's viper and saw-scaled viper icons. Each column flows top to bottom with connected boxes and arrows. Left column boxes: "Snakes: Cobra (Naja naja) / Krait (Bungarus caeruleus)" → "Venom Mechanism: Post-synaptic (Cobra) / Pre-synaptic (Krait) Acetylcholine blockade" → "Clinical Features: Ptosis, Diplopia, Dysarthria, Dysphagia, Dyspnea, Paralysis | Cobra: local swelling | Krait: NO local swelling" → "20WBCT: NORMAL (clots normally)" → "ASV: 8-10 vials IV polyvalent" → "Neostigmine Test: Atropine 0.6mg + Neostigmine 1.5mg IV | Response = Cobra | No response = Krait" → "Cobra: Continue neostigmine 0.5mg q30min" → "Krait: Calcium gluconate IV + VENTILATOR" → "Monitor: ABG, SpO2, Respiratory rate" → "Discharge when neurology recovered". Right column boxes: "Snakes: Russell's Viper (Daboia russelii) / Saw-Scaled Viper (Echis carinatus)" → "Venom Mechanism: Phospholipases, Proteases, Coagulation factor destruction, Nephrotoxins" → "Clinical Features: Gingival bleeding, Bleeding from IV sites, Ecchymosis, DIC | Russell's: AKI, Shock | Saw-Scaled: NO renal failure" → "20WBCT: ABNORMAL - non-clotting (key test)" → "ASV: Russell's 10 vials IV / Saw-scaled 5-8 vials IV" → "Repeat 20WBCT at 6 hours" → "Still abnormal: Repeat 5-10 vials q6h (max 30 vials Russell's)" → "Russell's Viper: Monitor urine output / Dialysis if AKI" → "Blood products ONLY if active clinical bleeding" → "Discharge when WBCT normal + stable renal function". Center dividing column shows shared steps: "ALL BITES: ABC assessment, IV access, Vitals, Tetanus, Immobilize limb, Transport". Clean clinical design, white background, green and red color coding, professional medical typography.

Running Command

mkdir -p /home/daytona/workspace/snakebite-refcard && python3 -c "import reportl…

Writing File

~/snakebite-refcard/build_pdf.py

#!/usr/bin/env python3
"""
Snakebite Neurotoxic vs Hemotoxic Management - PDF Reference Card
"""

import urllib.request
import os
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, Image, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus.flowables import BalancedColumns

OUT = "/home/daytona/workspace/snakebite-refcard/Neurotoxic_vs_Hemotoxic_Snakebite.pdf"
FLOWCHART_URL = "https://cdn.orris.care/image-gen/7fea14714236480c9603e75c08512a97.png"
FLOWCHART_LOCAL = "/home/daytona/workspace/snakebite-refcard/flowchart.png"

# Download flowchart image
print("Downloading flowchart image...")
urllib.request.urlretrieve(FLOWCHART_URL, FLOWCHART_LOCAL)
print(f"Image saved: {os.path.getsize(FLOWCHART_LOCAL)} bytes")

# ── Colour palette ─────────────────────────────────────────────────────────────
C_DARK      = colors.HexColor("#1a1a2e")
C_NEURO_BG  = colors.HexColor("#1b4332")   # deep green
C_NEURO_LT  = colors.HexColor("#d8f3dc")   # light green
C_HEMO_BG   = colors.HexColor("#7b1d1d")   # deep red
C_HEMO_LT   = colors.HexColor("#fde8e8")   # light red
C_SHARED_BG = colors.HexColor("#1a3a5c")   # deep blue
C_SHARED_LT = colors.HexColor("#dbeafe")   # light blue
C_WARN      = colors.HexColor("#7c2d12")
C_WARN_LT   = colors.HexColor("#fff7ed")
C_GOLD      = colors.HexColor("#b45309")
C_WHITE     = colors.white
C_GRAY_LT   = colors.HexColor("#f8fafc")
C_GRAY_BD   = colors.HexColor("#cbd5e1")

# ── Page setup ─────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUT,
    pagesize=A4,
    leftMargin=1.2*cm, rightMargin=1.2*cm,
    topMargin=1.2*cm,  bottomMargin=1.2*cm,
    title="Neurotoxic vs Hemotoxic Snakebite Management",
    author="Orris Medical Reference",
)
W, H = A4
CW = W - 2.4*cm   # usable content width

styles = getSampleStyleSheet()

def sty(name="Normal", **kw):
    return ParagraphStyle(name, parent=styles[name], **kw)

title_sty   = sty("Heading1", fontSize=17, textColor=C_WHITE, alignment=TA_CENTER,
                   spaceAfter=2, spaceBefore=0, leading=20, fontName="Helvetica-Bold")
sub_sty     = sty("Normal",   fontSize=8.5, textColor=C_WHITE, alignment=TA_CENTER,
                   spaceAfter=0, leading=11)
h2_neuro    = sty("Normal", fontSize=11, textColor=C_WHITE, fontName="Helvetica-Bold",
                   alignment=TA_CENTER, leading=14)
h2_hemo     = sty("Normal", fontSize=11, textColor=C_WHITE, fontName="Helvetica-Bold",
                   alignment=TA_CENTER, leading=14)
h2_blue     = sty("Normal", fontSize=10, textColor=C_WHITE, fontName="Helvetica-Bold",
                   alignment=TA_CENTER, leading=13)
body        = sty("Normal", fontSize=7.8, leading=11, textColor=C_DARK)
body_sm     = sty("Normal", fontSize=7.2, leading=10.5, textColor=C_DARK)
bold_sm     = sty("Normal", fontSize=7.8, leading=11, textColor=C_DARK, fontName="Helvetica-Bold")
warn_sty    = sty("Normal", fontSize=7.5, leading=11, textColor=C_WARN, fontName="Helvetica-Bold")
center_body = sty("Normal", fontSize=7.5, leading=10.5, textColor=C_DARK, alignment=TA_CENTER)
label_sty   = sty("Normal", fontSize=6.8, leading=9, textColor=colors.HexColor("#374151"))

story = []

# ══════════════════════════════════════════════════════════════════════════════
# TITLE BANNER
# ══════════════════════════════════════════════════════════════════════════════
title_tbl = Table(
    [[Paragraph("🐍  Snakebite Management: Neurotoxic vs Hemotoxic  🐍", title_sty)],
     [Paragraph("India Big Four — Clinical Reference Card  |  Based on MoHFW Standard Treatment Guidelines 2016", sub_sty)]],
    colWidths=[CW]
)
title_tbl.setTableStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), C_DARK),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("RIGHTPADDING",  (0,0), (-1,-1), 10),
    ("ROUNDEDCORNERS", [6]),
]))
story.append(title_tbl)
story.append(Spacer(1, 5))

# ══════════════════════════════════════════════════════════════════════════════
# FLOWCHART IMAGE
# ══════════════════════════════════════════════════════════════════════════════
img = Image(FLOWCHART_LOCAL, width=CW, height=CW * 0.72)
story.append(img)
story.append(Spacer(1, 6))

# ══════════════════════════════════════════════════════════════════════════════
# SHARED FIRST STEPS banner
# ══════════════════════════════════════════════════════════════════════════════
shared_rows = [
    [Paragraph("⬛  SHARED FIRST STEPS — ALL SNAKEBITES", h2_blue)],
    [Paragraph(
        "1. Keep calm, immobilize limb below heart level   |   "
        "2. Remove jewellery & tight clothing   |   "
        "3. Two large-bore IVs + vital signs   |   "
        "4. Tetanus toxoid   |   "
        "5. PIB bandage (neurotoxic bites ONLY)   |   "
        "6. Rapid transport to hospital",
        sty("Normal", fontSize=7.5, leading=10.5, textColor=C_DARK, alignment=TA_CENTER)
    )],
]
shared_tbl = Table(shared_rows, colWidths=[CW])
shared_tbl.setTableStyle(TableStyle([
    ("BACKGROUND", (0,0), (0,0), C_SHARED_BG),
    ("BACKGROUND", (0,1), (0,1), C_SHARED_LT),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ("BOX", (0,0), (-1,-1), 1, C_SHARED_BG),
]))
story.append(shared_tbl)
story.append(Spacer(1, 6))

# ══════════════════════════════════════════════════════════════════════════════
# SIDE-BY-SIDE COMPARISON TABLE
# ══════════════════════════════════════════════════════════════════════════════
half = (CW - 4) / 2

def neuro_hdr(txt):
    return Paragraph(txt, sty("Normal", fontSize=9, textColor=C_WHITE, fontName="Helvetica-Bold",
                               alignment=TA_CENTER, leading=12))
def hemo_hdr(txt):
    return Paragraph(txt, sty("Normal", fontSize=9, textColor=C_WHITE, fontName="Helvetica-Bold",
                               alignment=TA_CENTER, leading=12))
def nb(txt, bold=False):
    s = "Helvetica-Bold" if bold else "Helvetica"
    return Paragraph(txt, sty("Normal", fontSize=7.5, leading=10.5, textColor=C_DARK, fontName=s))
def hb(txt, bold=False):
    s = "Helvetica-Bold" if bold else "Helvetica"
    return Paragraph(txt, sty("Normal", fontSize=7.5, leading=10.5, textColor=C_DARK, fontName=s))

rows = [
    # headers
    [neuro_hdr("🟢  NEUROTOXIC"), hemo_hdr("🔴  HEMOTOXIC")],

    # snakes
    [nb("<b>Snakes:</b> Indian Cobra (Naja naja)\nCommon Krait (Bungarus caeruleus)"),
     hb("<b>Snakes:</b> Russell's Viper (Daboia russelii)\nSaw-Scaled Viper (Echis carinatus)")],

    # venom mechanism
    [nb("<b>Venom Mechanism:</b>\n• Cobra → Post-synaptic ACh blockade (reversible)\n• Krait → Pre-synaptic neurotransmitter depletion (irreversible)"),
     hb("<b>Venom Mechanism:</b>\n• Phospholipases, proteases\n• Destruction of coagulation factors → DIC\n• Nephrotoxins (Russell's only)")],

    # onset
    [nb("<b>Symptom Onset:</b>\n• Cobra: 30 min – 6 hrs\n• Krait: 6 – 36 hrs (DELAYED, nocturnal)"),
     hb("<b>Symptom Onset:</b>\n• Within minutes of bite\n• Rapid local swelling + bleeding")],

    # local features
    [nb("<b>Local Features:</b>\n• Cobra: Pain, swelling, necrosis\n• Krait: MINIMAL / NO local signs ⚠️"),
     hb("<b>Local Features:</b>\n• Intense pain at bite site\n• Rapid swelling, ecchymosis\n• Blistering, necrosis")],

    # systemic
    [nb("<b>Systemic Features (5Ds + 2Ps):</b>\n• Dyspnea, Dysphonia, Dysarthria\n• Diplopia, Dysphagia\n• Ptosis ← EARLIEST SIGN\n• Paralysis → Respiratory failure"),
     hb("<b>Systemic Features:</b>\n• Gingival / IV-site bleeding (pathognomonic)\n• Epistaxis, hemoptysis, hematuria\n• DIC, thrombocytopenia\n• Shock (Russell's)\n• AKI / oliguria (Russell's only)")],

    # 20WBCT
    [nb("<b>20WBCT Result:</b>\n✅ NORMAL — blood clots\n(No coagulopathy in neurotoxic bites)", bold=False),
     hb("<b>20WBCT Result:</b>\n❌ ABNORMAL — blood does NOT clot\nKey bedside diagnostic test → repeat at 6h", bold=False)],

    # ASV
    [nb("<b>ASV Dose (Polyvalent):</b>\n• 8–10 vials IV in 100–200 mL NS\n• Infuse over 30–60 min\n• Repeat dosing rarely needed"),
     hb("<b>ASV Dose (Polyvalent):</b>\n• Russell's Viper: 10 vials IV (start)\n• Saw-Scaled Viper: 5–8 vials IV (start)\n• Repeat 5–10 vials q6h if WBCT still abnormal\n• Russell's max: 30 vials total")],

    # specific treatment
    [nb("<b>Specific Treatment:</b>\n<b>Neostigmine-Atropine (AN test):</b>\n• Atropine 0.6 mg IV → Neostigmine 1.5 mg IV\n• Repeat neostigmine 0.5 mg q30min × 5 doses\n• Positive = ≥50% ptosis recovery in 1h\n  → Continue (COBRA)\n• No response after 3 doses\n  → KRAIT: give Calcium gluconate 10 mL IV q6h"),
     hb("<b>Specific Treatment:</b>\n<b>Russell's Viper:</b>\n• Strict I/O monitoring (urine output hourly)\n• Dialysis if AKI develops\n• FFP / blood only if ACTIVE bleeding\n• Do NOT give heparin\n<b>Saw-Scaled Viper:</b>\n• Same as above; NO dialysis needed\n• Rajasthan variant may need higher ASV dose")],

    # ventilation
    [nb("<b>Ventilatory Support:</b>\n• COBRA: Elective intubation early\n  (bulbar palsy or SpO2 falling)\n• KRAIT: MANDATORY ventilation\n  Duration: 5–7 days or more\n  Krait lesion is IRREVERSIBLE"),
     hb("<b>Monitoring:</b>\n• Repeat 20WBCT at 6h post-ASV\n• Serum creatinine, BUN daily\n• CBC, coagulation daily\n• Urine output: target >0.5 mL/kg/hr\n• Watch for compartment syndrome")],

    # disposition
    [nb("<b>Disposition:</b>\n• All neurotoxic bites → ADMIT\n• ICU if any respiratory compromise\n• Discharge when fully recovered"),
     hb("<b>Disposition:</b>\n• All viper bites → ADMIT minimum 24–48h\n• ICU if DIC, shock, or AKI\n• Discharge when WBCT normal + stable renal fx")],
]

col_styles = TableStyle([
    # header row
    ("BACKGROUND", (0,0), (0,0), C_NEURO_BG),
    ("BACKGROUND", (1,0), (1,0), C_HEMO_BG),
    # alternating body rows
    ("BACKGROUND", (0,1), (0,1), C_NEURO_LT),
    ("BACKGROUND", (1,1), (1,1), C_HEMO_LT),
    ("BACKGROUND", (0,2), (0,2), C_GRAY_LT),
    ("BACKGROUND", (1,2), (1,2), C_GRAY_LT),
    ("BACKGROUND", (0,3), (0,3), C_NEURO_LT),
    ("BACKGROUND", (1,3), (1,3), C_HEMO_LT),
    ("BACKGROUND", (0,4), (0,4), C_GRAY_LT),
    ("BACKGROUND", (1,4), (1,4), C_GRAY_LT),
    ("BACKGROUND", (0,5), (0,5), C_NEURO_LT),
    ("BACKGROUND", (1,5), (1,5), C_HEMO_LT),
    ("BACKGROUND", (0,6), (0,6), colors.HexColor("#e0f2e9")),
    ("BACKGROUND", (1,6), (1,6), colors.HexColor("#fee2e2")),
    ("BACKGROUND", (0,7), (0,7), C_NEURO_LT),
    ("BACKGROUND", (1,7), (1,7), C_HEMO_LT),
    ("BACKGROUND", (0,8), (0,8), C_GRAY_LT),
    ("BACKGROUND", (1,8), (1,8), C_GRAY_LT),
    ("BACKGROUND", (0,9), (0,9), C_NEURO_LT),
    ("BACKGROUND", (1,9), (1,9), C_HEMO_LT),
    ("BACKGROUND", (0,10), (0,10), C_GRAY_LT),
    ("BACKGROUND", (1,10), (1,10), C_GRAY_LT),
    ("BACKGROUND", (0,11), (0,11), C_NEURO_LT),
    ("BACKGROUND", (1,11), (1,11), C_HEMO_LT),
    # grid
    ("GRID", (0,0), (-1,-1), 0.5, C_GRAY_BD),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("RIGHTPADDING",  (0,0), (-1,-1), 7),
    ("VALIGN", (0,0), (-1,-1), "TOP"),
])

comp_tbl = Table(rows, colWidths=[half, half])
comp_tbl.setTableStyle(col_styles)
story.append(comp_tbl)
story.append(Spacer(1, 7))

# ══════════════════════════════════════════════════════════════════════════════
# 20WBCT BOX
# ══════════════════════════════════════════════════════════════════════════════
wbct_data = [[
    Paragraph("🧪  20-MINUTE WHOLE BLOOD CLOTTING TEST (20WBCT) — India Bedside Standard", h2_blue),
],[
    Paragraph(
        "1. Draw 2 mL fresh venous blood into a CLEAN DRY GLASS tube (NOT plastic) &nbsp;&nbsp;→&nbsp;&nbsp; "
        "2. Leave undisturbed at room temperature for 20 min &nbsp;&nbsp;→&nbsp;&nbsp; "
        "3. Tilt tube: &nbsp;"
        "<b>Blood clots = NORMAL</b> (neurotoxic / non-venomous)  &nbsp;|&nbsp; "
        "<b>Blood liquid = ABNORMAL → VIPER ENVENOMATION</b> &nbsp;&nbsp;→&nbsp;&nbsp; "
        "4. Repeat at 6h post-ASV to guide re-dosing",
        sty("Normal", fontSize=7.5, leading=11, textColor=C_DARK, alignment=TA_CENTER)
    )
]]
wbct_tbl = Table(wbct_data, colWidths=[CW])
wbct_tbl.setTableStyle(TableStyle([
    ("BACKGROUND", (0,0),(0,0), C_SHARED_BG),
    ("BACKGROUND", (0,1),(0,1), C_SHARED_LT),
    ("TOPPADDING",    (0,0),(-1,-1), 5),
    ("BOTTOMPADDING", (0,0),(-1,-1), 5),
    ("LEFTPADDING",   (0,0),(-1,-1), 8),
    ("RIGHTPADDING",  (0,0),(-1,-1), 8),
    ("BOX", (0,0),(-1,-1), 1, C_SHARED_BG),
]))
story.append(wbct_tbl)
story.append(Spacer(1, 6))

# ══════════════════════════════════════════════════════════════════════════════
# WARNINGS & KEY RULES
# ══════════════════════════════════════════════════════════════════════════════
warn_data = [[
    Paragraph("⚠️  CRITICAL RULES & PITFALLS", sty("Normal", fontSize=9, textColor=C_WHITE,
              fontName="Helvetica-Bold", alignment=TA_CENTER))
],[
    Table([
        [Paragraph("❌  DO NOT apply tourniquet — causes limb ischemia", body_sm),
         Paragraph("❌  DO NOT incise/suck the wound — ineffective &amp; harmful", body_sm)],
        [Paragraph("❌  DO NOT use heparin for Russell's viper DIC", body_sm),
         Paragraph("❌  DO NOT repeat ASV before 6h in viper bites", body_sm)],
        [Paragraph("✅  Krait: VENTILATE early — action is irreversible", sty("Normal", fontSize=7.5,
                    leading=10.5, textColor=colors.HexColor("#166534"), fontName="Helvetica-Bold")),
         Paragraph("✅  Cobra: Neostigmine works — test and continue if positive", sty("Normal",
                    fontSize=7.5, leading=10.5, textColor=colors.HexColor("#166534"), fontName="Helvetica-Bold"))],
        [Paragraph("✅  PIB bandage only for neurotoxic bites (Elapids)", sty("Normal", fontSize=7.5,
                    leading=10.5, textColor=colors.HexColor("#166534"), fontName="Helvetica-Bold")),
         Paragraph("✅  Use GLASS tube for 20WBCT — plastic tubes give false normal", sty("Normal",
                    fontSize=7.5, leading=10.5, textColor=colors.HexColor("#166534"), fontName="Helvetica-Bold"))],
    ], colWidths=[half, half], style=TableStyle([
        ("TOPPADDING",    (0,0),(-1,-1), 3),
        ("BOTTOMPADDING", (0,0),(-1,-1), 3),
        ("LEFTPADDING",   (0,0),(-1,-1), 5),
        ("RIGHTPADDING",  (0,0),(-1,-1), 5),
        ("GRID", (0,0),(-1,-1), 0.3, C_GRAY_BD),
    ]))
]]
warn_tbl = Table(warn_data, colWidths=[CW])
warn_tbl.setTableStyle(TableStyle([
    ("BACKGROUND", (0,0),(0,0), C_WARN),
    ("BACKGROUND", (0,1),(0,1), C_WARN_LT),
    ("TOPPADDING",    (0,0),(-1,-1), 5),
    ("BOTTOMPADDING", (0,0),(-1,-1), 5),
    ("LEFTPADDING",   (0,0),(-1,-1), 8),
    ("RIGHTPADDING",  (0,0),(-1,-1), 8),
    ("BOX", (0,0),(-1,-1), 1, C_WARN),
]))
story.append(warn_tbl)
story.append(Spacer(1, 5))

# ══════════════════════════════════════════════════════════════════════════════
# FOOTER
# ══════════════════════════════════════════════════════════════════════════════
footer_tbl = Table([[
    Paragraph(
        "Sources: MoHFW Standard Treatment Guidelines for Snakebite India 2016 · "
        "SCTIMST Indian Snake Bite Protocol · NHM Full Background Document · "
        "Generated by Orris AI Medical Reference — July 2026",
        sty("Normal", fontSize=6.5, leading=9, textColor=colors.HexColor("#6b7280"), alignment=TA_CENTER)
    )
]], colWidths=[CW])
footer_tbl.setTableStyle(TableStyle([
    ("BACKGROUND", (0,0),(-1,-1), colors.HexColor("#f3f4f6")),
    ("TOPPADDING",    (0,0),(-1,-1), 4),
    ("BOTTOMPADDING", (0,0),(-1,-1), 4),
    ("LEFTPADDING",   (0,0),(-1,-1), 6),
    ("RIGHTPADDING",  (0,0),(-1,-1), 6),
    ("BOX", (0,0),(-1,-1), 0.5, C_GRAY_BD),
]))
story.append(footer_tbl)

# ── BUILD ──────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"\n✅  PDF created: {OUT}")
print(f"   Size: {os.path.getsize(OUT):,} bytes")
Running Command

cd /home/daytona/workspace/snakebite-refcard && python3 build_pdf.py 2>&1

Running Command

python3 -c "from reportlab.platypus import Table, TableStyle; t = Table([['a']])…

Running Command

cd /home/daytona/workspace/snakebite-refcard && sed -i 's/\.setTableStyle(/.setS…

Reading File
Writing File

~/snakebite-refcard/build_pdf.py

#!/usr/bin/env python3
"""
Snakebite Neurotoxic vs Hemotoxic Management - PDF Reference Card
"""
import urllib.request, os
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, Image
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT

OUT = "/home/daytona/workspace/snakebite-refcard/Neurotoxic_vs_Hemotoxic_Snakebite.pdf"
FLOWCHART_URL = "https://cdn.orris.care/image-gen/7fea14714236480c9603e75c08512a97.png"
FLOWCHART_LOCAL = "/home/daytona/workspace/snakebite-refcard/flowchart.png"

if not os.path.exists(FLOWCHART_LOCAL):
    print("Downloading flowchart image...")
    urllib.request.urlretrieve(FLOWCHART_URL, FLOWCHART_LOCAL)
print(f"Image: {os.path.getsize(FLOWCHART_LOCAL):,} bytes")

# Colours
C_DARK      = colors.HexColor("#1a1a2e")
C_NEURO_BG  = colors.HexColor("#1b4332")
C_NEURO_LT  = colors.HexColor("#d8f3dc")
C_HEMO_BG   = colors.HexColor("#7b1d1d")
C_HEMO_LT   = colors.HexColor("#fde8e8")
C_BLUE_BG   = colors.HexColor("#1a3a5c")
C_BLUE_LT   = colors.HexColor("#dbeafe")
C_WARN_BG   = colors.HexColor("#7c2d12")
C_WARN_LT   = colors.HexColor("#fff7ed")
C_GRAY_LT   = colors.HexColor("#f8fafc")
C_GRAY_BD   = colors.HexColor("#cbd5e1")
C_GREEN_TXT = colors.HexColor("#166534")
C_WHITE     = colors.white

W, H = A4
doc = SimpleDocTemplate(OUT, pagesize=A4,
    leftMargin=1.2*cm, rightMargin=1.2*cm,
    topMargin=1.2*cm, bottomMargin=1.2*cm,
    title="Neurotoxic vs Hemotoxic Snakebite Management")
CW = W - 2.4*cm
half = (CW - 4) / 2

styles = getSampleStyleSheet()

def ps(name="Normal", **kw):
    return ParagraphStyle(name, parent=styles["Normal"], **kw)

def p(txt, **kw):
    return Paragraph(txt, ps(**kw))

def hdr_p(txt, bg):
    return Paragraph(txt, ps(fontSize=10, textColor=C_WHITE, fontName="Helvetica-Bold",
                              alignment=TA_CENTER, leading=13))

def cell(txt, bold=False, sz=7.5, color=None):
    fn = "Helvetica-Bold" if bold else "Helvetica"
    tc = color or C_DARK
    return Paragraph(txt, ps(fontSize=sz, leading=11, textColor=tc, fontName=fn))

def mk_tbl(rows, cw, bg_pairs=None, extra_styles=None):
    t = Table(rows, colWidths=cw)
    base = [
        ("TOPPADDING",    (0,0),(-1,-1), 5),
        ("BOTTOMPADDING", (0,0),(-1,-1), 5),
        ("LEFTPADDING",   (0,0),(-1,-1), 7),
        ("RIGHTPADDING",  (0,0),(-1,-1), 7),
        ("VALIGN",        (0,0),(-1,-1), "TOP"),
        ("GRID",          (0,0),(-1,-1), 0.4, C_GRAY_BD),
    ]
    if bg_pairs:
        for (r1,c1),(r2,c2), col in bg_pairs:
            base.append(("BACKGROUND",(c1,r1),(c2,r2), col))
    if extra_styles:
        base.extend(extra_styles)
    t.setStyle(TableStyle(base))
    return t

story = []

# ── TITLE BANNER ──────────────────────────────────────────────────────────────
t = mk_tbl(
    [[p("SNAKEBITE MANAGEMENT: NEUROTOXIC vs HEMOTOXIC",
        fontSize=16, textColor=C_WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, leading=20)],
     [p("India Big Four  |  Clinical Reference Card  |  MoHFW Standard Treatment Guidelines 2016",
        fontSize=8.5, textColor=C_WHITE, alignment=TA_CENTER, leading=12)]],
    [CW],
    bg_pairs=[((0,0),(0,0), C_DARK), ((1,0),(1,0), C_DARK)],
    extra_styles=[("GRID",(0,0),(-1,-1),0,C_DARK)]
)
story += [t, Spacer(1,5)]

# ── FLOWCHART IMAGE ───────────────────────────────────────────────────────────
story += [Image(FLOWCHART_LOCAL, width=CW, height=CW*0.72), Spacer(1,6)]

# ── SHARED STEPS ─────────────────────────────────────────────────────────────
t = mk_tbl(
    [[p("SHARED FIRST STEPS — ALL SNAKEBITES", fontSize=10, textColor=C_WHITE,
        fontName="Helvetica-Bold", alignment=TA_CENTER)],
     [p("1. Keep calm, immobilize limb &nbsp;|&nbsp; 2. Remove jewellery/tight clothing "
        "&nbsp;|&nbsp; 3. Two large-bore IVs + vitals &nbsp;|&nbsp; 4. Tetanus toxoid "
        "&nbsp;|&nbsp; 5. PIB bandage (NEUROTOXIC bites ONLY) &nbsp;|&nbsp; 6. Rapid transport",
        fontSize=7.5, textColor=C_DARK, alignment=TA_CENTER, leading=11)]],
    [CW],
    bg_pairs=[((0,0),(0,0), C_BLUE_BG), ((1,0),(1,0), C_BLUE_LT)],
    extra_styles=[("GRID",(0,0),(-1,-1),1,C_BLUE_BG)]
)
story += [t, Spacer(1,6)]

# ── COMPARISON TABLE ──────────────────────────────────────────────────────────
rows = [
    # 0 headers
    [p("NEUROTOXIC SNAKEBITE", fontSize=11, textColor=C_WHITE,
       fontName="Helvetica-Bold", alignment=TA_CENTER),
     p("HEMOTOXIC SNAKEBITE", fontSize=11, textColor=C_WHITE,
       fontName="Helvetica-Bold", alignment=TA_CENTER)],
    # 1 snakes
    [cell("<b>Snakes:</b> Indian Cobra (Naja naja)<br/>Common Krait (Bungarus caeruleus)"),
     cell("<b>Snakes:</b> Russell's Viper (Daboia russelii)<br/>Saw-Scaled Viper (Echis carinatus)")],
    # 2 venom mechanism
    [cell("<b>Venom Mechanism:</b><br/>• Cobra: Post-synaptic ACh blockade (reversible)<br/>"
          "• Krait: Pre-synaptic neurotransmitter depletion (IRREVERSIBLE)"),
     cell("<b>Venom Mechanism:</b><br/>• Phospholipases, proteases<br/>"
          "• Destruction of coagulation factors → DIC<br/>• Nephrotoxins (Russell's only)")],
    # 3 onset
    [cell("<b>Symptom Onset:</b><br/>• Cobra: 30 min – 6 hrs<br/>"
          "• Krait: 6 – 36 hrs (DELAYED — nocturnal bite while sleeping)"),
     cell("<b>Symptom Onset:</b><br/>• Within minutes of bite<br/>"
          "• Rapid local swelling + systemic bleeding")],
    # 4 local
    [cell("<b>Local Features:</b><br/>• Cobra: Pain, swelling, necrosis (marked)<br/>"
          "• Krait: MINIMAL / NO local signs ⚠️ (deceptive)"),
     cell("<b>Local Features:</b><br/>• Intense pain at bite site<br/>"
          "• Rapid swelling, ecchymosis, blistering, necrosis")],
    # 5 systemic
    [cell("<b>Systemic Features (5Ds + 2Ps):</b><br/>"
          "• Dyspnea, Dysphonia, Dysarthria, Diplopia, Dysphagia<br/>"
          "• Ptosis ← EARLIEST SIGN<br/>• Progressive paralysis → Respiratory failure"),
     cell("<b>Systemic Features:</b><br/>"
          "• Gingival bleeding, bleeding from IV sites (PATHOGNOMONIC)<br/>"
          "• Epistaxis, hemoptysis, hematuria, DIC, thrombocytopenia<br/>"
          "• Shock (Russell's) &nbsp;|&nbsp; AKI/oliguria (Russell's ONLY)")],
    # 6 20wbct
    [cell("<b>20WBCT Result:</b><br/>✅  NORMAL — blood clots<br/>(No coagulopathy in neurotoxic bites)"),
     cell("<b>20WBCT Result:</b><br/>❌  ABNORMAL — blood does NOT clot<br/>"
          "Key bedside diagnostic test → repeat at 6h post-ASV")],
    # 7 asv
    [cell("<b>ASV Dose (Polyvalent):</b><br/>• 8–10 vials IV in 100–200 mL NS over 30–60 min<br/>"
          "• Repeat dosing rarely needed (no coagulopathy marker)"),
     cell("<b>ASV Dose (Polyvalent):</b><br/>• Russell's Viper: 10 vials IV (starting dose)<br/>"
          "• Saw-Scaled Viper: 5–8 vials IV (starting dose)<br/>"
          "• Repeat 5–10 vials q6h if WBCT still abnormal<br/>"
          "• Russell's maximum: 30 vials total")],
    # 8 specific
    [cell("<b>Neostigmine-Atropine Challenge (AN Test):</b><br/>"
          "• Atropine 0.6 mg IV → Neostigmine 1.5 mg IV stat<br/>"
          "• Repeat neostigmine 0.5 mg q30min × 5 doses<br/>"
          "• POSITIVE (≥50% ptosis recovery in 1h) → COBRA<br/>"
          "&nbsp;&nbsp;Continue AN therapy; taper at 1h, 2h, 6h, 12h<br/>"
          "• NO RESPONSE after 3 doses → KRAIT<br/>"
          "&nbsp;&nbsp;Calcium gluconate 10 mL IV q6h (5–7 days)"),
     cell("<b>Russell's Viper Specific:</b><br/>"
          "• Strict I/O: target urine output &gt;0.5 mL/kg/hr<br/>"
          "• Dialysis (HD/PD) if AKI progresses<br/>"
          "• Blood products (FFP/PRBCs) ONLY for active bleeding<br/>"
          "• Do NOT give heparin (no benefit, increased harm)<br/>"
          "<b>Saw-Scaled Viper:</b> Same protocol; NO dialysis needed<br/>"
          "Rajasthan variant may need higher ASV dose")],
    # 9 ventilation
    [cell("<b>Ventilatory Support:</b><br/>"
          "• Cobra: Elective intubation early (bulbar palsy / falling SpO2)<br/>"
          "• Krait: MANDATORY mechanical ventilation<br/>"
          "&nbsp;&nbsp;Duration: 5–7 days or more (irreversible pre-synaptic lesion)<br/>"
          "&nbsp;&nbsp;Ventilator alone can be lifesaving even without ASV"),
     cell("<b>Ongoing Monitoring:</b><br/>"
          "• 20WBCT at 6h post each ASV dose<br/>"
          "• Serum creatinine, BUN daily (Russell's)<br/>"
          "• CBC + coagulation panel daily<br/>"
          "• Watch for compartment syndrome<br/>"
          "• Serial wound marking for edema progression")],
    # 10 discharge
    [cell("<b>Disposition:</b><br/>• All neurotoxic bites → ADMIT<br/>"
          "• ICU if any respiratory compromise<br/>"
          "• Discharge when fully neurologically recovered"),
     cell("<b>Disposition:</b><br/>• All viper bites → ADMIT minimum 24–48h<br/>"
          "• ICU if DIC, shock, or AKI<br/>"
          "• Discharge when WBCT normal + stable renal function")],
]

bg = [
    ((0,0),(0,0), C_NEURO_BG), ((1,0),(1,0), C_HEMO_BG),
    ((0,1),(0,1), C_NEURO_LT), ((1,1),(1,1), C_HEMO_LT),
    ((0,2),(0,2), C_GRAY_LT),  ((1,2),(1,2), C_GRAY_LT),
    ((0,3),(0,3), C_NEURO_LT), ((1,3),(1,3), C_HEMO_LT),
    ((0,4),(0,4), C_GRAY_LT),  ((1,4),(1,4), C_GRAY_LT),
    ((0,5),(0,5), C_NEURO_LT), ((1,5),(1,5), C_HEMO_LT),
    ((0,6),(0,6), colors.HexColor("#e0f2e9")), ((1,6),(1,6), colors.HexColor("#fee2e2")),
    ((0,7),(0,7), C_NEURO_LT), ((1,7),(1,7), C_HEMO_LT),
    ((0,8),(0,8), C_GRAY_LT),  ((1,8),(1,8), C_GRAY_LT),
    ((0,9),(0,9), C_NEURO_LT), ((1,9),(1,9), C_HEMO_LT),
    ((0,10),(0,10), C_GRAY_LT),((1,10),(1,10), C_GRAY_LT),
]
bg_styles = [("BACKGROUND",(c1,r1),(c2,r2),col) for (r1,c1),(r2,c2),col in bg]

comp = Table(rows, colWidths=[half, half])
comp.setStyle(TableStyle([
    *bg_styles,
    ("GRID",          (0,0),(-1,-1), 0.5, C_GRAY_BD),
    ("TOPPADDING",    (0,0),(-1,-1), 5),
    ("BOTTOMPADDING", (0,0),(-1,-1), 5),
    ("LEFTPADDING",   (0,0),(-1,-1), 7),
    ("RIGHTPADDING",  (0,0),(-1,-1), 7),
    ("VALIGN",        (0,0),(-1,-1), "TOP"),
]))
story += [comp, Spacer(1,7)]

# ── 20WBCT BOX ────────────────────────────────────────────────────────────────
t = mk_tbl(
    [[p("20-MINUTE WHOLE BLOOD CLOTTING TEST (20WBCT) — India Bedside Gold Standard",
        fontSize=10, textColor=C_WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER)],
     [p("1. Draw 2 mL venous blood into CLEAN DRY GLASS tube (NOT plastic)  →  "
        "2. Leave undisturbed 20 min at room temperature  →  "
        "3. Tilt tube: <b>Clots = NORMAL</b> (no viper venom)  |  "
        "<b>Liquid = ABNORMAL → VIPER ENVENOMATION</b>  →  "
        "4. Repeat at 6h post-ASV to guide re-dosing",
        fontSize=7.5, textColor=C_DARK, alignment=TA_CENTER, leading=11)]],
    [CW],
    bg_pairs=[((0,0),(0,0), C_BLUE_BG), ((1,0),(1,0), C_BLUE_LT)],
    extra_styles=[("GRID",(0,0),(-1,-1),1,C_BLUE_BG)]
)
story += [t, Spacer(1,6)]

# ── WARNINGS ─────────────────────────────────────────────────────────────────
warn_inner = Table([
    [cell("❌  DO NOT apply tourniquet — causes limb ischemia",sz=7.5),
     cell("❌  DO NOT incise/suck the wound — ineffective and harmful",sz=7.5)],
    [cell("❌  DO NOT give heparin for Russell's viper DIC",sz=7.5),
     cell("❌  DO NOT repeat ASV before 6 hours in viper bites",sz=7.5)],
    [cell("✅  Krait: VENTILATE early — lesion is irreversible",sz=7.5,color=C_GREEN_TXT,bold=True),
     cell("✅  Cobra: Neostigmine works — test and continue if positive",sz=7.5,color=C_GREEN_TXT,bold=True)],
    [cell("✅  PIB bandage for NEUROTOXIC bites (Elapids) ONLY",sz=7.5,color=C_GREEN_TXT,bold=True),
     cell("✅  Use GLASS tube for 20WBCT — plastic gives false-normal result",sz=7.5,color=C_GREEN_TXT,bold=True)],
], colWidths=[half,half])
warn_inner.setStyle(TableStyle([
    ("TOPPADDING",(0,0),(-1,-1),3),("BOTTOMPADDING",(0,0),(-1,-1),3),
    ("LEFTPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),5),
    ("GRID",(0,0),(-1,-1),0.3,C_GRAY_BD),
]))

t = Table(
    [[p("CRITICAL RULES & PITFALLS", fontSize=10, textColor=C_WHITE,
        fontName="Helvetica-Bold", alignment=TA_CENTER)],
     [warn_inner]], colWidths=[CW])
t.setStyle(TableStyle([
    ("BACKGROUND",(0,0),(0,0),C_WARN_BG),
    ("BACKGROUND",(0,1),(0,1),C_WARN_LT),
    ("TOPPADDING",(0,0),(-1,-1),5),("BOTTOMPADDING",(0,0),(-1,-1),5),
    ("LEFTPADDING",(0,0),(-1,-1),8),("RIGHTPADDING",(0,0),(-1,-1),8),
    ("BOX",(0,0),(-1,-1),1,C_WARN_BG),
]))
story += [t, Spacer(1,5)]

# ── FOOTER ────────────────────────────────────────────────────────────────────
ft = Table([[p("Sources: MoHFW Standard Treatment Guidelines for Snakebite India 2016  ·  "
               "SCTIMST Indian Snake Bite Protocol  ·  NHM Full Background Document  ·  "
               "Generated by Orris AI Medical Reference — July 2026",
               fontSize=6.5, textColor=colors.HexColor("#6b7280"), alignment=TA_CENTER, leading=9)]],
           colWidths=[CW])
ft.setStyle(TableStyle([
    ("BACKGROUND",(0,0),(-1,-1),colors.HexColor("#f3f4f6")),
    ("TOPPADDING",(0,0),(-1,-1),4),("BOTTOMPADDING",(0,0),(-1,-1),4),
    ("LEFTPADDING",(0,0),(-1,-1),6),("RIGHTPADDING",(0,0),(-1,-1),6),
    ("BOX",(0,0),(-1,-1),0.5,C_GRAY_BD),
]))
story.append(ft)

doc.build(story)
print(f"\nPDF created: {OUT}")
print(f"Size: {os.path.getsize(OUT):,} bytes")
Editing File

~/snakebite-refcard/build_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/snakebite-refcard/build_pdf.py'
Running Command

cat > /home/daytona/workspace/snakebite-refcard/build2.py << 'PYEOF' #!/usr/bin/…

Here is the generated flowchart and the PDF reference card:

Visual Flowchart: Neurotoxic vs Hemotoxic Snakebite

Neurotoxic vs Hemotoxic Snakebite Management Flowchart

PDF Reference Card (Download)

The full A4 reference card includes:
  • The flowchart above
  • Side-by-side comparison table (all 10 clinical parameters)
  • 20WBCT bedside test protocol
  • Critical rules & pitfalls box
  • Color-coded green (neurotoxic) vs red (hemotoxic) layout

Neurotoxic vs Hemotoxic Snakebite

PDF Document · PDF


What the Flowchart & Card Cover

SectionNeurotoxic (Green)Hemotoxic (Red)
SnakesCobra, KraitRussell's Viper, Saw-Scaled Viper
Key mechanismACh blockade (post/pre-synaptic)Coagulation factor destruction + nephrotoxins
Hallmark signPtosis (earliest)Bleeding from IV sites
20WBCTNORMAL (clots)ABNORMAL (no clot)
ASV dose8-10 vials10 vials (RV) / 5-8 vials (SSV)
Specific drugNeostigmine + AtropineDialysis (RV) + blood products
VentilatorCobra: elective; Krait: mandatoryNot usually needed
Max ASV~15-20 vialsUp to 30 vials (Russell's)
AKI riskNoneRussell's viper only
Re-dosing guideClinical response6-hourly 20WBCT

Give me the visual flowchart un which we identify the snake based on symptoms in a different 6

Generating Image

Clean medical diagnostic flowchart on white background. Title at top: "IDENTIFY THE SNAKE FROM SYMPTOMS". Decision tree style with diamond shapes for questions and rounded rectangles for answers. Start box: "Patient bitten by snake". First diamond: "Local swelling at bite site?" YES branch right, NO branch down. YES leads to diamond "Bleeding from gums/IV sites?" YES leads to red box "RUSSELL'S VIPER - Hemotoxic - Give ASV 10 vials + Check 20WBCT". NO from bleeding leads to diamond "Necrosis/tissue death?" YES leads to orange box "INDIAN COBRA - Neurotoxic+Cytotoxic - Give ASV 8-10 vials + Neostigmine". NO from local swelling leads to diamond "Bite occurred at night while sleeping?" YES leads to purple box "COMMON KRAIT - Pre-synaptic neurotoxic - Ventilate immediately". NO leads to diamond "DIC/coagulopathy but NO renal failure?" YES leads to brown box "SAW-SCALED VIPER - Give ASV 5-8 vials". Each final box has snake name bold, venom type, and treatment. Color coded: red for Russell's viper, green for cobra, purple for krait, brown for saw-scaled viper. Professional clinical style, clear arrows, medical typography.

Generating Image

Medical infographic symptom-based snake identification chart. Dark navy blue background. Title in bright yellow: "WHICH SNAKE BIT YOU? - SYMPTOM IDENTIFIER". Four large symptom pathway columns side by side. Column 1 green: Shows eye/ptosis icon, paralysis icon, local swelling icon. Label: "COBRA (Naja naja)" with symptoms listed: Ptosis earliest sign, Local swelling+necrosis, Responds to neostigmine, 20WBCT normal. Column 2 purple: Shows sleeping person icon, no swelling icon, respiratory failure icon. Label: "KRAIT (Bungarus caeruleus)" with: Nocturnal bite, NO local swelling, Delayed 6-36h onset, Pre-synaptic irreversible. Column 3 red: Shows bleeding mouth icon, kidney icon, DIC icon. Label: "RUSSELL'S VIPER (Daboia russelii)": Gingival bleeding, AKI/renal failure, Non-clotting 20WBCT, Shock. Column 4 orange: Shows coagulation icon, no kidney icon, DIC icon. Label: "SAW-SCALED VIPER (Echis carinatus)": Bleeding/DIC, NO renal failure, Non-clotting 20WBCT, Dry arid regions. Each column has the snake illustration at bottom. Bold clean medical icons. Modern clinical design.

Generating Image

Medical algorithm poster. Title: "SYNDROMIC APPROACH TO SNAKE IDENTIFICATION - INDIA". Clean white background with colored sections. Large central question box at top: "What are the FIRST symptoms?". Three main pathways branching down with thick colored arrows. LEFT GREEN PATH labeled "NEUROLOGICAL SYMPTOMS": Ptosis, diplopia, facial drooping, difficulty swallowing, weakness → Sub-question box: "Is there LOCAL SWELLING?" → YES box: "COBRA - post-synaptic - Give Neostigmine + ASV" → NO box: "KRAIT - pre-synaptic - VENTILATE URGENTLY". CENTER RED PATH labeled "BLEEDING SYMPTOMS": Gum bleeding, IV site oozing, non-clotting blood, purpura, ecchymosis → Sub-question: "Is there RENAL FAILURE/oliguria?" → YES: "RUSSELL'S VIPER - ASV 10 vials + Dialysis" → NO: "SAW-SCALED VIPER - ASV 5-8 vials, no dialysis". RIGHT GRAY PATH labeled "DRY BITE / UNCERTAIN": No symptoms after 6h → "Observe 24h, discharge if stable". Bottom row shows 4 snake photographs labeled with names. Professional A4 medical poster format.

Generating Image

Mind map style medical flowchart. White background. Central oval in dark blue: "SNAKEBITE INDIA - IDENTIFY THE SNAKE". Four color-coded branches radiating outward like a compass. NORTH branch in emerald green: "COBRA" with 5 symptom bubbles connected: "Ptosis", "Neck swelling", "Necrosis at bite", "Dysarthria", "Responds to neostigmine". EAST branch in deep purple: "KRAIT" with bubbles: "Nocturnal onset", "No local swelling", "Abdominal cramps first", "Ascending paralysis", "Irreversible - ventilate". SOUTH branch in crimson red: "RUSSELL'S VIPER" with bubbles: "Gum bleeding", "AKI", "20WBCT abnormal", "Shock", "DIC + renal failure". WEST branch in burnt orange: "SAW-SCALED VIPER" with bubbles: "Dry arid area", "Coagulopathy", "20WBCT abnormal", "NO renal failure", "Smaller snake". Between branches: KEY DIFFERENTIATOR boxes: "Neuro vs Hemotoxic?", "Renal failure present?", "Local swelling present?", "Time of bite?". Clean mind map with curved connecting lines, colored labels, modern medical design.

Generating Image

Clinical decision flowchart in the style of a hospital quick reference card. Light gray background. Title banner in dark green: "SNAKE IDENTIFICATION BY CLINICAL FEATURES - STEP BY STEP". Bold red subtitle: "India Big Four - 4 Questions to Identify the Snake". Numbered step boxes connected by arrows: STEP 1 yellow box: "Is 20WBCT (Whole Blood Clotting Test) NORMAL or ABNORMAL?" → NORMAL arrow right goes to STEP 2A. ABNORMAL arrow down goes to STEP 2B. STEP 2A blue box: "NEUROLOGICAL SNAKE (Elapid)" → STEP 3A: "Is there LOCAL SWELLING + NECROSIS?" → YES = "COBRA - Neostigmine + ASV + watch airway" → NO = "KRAIT - VENTILATE NOW, ASV, Calcium gluconate". STEP 2B red box: "VIPER ENVENOMATION confirmed" → STEP 3B: "Is there ACUTE KIDNEY INJURY? (rising creatinine, oliguria)" → YES = "RUSSELL'S VIPER - ASV 10 vials + Dialysis protocol" → NO = "SAW-SCALED VIPER - ASV 5-8 vials, wound care". Bottom summary table with 4 columns for each snake showing: Venom type, 20WBCT, Neostigmine response, Renal failure. Professional hospital chart style with clear numbered steps.

Generating Image

Colorful visual medical infographic. Title at top: "READ THE SYMPTOMS - KNOW THE SNAKE". Creative body-map approach. Central human body silhouette outline. Color coded symptom indicators pointing to body regions with snake identification. HEAD region with green arrows: "Ptosis, Diplopia, Dysarthria, Dysphagia → COBRA or KRAIT". MOUTH region with red arrows: "Gum bleeding, blood in saliva → VIPER (Russell's or Saw-scaled)". CHEST region purple arrows: "Respiratory paralysis, can't breathe → KRAIT (irreversible pre-synaptic)". ARMS/LEGS green arrows: "Ascending weakness, flaccid paralysis → NEUROTOXIC (Cobra/Krait)". BITE SITE orange arrows: "Swelling + Necrosis → COBRA / Russell's Viper" and "No swelling → KRAIT". KIDNEY area red arrows: "Oliguria, AKI → RUSSELL'S VIPER only". BLOOD icons: "Non-clotting blood (20WBCT) → VIPER". Four snake portrait boxes in corners: Cobra top-left green, Krait top-right purple, Russell's Viper bottom-left red, Saw-scaled bottom-right orange. Modern medical infographic style, bright clear colors.

Give me the visual flowchart un which we identify the snake based on symptoms in a different Page

Generating Image

Professional medical diagnostic flowchart on white background. Title bold at top: "IDENTIFY THE SNAKE FROM SYMPTOMS — India Big Four". Decision tree with diamond question shapes and rounded rectangle answer boxes. Flow starts top center: oval "Patient presents after snakebite". Arrow down to diamond "Local swelling + pain at bite site?". YES arrow right leads to diamond "Bleeding from gums, IV sites, non-clotting blood?". YES leads to red rounded box "RUSSELL'S VIPER — Hemotoxic + Nephrotoxic — 20WBCT abnormal, AKI, DIC, Shock". NO from bleeding diamond leads to diamond "Necrosis at site + ptosis?". YES leads to green box "INDIAN COBRA — Neuro+Cytotoxic — Local necrosis, ptosis, responds to neostigmine". NO from local swelling diamond leads to diamond "Bite at night while sleeping? Abdominal cramps on waking?". YES leads to purple box "COMMON KRAIT — Pre-synaptic Neurotoxic — No local swelling, delayed 6-36h, ventilate urgently". NO leads to diamond "Coagulopathy/DIC but NO renal failure? Dry/arid region?". YES leads to orange box "SAW-SCALED VIPER — Hemotoxic — 20WBCT abnormal, no AKI, smaller snake". Each terminal box shows: snake name large bold, venom type italic, key features bullet list. Color-coded arrows. Clean clinical typography. A4 portrait format.

Generating Image

Medical infographic poster, dark navy blue background, bright white and yellow text. Title large at top in yellow: "WHICH SNAKE BIT YOU? READ YOUR SYMPTOMS". Subtitle white: "India Big Four — Symptom Identification Guide". Four tall vertical panels side by side, each a different color. Panel 1 emerald green: Large snake illustration of Indian Cobra at top. Header "COBRA" bold white. Symptom list with checkmark icons: "Ptosis — drooping eyelids (earliest sign)", "Local swelling + necrosis at bite site", "Dysarthria, dysphagia, diplopia", "Responds to NEOSTIGMINE", "20WBCT = NORMAL". Treatment box at bottom: "ASV 8-10 vials + Neostigmine + Atropine". Panel 2 deep purple: Krait snake illustration. Header "KRAIT" bold white. Symptoms: "Nocturnal bite — sleeping on floor", "NO local swelling (deceptive!)", "Wakes with abdominal cramps", "Progressive paralysis 6-36h later", "Pre-synaptic — NO neostigmine response". Treatment: "ASV + MANDATORY VENTILATOR 5-7 days". Panel 3 crimson red: Russell's viper illustration. Header "RUSSELL'S VIPER". Symptoms: "Immediate severe pain + swelling", "Gum bleeding + IV site oozing", "Non-clotting blood (20WBCT abnormal)", "Acute kidney injury / oliguria", "DIC + shock". Treatment: "ASV 10 vials + Dialysis + monitor WBCT". Panel 4 burnt orange: Saw-scaled viper. Header "SAW-SCALED VIPER". Symptoms: "Moderate local swelling", "Coagulopathy, DIC, bleeding", "20WBCT abnormal", "NO renal failure (unlike Russell's)", "Dry arid areas". Treatment: "ASV 5-8 vials, repeat per WBCT". Modern bold medical infographic design.

Generating Image

Medical clinical decision algorithm poster. Clean white background with colorful section blocks. Large bold title at top in dark teal: "SYNDROMIC SNAKE IDENTIFICATION ALGORITHM". Subtitle: "Step-by-step approach using clinical features — India". Three large pathway columns separated by vertical dividers. LEFT COLUMN green header "STEP 1: IS THERE NEUROTOXICITY?": Symptoms listed with icons: eye drooping icon Ptosis, speech bubble Dysarthria, breathing icon Dyspnea, face icon Diplopia. Then arrow down to STEP 2 box: "Is there LOCAL SWELLING + NECROSIS?". Two branches: YES green box "= COBRA — Post-synaptic — Neostigmine works — ASV 8-10 vials + Atropine/Neostigmine + airway watch" and NO purple box "= KRAIT — Pre-synaptic — Neostigmine FAILS — VENTILATE immediately — ASV + Calcium gluconate IV". CENTER COLUMN red header "STEP 1: IS THERE HEMOTOXICITY/BLEEDING?": Symptoms with icons: mouth bleeding Gingival bleeding, drop icon Non-clotting blood, blood tube 20WBCT abnormal, bruise icon Ecchymosis petechiae. Then arrow to STEP 2: "Is there RENAL FAILURE? (Oliguria, rising creatinine)". YES deep red box "= RUSSELL'S VIPER — ASV 10 vials max 30 — Monitor urine output — Dialysis if AKI". NO orange box "= SAW-SCALED VIPER — ASV 5-8 vials — Repeat WBCT 6-hourly — No dialysis needed". RIGHT COLUMN gray header "STEP 1: NO SYMPTOMS IN 6 HOURS?": "Dry bite or non-venomous" → "Observe 24h, tetanus, wound care, discharge if stable". Bottom row: summary table 4 columns each snake with: Local swelling, 20WBCT, Neostigmine, AKI. Hospital reference card style.

Generating Image

Medical mind map flowchart on pure white background. Central large oval in dark blue at center of page: "SNAKEBITE — IDENTIFY THE SNAKE". Four bold color-coded branches radiating outward like compass directions with thick curved arrows. NORTH branch in emerald green labeled "COBRA (Naja naja)": Five symptom bubbles connected in a cluster: oval bubble "Ptosis (earliest)", oval "Neck + face swelling", oval "Necrosis at bite site", oval "Dysarthria + Dysphagia", oval "Neostigmine WORKS". Small treatment tag: "ASV + Neostigmine + Atropine". EAST branch in deep purple labeled "KRAIT (Bungarus caeruleus)": Bubbles: "Bite at night asleep", "NO local swelling", "Abdominal cramps on waking", "Ascending paralysis", "Neostigmine FAILS". Tag: "ASV + VENTILATOR mandatory". SOUTH branch in crimson red labeled "RUSSELL'S VIPER (Daboia russelii)": Bubbles: "Immediate pain + swelling", "Gum/IV site bleeding", "20WBCT non-clotting", "Oliguria — AKI", "DIC + Shock". Tag: "ASV 10-30 vials + Dialysis". WEST branch in amber orange labeled "SAW-SCALED VIPER (Echis carinatus)": Bubbles: "Moderate swelling", "Coagulopathy/DIC", "20WBCT non-clotting", "NO renal failure", "Dry arid habitat". Tag: "ASV 5-8 vials, no dialysis". KEY DIFFERENTIATOR boxes between branches: diamond "Neuro OR Hemotoxic?", diamond "Renal failure?", diamond "Local swelling?", diamond "Time of bite?". Clean modern mind map, colorful, professional medical style.

Generating Image

Hospital quick-reference clinical decision card. Light cream background with clean bold typography. Large title in dark navy: "4 QUESTIONS TO IDENTIFY THE SNAKE — India". Bold red subtitle: "Ask these 4 questions in order". Numbered step boxes in a vertical flow with thick color-coded connecting arrows. BOX 1 bright yellow with dark text, label "QUESTION 1": Large question mark icon. "Perform 20WBCT: Did the blood CLOT within 20 minutes?" TWO large arrow branches: LEFT arrow green "YES — Blood CLOTS" leads to BOX 2A teal: "QUESTION 2A: Are there NEUROLOGICAL symptoms? (Ptosis, ptosis, weakness, paralysis)" → YES leads to green terminal box "COBRA or KRAIT". Subdivided: "Swelling present → COBRA — Neostigmine + ASV". "No swelling, nocturnal → KRAIT — VENTILATE NOW". RIGHT arrow red "NO — Blood does NOT clot" leads to BOX 2B orange: "QUESTION 2B: Is there ACUTE KIDNEY INJURY? (Low urine output, rising creatinine, oliguria)" → YES leads to red terminal "RUSSELL'S VIPER — ASV 10 vials + dialysis". → NO leads to orange terminal "SAW-SCALED VIPER — ASV 5-8 vials". BOTTOM summary comparison mini-table: 5 rows (20WBCT, Neuro, Renal, Neostigmine, Habitat) × 4 columns (Cobra, Krait, Russell's, Saw-scaled) with colored tick/cross icons. Professional clean hospital card A4.

Generating Image

Creative body-map medical infographic on white background. Title in bold dark red at top: "WHERE ARE THE SYMPTOMS? — IDENTIFY THE SNAKE". Centered large human body silhouette outline in the middle of the page. Colored annotation arrows pointing from different body regions outward to labeled boxes. From EYES region: green arrow pointing to green box on left: "PTOSIS (drooping eyelid) = ELAPID. Cobra: ptosis + swelling. Krait: ptosis + NO swelling". From MOUTH region: red arrow to red box right: "BLEEDING GUMS + blood in saliva = VIPER envenomation. Check 20WBCT". From THROAT/NECK: green arrow to green box: "Difficulty speaking, swallowing = COBRA or KRAIT (neurotoxic — cranial nerves affected)". From CHEST/LUNGS: purple arrow to purple box: "Respiratory failure = KRAIT most dangerous. Pre-synaptic — must VENTILATE". From KIDNEYS (lower back): red arrow to red box: "Oliguria, dark urine, AKI = RUSSELL'S VIPER only. Start dialysis protocol". From BITE SITE arm: split arrows. Orange arrow "Severe necrosis + swelling = COBRA/RUSSELL'S". Purple arrow "Minimal/no swelling = KRAIT (deceptive)". From WHOLE BODY: red arrow to "Petechiae, ecchymosis, DIC = VIPER". Bottom 4 quadrant boxes for each snake with small illustrations: Cobra green, Krait purple, Russell's red, Saw-scaled orange. Each shows key distinguishing feature. Modern medical illustration style with body outline central focus.

Here are all 6 different visual flowcharts, each on its own page with a unique style:

Page 1 - Classic Decision Tree Flowchart

Diamond-shaped YES/NO questions leading step-by-step to the snake
Decision Tree Flowchart

Page 2 - Four-Column Symptom Panel Infographic

Dark background, 4 color-coded vertical panels with snake illustrations
Four Column Infographic

Page 3 - Syndromic Algorithm (Pathway Style)

Three clinical pathways - Neurotoxic, Hemotoxic, and Dry Bite
Syndromic Algorithm

Page 4 - Mind Map Style

Central hub with 4 branches radiating to each snake with symptom clusters
Mind Map

Page 5 - "4 Questions" Quick Reference Card

Answer just 4 questions in sequence to identify the snake
4 Questions Card

Page 6 - Body Map Symptom Locator

Human body silhouette with arrows showing which body region points to which snake
Body Map

Quick Summary - Which Chart to Use?

PageStyleBest For
Page 1Decision TreeBedside step-by-step decision making
Page 2Column PanelQuick visual reference / wall poster
Page 3Pathway AlgorithmTeaching / lecture slides
Page 4Mind MapRevision / study notes
Page 54-Question CardEmergency pocket guide
Page 6Body MapPatient education / clinical orientation
This is a shared conversation. Sign in to Orris to start your own chat.