DIC as short note for md Anaesthesia exam from standard anesthesia textbook
"disseminated intravascular coagulation" AND management
Create a PDF quick reference card on DIC for exam review
/tmp/workspace
mkdir -p /tmp/workspace/dic-reference/output && ls -la /tmp/workspace/dic-reference
~/dic-reference/make_pdf.py
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
from reportlab.lib import colors
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
ListFlowable, ListItem, HRFlowable)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT
doc = SimpleDocTemplate(
"/tmp/workspace/dic-reference/output/DIC_Quick_Reference_Card.pdf",
pagesize=letter,
topMargin=0.35*inch, bottomMargin=0.35*inch,
leftMargin=0.45*inch, rightMargin=0.45*inch,
)
styles = getSampleStyleSheet()
title_style = ParagraphStyle('TitleStyle', parent=styles['Title'], fontSize=18,
textColor=colors.HexColor('#7a0d0d'), spaceAfter=2, alignment=TA_CENTER)
subtitle_style = ParagraphStyle('SubtitleStyle', parent=styles['Normal'], fontSize=9.5,
textColor=colors.HexColor('#555555'), alignment=TA_CENTER, spaceAfter=8)
heading_style = ParagraphStyle('HeadingStyle', parent=styles['Heading2'], fontSize=11.5,
textColor=colors.white, backColor=colors.HexColor('#7a0d0d'),
spaceBefore=6, spaceAfter=4, leftIndent=4, borderPadding=(3,3,3,3))
body_style = ParagraphStyle('BodyStyle', parent=styles['Normal'], fontSize=8.7, leading=11.2,
spaceAfter=3)
bullet_style = ParagraphStyle('BulletStyle', parent=styles['Normal'], fontSize=8.7, leading=11,
leftIndent=10, spaceAfter=1.5)
small_note = ParagraphStyle('SmallNote', parent=styles['Normal'], fontSize=7.6, leading=9.5,
textColor=colors.HexColor('#444444'), spaceAfter=2)
box_title = ParagraphStyle('BoxTitle', parent=styles['Normal'], fontSize=9.3, leading=11,
textColor=colors.HexColor('#7a0d0d'), fontName='Helvetica-Bold')
def bullets(items):
return ListFlowable(
[ListItem(Paragraph(i, bullet_style), leftIndent=8, value='•', bulletFontSize=8) for i in items],
bulletType='bullet', start='•', leftIndent=10, spaceBefore=0, spaceAfter=4
)
story = []
story.append(Paragraph("Disseminated Intravascular Coagulation (DIC)", title_style))
story.append(Paragraph("Quick Reference Card • MD Anaesthesia Exam Review", subtitle_style))
story.append(HRFlowable(width="100%", thickness=1.2, color=colors.HexColor('#7a0d0d'), spaceAfter=6))
# Definition
story.append(Paragraph("DEFINITION", heading_style))
story.append(Paragraph(
"A pathologic hemostatic response to tissue factor/factor VIIa complex activation, causing excessive "
"activation of the extrinsic coagulation pathway. This overwhelms natural anticoagulant mechanisms, generates "
"widespread intravascular thrombin, and leads to <b>simultaneous microthrombosis and consumptive bleeding</b>, "
"resulting in multiorgan dysfunction.", body_style))
# Two-column layout for Etiology and Pathophysiology
etio_items = [
"Sepsis / severe infection (most common)",
"Trauma, burns, head injury",
"Obstetric: amniotic fluid embolism, abruption, retained products",
"Malignancy (e.g. APML, mucin-secreting adenocarcinoma)",
"Massive/incompatible blood transfusion",
"Acute pancreatitis, liver failure",
"Vascular malformations, aortic aneurysm",
]
patho_items = [
"Tissue factor exposure → extrinsic pathway activation → excess thrombin",
"Widespread microvascular fibrin deposition → microthrombi → organ ischemia",
"Consumption of platelets & factors (fibrinogen, V, VIII) → bleeding",
"Secondary fibrinolysis → FDPs & D-dimer → further impair clotting",
]
left_col = [Paragraph("ETIOLOGY / TRIGGERS", heading_style), bullets(etio_items)]
right_col = [Paragraph("PATHOPHYSIOLOGY", heading_style), bullets(patho_items)]
two_col_table = Table([[left_col, right_col]], colWidths=[3.65*inch, 3.65*inch])
two_col_table.setStyle(TableStyle([
('VALIGN', (0,0), (-1,-1), 'TOP'),
('LEFTPADDING', (0,0), (0,0), 0),
('RIGHTPADDING', (0,0), (0,0), 8),
('LEFTPADDING', (1,0), (1,0), 8),
('RIGHTPADDING', (1,0), (1,0), 0),
]))
story.append(two_col_table)
# Clinical presentation
story.append(Paragraph("CLINICAL PRESENTATION", heading_style))
story.append(bullets([
"Most often: diffuse bleeding – oozing from IV/puncture sites, surgical wounds, mucosa; petechiae, purpura",
"Can also present with thrombotic features: digital ischemia, renal failure, ARDS, hepatic dysfunction",
"Underlying disease (sepsis, obstetric emergency, malignancy) usually dominates the clinical picture",
]))
# Lab findings table
story.append(Paragraph("LABORATORY FINDINGS", heading_style))
lab_data = [
["Parameter", "Change in DIC"],
["Platelet count", "Decreased (thrombocytopenia)"],
["PT / aPTT / TT", "Prolonged"],
["Fibrinogen", "Decreased"],
["FDPs / D-dimer", "Elevated"],
["Soluble fibrin", "Elevated"],
]
lab_table = Table(lab_data, colWidths=[2.3*inch, 4.6*inch])
lab_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#7a0d0d')),
('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.HexColor('#cccccc')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f7eded')]),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 6),
]))
story.append(lab_table)
story.append(Paragraph(
"<b>Key point:</b> DIC is BOTH a clinical AND laboratory diagnosis – lab values alone lack sufficient "
"sensitivity/specificity. Chronic/compensated DIC may show near-normal screening tests despite elevated FDPs. "
"ISTH scoring system used for "overt DIC".", small_note))
# Management
story.append(Paragraph("MANAGEMENT", heading_style))
story.append(bullets([
"<b>#1 priority:</b> Treat the underlying precipitating condition (source control, delivery, treat malignancy)",
"<b>Supportive component therapy:</b> platelets (thrombocytopenia + bleeding), FFP (factor repletion), "
"cryoprecipitate (hypofibrinogenemia)",
"<b>Heparin/anticoagulants:</b> controversial – reserve for predominant thrombotic states (e.g. purpura fulminans)",
"<b>Antifibrinolytics (e.g. tranexamic acid): generally CONTRAINDICATED</b> – risk of catastrophic thrombosis "
"unless hyperfibrinolysis-dominant bleeding under expert guidance",
]))
# Anesthetic considerations box
story.append(Spacer(1, 3))
anes_content = [
Paragraph("ANESTHETIC CONSIDERATIONS", box_title),
Spacer(1, 3),
bullets([
"High suspicion in high-risk patients: sepsis, massive transfusion, AFE, malignancy",
"Avoid neuraxial blocks / invasive lines until coagulopathy controlled",
"Use TEG/ROTEM (viscoelastic testing) for goal-directed component transfusion",
"Correct hypothermia and acidosis – both worsen coagulopathy",
"Anticipate and activate massive transfusion protocol early",
])
]
anes_table = Table([[anes_content]], colWidths=[7.3*inch])
anes_table.setStyle(TableStyle([
('BOX', (0,0), (-1,-1), 1, colors.HexColor('#7a0d0d')),
('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#fdf3f3')),
('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(anes_table)
story.append(Spacer(1, 6))
story.append(HRFlowable(width="100%", thickness=0.6, color=colors.HexColor('#aaaaaa')))
story.append(Paragraph(
"Source: Miller's Anesthesia, 10th Edition (Disseminated Intravascular Coagulation, p. 6730). "
"Recent evidence: Japan DIC clinical practice guidelines 2024/2025 (PMID 39674834, 39890756) and "
"sepsis DIC scoring meta-analysis (PMID 39821194) support underlying-cause-directed, condition-specific management "
"without contradicting core textbook teaching.", small_note))
doc.build(story)
print("PDF created successfully")
cd /tmp/workspace/dic-reference && python make_pdf.py
cd /tmp/workspace/dic-reference/output && python -c " from pypdf import PdfReader r = PdfReader('DIC_Quick_Reference_Card.pdf') print('Pages:', len(r.pages)) " && ls -la
DIC Quick Reference Card
PDF Document · PDF