1st degree second and 3rd degree heart block and other intraoperative arrythmia 30 marks question answer for MD examination 30marks

Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Reading File
I now have all the data needed to write a comprehensive 30-mark MD examination answer. Let me compile it.

HEART BLOCK (1st, 2nd, 3rd Degree) AND INTRAOPERATIVE ARRHYTHMIAS

30-Mark MD Examination Answer


INTRODUCTION: ANATOMY OF THE CONDUCTION SYSTEM

The cardiac conduction system consists of the sinoatrial (SA) node, the atrioventricular (AV) node, the Bundle of His, the right and left bundle branches, and the Purkinje fibers. Impulses normally originate in the SA node and travel through the AV node (the only electrical connection between atria and ventricles) into the His-Purkinje system.
Heart block (AV block) is a disturbance of impulse conduction through the AV node or His-Purkinje system. It must be distinguished from interference, a normal phenomenon of physiologic refractoriness caused by a preceding impulse. AV block is classified into three degrees by severity.

I. FIRST-DEGREE HEART BLOCK

Definition

PR interval > 200 ms (0.20 s) on ECG in adults, with every P wave conducted to the ventricles and a regular ventricular rate. PR intervals as long as 1.0 second have been recorded. Technically, this represents delay rather than true block.

Site of Delay

  • If QRS is normal in contour and duration: delay almost always in the AV node (A-H interval prolonged)
  • If QRS shows a bundle branch block (BBB) pattern: delay may be in the AV node or the His-Purkinje system; His bundle electrogram required for localization

Causes

  • Increased vagal tone (athletes, inferior MI)
  • Medications: beta-blockers, calcium channel blockers, digoxin, amiodarone
  • Inflammatory conditions: rheumatic fever, Lyme disease, myocarditis
  • Electrolyte disturbances (hyperkalemia)
  • Degenerative conduction system disease (Lev/Lenègre disease)

ECG Features

  • PR interval > 200 ms
  • Every P wave followed by a QRS complex
  • QRS morphology usually normal (unless coexisting BBB)

Clinical Significance

  • Usually benign; excellent prognosis even with chronic bifascicular block
  • Rate of progression to third-degree block is low - no specific therapy warranted in most cases
  • In patients with heart failure (HF), a prolonged PR interval can be detrimental - it may cause elevated LV end-diastolic pressure, diastolic mitral regurgitation, and reduced LV systolic function
  • Associated with increased risk for atrial fibrillation, advanced AV block, HF, and death in patients with underlying heart disease
  • Acceleration of atrial rate or vagal enhancement (carotid massage) can cause first-degree AV nodal block to progress to type I second-degree AV block

Treatment

  • No treatment required in asymptomatic patients without HF
  • Remove offending drugs if implicated
  • Monitor for progression

II. SECOND-DEGREE HEART BLOCK

Definition

Blocking of some (but not all) atrial impulses to the ventricles at a time when physiologic interference is NOT involved. Intermittent failure of conduction from atria to ventricles. Two subtypes - Mobitz Type I (Wenckebach) and Mobitz Type II.

A. MOBITZ TYPE I (WENCKEBACH) SECOND-DEGREE AV BLOCK

ECG Features (all 5 criteria)

  1. Progressive prolongation of the PR interval before a non-conducted P wave
  2. PR interval prolongation occurs at progressively decreasing increments (each beat adds less delay than the previous)
  3. Progressive shortening of R-R intervals before the dropped beat
  4. Pause encompassing the blocked P wave is shorter than the sum of two P-P cycles
  5. The last conducted PR interval before the blocked P wave is longer than the next conducted PR interval
    • The conducted PR after a dropped beat is always the shortest - this is the sine qua non of Mobitz I AV block

Site of Block

  • Almost always in the AV node (proximal)
  • Narrow QRS is the rule
  • Rarely: Wenckebach block can occur in the His-Purkinje system (especially with BBB pattern on QRS)

Causes

  • Inferior wall MI (right coronary artery territory - RCA supplies AV node)
  • Increased vagal tone, athlete's heart
  • Medications (same as above)
  • Myocarditis, rheumatic fever

Clinical Significance

  • Generally benign when isolated and asymptomatic
  • Reversible in many cases
  • Rarely progresses to complete heart block when the block is at the AV node level

Treatment

  • Asymptomatic: no intervention required
  • Symptomatic (hemodynamic compromise): IV atropine 0.5-1 mg
  • Underlying cause should be treated (e.g., withdraw offending drug, treat ischemia)
  • Pacing rarely required

B. MOBITZ TYPE II SECOND-DEGREE AV BLOCK

ECG Features

  1. Constant P-P intervals and constant R-R intervals
  2. Constant PR interval before a non-conducted P wave (no progressive lengthening)
  3. Sudden, unexpected dropping of a QRS without prior warning
  4. Pause encompassing the non-conducted P wave is equal to two P-P cycles
  5. Usually occurs in the presence of BBB (wide QRS)

Site of Block

  • Almost always in the His-Purkinje system (infra-nodal/distal) - intra-Hisian or infra-Hisian
  • Wide QRS (BBB) is typical
  • When QRS is normal duration: block is most likely intra-Hisian (rare)

Causes

  • Anterior MI (LAD territory - supplies bundle branches)
  • Degenerative disease of the conduction system (Lev/Lenègre)
  • Surgical trauma to the conduction system

Clinical Significance

  • Serious arrhythmia with poor prognosis
  • Frequently progresses to complete AV block (may cause sudden death)
  • May result in Adams-Stokes attacks (syncope)
  • Greater urgency than Mobitz I

Treatment

  • Temporary pacemaker is generally indicated even if asymptomatic due to risk of sudden progression
  • Permanent pacemaker (Class I indication per ACC/AHA guidelines)
  • IV atropine is usually ineffective (block is infra-nodal; atropine acts on the AV node)
  • Isoproterenol infusion (1-2 mcg/min) may temporarily increase ventricular rate
  • Transcutaneous pacing as a bridge

C. 2:1 AV BLOCK (Special Case of Second-Degree Block)

  • Every other P wave is blocked, making it impossible to determine if it is Mobitz I or II based solely on ECG
  • If QRS is narrow: likely AV nodal (Mobitz I behavior), better prognosis
  • If QRS is wide (BBB): likely infranodal (Mobitz II behavior), warrants pacing
  • His bundle electrogram required to definitively localize

