RCMY notes

Asking for Preferences

What does 'RCMY notes' refer to?

Restrictive cardiomyopathy

Restrictive cardiomyopathy (RCM) is a myocardial disease characterized by impaired ventricular filling due to abnormal stiffness of the myocardium, with preserved systolic function but diastolic dysfunction. Causes include amyloidosis, sarcoidosis, hemochromatosis, endomyocardial fibrosis, and idiopathic forms.
Searching sources...
Reading File
Finding Sources
Searching PubMed

"restrictive cardiomyopathy"[MeSH Terms]

Good results. Now I'll read the most comprehensive sources in parallel - Harrison's (latest edition 2025), Robbins Pathologic Basis of Disease, and Goldman-Cecil Medicine.
Reading File
Reading File
Reading File
Now let me get the Goldman-Cecil and Harrison's full RCM section for clinical details, plus the Echocardiography text for diagnostic findings.
Reading File
Reading File
Reading File
Let me get more of the Harrison's clinical section and Goldman-Cecil management details.
Reading File
Reading File
Let me get the rest of the Goldman-Cecil diagnosis and management section.
Reading File
I now have rich content from Harrison's 22e, Robbins Pathologic Basis, and Goldman-Cecil. Let me compile comprehensive notes.
Reading File
I now have comprehensive material. Let me fetch the key RCM classification diagram and hemodynamic comparison figure.
Loading Image
Loading Image
Excellent - I now have all the material needed for comprehensive notes. Here are your complete Restrictive Cardiomyopathy (RCM) notes:

Restrictive Cardiomyopathy (RCM) - Notes

Definition

RCM is characterized by primary decrease in ventricular compliance, resulting in impaired ventricular diastolic filling despite normal (or near-normal) systolic function and wall thickness. The fundamental defect is a stiff, noncompliant ventricle that resists filling, with ejection fraction often 30-50% (mildly decreased at best). - Harrison's 22e, Goldman-Cecil Medicine

Classification

RCM Classification

1. Genetic (Familial)

  • Idiopathic/Genetic: sarcomeric mutations (TNNI3, MYH7), cytoskeletal mutations (DES - desmin gene causing combined cardiac + skeletal myopathy + conduction system disease)
  • Storage Diseases: Fabry disease, Danon disease, PRKAG2 syndrome
  • Pseudoxanthoma elasticum

2. Acquired (Non-genetic)

CategoryExamples
Infiltrative (material between myocytes)Amyloidosis (most common cause - AL, ATTRv, ATTRwt), Cardiac sarcoidosis
Storage (material within myocytes)Hemochromatosis (iron), Fabry disease, Glycogen storage disease (II, III)
FibroticRadiation, Scleroderma, Drugs (doxorubicin, serotonin, ergotamine)
EndomyocardialTropical endomyocardial fibrosis, Hypereosinophilic syndrome (Löffler endocarditis), Carcinoid syndrome
Cancer-relatedChemotherapy (high-dose anthracyclines), Radiotherapy
Most RCM is due to acquired causes. Wild-type ATTR (ATTRwt) amyloidosis is the most prevalent form and increases in frequency in older patients. - Goldman-Cecil Medicine, Harrison's 22e

Pathophysiology

  • Abnormal myocardial stiffness → elevated diastolic pressures → impaired filling → reduced stroke volume
  • Both atria become markedly dilated (sometimes dwarfing the ventricles) due to restricted ventricular filling and elevated filling pressures
  • Systolic function preserved until late in disease
  • Resting cardiac output maintained until late stage; exercise intolerance appears first

Gross & Microscopic Morphology

Gross:
  • Ventricles approximately normal size or slightly enlarged; cavities not dilated
  • Biatrial dilation - hallmark
  • Myocardium is firm
  • Thrombus in atrial appendages and patchy endocardial fibrosis
Microscopy:
  • Patchy or diffuse interstitial fibrosis (minimal to extensive)
  • Myocyte disarray may be seen in idiopathic RCM
  • Endomyocardial biopsy can reveal specific etiology (e.g., amyloid deposits, granulomas)
- Robbins Pathologic Basis of Disease; Robbins Basic Pathology

Clinical Features

Symptoms

  • Exertional dyspnea - usually the first symptom (often unrecognized early)
  • Fatigue, weakness, recurrent respiratory infections
  • Progressive to: orthopnea, PND, dyspnea at rest
  • Right-sided symptoms often predominate: peripheral edema, ascites, abdominal discomfort (hepatic engorgement)
  • Chest pain, palpitations
  • Rarely, sudden death as the initial presentation

