Help syndrome and Anaesthestist management..include practical approach
"HELLP syndrome" AND anesthesia management
HELLP syndrome anaesthetic management practical approach guidelines
| Platelets | Coagulation | Preferred technique |
|---|---|---|
| ≥ 70,000, stable, normal coags | Normal | Regional (spinal preferred) |
| 50,000-69,000 | Normal, stable trend | Individualize; regional often still reasonable |
| < 50,000 or falling rapidly, or coagulopathic | Abnormal | General anaesthesia |
| Emergency delivery, eclampsia, unstable | - | General anaesthesia, RSI |
Create a quick reference PDF checklist for HELLP anaesthetic management
mkdir -p /tmp/workspace/hellp-checklist && ls -la /tmp/workspace/
~/hellp-checklist/build_pdf.py
#!/usr/bin/env python3
"""Generate a quick-reference PDF checklist for anaesthetic management of HELLP syndrome."""
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import mm
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
ListFlowable, ListItem, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT
OUT = "/tmp/workspace/hellp-checklist/HELLP_Anaesthetic_Checklist.pdf"
# ---------- Styles ----------
styles = getSampleStyleSheet()
navy = colors.HexColor("#1a3a5c")
red = colors.HexColor("#b02a2a")
grey = colors.HexColor("#444444")
lightband = colors.HexColor("#eef3f8")
amber = colors.HexColor("#fff4e0")
title_style = ParagraphStyle(
"TitleStyle", parent=styles["Title"], fontSize=18, textColor=navy,
alignment=TA_CENTER, spaceAfter=2
)
subtitle_style = ParagraphStyle(
"SubtitleStyle", parent=styles["Normal"], fontSize=10, textColor=grey,
alignment=TA_CENTER, spaceAfter=10
)
section_style = ParagraphStyle(
"SectionStyle", parent=styles["Heading2"], fontSize=12.5, textColor=colors.white,
backColor=navy, spaceBefore=10, spaceAfter=6, leftIndent=4, borderPadding=(4,4,4,4)
)
body_style = ParagraphStyle(
"BodyStyle", parent=styles["Normal"], fontSize=9, leading=12.5, textColor=colors.black
)
item_style = ParagraphStyle(
"ItemStyle", parent=styles["Normal"], fontSize=9, leading=12.5, spaceAfter=3
)
warn_style = ParagraphStyle(
"WarnStyle", parent=styles["Normal"], fontSize=9, leading=12.5,
textColor=red, spaceAfter=3
)
foot_style = ParagraphStyle(
"FootStyle", parent=styles["Normal"], fontSize=7.3, textColor=grey, leading=10
)
CB = "\u2610" # checkbox glyph
def cb_items(lines, warn_idx=None):
"""Build a list of checkbox paragraphs. warn_idx: set of indices to render in red."""
flow = []
warn_idx = warn_idx or set()
for i, line in enumerate(lines):
st = warn_style if i in warn_idx else item_style
flow.append(Paragraph(f"{CB} {line}", st))
return flow
def section_header(text):
return Paragraph(text, section_style)
doc = SimpleDocTemplate(
OUT, pagesize=A4,
topMargin=14*mm, bottomMargin=12*mm, leftMargin=16*mm, rightMargin=16*mm,
title="HELLP Syndrome - Anaesthetic Management Checklist"
)
story = []
# ---------- Header ----------
story.append(Paragraph("HELLP Syndrome", title_style))
story.append(Paragraph("Quick-Reference Anaesthetic Management Checklist", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1.2, color=navy, spaceAfter=8))
# ---------- Definition banner ----------
def_tbl = Table([[Paragraph(
"<b>HELLP</b> = <b>H</b>emolysis + <b>E</b>levated <b>L</b>iver enzymes + <b>L</b>ow <b>P</b>latelets "
"(severe variant of preeclampsia; can occur without proteinuria/marked hypertension). "
"Dx: hemolysis (schistocytes, ↑LDH, ↓haptoglobin) + AST/ALT >2x ULN + platelets <100,000/μL.",
body_style)]], colWidths=[178*mm])
def_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), lightband),
("BOX", (0,0), (-1,-1), 0.6, navy),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 8),
]))
story.append(def_tbl)
story.append(Spacer(1, 6))
# ---------- 1. Pre-anaesthetic assessment ----------
story.append(section_header("1. Pre-Anaesthetic Assessment"))
story.extend(cb_items([
"Multidisciplinary huddle: obstetrician + anaesthetist + neonatologist + blood bank / haematology",
"Serial labs (repeat frequently - HELLP evolves fast, can worsen post-delivery): platelet count, PT/aPTT, "
"fibrinogen, LFTs (AST/ALT), creatinine, LDH, peripheral smear",
"Viscoelastic testing (TEG/ROTEM) if available for real-time coagulation status",
"Airway exam - anticipate oedema (worse after prolonged pushing / tocolytics); expect a harder airway than "
"routine obstetric cases",
"Confirm blood bank status: cross-match, platelets, FFP, cryoprecipitate on standby",
"Check magnesium sulfate status - monitor deep tendon reflexes, respiratory rate, urine output for toxicity "
"(Mg potentiates neuromuscular blockers)",
"Review BP trend and current antihypertensive therapy",
]))
# ---------- 2. Platelet-guided technique decision ----------
story.append(section_header("2. Choosing the Technique - Platelet-Guided Decision"))
story.append(Paragraph(
"Regional anaesthesia is preferred whenever feasible (avoids airway manipulation, blunts pressor response "
"to laryngoscopy). No single platelet count is universally 'safe' - trend and coagulation status matter as "
"much as the absolute number.",
body_style
))
story.append(Spacer(1, 4))
table_data = [
["Platelet count", "Coagulation / trend", "Preferred technique"],
["\u2265 70,000/\u00b5L", "Normal, stable", "Regional (spinal preferred over epidural)"],
["50,000-69,000/\u00b5L", "Normal, stable trend", "Individualise; regional often still reasonable"],
["< 50,000/\u00b5L or falling fast", "Abnormal / coagulopathic", "General anaesthesia"],
["Emergency / eclampsia / unstable", "-", "General anaesthesia, RSI"],
]
tbl = Table(table_data, colWidths=[46*mm, 52*mm, 80*mm], hAlign="LEFT")
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), navy),
("TEXTCOLOR", (0,0), (-1,0), colors.white),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8.5),
("GRID", (0,0), (-1,-1), 0.5, colors.grey),
("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.white, lightband]),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
]))
story.append(tbl)
story.append(Spacer(1, 3))
story.extend(cb_items([
"Single-shot spinal favoured over epidural (smaller needle, no indwelling catheter to place/remove later)",
"If epidural catheter used: monitor for delayed neuraxial haematoma, including AFTER catheter removal",
]))
# ---------- 3. Regional anaesthesia checklist ----------
story.append(section_header("3. If Proceeding with Regional Anaesthesia"))
story.extend(cb_items([
"Confirm platelet count / coag panel is current (not stale) before needle placement",
"In the absence of coagulopathy, spinal is safe despite older concerns re: hypotension/hypovolaemia",
"Prophylactic vasopressor + IV access ready for hypotension management",
"Document neurological baseline; plan post-procedure neuro checks",
"Educate team to watch for back pain, new leg weakness, bladder/bowel dysfunction post-delivery/catheter "
"removal (neuraxial haematoma red flags)",
]))
# ---------- 4. General anaesthesia checklist ----------
story.append(section_header("4. If General Anaesthesia Required"))
story.extend(cb_items([
"Rapid sequence induction with cricoid pressure (routine aspiration precautions apply)",
"Attenuate hypertensive/tachycardic response to laryngoscopy: short-acting opioid (e.g. remifentanil), "
"IV labetalol, or lidocaine pre-intubation",
"Anticipate difficult airway: have smaller ETT sizes ready, difficult airway trolley at hand, low threshold "
"for awake fibreoptic / videolaryngoscopy if oedema is marked",
"Reduce non-depolarising muscle relaxant dose - magnesium sulfate potentiates and prolongs blockade",
"Use quantitative train-of-four monitoring for neuromuscular blockade",
"Avoid aggressive crystalloid loading - capillary leak + pulmonary oedema risk; prefer judicious boluses "
"with vasopressor support",
"Consider arterial line for continuous invasive BP monitoring in unstable/severe cases",
"Consider central access if large-volume blood product / vasopressor administration anticipated",
], warn_idx={1,2}))
# ---------- 5. Perioperative BP & Mg management ----------
story.append(section_header("5. Blood Pressure & Magnesium - Throughout Perioperative Period"))
story.extend(cb_items([
"Treat SBP > 160 mmHg or DBP > 110 mmHg promptly (risk of intracerebral haemorrhage) with IV labetalol, "
"hydralazine, or nicardipine",
"Continue magnesium sulfate per protocol (typically through delivery and 24h postpartum) with ongoing "
"toxicity monitoring",
"Recheck BP control extends into recovery/ICU - not just intra-op",
]))
# ---------- 6. Postpartum vigilance ----------
story.append(section_header("6. Postpartum Vigilance"))
story.extend(cb_items([
"HELLP can WORSEN after delivery - continue serial platelets, LFTs, clinical review for 24-48h in HDU/ICU",
"High index of suspicion for postpartum haemorrhage (thrombocytopenia +/- coagulopathy) - blood products "
"immediately available",
"Use methylergonovine (Methergine) cautiously or AVOID in hypertensive patients (can worsen BP)",
"Continue neuro checks if regional technique was used, especially after catheter removal",
"Serial review for eclampsia, pulmonary oedema, hepatic complications (rare hepatic haemorrhage/rupture)",
], warn_idx={2}))
# ---------- Red flags box ----------
story.append(Spacer(1, 4))
flag_tbl = Table([[Paragraph(
"<b>RED FLAGS - escalate immediately:</b> platelet count <50,000/μL with active bleeding, "
"new neurological deficit (possible neuraxial haematoma), signs of hepatic rupture (severe RUQ/epigastric "
"pain, hypotension, shoulder tip pain), eclamptic seizure, pulmonary oedema, DIC.",
ParagraphStyle("flag", parent=body_style, textColor=colors.HexColor("#7a1010"))
)]], colWidths=[178*mm])
flag_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), amber),
("BOX", (0,0), (-1,-1), 0.8, red),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 8),
]))
story.append(flag_tbl)
# ---------- Footer / sources ----------
story.append(Spacer(1, 8))
story.append(HRFlowable(width="100%", thickness=0.6, color=colors.grey, spaceAfter=4))
story.append(Paragraph(
"Sources: Miller's Anesthesia, 2-Vol Set, 10e; Barash, Cullen & Stoelting's Clinical Anesthesia, 9e; "
"Brenner and Rector's The Kidney, 2-Vol Set; Harrison's Principles of Internal Medicine, 22e. "
"Recent evidence on adjunct corticosteroid therapy in HELLP: systematic reviews/meta-analyses "
"(PMID 39026148, PMID 37937841) - evidence still limited; does not change platelet-threshold-based "
"anaesthetic technique selection above.",
foot_style
))
story.append(Spacer(1, 3))
story.append(Paragraph(
"This is a clinical quick-reference aid, not a substitute for institutional protocols, specialist "
"consultation, or individual patient risk-benefit judgement.",
ParagraphStyle("disclaimer", parent=foot_style, fontName="Helvetica-Oblique")
))
doc.build(story)
print("PDF written to", OUT)
cd /tmp/workspace/hellp-checklist && python build_pdf.py
cd /tmp/workspace/hellp-checklist && python -c " import pdfplumber with pdfplumber.open('HELLP_Anaesthetic_Checklist.pdf') as pdf: print('pages:', len(pdf.pages)) for i,p in enumerate(pdf.pages): print('--- page', i+1, 'chars:', len(p.extract_text() or '')) " ls -la /tmp/workspace/hellp-checklist/
HELLP Anaesthetic Checklist
PDF Document · PDF