D. HIGH-GRADE (ADVANCED) AV BLOCK

  • Two or more consecutive P waves fail to conduct
  • Block is more severe than second-degree but intermittent AV conduction still occurs (unlike third-degree)
  • Etiologies: acute coronary syndromes, rheumatic heart disease, autoimmune disorders, myocarditis, infiltrative cardiomyopathy
  • Clinical presentation indistinguishable from third-degree AV block
  • Management: same as third-degree (pacing)

III. THIRD-DEGREE (COMPLETE) HEART BLOCK

Definition

No atrial activity is conducted to the ventricles. The atria and ventricles are controlled by independent pacemakers (AV dissociation where atrial rate > ventricular rate).

ECG Features (Table: ECG Features of Complete Heart Block)

FeatureFinding
P wavesRegular, occurring at faster rate than QRS
QRS complexesRegular, but independent of P waves
PR intervalNo constant relationship (dissociation)
Ventricular rateAcquired: < 40 bpm; Congenital: may be faster (40-60 bpm)
QRS morphologyNarrow if pacemaker is junctional (above His bifurcation); Wide if ventricular (below His)

Site of Block and Escape Rhythm Characteristics

Level of BlockEscape PacemakerRateQRSStability
AV node (congenital)Junctional (His bundle)40-60 bpmNarrowMore stable
Within His bundleDistal His-Purkinje25-45 bpmWide or narrowModerately stable
Infra-Hisian (below His)Ventricular< 40 bpmWideLeast stable, high risk

Causes

Congenital:
  • Maternal SLE (anti-Ro/La antibodies cross the placenta and damage the AV node)
  • Structural CHD (L-TGA)
Acquired:
  • Acute MI (inferior MI - AV nodal; anterior MI - infra-Hisian)
  • Degenerative disease: Lev's disease (fibrosclerosis of the left side of the cardiac skeleton), Lenègre's disease (degenerative fibrosis of the conduction system itself)
  • Surgical/catheter trauma, TAVI complication
  • Infections: Lyme disease, bacterial endocarditis, Chagas disease, rheumatic fever
  • Infiltrative diseases: sarcoidosis, amyloidosis, hemochromatosis
  • Autoimmune: SLE, scleroderma, rheumatoid arthritis
  • Medications: digoxin toxicity, beta-blockers, CCBs
  • Idiopathic

Clinical Features

  • Ventricular rate < 40 bpm
  • Adams-Stokes (Morgagni-Adams-Stokes) attacks: sudden loss of consciousness due to cessation of ventricular activity before an escape rhythm develops
  • Fatigue, dyspnea, exercise intolerance
  • Elevated blood pressure (peripheral vasoconstriction)
  • Renal insufficiency secondary to reduced cardiac output
  • Cannon A waves in jugular venous pulse (atria contract against closed tricuspid valve)
  • Variable intensity of first heart sound (dissociation)
  • Complete AV block with escape rhythm can be associated with marked QT prolongation, risking torsades de pointes (TdP)

Treatment

Acute/Emergency:
  1. IV Atropine 1 mg - useful only if block is at AV node level (not effective for infra-Hisian block)
  2. Isoproterenol infusion (1-2 mcg/min) - increases ventricular rate; use cautiously in ischemia
  3. Transcutaneous (external) pacing - immediate stabilization
  4. Transvenous temporary pacing - definitive acute management
Definitive:
  • Permanent pacemaker (Class I ACC/AHA indication for acquired complete AV block)
  • After AV node ablation, pacemaker set at 80 bpm for at least 6 weeks to prevent QT prolongation and TdP

IV. INTRAOPERATIVE ARRHYTHMIAS

Arrhythmias occurring during surgery represent a common and potentially serious problem requiring prompt recognition and management.

A. INCIDENCE AND SIGNIFICANCE

  • Intraoperative arrhythmias are common (up to 70% of all surgical patients)
  • Most are benign (sinus tachycardia, isolated premature beats)
  • Potentially life-threatening arrhythmias require immediate intervention

B. CAUSES OF INTRAOPERATIVE ARRHYTHMIAS

Anesthetic Causes:
  • Volatile anesthetics (halothane > sevoflurane > isoflurane): sensitize the myocardium to catecholamines; halothane most arrhythmogenic
  • Succinylcholine: vagal stimulation causing bradycardia, junctional rhythms
  • Endotracheal intubation: sympathetic stimulation causing tachycardia/hypertension
  • Inadequate depth of anesthesia: sympathetic surge
  • Hyperventilation/hypoventilation leading to respiratory alkalosis/acidosis
Surgical Causes:
  • Vagal reflexes: ocular surgery (oculocardiac reflex), traction on peritoneum, cervical manipulation, laryngoscopy
  • Cardiac surgery: direct manipulation, cardioplegia, reperfusion
  • Carotid endarterectomy: baroreceptor stimulation
  • Mediastinal manipulation
Physiological/Patient Causes:
  • Hypoxemia (most important cause - must be excluded first)
  • Hypercarbia/hypocarbia
  • Electrolyte disturbances: hypokalemia, hyperkalemia, hypomagnesemia, hypocalcemia
  • Hypothermia (Osborn J waves; VF below 28°C)
  • Hypovolemia/hypovolemic shock
  • Pre-existing structural heart disease, CAD, cardiomyopathy
  • Pre-existing conduction abnormalities (WPW, LQTS, Brugada)
  • Pulmonary embolism, pneumothorax
Drug Interactions:
  • QT-prolonging drugs (ondansetron, haloperidol, droperidol) - risk of TdP
  • Dexmedetomidine - sinus bradycardia (atropine/epinephrine INEFFECTIVE due to alpha-2 mechanism; vasopressors + dose reduction needed)
  • Propofol (prolonged infusion): Brugada pattern ECG changes
  • Local anesthetics (systemic toxicity): cardiac arrest, VF

C. SPECIFIC INTRAOPERATIVE ARRHYTHMIAS AND MANAGEMENT

1. Sinus Bradycardia

  • Most common intraoperative bradyarrhythmia
  • Treatment: IV atropine 0.5-1 mg; ephedrine if hypotension present; discontinue offending agent
  • Dexmedetomidine-induced: vasopressors, NOT atropine

2. Sinus Tachycardia

  • Most common tachyarrhythmia intraoperatively
  • Causes: light anesthesia, pain, hypovolemia, fever, hypoxia
  • Treatment: correct underlying cause; deepen anesthesia; volume resuscitation; beta-blocker if persistent

3. Intraoperative Heart Block

  • First-degree: benign, no treatment required; monitor
  • Second-degree Mobitz I: usually benign; treat underlying cause; atropine if symptomatic
  • Second-degree Mobitz II: serious; IV atropine (may be ineffective); temporary transcutaneous or transvenous pacing
  • Third-degree block: emergent temporary pacing; isoproterenol bridge