Signs

  • Elevated JVP with prominent Y descent
  • Kussmaul sign: JVP fails to fall (or rises) during inspiration
  • S3 and/or S4 gallop (gallop rhythm common); S4 more common than S3 in sinus rhythm
  • Loud P2 if pulmonary hypertension present
  • Hepatomegaly, ascites, peripheral edema
  • Cardiac impulse: less displaced than DCM, less dynamic than HCM
  • Atrial fibrillation is common
- Harrison's 22e; Goldman-Cecil Medicine

Investigations

ECG

  • Non-diagnostic - no pathognomonic finding
  • P mitrale, P pulmonale
  • Nonspecific ST-T changes; ST depression and T-wave inversion (inferolateral leads)
  • Voltage criteria for LVH or RVH
  • Low-voltage QRS - characteristic of amyloidosis
  • Heart block, BBB

Echocardiography

  • Markedly dilated atria with normal-sized ventricles
  • Pulsed-wave Doppler (mitral inflow): ↑E velocity, ↓A velocity, ↑E/A ratio, shortened E-wave deceleration time, shortened IVRT → restrictive filling pattern
  • Pulmonary/hepatic vein Doppler: higher diastolic than systolic velocities
  • Tissue Doppler: ↓ diastolic annular velocities (e′), ↑E/e′ ratio (elevated LVEDP)

Cardiac Catheterization

  • "Dip-and-plateau" or "square root sign": rapid early diastolic pressure decline followed by rapid rise to a plateau
  • LVEDP > RVEDP by ≥5 mmHg (key distinction from constrictive pericarditis)
  • Volume loading and exercise accentuate the LV-RV pressure difference

Cardiac MRI

  • Gold standard for tissue characterization
  • Gadolinium late enhancement patterns suggest specific etiologies

Specific Workup (etiology-directed)

  • Amyloidosis: Congo red stain (apple-green birefringence under polarized light), serum/urine protein electrophoresis, technetium pyrophosphate scan (ATTR), TTR genotyping
  • Sarcoidosis: FDG-PET, non-caseating granulomas on biopsy
  • Hemochromatosis: serum ferritin, transferrin saturation, HFE gene
  • Fabry disease: α-galactosidase A levels

Key Differential: RCM vs. Constrictive Pericarditis (CP)

FeatureRCMConstrictive Pericarditis
Kussmaul signPresentPresent
Pericardial knockAbsentPresent (S3-like, early)
Pericardium on CT/MRINormalThickened (≥4mm), calcified
LVEDP vs RVEDPLVEDP > RVEDP by ≥5 mmHgEqualized (within 5 mmHg)
Ventricular interdependenceAbsent (pressures change in parallel)Present (discordant LV/RV pressures with respiration)
E/e′ (tissue Doppler)↑ (reduced myocardial relaxation)Normal/↑ annular velocities
Mitral inflow variability<10% respiratory variation>25% respiratory variation
Hepatic vein DopplerIncreased inspiratory forward flowExpiratory diastolic reversal
Response to fluidWorsening pressuresEqualization maintained
RCM vs CP hemodynamics - simultaneous LV/RV pressure tracings showing parallel (RCM) vs. discordant (CP) pressure changes
In RCM: LV and RV pressure areas change in parallel (no ventricular interdependence). In CP: RV increases on inspiration while LV decreases (enhanced ventricular interdependence). - Goldman-Cecil Medicine, p.522

Special Entities

Endomyocardial Fibrosis (EMF)

  • Most common RCM worldwide
  • Children and young adults in tropical Africa and other tropical areas
  • Fibrosis of ventricular endocardium from the apex upward, involving tricuspid/mitral valves
  • Linked to nutritional deficiencies and/or parasitic infections (hypereosinophilia)
  • Ventricular mural thrombi common (much of endocardial fibrosis = organized thrombus)

Löffler Endocarditis (Hypereosinophilic Syndrome)

  • Morphologically similar to EMF, but no geographic predilection
  • Peripheral hypereosinophilia + eosinophilic infiltrates in multiple organs
  • Mechanism: eosinophil major basic protein → endomyocardial necrosis → scarring → thrombus → organization
  • Some cases: myeloid neoplasm with acquired tyrosine kinase gene rearrangement; responds to tyrosine kinase inhibitors
  • Stages: necrotic → thrombotic → fibrotic

Endocardial Fibroelastosis

  • Uncommon; fibroelastic thickening of endocardium
  • Typically involves left-sided chambers

