Liberalise the topic and make me a bulletin of those points
| Type | Details |
|---|---|
| Intact ventricular septum | Mixing only via PFO/ASD → poor mixing, severe cyanosis |
| With VSD (± PS) | Better mixing at ventricular level; if no PS → like Tetralogy physiology but more cyanotic |
| Step | Intervention |
|---|---|
| Immediate palliation | Prostaglandin E₁ (keep PDA open), Balloon Atrial Septostomy (BAS) |
| BAS timing | Within 4-6 weeks; successful up to 6-12 weeks |
| Definitive surgery | Arterial Switch Operation (ASO) — gold standard |
| ASO timing | Ideally within first 4 weeks (while LV can still handle systemic pressure) |
| TGA + VSD/PDA | Surgery within 2-3 months; beyond this, irreversible pulmonary vascular changes occur |
| Type | Drainage |
|---|---|
| Supracardiac | To left innominate vein or right SVC |
| Cardiac | To coronary sinus or directly to RA |
| Infracardiac | To portal vein (always obstructed) |
| Mixed | Combination |
| Finding | Obstructive | Non-obstructive |
|---|---|---|
| ECG | RAD + RV hypertrophy | RAD + RV hypertrophy |
| CXR | "Ground glass" lungs (like HMD) | "Snowman/Figure of 8" sign (supracardiac) |
| Echo | Confirms diagnosis, defines anatomy | Same |
| Type | Site |
|---|---|
| Valvar | At valve level (unicuspid/bicuspid) → most common |
| Supravalvar | Above valve, in root of aorta (Williams syndrome) |
| Subvalvar | Below valve: membranous, fibromuscular, or muscular (HOCM) |
Lose the ppt….only make bulletin points
Now make it a ppt file
mkdir -p /tmp/workspace/chd-ppt && ls /tmp/workspace/chd-ppt/
~/chd-ppt/make_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
from io import BytesIO
# Colors
DARK_BLUE = RGBColor(0x1B, 0x3A, 0x6B) # header / title bg
MID_BLUE = RGBColor(0x2E, 0x6D, 0xA4) # accent bar
LIGHT_BG = RGBColor(0xF0, 0xF5, 0xFA) # slide background
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT = RGBColor(0x1A, 0x1A, 0x2E)
BULLET_CLR = RGBColor(0x2E, 0x6D, 0xA4)
SUBHEAD_CLR = RGBColor(0x1B, 0x3A, 0x6B)
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
def add_rect(slide, x, y, w, h, color):
from pptx.util import Inches
shape = slide.shapes.add_shape(
1, # MSO_SHAPE_TYPE.RECTANGLE
Inches(x), Inches(y), Inches(w), Inches(h)
)
shape.fill.solid()
shape.fill.fore_color.rgb = color
shape.line.fill.background()
return shape
def add_textbox(slide, x, y, w, h, text, font_size, bold=False,
color=DARK_TEXT, align=PP_ALIGN.LEFT, italic=False, wrap=True):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.margin_left = Inches(0.05)
tf.margin_right = Inches(0.05)
tf.margin_top = Inches(0.02)
tf.margin_bottom = Inches(0.02)
p = tf.paragraphs[0]
p.alignment = align
run = p.add_run()
run.text = text
run.font.size = Pt(font_size)
run.font.bold = bold
run.font.italic = italic
run.font.color.rgb = color
run.font.name = "Calibri"
return tf
def add_bullet_slide(title_text, section_label, bullet_groups):
"""
bullet_groups: list of (subheading_or_None, [bullet strings])
"""
slide = prs.slides.add_slide(blank)
# Background
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
# Left accent bar
add_rect(slide, 0, 0, 0.08, 7.5, MID_BLUE)
# Header bar
add_rect(slide, 0.08, 0, 13.253, 1.0, DARK_BLUE)
# Section label (top right)
add_textbox(slide, 8.5, 0.05, 4.7, 0.4,
section_label, 9, bold=False, color=RGBColor(0xB0, 0xC8, 0xE8),
align=PP_ALIGN.RIGHT)
# Title
add_textbox(slide, 0.3, 0.08, 12.7, 0.82,
title_text, 22, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
# Content area — build one big textbox with all bullets
tb = slide.shapes.add_textbox(Inches(0.3), Inches(1.1), Inches(12.8), Inches(6.15))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = Inches(0.05)
tf.margin_right = Inches(0.05)
tf.margin_top = Inches(0.05)
tf.margin_bottom= Inches(0.05)
first_para = True
for (subhead, bullets) in bullet_groups:
if subhead:
p = tf.paragraphs[0] if first_para else tf.add_paragraph()
first_para = False
p.space_before = Pt(6)
r = p.add_run()
r.text = subhead
r.font.bold = True
r.font.size = Pt(13)
r.font.color.rgb = SUBHEAD_CLR
r.font.name = "Calibri"
p.alignment = PP_ALIGN.LEFT
for b in bullets:
p = tf.paragraphs[0] if first_para else tf.add_paragraph()
first_para = False
p.space_before = Pt(2)
# Bullet dot
r0 = p.add_run()
r0.text = "• "
r0.font.size = Pt(11)
r0.font.color.rgb = BULLET_CLR
r0.font.bold = True
r0.font.name = "Calibri"
# Bullet text
r1 = p.add_run()
r1.text = b
r1.font.size = Pt(11)
r1.font.color.rgb = DARK_TEXT
r1.font.name = "Calibri"
r1.font.bold = False
p.alignment = PP_ALIGN.LEFT
return slide
# ─────────────────────────────────────────────
# SLIDE 1 — TITLE SLIDE
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, DARK_BLUE)
add_rect(slide, 0, 0, 0.15, 7.5, MID_BLUE)
add_rect(slide, 0.15, 2.9, 13.183, 0.07, MID_BLUE)
add_textbox(slide, 0.4, 1.2, 12.5, 1.5,
"Cyanotic Congenital Heart Disease", 40, bold=True,
color=WHITE, align=PP_ALIGN.LEFT)
add_textbox(slide, 0.4, 2.8, 12.5, 0.7,
"TGA • Corrected TGA • TAPVC • Eisenmenger Syndrome • Aortic Stenosis",
16, bold=False, color=RGBColor(0xB0, 0xC8, 0xE8), align=PP_ALIGN.LEFT)
add_textbox(slide, 0.4, 3.6, 12.5, 0.6,
"Essential Pediatrics — Chapter 16: Disorders of the Cardiovascular System",
13, bold=False, color=RGBColor(0x90, 0xB0, 0xD0), align=PP_ALIGN.LEFT)
# ─────────────────────────────────────────────
# SLIDE 2 — TGA: Definition & Classification
# ─────────────────────────────────────────────
add_bullet_slide(
"Transposition of Great Vessels (TGA) — Definition & Classification",
"TGA",
[
("Definition & Anatomy", [
"Aorta arises from RV; pulmonary artery arises from LV",
"Aorta lies anterior and to the right of pulmonary artery → D-TGA",
"Two circulations run in parallel, not in series",
"Survival depends entirely on the degree of mixing between the two circuits",
"Best mixing site with intact ventricular septum = atrial communication (usually PFO)",
"PFO is small → mixing is very poor → neonates become symptomatic soon after birth",
]),
("Classification", [
"(a) With intact ventricular septum — mixing only via PFO/ASD; very poor",
"(b) With VSD — further subdivided into with and without pulmonic stenosis",
"TGA + VSD + PS resembles Tetralogy physiology but with more intense cyanosis",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 3 — TGA: Pathophysiology
# ─────────────────────────────────────────────
add_bullet_slide(
"TGA — Pathophysiology",
"TGA",
[
("Circulation", [
"Pulmonary artery saturation is always higher than aortic saturation",
"Oxygenated pulmonary venous blood recirculates in the lungs",
"Systemic venous blood recirculates in the systemic circulation",
]),
("Effect of VSD", [
"VSD of adequate size improves mixing",
"As fetal pulmonary vasculature regresses, pulmonary blood flow increases",
"Results in congestive failure around 4–10 weeks of age",
"Failing LV + markedly increased pulmonary blood flow → raised left atrial pressure → pulmonary venous hypertension",
"Survivors of heart failure develop Eisenmenger physiology early in life",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 4 — TGA: Clinical Features (Intact Septum)
# ─────────────────────────────────────────────
add_bullet_slide(
"TGA — Clinical Features: Intact Ventricular Septum",
"TGA",
[
("Symptoms", [
"Cyanotic at birth due to poor intra-atrial mixing",
"Rapid breathing and congestive failure within first few days of life",
"Severe hypoxemia secondary to poor mixing",
]),
("Physical Examination", [
"Severe cyanosis, congestive failure",
"Normal first sound, single second sound",
"Insignificant grade 1–2 ejection systolic murmur",
]),
("Investigations", [
"ECG: right axis deviation + right ventricular hypertrophy",
"CXR: cardiomegaly with narrow base + plethoric lung fields",
"Cardiac silhouette may have 'egg-on-side' appearance",
"Thymic shadow often absent",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 5 — TGA: Clinical Features (With VSD)
# ─────────────────────────────────────────────
add_bullet_slide(
"TGA — Clinical Features: With VSD",
"TGA",
[
("Symptoms", [
"Mixing at ventricular level determines severity of cyanosis",
"Congestive failure develops around 4–10 weeks of age",
]),
("Physical Examination", [
"Cyanosis, cardiomegaly, congestive failure",
"Normal first sound; single or normally split second sound",
"Grade II–IV ejection systolic murmur",
"Apical third sound gallop or mid-diastolic rumble may be present",
]),
("Investigations", [
"ECG: right axis deviation; biventricular, right ventricular, or left ventricular hypertrophy",
"CXR: cardiomegaly, plethoric lung fields, features of pulmonary venous hypertension",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 6 — TGA: Treatment
# ─────────────────────────────────────────────
add_bullet_slide(
"TGA — Treatment",
"TGA",
[
("Immediate Palliation", [
"Prostaglandin E₁ — keeps PDA open, helps reduce cyanosis in selected cases",
"Balloon Atrial Septostomy (BAS) — interim palliation; allows better mixing, reduces left atrial pressure",
"BAS done in cath lab or ICU under echocardiographic guidance",
"Septostomy successful only up to 6–12 weeks of age",
]),
("Definitive Surgery — Arterial Switch Operation (ASO)", [
"Treatment of choice; most modern centers aim for neonatal ASO",
"Pulmonary artery and aorta transected; distal aorta anastomosed to proximal pulmonary stump (neo-aortic root)",
"Pulmonary artery to proximal aortic stump (neo-pulmonary artery)",
"Coronary arteries moved along with cuff of aortic tissue to neo-aortic root",
"Must be done within first 4 weeks — LV regresses rapidly after pulmonary vascular resistance falls",
"Operative mortality <3%; 20-year survival >90%",
"Late concerns: aortic root dilation, aortic regurgitation, RVOTO, coronary artery occlusion",
]),
("Timing for TGA + VSD / PDA", [
"No early LV regression because PA pressures are elevated",
"Window for surgery still limited — accelerated Eisenmenger development",
"Surgical correction involves arterial switch + closure of VSD/PDA",
"Ideally within 2–3 months of age; most centers operate within the first month",
]),
("Alternative — Senning Operation (Atrial Switch)", [
"Considered if ASO window missed (infancy, after 1–2 months)",
"Not ideal long-term: RV remains the systemic ventricle",
"Over time: RV dysfunction, severe tricuspid regurgitation, atrial rhythm disturbances",
"LV can be trained for 1–2 weeks via ductal stenting or pulmonary artery band + BT shunt, then ASO performed",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 7 — Corrected TGA
# ─────────────────────────────────────────────
add_bullet_slide(
"Corrected TGA (L-TGA)",
"Corrected TGA",
[
("Anatomy", [
"Right atrium connected to LV; LV gives rise to pulmonary artery",
"Left atrium connected to RV; RV gives rise to aorta",
"Aorta lies anterior and to the LEFT of pulmonary artery → L-TGA",
"Route of blood flow is physiologically corrected but ventricles are inverted",
"Ascending aorta forms the left upper border of cardiac silhouette",
]),
("Associated Anomalies (determine clinical features)", [
"(i) VSD with or without pulmonic stenosis",
"(ii) Left-sided Ebstein anomaly of tricuspid valve — clinically simulates mitral regurgitation",
"(iii) AV conduction abnormalities including complete AV block — in ~65% of cases",
]),
("Investigations", [
"Precordial leads V4R, V1, V2 may show Q wave absent in left precordial leads",
"CXR: smooth left upper border corresponding to ascending aorta",
"Diagnosis: echocardiographic identification of ventricular inversion + associated anomalies",
]),
("Management", [
"Depends on type of associated anomalies",
"Need to retain morphologic LV as the systemic ventricle",
"Makes surgical management complex",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 8 — TAPVC: Definition & Types
# ─────────────────────────────────────────────
add_bullet_slide(
"Total Anomalous Pulmonary Venous Connection (TAPVC) — Overview",
"TAPVC",
[
("Definition", [
"All pulmonary veins drain anomalously into the right atrium instead of the left atrium",
"Anatomical classification: supracardiac, cardiac, infracardiac, and mixed",
]),
("Supracardiac", [
"Pulmonary veins join to form a common pulmonary vein",
"Drains to left innominate vein or right superior vena cava",
]),
("Cardiac", [
"Veins join the coronary sinus or enter the right atrium directly",
]),
("Infracardiac", [
"Common pulmonary vein drains into the portal vein",
"Always obstructed — key feature",
]),
("Key Determinant", [
"Whether or not the pulmonary venous drainage via the common pulmonary vein is obstructed",
"Infracardiac = always obstructed",
"Supracardiac and cardiac types = may or may not be obstructed",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 9 — TAPVC: Pathophysiology
# ─────────────────────────────────────────────
add_bullet_slide(
"TAPVC — Pathophysiology",
"TAPVC",
[
("Circulation", [
"Pulmonary venous blood reaches right atrium along with systemic venous blood",
"Almost complete mixing of both venous returns in right atrium",
"Blood flow to left atrium via PFO or ASD (right-to-left shunt)",
"Oxygen saturation of pulmonary artery often identical to aorta due to mixing",
]),
("Without Obstruction", [
"Pulmonary blood flow is large",
"Results in cardiac failure between 4–10 weeks of age",
]),
("With Obstruction", [
"Pulmonary venous obstruction invariably causes pulmonary arterial hypertension",
"Restriction to pulmonary blood flow; presents in first few weeks after birth",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 10 — TAPVC: Clinical Features
# ─────────────────────────────────────────────
add_bullet_slide(
"TAPVC — Clinical Features",
"TAPVC",
[
("Non-obstructive TAPVC", [
"Cyanosis + CHF onset around 4–10 weeks; with large flow, cyanosis may be minimal or unrecognizable",
"Patients irritable, failure to thrive",
"Accentuated S1; widely split and FIXED S2; grade 2–4 pulmonary ejection systolic murmur; tricuspid flow murmur",
"Physical findings identical to ASD",
"Presence of systemic desaturation + CHF at this age strongly suggests TAPVC",
"Continuous venous hum may be audible at upper left or right sternal border or suprasternal notch",
]),
("Obstructive TAPVC", [
"Marked cyanosis + CHF within first 1–2 weeks of life",
"Often FATAL without treatment",
"Parasternal heave, normal S1, accentuated pulmonic S2, insignificant murmurs",
"Tricuspid regurgitation can occur → cardiomegaly",
"These infants are severely compromised — need ICU and emergency corrective surgery",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 11 — TAPVC: Investigations & Management
# ─────────────────────────────────────────────
add_bullet_slide(
"TAPVC — Investigations & Management",
"TAPVC",
[
("Investigations", [
"ECG (both types): right axis deviation + right ventricular hypertrophy",
"CXR non-obstructive: cardiomegaly + plethoric lungs; 'Snowman/Figure-of-8' sign (supracardiac, seen after age 2 years)",
"CXR obstructive: normal-sized heart + severe pulmonary venous hypertension + 'ground glass' appearance (resembles HMD)",
"Echo: confirms diagnosis, defines anatomy, identifies individual pulmonary veins, assesses obstruction; usually adequate for surgical planning",
]),
("Diagnosis Clues", [
"Obstructive TAPVC: neonate with cyanosis + normal-sized heart + ground glass lungs",
"Non-obstructive TAPVC: ASD auscultatory features associated with cyanosis ± CHF in first 2–3 months",
]),
("Management", [
"Surgery as early as possible — 80% die within 3 months without surgery",
"Obstructed TAPVC needs surgery at SHORT notice",
"Results good at modern centers",
"Small proportion develop progressive pulmonary venous obstruction after repair — often not easy to correct",
"Refer all patients with cyanosis + increased pulmonary blood flow to specialized centers early",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 12 — Additional Cyanotic Conditions (High Pulmonary Flow)
# ─────────────────────────────────────────────
add_bullet_slide(
"Additional Cyanotic Conditions with High Pulmonary Flow",
"Cyanotic CHD",
[
("Conditions", [
"Single ventricle without obstruction to pulmonary blood flow",
"Persistent truncus arteriosus",
"Tricuspid atresia without obstruction to pulmonary blood flow",
"Double outlet right ventricle without pulmonic stenosis",
]),
("Clinical Presentation", [
"All present in neonatal period with cyanosis, cardiomegaly, and failure to thrive",
"~80% die within 3 months due to congestive cardiac failure or pulmonary infection",
"Survivors develop pulmonary arterial hypertension due to pulmonary vascular obstructive disease",
]),
("Investigations & Management", [
"Echocardiography required to arrive at specific diagnosis",
"Mortality of unoperated patients is high; Eisenmenger syndrome develops early in life",
"Refer ALL patients with cyanosis + increased pulmonary blood flow to specialized centers as early as possible",
"Surgical treatment dictated by the specific anatomy",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 13 — Eisenmenger Syndrome: Definition & Hemodynamics
# ─────────────────────────────────────────────
add_bullet_slide(
"Eisenmenger Syndrome — Definition & Hemodynamics",
"Eisenmenger",
[
("Definition", [
"Severe pulmonary arterial hypertension (PAH) due to pulmonary vascular obstructive disease (PVOD)",
"Results in right-to-left shunt at atrial, ventricular, or pulmonary arterial level",
"Eisenmenger complex: PAH with VSD providing the right-to-left shunt",
]),
("Hemodynamics", [
"PAH is due to PVOD; once communication present, RV pressure cannot exceed systemic pressure",
"Right-to-left shunt decompresses RV → RV only develops concentric hypertrophy, no significant dilation",
"PDA: right-to-left shunt directed into descending aorta → DIFFERENTIAL CYANOSIS (lower limbs + toes cyanosed; upper limbs pink)",
"ASD/VSD: right-to-left shunt reaches ascending aorta → EQUAL CYANOSIS of fingers and toes",
"Patients with VSD or PDA: only mild parasternal heave",
"Patients without VSD/PDA (right-to-left at atrial level): right ventricle also dilates",
"Atrial level Eisenmenger: parasternal heave + cardiac enlargement; RV pressure may exceed systemic",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 14 — Eisenmenger Syndrome: Clinical Features
# ─────────────────────────────────────────────
add_bullet_slide(
"Eisenmenger Syndrome — Clinical Features",
"Eisenmenger",
[
("Symptoms", [
"Cyanosis, fatigue, effort intolerance, dyspnea",
"History of repeated chest infections in childhood",
]),
("Examination", [
"Cyanosis and clubbing",
"Differential cyanosis (lower limbs) separates PDA from VSD/ASD",
"Parasternal impulse and palpable S2 (features of PAH)",
"Pulmonary component of S2 accentuated and louder than aortic component",
]),
("Auscultation", [
"S2 is SINGLE in VSD (A2 and P2 superimposed)",
"S2 is NORMALLY SPLIT in PDA",
"S2 is WIDELY SPLIT AND FIXED in ASD",
"Constant pulmonary ejection click in ASD (heard in both inspiration and expiration)",
"Harsh, high-pitched early diastolic Graham-Steell murmur (pulmonary regurgitation) along left sternal border",
"Patients with ASD may develop tricuspid regurgitation",
]),
("Investigations", [
"ECG: right axis deviation + right ventricular hypertrophy; P pulmonale may be present",
"CXR: prominent pulmonary arterial segment; large right and left main pulmonary arteries; peripheral lung fields oligemic ('pruning')",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 15 — Eisenmenger: Treatment
# ─────────────────────────────────────────────
add_bullet_slide(
"Eisenmenger Syndrome — Treatment",
"Eisenmenger",
[
("Prevention (Ideal)", [
"Prevent PVOD by early diagnosis and correction of ALL CHD with increased pulmonary blood flow",
"Patients with cyanosis + increased pulmonary flow develop Eisenmenger physiology very early",
"Need to be operated by 2–3 months of age",
]),
("Medical Management", [
"Medications available for pulmonary hypertension management",
"May help reduce symptoms and improve survival in Eisenmenger patients",
]),
("Important Note", [
"Once Eisenmenger physiology is established, surgical closure of the defect is CONTRAINDICATED",
"All patients with cyanosis + high pulmonary blood flow must be referred to specialized centres early",
]),
]
)
# ─────────────────────────────────────────────
# SLIDE 16 — Aortic Stenosis
# ─────────────────────────────────────────────
add_bullet_slide(
"Aortic Stenosis (Obstructive Lesion)",
"Aortic Stenosis",
[
("Types", [
"Valvar — at valve level; results from unicuspid or bicuspid aortic valve; rarely small aortic valve annulus",
"Supravalvar — obstruction in root of aorta, above the valve; as in Williams syndrome",
"Subvalvar — below valve: discrete (membranous), fibromuscular, or muscular (HOCM)",
]),
("Hemodynamics", [
"Valvar obstruction overcome by raising LV systolic pressure → concentric LV hypertrophy",
"LV is powerful and muscular; emptying is complete but systole is prolonged",
"Prolongation of LV ejection → delayed closure of aortic valve → delayed A2",
"Flow across obstruction produces characteristic DIAMOND-SHAPED ejection systolic murmur",
"Murmur: starts after S1, ends before A2, mid-systolic peak; always palpable as a thrill at 2nd right interspace, suprasternal notch, carotids",
"Pulse: slow-rising to a sustained peak, then slow slowdown-slope; low amplitude and prolonged duration",
"Powerful LV can maintain normal forward cardiac output",
]),
("Severe Aortic Stenosis", [
"Concentric hypertrophy → decreased LV diastolic distensibility → reduced compliance",
"LV diastolic pressure rises → LA pressure must also rise to fill LV during diastole",
]),
]
)
# ─────────────────────────────────────────────
# SAVE
# ─────────────────────────────────────────────
output_path = "/tmp/workspace/chd-ppt/Cyanotic_CHD.pptx"
buf = BytesIO()
prs.save(buf)
with open(output_path, "wb") as f:
f.write(buf.getvalue())
print(f"Saved: {output_path}")
python /tmp/workspace/chd-ppt/make_ppt.py
Cyanotic CHD
Presentation · PPTX