4. Ventricular Premature Beats (VPBs/PVCs)

  • Common, often benign
  • Treat when: > 6/min, multifocal, R-on-T, salvos, causing hemodynamic instability
  • Correct hypoxia, electrolyte disturbances first
  • IV lidocaine 1-1.5 mg/kg bolus, then infusion; or amiodarone

5. Ventricular Tachycardia (VT)

  • Sustained VT with pulse: IV amiodarone 150 mg over 10 min; DC cardioversion if hemodynamically unstable
  • Pulseless VT: CPR, immediate defibrillation 200 J (biphasic); epinephrine 1 mg IV; amiodarone 300 mg IV
  • Correct precipitating factors

6. Ventricular Fibrillation (VF)

  • Most lethal intraoperative arrhythmia
  • Immediate defibrillation (200 J biphasic)
  • CPR; epinephrine 1 mg IV every 3-5 min; amiodarone; correct reversible causes (4 H's and 4 T's)

7. Supraventricular Tachycardia (SVT)

  • Vagal maneuvers first
  • IV adenosine 6 mg rapid bolus; if no response, 12 mg
  • Rate control: beta-blockers (metoprolol), CCBs (verapamil, diltiazem)
  • DC cardioversion if hemodynamically unstable

8. Atrial Fibrillation / Flutter

  • Rate control: metoprolol, diltiazem, digoxin
  • Rhythm control if new onset: DC cardioversion (100 J for flutter, 200 J for AF)
  • Amiodarone for chemical cardioversion
  • Anticoagulation considerations postoperatively

9. Oculocardiac Reflex (OCR)

  • Trigeminovagal reflex: traction on extraocular muscles (especially medial rectus) → trigeminal V1 afferents → vagal efferents → bradycardia, AV block, asystole
  • Treatment: release traction immediately, IV atropine 0.01-0.02 mg/kg
  • Prophylaxis: retrobulbar block, premedication with atropine or glycopyrrolate

10. Special Situations

WPW Syndrome Intraoperatively:
  • Avoid AV nodal blocking drugs (adenosine, verapamil, digoxin) - can precipitate rapid antegrade conduction through accessory pathway → VF
  • DC cardioversion for hemodynamically unstable AF/flutter with rapid ventricular response
  • Procainamide or ibutilide for stable tachyarrhythmias
Brugada Syndrome Intraoperatively:
  • Avoid: propofol infusions (bolus for induction likely safe), certain local anesthetics, neostigmine, some antiarrhythmics (flecainide, procainamide)
  • Consult www.brugadadrugs.org
  • Treat fever aggressively (hyperthermia unmasks Brugada pattern)
  • VF/VT: DC cardioversion; isoproterenol for electrical storm
Congenital LQTS Intraoperatively:
  • Avoid QT-prolonging drugs
  • Maintain beta blockade; avoid catecholamine surges
  • Treat TdP: IV magnesium sulfate 2 g; overdrive pacing; isoproterenol (to increase HR, shortening QT); correct electrolytes
Acquired LQTS (drug-induced):
  • Different from congenital - bradycardia worsens QT, so beta-blockade is NOT indicated
  • Treat TdP: remove offending drug; IV magnesium sulfate 2 g; overdrive pacing if refractory

D. GENERAL PRINCIPLES OF INTRAOPERATIVE ARRHYTHMIA MANAGEMENT

  1. Assess hemodynamic stability first - pulseless? Immediate CPR + defibrillation
  2. Identify and correct underlying cause - hypoxia, hypercarbia, electrolytes, depth of anesthesia, hypovolemia
  3. Examine the ECG - identify the arrhythmia type before treating
  4. Treat the reversible causes before pharmacotherapy
  5. Antiarrhythmic drugs as second-line after correction of precipitants
  6. Electrical therapy (cardioversion/pacing) for hemodynamic instability or drug failure
  7. Continue monitoring postoperatively - arrhythmias can recur

V. PACEMAKER INDICATIONS FOR HEART BLOCK (ACC/AHA Guidelines)

ConditionIndicationClass
Acquired complete AV block (symptomatic)Permanent pacemakerI
Acquired complete AV block (asymptomatic)Permanent pacemakerI
Second-degree Mobitz II with wide QRSPermanent pacemakerI
High-grade AV blockPermanent pacemakerI
Second-degree Mobitz I (symptomatic)Permanent pacemakerIIa
First-degree AV blockNo pacing (observe)III
Preoperative temporary pacing is indicated for:
  • Symptomatic complete AV block before elective surgery
  • Mobitz II or high-grade AV block
  • Acute MI with new bifascicular block + first-degree AV block

VI. SUMMARY TABLE: COMPARISON OF AV BLOCKS

FeatureFirst-DegreeSecond-Degree Mobitz ISecond-Degree Mobitz IIThird-Degree
PR intervalFixed, prolonged > 200 msProgressive prolongationConstant (no lengthening)No relationship
Dropped beatsNonePresent (with warning)Present (without warning)All P waves blocked
QRSUsually narrowUsually narrowUsually wide (BBB)Narrow (junctional) or wide (ventricular)
Site of blockAV nodeAV nodeHis-PurkinjeAV node / His-Purkinje
Risk of complete blockLowLowHIGHN/A
TreatmentNoneTreat cause; atropine if symptomaticPacingEmergency pacing

Sources: Braunwald's Heart Disease, 12th ed.; Fuster and Hurst's The Heart, 15th ed.; Goldman-Cecil Medicine, 27th ed.; Sabiston Textbook of Surgery; Miller's Anesthesia, 10th ed. (Intraoperative Arrhythmia sections)

Make pdf of all questions

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && ls -la /tmp/workspace/

Running Command