Cardiac Amyloidosis (most important RCM cause)

  • Two main types: AL amyloid (light chains from plasma cell dyscrasia) and ATTR (transthyretin)
    • ATTRv (hereditary variant): specific Val122Ile mutation in 4% of African Americans → 4x ↑ risk
    • ATTRwt (wild-type/"senile"): normal TTR depositing in elderly
  • Staining: Congo red → apple-green birefringence under polarized light; EM shows non-branching fibrils ~10 nm diameter
  • Gross: thick LV walls, small LV cavity, dilated atria
  • ECG: low voltage despite thick walls (classic dissociation); pseudoinfarct pattern
  • Endomyocardial biopsy almost always diagnostic
  • Treatment is TYPE-specific: AL (plasma cell-directed); ATTR (tafamidis for ATTRv/ATTRwt; patisiran/vutrisiran for ATTRv)
  • Determining the precise precursor protein is critical - incorrect typing leads to inappropriate therapy

Management

General Principles

  • Maintain optimal volume status: balance between adequate ventricular filling and decongestion
  • Diuretics are the mainstay for fluid overload
  • Beta-blockers: use with caution - reducing heart rate reduces cardiac output in RCM (stroke volume is fixed), so can worsen symptoms
  • Vasodilators: generally not well tolerated (preload-dependent state)
  • HFrEF therapies (ACEi, ARB, ARNI, SGLT2i beyond volume): not recommended for routine use in RCM
  • Rate control for atrial fibrillation
  • Anticoagulation: indicated for AF, and in endomyocardial disease with mural thrombi

Disease-Specific Therapy

  • ATTR amyloidosis: Tafamidis (stabilizes TTR tetramer) - reduces mortality and hospitalization; RNAi (patisiran, vutrisiran) for ATTRv
  • Sarcoidosis: corticosteroids for active inflammation; ICD for ventricular arrhythmias
  • Hemochromatosis: phlebotomy or chelation therapy (reversible if early)
  • Fabry disease: enzyme replacement therapy (agalsidase)
  • Hypereosinophilic syndrome: imatinib if tyrosine kinase gene rearrangement present; steroids

Prognosis

  • Idiopathic/most secondary RCM: slow, protracted course; survival often >10 years from diagnosis
  • AL amyloidosis: much more rapid progression and worse prognosis
  • Heart failure symptoms generally progressive and respond poorly to treatment
  • Cardiac transplantation may be considered for eligible patients

Sources: Harrison's Principles of Internal Medicine 22e (2025); Goldman-Cecil Medicine International Edition; Robbins & Kumar Pathologic Basis of Disease; Robbins Basic Pathology

Create a pdf

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/rcm-notes && cat > /tmp/workspace/rcm-notes/build_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib import colors from reportlab.platypus import ( SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether ) from reportlab.lib.enums import TA_LEFT, TA_CENTER from reportlab.platypus import PageBreak import urllib.request import os # ── Download images ────────────────────────────────────────────────────────── IMG_DIR = "/tmp/workspace/rcm-notes/imgs" os.makedirs(IMG_DIR, exist_ok=True) img_urls = { "classification": "https://cdn.orris.care/cdss_images/2a6a2bbfd9bae4921760f6a49e2fc8afa73e11a0de8e3f3a3c5f3091c8cbcaf5.png", "hemodynamics": "https://cdn.orris.care/cdss_images/dea3236dc868eee21631363519709ef491faa365306fea13b811972ac55b4f61.png", } for name, url in img_urls.items(): dest = f"{IMG_DIR}/{name}.png" if not os.path.exists(dest): urllib.request.urlretrieve(url, dest) print(f"Downloaded {name}") # ── Styles ─────────────────────────────────────────────────────────────────── PAGE_W, PAGE_H = A4 MARGIN = 2*cm doc = SimpleDocTemplate( "/tmp/workspace/rcm-notes/Restrictive_Cardiomyopathy_Notes.pdf", pagesize=A4, leftMargin=MARGIN, rightMargin=MARGIN, topMargin=MARGIN, bottomMargin=MARGIN, title="Restrictive Cardiomyopathy – Study Notes", author="Orris Medical Library" ) styles = getSampleStyleSheet() NAVY = colors.HexColor("#1a3a5c") TEAL = colors.HexColor("#0d7e8a") AMBER = colors.HexColor("#e07b00") LTBLUE = colors.HexColor("#e8f4f8") LTAMB = colors.HexColor("#fff8e6") GREY = colors.HexColor("#f5f5f5") RED = colors.HexColor("#c0392b") title_style = ParagraphStyle("Title2", parent=styles["Title"], fontSize=22, textColor=NAVY, spaceAfter=6, alignment=TA_CENTER, fontName="Helvetica-Bold") subtitle_style = ParagraphStyle("Sub", parent=styles["Normal"], fontSize=10, textColor=TEAL, spaceAfter=12, alignment=TA_CENTER, fontName="Helvetica-Oblique") h1 = ParagraphStyle("H1", parent=styles["Heading1"], fontSize=13, textColor=colors.white, backColor=NAVY, spaceBefore=14, spaceAfter=4, leftIndent=-4, rightIndent=-4, fontName="Helvetica-Bold", borderPad=4) h2 = ParagraphStyle("H2", parent=styles["Heading2"], fontSize=11, textColor=NAVY, spaceBefore=10, spaceAfter=3, fontName="Helvetica-Bold", borderPad=2, borderColor=TEAL, borderWidth=0, leftIndent=0) h3 = ParagraphStyle("H3", parent=styles["Heading3"], fontSize=10, textColor=TEAL, spaceBefore=6, spaceAfter=2, fontName="Helvetica-Bold") body = ParagraphStyle("Body", parent=styles["Normal"], fontSize=9.5, leading=14, spaceAfter=4, fontName="Helvetica") bullet = ParagraphStyle("Bullet", parent=styles["Normal"], fontSize=9.5, leading=14, leftIndent=14, firstLineIndent=-10, spaceAfter=2, fontName="Helvetica", bulletText="•") subbullet = ParagraphStyle("SubBullet", parent=styles["Normal"], fontSize=9, leading=13, leftIndent=28, firstLineIndent=-10, spaceAfter=1, fontName="Helvetica", bulletText="–") note_box = ParagraphStyle("Note", parent=styles["Normal"], fontSize=9, leading=13, leftIndent=8, rightIndent=8, backColor=LTAMB, borderColor=AMBER, borderWidth=1, borderPad=5, spaceAfter=6, fontName="Helvetica-Oblique") caption = ParagraphStyle("Cap", parent=styles["Normal"], fontSize=8, leading=11, textColor=colors.grey, alignment=TA_CENTER, spaceAfter=8, fontName="Helvetica-Oblique") def sec(txt): return Paragraph(f" {txt}", h1) def head(txt): return Paragraph(txt, h2) def sub(txt): return Paragraph(txt, h3) def p(txt): return Paragraph(txt, body) def b(txt): return Paragraph(txt, bullet) def sb(txt): return Paragraph(txt, subbullet) def note(txt): return Paragraph(txt, note_box) def sp(n=4): return Spacer(1, n) def hr(): return HRFlowable(width="100%", thickness=0.5, color=TEAL, spaceAfter=4) # ── Table helper ───────────────────────────────────────────────────────────── def make_table(data, col_widths=None, header=True): t = Table(data, colWidths=col_widths, repeatRows=1 if header else 0) cmds = [ ("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"), ("FONTSIZE", (0,0), (-1,0), 9), ("BACKGROUND",(0,0), (-1,0), NAVY), ("TEXTCOLOR", (0,0), (-1,0), colors.white), ("FONTNAME", (0,1), (-1,-1), "Helvetica"), ("FONTSIZE", (0,1), (-1,-1), 8.5), ("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.white, GREY]), ("GRID", (0,0), (-1,-1), 0.4, colors.lightgrey), ("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(TableStyle(cmds)) return t # ── Image helper ───────────────────────────────────────────────────────────── from reportlab.platypus import Image as RLImage def img(name, width, cap_text): path = f"{IMG_DIR}/{name}.png" im = RLImage(path, width=width, height=None) # height auto return [im, Paragraph(cap_text, caption)] # ── Content ────────────────────────────────────────────────────────────────── story = [] # Title page block story += [ sp(12), Paragraph("Restrictive Cardiomyopathy", title_style), Paragraph("Comprehensive Study Notes", subtitle_style), HRFlowable(width="60%", thickness=2, color=TEAL, spaceAfter=4), Paragraph("Sources: Harrison's 22e · Goldman-Cecil Medicine · Robbins Pathologic Basis of Disease", caption), sp(16), ] # ── SECTION 1: DEFINITION ──────────────────────────────────────────────────── story += [ sec("1 Definition & Overview"), sp(4), p("Restrictive cardiomyopathy (RCM) is characterized by a <b>primary decrease in ventricular compliance</b>, " "resulting in impaired ventricular <b>diastolic filling</b> despite normal (or near-normal) systolic " "function and wall thickness. The fundamental defect is a <b>stiff, noncompliant ventricle</b> that " "resists filling."), sp(4), p("Key pathophysiologic features:"), b("Ejection fraction often mildly decreased (30–50%) but may be near-normal"), b("Both atria markedly dilated — sometimes dwarfing the ventricles"), b("Resting cardiac output maintained until late stage"), b("Exertional intolerance is usually the first symptom"), b("Right-sided symptoms (edema, ascites, abdominal discomfort) often predominate"), sp(4), note("Most RCM is due to acquired causes. Wild-type ATTR amyloidosis is the most prevalent form " "and increases in frequency in older patients."), sp(4), ] # ── SECTION 2: CLASSIFICATION ───────────────────────────────────────────────── story += [ sec("2 Classification & Causes"), sp(4), ] story += img("classification", 16*cm, "Fig 1. Classification of restrictive cardiomyopathies. " "(Goldman-Cecil Medicine, adapted from Ditaranto et al. Front Pediatr. 2022)") story += [sp(4)] # Causes table causes_data = [ ["Category", "Sub-type", "Examples"], ["Genetic\n(Familial)", "Sarcomeric / Cytoskeletal", "TNNI3, MYH7 mutations; DES (desmin) → RCM + skeletal myopathy + conduction disease"], ["", "Storage (within myocytes)", "Fabry disease, Danon disease, PRKAG2 syndrome"], ["", "Other connective tissue", "Pseudoxanthoma elasticum"], ["Acquired\n(Infiltrative)", "Amyloidosis (most common)", "AL amyloid (plasma cells), ATTRv (hereditary), ATTRwt (wild-type, senile)"], ["", "Sarcoidosis", "Non-caseating granulomas, lateral LV wall most common site"], ["Acquired\n(Storage)", "Iron overload", "Hereditary hemochromatosis, Beta-thalassemia, Sickle cell anemia"], ["Acquired\n(Fibrotic)", "Radiation / Drugs", "Chest radiotherapy; doxorubicin, serotonin, ergotamine; scleroderma"], ["Endomyocardial", "Tropical EMF", "Most common RCM worldwide; children/young adults; Africa & tropics"], ["", "Löffler endocarditis", "Hypereosinophilic syndrome; no geographic predilection"], ["", "Carcinoid / Drugs", "Carcinoid syndrome; serotonin; ergotamine"], ["Cancer-related", "", "High-dose anthracyclines, chest radiotherapy"], ] # Convert to Paragraph cells def tc(txt, bold=False): fn = "Helvetica-Bold" if bold else "Helvetica" return Paragraph(f'<font name="{fn}" size="8">{txt}</font>', styles["Normal"]) causes_para = [[tc(c, bold=(r==0)) for c in row] for r, row in enumerate(causes_data)] cw = [3.2*cm, 3.8*cm, 9.5*cm] story.append(make_table(causes_para, col_widths=cw)) story.append(sp(6)) # ── SECTION 3: PATHOPHYSIOLOGY & MORPHOLOGY ────────────────────────────────── story += [ sec("3 Pathophysiology & Morphology"), sp(4), head("Pathophysiology"), b("Abnormal myocardial stiffness → ↑ diastolic pressures → impaired filling → ↓ stroke volume"), b("Systolic function preserved until late in disease"), b("End-diastolic pressures elevated in <b>both</b> ventricles"), b("LV more affected than RV → LVEDP typically ≥5 mmHg > RVEDP (key distinction from constrictive pericarditis)"), sp(4), head("Gross Morphology"), b("Ventricles: approximately <b>normal size</b>; cavities <b>not dilated</b>; myocardium firm"), b("<b>Biatrial dilation</b> — hallmark finding"), b("Thrombus in atrial appendages; patchy endocardial fibrosis"), sp(4), head("Microscopy"), b("Patchy or diffuse <b>interstitial fibrosis</b> (minimal to extensive)"), b("Myocyte disarray in idiopathic RCM"), b("Endomyocardial biopsy can identify specific etiology (amyloid, granulomas, iron deposits)"), sp(4), ] # ── SECTION 4: CLINICAL FEATURES ───────────────────────────────────────────── story += [ sec("4 Clinical Features"), sp(4), head("Symptoms"), b("<b>Exertional dyspnea</b> — usually first symptom (often unrecognized early)"), b("Fatigue, weakness, recurrent respiratory infections"), b("Progressive to: orthopnea, PND, dyspnea at rest"), b("<b>Right-sided</b> symptoms often predominate: peripheral edema, ascites, abdominal discomfort (hepatic engorgement)"), b("Chest pain, palpitations"), b("Rarely: <b>sudden death</b> as initial presentation"), sp(6), head("Physical Signs"), b("<b>Elevated JVP</b> with <b>prominent Y descent</b>"), b("<b>Kussmaul sign</b>: JVP fails to fall (or rises) with inspiration"), b("S4 more common than S3 in sinus rhythm; <b>atrial fibrillation</b> is common"), b("Loud P2 if pulmonary hypertension present"), b("Hepatomegaly, ascites, peripheral edema"), b("Cardiac impulse: less displaced than DCM; less dynamic than HCM"), sp(6), ] # ── SECTION 5: INVESTIGATIONS ──────────────────────────────────────────────── story += [ sec("5 Investigations"), sp(4), head("ECG"), b("No pathognomonic finding"), b("P mitrale, P pulmonale"), b("Nonspecific ST-T changes; ST depression & T-wave inversion (inferolateral)"), b("<b>Low-voltage QRS</b> — characteristic of amyloidosis (thick walls + low voltage = red flag)"), b("Heart block, bundle branch block"), sp(4), head("Echocardiography"), b("Markedly dilated atria with <b>normal-sized ventricles</b>"), b("Pulsed-wave Doppler (mitral inflow): ↑E, ↓A, ↑E/A, shortened deceleration time, shortened IVRT → <b>restrictive filling pattern</b>"), b("Pulmonary/hepatic vein Doppler: higher diastolic than systolic velocities"), b("Tissue Doppler: ↓ e′ (diastolic annular velocities), ↑ E/e′ (elevated LVEDP)"), b("Myocardial granular sparkling texture → suggests amyloidosis"), sp(4), head("Cardiac Catheterization"), b("<b>\"Dip-and-plateau\" / \"Square root sign\"</b>: rapid early diastolic pressure decline → rapid rise to plateau"), b("<b>LVEDP > RVEDP by ≥5 mmHg</b> (key distinguishing feature vs. constrictive pericarditis)"), b("Volume loading and exercise accentuate the LV-RV pressure difference"), sp(4), head("Cardiac MRI"), b("Gold standard for tissue characterization"), b("Late gadolinium enhancement (LGE) patterns help identify specific etiologies"), b("Amyloidosis: diffuse subendocardial LGE; sarcoidosis: patchy mid-myocardial LGE"), sp(4), head("Etiology-Specific Workup"), ] workup_data = [ ["Disease", "Key Investigation(s)"], ["Amyloidosis", "Congo red stain (apple-green birefringence), SPEP/UPEP, technetium pyrophosphate scan (ATTR), TTR genotyping, serum free light chains"], ["Sarcoidosis", "FDG-PET, endomyocardial biopsy (non-caseating granulomas), ACE level, chest CT"], ["Hemochromatosis", "Serum ferritin, transferrin saturation, HFE gene mutation, hepatic iron index"], ["Fabry disease", "α-galactosidase A levels (↓), GLA gene sequencing"], ["Eosinophilic", "Eosinophil count, bone marrow biopsy, PDGFR gene rearrangement"], ] workup_para = [[tc(c, bold=(r==0)) for c in row] for r, row in enumerate(workup_data)] story.append(make_table(workup_para, col_widths=[5*cm, 11.5*cm])) story.append(sp(8)) # ── SECTION 6: RCM vs CP ────────────────────────────────────────────────────── story += [ sec("6 Key Differential: RCM vs. Constrictive Pericarditis"), sp(4), ] diff_data = [ ["Feature", "RCM", "Constrictive Pericarditis"], ["Kussmaul sign", "Present", "Present"], ["Pericardial knock", "Absent", "Present (early S3-like)"], ["Pericardium (CT/MRI)", "Normal", "Thickened (≥4 mm), calcified"], ["LVEDP vs. RVEDP", "LVEDP > RVEDP by ≥5 mmHg", "Equalized (within 5 mmHg)"], ["Ventricular interdependence", "ABSENT — pressures change in parallel", "PRESENT — discordant LV/RV with respiration"], ["E/e′ (Tissue Doppler)", "↑ (reduced myocardial relaxation)", "Normal or ↑ annular velocities"], ["Mitral inflow variation (resp.)", "<10%", ">25%"], ["Hepatic vein Doppler", "Increased inspiratory forward flow", "Expiratory diastolic reversal"], ["Response to fluid", "Worsening pressures", "Equalization maintained"], ["ECG voltage", "Often low (amyloid)", "Normal"], ] diff_para = [[tc(c, bold=(r==0)) for c in row] for r, row in enumerate(diff_data)] story.append(make_table(diff_para, col_widths=[5.2*cm, 5.7*cm, 5.7*cm])) story.append(sp(6)) story += img("hemodynamics", 14*cm, "Fig 2. Simultaneous RV and LV pressure tracings. Top: Constrictive pericarditis — " "enhanced ventricular interdependence (discordant LV/RV pressure areas). " "Bottom: Restrictive cardiomyopathy — parallel LV/RV pressure changes, no ventricular interdependence. " "(Goldman-Cecil Medicine, adapted from Geske et al. JACC 2016)") story.append(sp(8)) # ── SECTION 7: SPECIAL ENTITIES ─────────────────────────────────────────────── story += [ sec("7 Special Entities"), sp(4), head("Endomyocardial Fibrosis (EMF)"), b("<b>Most common RCM worldwide</b>"), b("Predominantly children & young adults in <b>tropical Africa</b> and other tropical regions"), b("Fibrosis of ventricular endocardium from <b>apex upward</b>, often involving tricuspid/mitral valves"), b("Linked to nutritional deficiencies and parasitic infections (hypereosinophilia)"), b("Ventricular mural thrombi common (organized thrombus = much of the fibrosis)"), sp(6), head("Löffler Endocarditis (Hypereosinophilic Syndrome)"), b("Morphologically similar to EMF but <b>no geographic predilection</b>"), b("Peripheral <b>hypereosinophilia</b> + eosinophilic infiltrates in multiple organs"), b("Mechanism: eosinophil <b>major basic protein</b> → endomyocardial necrosis → scarring → thrombus → organization"), b("Stages: Necrotic → Thrombotic → Fibrotic"), b("Some cases: myeloid neoplasm with tyrosine kinase gene rearrangement → responds to <b>imatinib</b>"), sp(6), head("Cardiac Amyloidosis (Most Important Secondary Cause)"), b("Two main types: <b>AL amyloid</b> (light chains from plasma cell dyscrasia) and <b>ATTR</b> (transthyretin)"), sb("ATTRv (hereditary variant): Val122Ile mutation in <b>4% of African Americans</b> → 4× ↑ risk"), sb("ATTRwt (wild-type / 'senile'): normal TTR depositing in elderly"), b("Staining: <b>Congo red → apple-green birefringence</b> under polarized light"), b("EM: non-branching fibrils ~10 nm diameter"), b("ECG: <b>low voltage despite thick walls</b> (classic dissociation — pseudo-LVH)"), b("Endomyocardial biopsy almost always diagnostic"), b("<b>Treatment is type-specific</b> — incorrect typing leads to inappropriate therapy"), sb("AL: plasma cell-directed therapy (daratumumab-based regimens)"), sb("ATTR: tafamidis (stabilizes TTR tetramer), patisiran/vutrisiran (RNAi) for ATTRv"), note("⚠️ Determining the precise amyloid precursor protein is critical before initiating treatment. " "Incorrect typing will lead to inappropriate therapy."), sp(6), head("Endocardial Fibroelastosis"), b("Uncommon; fibroelastic thickening typically involving left-sided chambers"), b("Often presents in infants and young children"), sp(6), ] # ── SECTION 8: MANAGEMENT ──────────────────────────────────────────────────── story += [ sec("8 Management"), sp(4), head("General Principles"), b("Maintain <b>optimal volume status</b>: balance adequate ventricular filling with systemic decongestion"), b("<b>Diuretics</b> are the mainstay for fluid overload"), b("<b>Beta-blockers</b>: use cautiously — reducing HR reduces cardiac output in RCM (stroke volume is relatively fixed)"), b("<b>Vasodilators</b>: generally not well tolerated (preload-dependent state)"), b("HFrEF therapies (ACEi, ARB, ARNI, SGLT2i beyond volume): <b>not recommended</b> for routine use in RCM"), b("Rate control for atrial fibrillation"), b("Anticoagulation: indicated for AF; also in endomyocardial disease with mural thrombi"), sp(6), head("Disease-Specific Therapies"), ] rx_data = [ ["Disease", "Specific Treatment"], ["ATTR amyloidosis (ATTRwt/ATTRv)", "Tafamidis (TTR stabilizer) — reduces mortality & hospitalization; patisiran/vutrisiran (RNAi, for ATTRv)"], ["AL amyloidosis", "Plasma cell-directed chemotherapy; stem cell transplant if eligible"], ["Cardiac sarcoidosis", "Corticosteroids for active inflammation; ICD for ventricular arrhythmias"], ["Hemochromatosis", "Phlebotomy or chelation therapy — reversible if treated early"], ["Fabry disease", "Enzyme replacement therapy (agalsidase alfa/beta)"], ["Hypereosinophilic RCM", "Imatinib if PDGFR rearrangement; corticosteroids otherwise"], ["End-stage RCM", "Cardiac transplantation"], ] rx_para = [[tc(c, bold=(r==0)) for c in row] for r, row in enumerate(rx_data)] story.append(make_table(rx_para, col_widths=[6*cm, 10.5*cm])) story.append(sp(6)) story += [ head("Prognosis"), b("Idiopathic/most secondary RCM: slow, protracted course — survival often <b>>10 years</b> from diagnosis"), b("<b>AL amyloidosis</b>: much more rapid progression, worse prognosis"), b("Heart failure symptoms generally progressive and respond poorly to treatment"), b("Cardiac transplantation considered for eligible patients with refractory disease"), sp(8), ] # ── SECTION 9: QUICK SUMMARY BOX ───────────────────────────────────────────── story += [ sec("9 Quick Summary"), sp(4), ] summary_data = [ ["Parameter", "Restrictive Cardiomyopathy"], ["Core defect", "↓ ventricular compliance → impaired diastolic filling"], ["Systolic function", "Preserved (EF often 30–50%)"], ["Chambers", "Normal ventricles; BIATRIAL DILATION"], ["JVP", "↑ with prominent Y descent; Kussmaul sign"], ["Heart sounds", "S4 > S3; AF common"], ["ECG", "Low voltage (amyloid), nonspecific ST-T changes"], ["Echo Doppler", "Restrictive filling: ↑E/A, ↓DT, ↑E/e′"], ["Cath hallmark", "Dip-and-plateau (square root sign); LVEDP > RVEDP ≥5 mmHg"], ["Most common cause", "ATTRwt amyloidosis (elderly); AL amyloidosis (any age)"], ["Most common RCM worldwide", "Endomyocardial fibrosis (tropical)"], ["Key treatment", "Diuretics (symptom); tafamidis for ATTR amyloid"], ["Main differential", "Constrictive pericarditis (absent ventricular interdependence = RCM)"], ] sum_para = [[tc(c, bold=(r==0 or c==row[0])) for c in row] for r, row in enumerate(summary_data)] story.append(make_table(sum_para, col_widths=[6*cm, 10.5*cm])) story.append(sp(8)) # ── FOOTER NOTE ────────────────────────────────────────────────────────────── story.append(HRFlowable(width="100%", thickness=0.5, color=colors.lightgrey, spaceAfter=4)) story.append(Paragraph( "Sources: Harrison's Principles of Internal Medicine 22e (2025, McGraw Hill) · " "Goldman-Cecil Medicine International Edition · " "Robbins &amp; Kumar Pathologic Basis of Disease · Robbins Basic Pathology", caption )) # ── BUILD ───────────────────────────────────────────────────────────────────── doc.build(story) print("PDF built successfully.") PYEOF python /tmp/workspace/rcm-notes/build_pdf.py

The image is too wide. I need to fix by constraining both width and height explicitly.
Running Command

python3 << 'EOF' from PIL import Image im = Image.open("/tmp/workspace/rcm-notes/imgs/classification.png") print("classification:", im.size) im2 = Image.open("/tmp/workspace/rcm-notes/imgs/hemodynamics.png") print("hemodynamics:", im2.size) EOF

Editing File

~/rcm-notes/build_pdf.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/rcm-notes/build_pdf.py'
Running Command

python /tmp/workspace/rcm-notes/build_pdf.py

Your PDF is ready:

Restrictive Cardiomyopathy Notes

PDF Document · PDF

The PDF includes:
  • 9 sections covering definition, classification, pathophysiology, clinical features, investigations, RCM vs. constrictive pericarditis, special entities (EMF, Löffler, amyloidosis), management, and a quick summary table
  • Both textbook diagrams embedded - the RCM classification flowchart and the LV/RV hemodynamic pressure tracing comparison
  • Comparison tables for causes, differential diagnosis, workup, and treatments
  • Sourced from Harrison's 22e, Goldman-Cecil Medicine, and Robbins Pathologic Basis of Disease
This is a shared conversation. Sign in to Orris to start your own chat.