mkdir -p /tmp/workspace/heart-block-pdf && cat > /tmp/workspace/heart-block-pdf/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm, mm from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY # ── Document setup ───────────────────────────────────────────────────────────── output_path = "/tmp/workspace/heart-block-pdf/Heart_Block_Intraoperative_Arrhythmias_MD_Exam.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2.5*cm, bottomMargin=2.5*cm, title="Heart Block & Intraoperative Arrhythmias – MD Examination", author="Orris Medical AI" ) # ── Styles ────────────────────────────────────────────────────────────────────── styles = getSampleStyleSheet() NAVY = colors.HexColor("#1a3a5c") TEAL = colors.HexColor("#0d6e8a") GOLD = colors.HexColor("#c8922a") LGRAY = colors.HexColor("#f2f5f8") MGRAY = colors.HexColor("#ccd6e0") WHITE = colors.white BLACK = colors.black title_style = ParagraphStyle("TitleStyle", parent=styles["Title"], fontSize=18, textColor=WHITE, spaceAfter=4, alignment=TA_CENTER, fontName="Helvetica-Bold", leading=22) subtitle_style = ParagraphStyle("SubtitleStyle", parent=styles["Normal"], fontSize=11, textColor=WHITE, alignment=TA_CENTER, fontName="Helvetica", leading=14) h1 = ParagraphStyle("H1", parent=styles["Heading1"], fontSize=13, textColor=WHITE, spaceBefore=14, spaceAfter=4, fontName="Helvetica-Bold", leading=16, borderPad=6) h2 = ParagraphStyle("H2", parent=styles["Heading2"], fontSize=11, textColor=NAVY, spaceBefore=10, spaceAfter=3, fontName="Helvetica-Bold", leading=14, borderPad=4, leftIndent=0) h3 = ParagraphStyle("H3", parent=styles["Heading3"], fontSize=10.5, textColor=TEAL, spaceBefore=8, spaceAfter=2, fontName="Helvetica-Bold", leading=13) body = ParagraphStyle("Body", parent=styles["Normal"], fontSize=9.5, textColor=BLACK, spaceAfter=4, spaceBefore=2, fontName="Helvetica", leading=13, alignment=TA_JUSTIFY) bullet = ParagraphStyle("Bullet", parent=styles["Normal"], fontSize=9.5, textColor=BLACK, spaceAfter=3, spaceBefore=1, fontName="Helvetica", leading=13, leftIndent=14, bulletIndent=4) sub_bullet = ParagraphStyle("SubBullet", parent=styles["Normal"], fontSize=9, textColor=colors.HexColor("#333333"), spaceAfter=2, spaceBefore=1, fontName="Helvetica", leading=12, leftIndent=28, bulletIndent=18) note_style = ParagraphStyle("Note", parent=styles["Normal"], fontSize=8.5, textColor=colors.HexColor("#555555"), spaceAfter=3, fontName="Helvetica-Oblique", leading=11, leftIndent=8, borderPad=4, backColor=LGRAY) keyword_style = ParagraphStyle("KW", parent=styles["Normal"], fontSize=9.5, textColor=NAVY, fontName="Helvetica-Bold") # ── Helper: coloured section banner ──────────────────────────────────────────── def section_banner(text, bg=NAVY): data = [[Paragraph(text, ParagraphStyle("Banner", parent=styles["Normal"], fontSize=12, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_LEFT, leading=15))]] t = Table(data, colWidths=[17*cm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), bg), ("TOPPADDING", (0,0), (-1,-1), 7), ("BOTTOMPADDING", (0,0), (-1,-1), 7), ("LEFTPADDING", (0,0), (-1,-1), 10), ("RIGHTPADDING", (0,0), (-1,-1), 10), ])) return t def sub_banner(text, bg=TEAL): data = [[Paragraph(text, ParagraphStyle("SubBanner", parent=styles["Normal"], fontSize=10.5, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_LEFT, leading=13))]] t = Table(data, colWidths=[17*cm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), bg), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 14), ("RIGHTPADDING", (0,0), (-1,-1), 8), ])) return t def gold_banner(text): return sub_banner(text, bg=GOLD) def make_table(headers, rows, col_widths=None): if col_widths is None: col_widths = [17*cm / len(headers)] * len(headers) header_row = [Paragraph(f"<b>{h}</b>", ParagraphStyle("TH", parent=styles["Normal"], fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, leading=11)) for h in headers] body_rows = [] for row in rows: body_rows.append([ Paragraph(str(cell), ParagraphStyle("TD", parent=styles["Normal"], fontSize=8.5, textColor=BLACK, fontName="Helvetica", leading=11, alignment=TA_CENTER)) for cell in row ]) all_rows = [header_row] + body_rows t = Table(all_rows, colWidths=col_widths) ts = TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("GRID", (0,0), (-1,-1), 0.4, MGRAY), ("ROWBACKGROUNDS",(0,1),(-1,-1), [WHITE, LGRAY]), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 5), ("RIGHTPADDING", (0,0), (-1,-1), 5), ]) t.setStyle(ts) return t def B(text): return f"<b>{text}</b>" def I(text): return f"<i>{text}</i>" def BI(text): return f"<b><i>{text}</i></b>" # ── Build content ─────────────────────────────────────────────────────────────── story = [] # ── COVER BLOCK ──────────────────────────────────────────────────────────────── cover_data = [[ Paragraph("HEART BLOCK &amp; INTRAOPERATIVE ARRHYTHMIAS", title_style), Paragraph("MD Examination — 30 Marks", subtitle_style), Paragraph("Based on Braunwald's Heart Disease · Fuster &amp; Hurst's The Heart · Goldman-Cecil Medicine · Miller's Anesthesia", subtitle_style), ]] cover_table = Table([[Paragraph("HEART BLOCK &amp; INTRAOPERATIVE ARRHYTHMIAS", ParagraphStyle("CT", parent=styles["Normal"], fontSize=20, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, leading=26, spaceAfter=4))], [Paragraph("MD Examination Answer — 30 Marks", ParagraphStyle("CS", parent=styles["Normal"], fontSize=12, textColor=colors.HexColor("#d4e8f4"), fontName="Helvetica", alignment=TA_CENTER, leading=16))], [Paragraph("Braunwald's Heart Disease · Fuster &amp; Hurst's The Heart · Goldman-Cecil Medicine · Miller's Anesthesia", ParagraphStyle("CR", parent=styles["Normal"], fontSize=9, textColor=colors.HexColor("#aaccdd"), fontName="Helvetica-Oblique", alignment=TA_CENTER, leading=13))] ], colWidths=[17*cm]) cover_table.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), NAVY), ("TOPPADDING", (0,0), (-1,-1), 14), ("BOTTOMPADDING", (0,0), (-1,-1), 14), ("LEFTPADDING", (0,0), (-1,-1), 20), ("RIGHTPADDING", (0,0), (-1,-1), 20), ("ROUNDEDCORNERS", [6]), ])) story.append(cover_table) story.append(Spacer(1, 0.5*cm)) # ── SECTION I: ANATOMY ────────────────────────────────────────────────────────── story.append(section_banner("SECTION I: ANATOMY OF THE CONDUCTION SYSTEM")) story.append(Spacer(1, 3*mm)) story.append(Paragraph( "The cardiac conduction system consists of the <b>SA node → AV node → Bundle of His → Right &amp; Left bundle branches → Purkinje fibers</b>. " "The AV node is the sole electrical connection between atria and ventricles. " "<b>Heart block</b> (AV block) is a disturbance of impulse conduction through the AV node or His-Purkinje system, " "classified into three degrees by severity.", body)) story.append(Spacer(1, 2*mm)) # ── SECTION II: FIRST-DEGREE ──────────────────────────────────────────────────── story.append(section_banner("SECTION II: FIRST-DEGREE HEART BLOCK")) story.append(Spacer(1, 3*mm)) story.append(sub_banner("Definition")) story.append(Spacer(1,1*mm)) story.append(Paragraph( "PR interval <b>&gt; 200 ms (0.20 s)</b> with <b>every P wave conducted</b> to the ventricles and a regular ventricular rate. " "Technically represents <i>conduction delay</i>, not true block. PR as long as 1.0 s has been recorded.", body)) story.append(sub_banner("ECG Features")) story.append(Spacer(1,1*mm)) for pt in [ "PR interval <b>&gt; 200 ms</b> (fixed, constant)", "Every P wave followed by a QRS complex — no dropped beats", "QRS morphology: usually <b>narrow</b> (unless coexisting BBB)", "Skipped P waves: PR &gt; P-P interval in extreme prolongation", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(sub_banner("Site of Delay")) story.append(Spacer(1,1*mm)) story.append(Paragraph("• <b>Normal QRS</b>: delay almost always in the <b>AV node</b> (A-H interval prolonged)", bullet)) story.append(Paragraph("• <b>BBB pattern QRS</b>: delay may be in AV node <i>or</i> His-Purkinje system; His bundle electrogram required for localisation", bullet)) story.append(sub_banner("Causes")) story.append(Spacer(1,1*mm)) for pt in [ "Increased vagal tone (athletes, inferior MI)", "Drugs: beta-blockers, calcium channel blockers, digoxin, amiodarone", "Inflammatory: rheumatic fever, Lyme disease, myocarditis", "Electrolyte: hyperkalemia", "Degenerative conduction disease (Lev/Lenègre disease)", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(sub_banner("Clinical Significance &amp; Treatment")) story.append(Spacer(1,1*mm)) for pt in [ "<b>Usually benign</b>; excellent prognosis even with chronic bifascicular block", "Low rate of progression to third-degree AV block", "In <b>heart failure</b>: may elevate LV end-diastolic pressure, diastolic MR, reduce LV systolic function", "Associated with increased risk of AF, advanced AV block, HF and death in patients with underlying heart disease", "<b>Treatment: none required</b> in asymptomatic patients; remove offending drugs; monitor for progression", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 3*mm)) # ── SECTION III: SECOND-DEGREE ───────────────────────────────────────────────── story.append(section_banner("SECTION III: SECOND-DEGREE HEART BLOCK")) story.append(Spacer(1, 3*mm)) story.append(Paragraph( "Defined as blocking of <b>some (but not all)</b> atrial impulses to the ventricles when physiologic interference is NOT involved. " "Two subtypes: <b>Mobitz Type I (Wenckebach)</b> and <b>Mobitz Type II</b>.", body)) story.append(Spacer(1, 2*mm)) # Mobitz I story.append(gold_banner("A. MOBITZ TYPE I — WENCKEBACH SECOND-DEGREE AV BLOCK")) story.append(Spacer(1,2*mm)) story.append(sub_banner("ECG Features (5 Classic Criteria)")) story.append(Spacer(1,1*mm)) criteria = [ ("1.", "Progressive <b>prolongation of PR interval</b> before a non-conducted P wave"), ("2.", "Prolongation occurs at <b>progressively decreasing increments</b>"), ("3.", "Progressive <b>shortening of R-R intervals</b> before the dropped beat"), ("4.", "<b>Pause</b> encompassing blocked P wave is <b>shorter than two P-P cycles</b>"), ("5.", "<b>Sine qua non</b>: conducted PR after a dropped beat is always the <b>shortest PR</b>"), ] for num, text in criteria: story.append(Paragraph(f"<b>{num}</b> {text}", bullet)) story.append(sub_banner("Site of Block")) story.append(Paragraph("Almost always in the <b>AV node</b> (proximal). Narrow QRS is the rule. " "Rarely: Wenckebach in His-Purkinje system (especially with BBB pattern).", body)) story.append(sub_banner("Causes")) story.append(Spacer(1,1*mm)) for pt in ["Inferior wall MI (RCA supplies AV node)", "Increased vagal tone, athlete's heart", "Drugs: beta-blockers, digoxin, CCBs", "Myocarditis, rheumatic fever"]: story.append(Paragraph(f"• {pt}", bullet)) story.append(sub_banner("Clinical Significance &amp; Treatment")) story.append(Spacer(1,1*mm)) for pt in [ "Generally <b>benign</b> when isolated and asymptomatic; rarely progresses to complete block", "Treatment: <b>none</b> if asymptomatic", "Symptomatic: <b>IV atropine 0.5–1 mg</b>; treat underlying cause", "Pacing rarely required", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 3*mm)) # Mobitz II story.append(gold_banner("B. MOBITZ TYPE II SECOND-DEGREE AV BLOCK")) story.append(Spacer(1,2*mm)) story.append(sub_banner("ECG Features")) story.append(Spacer(1,1*mm)) for pt in [ "<b>Constant PR intervals</b> — no progressive lengthening before dropped beat", "Constant P-P and R-R intervals", "<b>Sudden unexpected dropping of QRS</b> — without prior warning", "Pause = <b>exactly two P-P cycles</b>", "Usually occurs with <b>wide QRS (BBB)</b>", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(sub_banner("Site of Block")) story.append(Paragraph("Almost always in the <b>His-Purkinje system</b> (infra-nodal). " "When QRS is normal: most likely intra-Hisian.", body)) story.append(sub_banner("Causes")) story.append(Spacer(1,1*mm)) for pt in ["Anterior MI (LAD territory — supplies bundle branches)", "Degenerative conduction disease (Lev/Lenègre)", "Surgical trauma to the conduction system"]: story.append(Paragraph(f"• {pt}", bullet)) story.append(sub_banner("Clinical Significance &amp; Treatment")) story.append(Spacer(1,1*mm)) for pt in [ "<b>Serious arrhythmia</b> — frequently progresses to complete AV block and sudden death", "May cause Adams-Stokes attacks (syncope)", "<b>Temporary pacemaker</b> indicated even if asymptomatic", "<b>Permanent pacemaker</b>: Class I ACC/AHA indication", "IV atropine usually <b>ineffective</b> (block is infra-nodal)", "Isoproterenol infusion (1–2 mcg/min) as a temporary bridge", "Transcutaneous pacing as immediate bridge", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 3*mm)) # 2:1 Block story.append(gold_banner("C. 2:1 AV BLOCK (Special Case)")) story.append(Spacer(1,2*mm)) story.append(Paragraph("Every alternate P wave is blocked. Cannot classify as Mobitz I or II from ECG alone.", body)) story.append(Paragraph("• <b>Narrow QRS</b>: likely AV nodal (Mobitz I behavior) — better prognosis", bullet)) story.append(Paragraph("• <b>Wide QRS (BBB)</b>: likely infranodal (Mobitz II behavior) — warrants pacing", bullet)) story.append(Paragraph("• His bundle electrogram required for definitive localisation", bullet)) story.append(Spacer(1, 2*mm)) # High-grade story.append(gold_banner("D. HIGH-GRADE (ADVANCED) AV BLOCK")) story.append(Spacer(1,2*mm)) story.append(Paragraph( "Two or more <b>consecutive P waves fail to conduct</b>. More severe than second-degree but intermittent AV conduction still occurs. " "Causes: acute coronary syndromes, rheumatic heart disease, autoimmune disorders, myocarditis, infiltrative cardiomyopathy. " "Management: same as third-degree (pacing).", body)) story.append(Spacer(1, 3*mm)) # ── SECTION IV: THIRD-DEGREE ─────────────────────────────────────────────────── story.append(section_banner("SECTION IV: THIRD-DEGREE (COMPLETE) HEART BLOCK")) story.append(Spacer(1, 3*mm)) story.append(Paragraph( "<b>No atrial activity is conducted to the ventricles.</b> Atria and ventricles are controlled by <b>independent pacemakers</b> " "(AV dissociation where atrial rate &gt; ventricular rate). One type of complete AV dissociation.", body)) story.append(Spacer(1, 2*mm)) story.append(sub_banner("ECG Features")) story.append(Spacer(1,1*mm)) ecg_table = make_table( ["ECG Feature", "Finding"], [ ["P waves", "Regular; faster rate than QRS (atrial rate > ventricular rate)"], ["QRS complexes", "Regular; independent of P waves"], ["PR interval", "No constant relationship — complete AV dissociation"], ["Ventricular rate", "Acquired: < 40 bpm; Congenital: 40–60 bpm (faster)"], ["QRS morphology", "Narrow (junctional — above His bifurcation); Wide (ventricular — below His)"], ], col_widths=[5*cm, 12*cm] ) story.append(ecg_table) story.append(Spacer(1, 3*mm)) story.append(sub_banner("Level of Block and Escape Rhythm")) story.append(Spacer(1,1*mm)) escape_table = make_table( ["Level of Block", "Escape Pacemaker", "Rate", "QRS", "Stability"], [ ["AV node (congenital)", "Junctional (His bundle)", "40–60 bpm", "Narrow", "Most stable"], ["Within His bundle", "Distal His-Purkinje", "25–45 bpm", "Narrow/Wide", "Moderate"], ["Infra-Hisian", "Ventricular", "< 40 bpm", "Wide", "Least stable — HIGH RISK"], ], col_widths=[3.5*cm, 4*cm, 2.8*cm, 2.8*cm, 3.9*cm] ) story.append(escape_table) story.append(Spacer(1, 3*mm)) story.append(sub_banner("Causes")) story.append(Spacer(1,1*mm)) story.append(Paragraph("<b>Congenital:</b>", h3)) for pt in ["Maternal SLE (anti-Ro/La antibodies cross placenta — damage AV node)", "Structural CHD (L-TGA — levo-transposition of great arteries)"]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Paragraph("<b>Acquired:</b>", h3)) causes = [ "Acute MI: Inferior MI → AV nodal block (usually reversible); Anterior MI → infra-Hisian block (serious)", "Degenerative: Lev's disease (fibrosclerosis of cardiac skeleton), Lenègre's disease (conduction system fibrosis)", "Surgical/catheter trauma; TAVI complication", "Infections: Lyme disease, bacterial endocarditis, Chagas disease, rheumatic fever", "Infiltrative: sarcoidosis, amyloidosis, hemochromatosis", "Autoimmune: SLE, scleroderma, rheumatoid arthritis", "Drugs: digoxin toxicity, beta-blockers, CCBs", "Idiopathic", ] for c in causes: story.append(Paragraph(f"• {c}", bullet)) story.append(Spacer(1, 2*mm)) story.append(sub_banner("Clinical Features")) story.append(Spacer(1,1*mm)) for pt in [ "Ventricular rate <b>&lt; 40 bpm</b>", "<b>Adams-Stokes (Morgagni-Adams-Stokes) attacks</b>: sudden loss of consciousness before an escape rhythm develops", "Fatigue, dyspnea, exercise intolerance", "Elevated BP (peripheral vasoconstriction) + renal insufficiency (reduced CO)", "<b>Cannon A waves</b> in JVP (atria contracting against closed tricuspid valve)", "Variable intensity of first heart sound (dissociation)", "Marked <b>QT prolongation</b> risk → Torsades de Pointes (TdP)", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 2*mm)) story.append(sub_banner("Treatment")) story.append(Spacer(1,1*mm)) story.append(Paragraph("<b>Acute / Emergency:</b>", h3)) treatment_rows = [ ("1", "IV Atropine 1 mg", "Only if AV nodal block. Ineffective for infra-Hisian block."), ("2", "Isoproterenol infusion 1–2 mcg/min", "Increases ventricular rate. Use cautiously in ischaemia."), ("3", "Transcutaneous (external) pacing", "Immediate stabilisation while preparing transvenous pacing."), ("4", "Transvenous temporary pacing", "Definitive acute management."), ] tr = make_table(["Step", "Intervention", "Notes"], treatment_rows, col_widths=[1.5*cm, 6*cm, 9.5*cm]) story.append(tr) story.append(Spacer(1, 2*mm)) story.append(Paragraph( "<b>Definitive:</b> <b>Permanent pacemaker</b> (Class I ACC/AHA 2018 guidelines for acquired complete AV block). " "After AV node ablation, pace at 80 bpm for ≥6 weeks to prevent QT prolongation and TdP.", body)) story.append(Spacer(1, 3*mm)) # ── SECTION V: INTRAOPERATIVE ARRHYTHMIAS ────────────────────────────────────── story.append(section_banner("SECTION V: INTRAOPERATIVE ARRHYTHMIAS")) story.append(Spacer(1, 3*mm)) story.append(sub_banner("Incidence &amp; Significance")) story.append(Spacer(1,1*mm)) story.append(Paragraph( "Intraoperative arrhythmias are common (up to 70% of surgical patients). Most are benign (sinus tachycardia, isolated PVCs). " "Potentially life-threatening arrhythmias require immediate recognition and management.", body)) story.append(Spacer(1, 2*mm)) story.append(sub_banner("Causes of Intraoperative Arrhythmias")) story.append(Spacer(1,1*mm)) story.append(Paragraph("<b>A. Anaesthetic Causes:</b>", h3)) for pt in [ "Volatile anaesthetics (halothane &gt; sevoflurane &gt; isoflurane): sensitise myocardium to catecholamines; halothane most arrhythmogenic", "Succinylcholine: vagal stimulation → bradycardia, junctional rhythms", "Endotracheal intubation: sympathetic surge → tachycardia/hypertension", "Inadequate depth of anaesthesia", "Hyperventilation (respiratory alkalosis) or hypoventilation (respiratory acidosis)", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Paragraph("<b>B. Surgical Causes:</b>", h3)) for pt in [ "Vagal reflexes: ocular surgery (oculocardiac reflex), peritoneal traction, cervical manipulation, laryngoscopy", "Cardiac surgery: direct manipulation, cardioplegia, reperfusion injury", "Carotid endarterectomy: baroreceptor stimulation", "Mediastinal manipulation", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Paragraph("<b>C. Physiological / Patient Causes:</b>", h3)) for pt in [ "<b>Hypoxaemia</b> — <i>most important cause; must be excluded first in every intraoperative arrhythmia</i>", "Hypercarbia / hypocarbia", "Electrolyte disturbances: hypokalaemia, hyperkalaemia, hypomagnesaemia, hypocalcaemia", "Hypothermia (Osborn J waves; VF risk below 28°C)", "Hypovolaemia / haemorrhagic shock", "Pre-existing structural heart disease, CAD, cardiomyopathy", "Pre-existing channelopathies: WPW syndrome, congenital LQTS, Brugada syndrome", "Pulmonary embolism, pneumothorax", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Paragraph("<b>D. Drug Interactions:</b>", h3)) for pt in [ "QT-prolonging drugs (ondansetron, droperidol, haloperidol) → risk of TdP", "Dexmedetomidine → sinus bradycardia; atropine/epinephrine <b>INEFFECTIVE</b> (α2 mechanism); need vasopressors", "Propofol prolonged infusion: may unmask Brugada pattern ECG changes", "Local anaesthetic systemic toxicity (LAST): ventricular arrhythmias, cardiac arrest", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 3*mm)) # Specific arrhythmias story.append(sub_banner("Specific Intraoperative Arrhythmias and Management")) story.append(Spacer(1,2*mm)) # Table of arrhythmias arrhythmia_rows = [ ["Sinus Bradycardia", "Vagal reflex, drugs, hypoxia, hypothyroidism", "IV Atropine 0.5–1 mg; Ephedrine if hypotension; Dexmedetomidine-induced → vasopressors (NOT atropine)"], ["Sinus Tachycardia", "Light anaesthesia, pain, hypovolaemia, fever, hypoxia", "Correct underlying cause; deepen anaesthesia; volume; beta-blocker if persistent"], ["1st-degree AV Block", "Drugs, vagal tone, inferior MI", "No treatment; monitor; remove offending drug"], ["2nd-degree Mobitz I", "Vagal excess, inferior MI, drugs", "Usually benign; atropine if symptomatic; treat cause"], ["2nd-degree Mobitz II", "Anterior MI, degenerative disease", "Serious — temporary pacing (transcutaneous → transvenous); atropine usually ineffective"], ["3rd-degree (CHB)", "Any of the above at severe level", "Emergency pacing; atropine (AV nodal only); isoproterenol bridge; permanent pacer postop"], ["PVCs / VPBs", "Hypoxia, electrolytes, light anaesthesia, ischaemia", "Correct cause first; IV Lidocaine 1–1.5 mg/kg; Amiodarone for refractory"], ["Sustained VT (with pulse)", "Ischaemia, electrolytes, drugs", "Amiodarone 150 mg IV over 10 min; DC cardioversion if unstable (200 J biphasic)"], ["Pulseless VT / VF", "Most dangerous", "CPR; immediate defibrillation 200 J biphasic; Epinephrine 1 mg IV q3–5 min; Amiodarone 300 mg IV"], ["SVT", "Reentrant circuits, catecholamines", "Vagal manoeuvres; Adenosine 6 mg → 12 mg rapid bolus; CCB/beta-blocker; cardioversion if unstable"], ["AF / Flutter", "Cardiac surgery, electrolyte imbalance, PE", "Rate control: metoprolol/diltiazem/digoxin; Cardioversion: 100 J (flutter), 200 J (AF); Amiodarone"], ] arr_table = make_table( ["Arrhythmia", "Common Causes", "Management"], arrhythmia_rows, col_widths=[3.5*cm, 5*cm, 8.5*cm] ) story.append(arr_table) story.append(Spacer(1, 3*mm)) # Oculocardiac reflex story.append(gold_banner("OCULOCARDIAC REFLEX (OCR)")) story.append(Spacer(1,2*mm)) story.append(Paragraph( "<b>Trigeminovagal reflex:</b> Traction on extraocular muscles (especially medial rectus) → " "Trigeminal (V1) afferents → Vagal efferents → Bradycardia, AV block, asystole.", body)) story.append(Paragraph("• <b>Treatment:</b> Release traction immediately + IV Atropine 0.01–0.02 mg/kg", bullet)) story.append(Paragraph("• <b>Prophylaxis:</b> Retrobulbar block; premedication with atropine or glycopyrrolate", bullet)) story.append(Spacer(1, 2*mm)) # Special conditions story.append(gold_banner("SPECIAL CONDITIONS")) story.append(Spacer(1,2*mm)) story.append(Paragraph("<b>WPW Syndrome Intraoperatively:</b>", h3)) for pt in [ "<b>Avoid</b> AV nodal blockers (adenosine, verapamil, digoxin) — can cause rapid antegrade conduction through accessory pathway → VF", "Stable tachyarrhythmias: Procainamide or ibutilide", "Unstable AF/flutter with rapid ventricular response: <b>DC cardioversion immediately</b>", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 2*mm)) story.append(Paragraph("<b>Brugada Syndrome Intraoperatively:</b>", h3)) for pt in [ "Avoid: propofol infusions (bolus induction likely safe), flecainide, procainamide, neostigmine, some local anaesthetics", "Consult www.brugadadrugs.org for safe drug list", "Treat fever aggressively (hyperthermia unmasks Brugada pattern)", "VF/VT: DC cardioversion; isoproterenol for electrical storm", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 2*mm)) story.append(Paragraph("<b>Congenital LQTS Intraoperatively:</b>", h3)) for pt in [ "Avoid QT-prolonging drugs; maintain beta-blockade; avoid catecholamine surges", "Treat TdP: <b>IV Magnesium sulphate 2 g</b>; overdrive pacing; isoproterenol (shortens QT by increasing HR); correct electrolytes", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 2*mm)) story.append(Paragraph("<b>Acquired LQTS (drug-induced) Intraoperatively:</b>", h3)) for pt in [ "Remove offending drug; IV Magnesium sulphate 2 g", "Bradycardia worsens acquired LQTS → beta-blockade is <b>NOT</b> indicated (unlike congenital)", "Overdrive pacing if refractory; ICD not recommended", ]: story.append(Paragraph(f"• {pt}", bullet)) story.append(Spacer(1, 3*mm)) # General principles story.append(sub_banner("General Principles of Intraoperative Arrhythmia Management")) story.append(Spacer(1,1*mm)) principles = [ ("Step 1", "Assess haemodynamic stability first — pulseless? → CPR + immediate defibrillation"), ("Step 2", "Identify and correct the underlying cause — hypoxia, hypercarbia, electrolytes, depth of anaesthesia, hypovolaemia"), ("Step 3", "Examine the 12-lead ECG — identify the arrhythmia type before treating"), ("Step 4", "Treat reversible causes before pharmacotherapy"), ("Step 5", "Antiarrhythmic drugs as second-line after correction of precipitants"), ("Step 6", "Electrical therapy (cardioversion/pacing) for haemodynamic instability or drug failure"), ("Step 7", "Continue monitoring postoperatively — arrhythmias can recur"), ] p_table = make_table(["Step", "Action"], principles, col_widths=[2.5*cm, 14.5*cm]) story.append(p_table) story.append(Spacer(1, 3*mm)) # ── SECTION VI: PACEMAKER INDICATIONS ───────────────────────────────────────── story.append(section_banner("SECTION VI: PACEMAKER INDICATIONS FOR HEART BLOCK (ACC/AHA 2018)")) story.append(Spacer(1, 3*mm)) pm_table = make_table( ["Condition", "Recommendation", "Class"], [ ["Acquired symptomatic complete AV block", "Permanent pacemaker", "I"], ["Acquired asymptomatic complete AV block", "Permanent pacemaker", "I"], ["Second-degree Mobitz II with wide QRS", "Permanent pacemaker", "I"], ["High-grade AV block (≥2 consecutive non-conducted P waves)", "Permanent pacemaker", "I"], ["Second-degree Mobitz I (symptomatic)", "Permanent pacemaker", "IIa"], ["First-degree AV block (isolated)", "No pacing required", "III"], ], col_widths=[8*cm, 6.5*cm, 2.5*cm] ) story.append(pm_table) story.append(Spacer(1, 2*mm)) story.append(Paragraph( "<b>Preoperative temporary pacing indications:</b> Symptomatic complete AV block before elective surgery; " "Mobitz II or high-grade AV block; Acute MI with new bifascicular block + first-degree AV block.", body)) story.append(Spacer(1, 3*mm)) # ── SECTION VII: COMPARISON TABLE ───────────────────────────────────────────── story.append(section_banner("SECTION VII: COMPARISON TABLE — AV BLOCKS")) story.append(Spacer(1, 3*mm)) comp_table = make_table( ["Feature", "1st Degree", "2nd Degree Mobitz I", "2nd Degree Mobitz II", "3rd Degree (CHB)"], [ ["PR interval", "Fixed, prolonged\n>200 ms", "Progressive\nlengthening", "Constant\n(no change)", "No fixed PR\n(dissociation)"], ["Dropped beats", "None", "Present\n(with warning)", "Present\n(without warning)", "All blocked"], ["QRS", "Narrow (usually)", "Narrow (usually)", "Wide (BBB usually)", "Narrow or Wide"], ["Site of block", "AV node", "AV node", "His-Purkinje\n(infranodal)", "AV node or\nHis-Purkinje"], ["Risk of CHB", "Low", "Low", "HIGH", "—"], ["Atropine", "Not needed", "Effective", "Usually ineffective", "Effective only if\nAV nodal level"], ["Treatment", "None", "Treat cause;\nATROP if symptomatic", "PACING\n(urgent)", "Emergency pacing;\nPermanent PPM"], ], col_widths=[3.5*cm, 3.2*cm, 3.7*cm, 3.7*cm, 2.9*cm] ) story.append(comp_table) story.append(Spacer(1, 4*mm)) # ── FOOTER / REFERENCES ──────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.8, color=MGRAY, spaceAfter=4)) story.append(Paragraph( "<b>References:</b> Braunwald's Heart Disease 12th ed. (Ch. 68) · Fuster &amp; Hurst's The Heart 15th ed. (Ch. 38) · " "Goldman-Cecil Medicine 27th ed. (Ch. 51) · Miller's Anesthesia 10th ed. (Ch. 29) · " "Sabiston Textbook of Surgery · ACC/AHA/HRS 2018 Guideline on Bradycardia and Conduction Delay", note_style)) # ── Build ─────────────────────────────────────────────────────────────────────── doc.build(story) print(f"PDF created: {output_path}") PYEOF echo "Script written."

Running Command

cd /tmp/workspace/heart-block-pdf && python generate_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/heart-block-pdf/Heart_Block_Intraoperative_Arrhythmias_MD_Exam.pdf

Your PDF is ready. Here's the download link:

Heart Block Intraoperative Arrhythmias MD Exam

PDF Document · PDF

What's included in the PDF (all 7 sections):
SectionContent
IAnatomy of the Conduction System
IIFirst-Degree Heart Block — definition, ECG, causes, treatment
IIISecond-Degree Heart Block — Mobitz I (Wenckebach), Mobitz II, 2:1 block, High-grade block
IVThird-Degree (Complete) Heart Block — ECG table, escape rhythm levels table, causes, clinical features, treatment ladder
VIntraoperative Arrhythmias — causes, arrhythmia management table (11 arrhythmias), OCR, WPW/Brugada/LQTS special cases, 7-step management principles
VIPacemaker Indications (ACC/AHA 2018 guideline table)
VIIComparison Table — all 4 degrees of AV block side-by-side
Formatted with colour-coded banners, comparison tables, and references to Braunwald's, Fuster & Hurst's, Goldman-Cecil, and Miller's Anesthesia.
This is a shared conversation. Sign in to Orris to start your own chat.