ehler danlos syndromee

Reading File
Finding Sources
Searching PubMed

"Ehlers-Danlos syndrome"[MeSH Terms]

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
Loading Image
I now have all the material needed for a thorough answer. Here it is:

Ehlers-Danlos Syndromes (EDS)

EDS is a group of genetically distinct connective tissue disorders characterized by defects in collagen synthesis or structure, resulting in skin fragility, joint hypermobility, and potential organ complications. The 2017 reclassification recognizes 13 subtypes.
  • Prevalence: ~1 in 5,000 births overall
  • Classical EDS: 1 in 10,000-20,000 newborns
  • Vascular EDS: ~1 in 50,000-200,000 (rarest, most dangerous)

Pathophysiology

All EDS subtypes converge on a final common pathway: defective collagen. Different mutations affect different collagen types:
MechanismSubtypeGeneInheritance
Deficient type V collagenClassical EDSCOL5A1, COL5A2Autosomal dominant (AD)
Deficient type III collagenVascular EDSCOL3A1AD
Deficient lysyl hydroxylase (impaired collagen crosslinks)Kyphoscoliotic EDSPLOD1Autosomal recessive (AR)
Type I collagen defectArthrochalasia EDSCOL1A1, COL1A2AD
Tenascin-X deficiencyClassical-like EDSTNXBAR
Approximately 30 types of collagen exist; mutations in the genes encoding them explain much of the clinical heterogeneity across subtypes. Because the abnormal collagen fibers lack adequate tensile strength, all collagen-rich tissues are affected - skin, ligaments, joints, blood vessels, and hollow organs.

The 13 Subtypes (2017 Classification)

  1. Classical (cEDS) - COL5A1/COL5A2; hyperextensible fragile skin, atrophic scarring, joint hypermobility
  2. Classical-like - TNXB; similar to classical but without atrophic scars
  3. Cardiac-valvular - COL1A2; severe mitral/aortic valve disease
  4. Vascular (vEDS) - COL3A1; arterial/organ rupture risk
  5. Hypermobile (hEDS) - unknown gene; most common, joint hypermobility dominant
  6. Arthrochalasia - COL1A1/COL1A2; congenital hip dislocation
  7. Dermatosparaxis - ADAMTS2; extreme skin fragility, sagging redundant skin
  8. Kyphoscoliotic - PLOD1; congenital scoliosis, ocular fragility
  9. Brittle Cornea Syndrome - ZNF469, PRDM5
  10. Spondylodysplastic - B4GALT7, B3GALT6
  11. Musculocontractural - CHST14, DSE
  12. Myopathic - COL12A1
  13. Periodontal - C1R, C1S

Clinical Features

Cardinal triad (common to most variants):

1. Skin Findings

Skin hyperextensibility in EDS - stretching the dorsal hand skin
Marked skin hyperextensibility - the skin stretches dramatically but recoils to normal position (unlike cutis laxa). Skin can be stretched >1.5 cm on the distal forearm and >3 cm at the neck/elbow/knees.
  • Soft, velvety, "doughy" texture
  • Easy bruising, with normal platelet function and coagulation tests (reflects structural weakness, not coagulopathy)
  • Fragility with wound healing complications - gaping defects from minor injuries, thin atrophic "cigarette paper" scars
  • Molluscoid pseudotumors over pressure points

2. Joint Hypermobility

Hyperextensible joints in EDS - fingers in extreme hyperextension
Joint hyperextensibility - the "virtuosity" of extreme ranges of motion, as seen in contortionists, often represents a mild EDS variant.
  • Joints bend far beyond normal range (e.g., thumb can touch the forearm, knee flexion approaching a right angle)
  • Recurrent joint dislocations
  • Chronic musculoskeletal pain
  • Increased proprioceptive dysfunction

3. Structural Failure of Internal Organs

The most serious complications depend on subtype:
  • Arterial rupture (vascular EDS) - spontaneous rupture of medium/large vessels, including the aorta
  • Colon/uterine rupture (vascular EDS)
  • Ocular fragility - corneal rupture, retinal detachment (kyphoscoliotic EDS)
  • Diaphragmatic hernia (classical EDS)
  • Aortic root dilation / mitral valve prolapse (various subtypes)

Vascular EDS - The Most Dangerous Subtype

Caused by dominant-negative mutations in COL3A1 (over 320 mutations described, typically exon-skipping or missense). Type III collagen is a homotrimer, so even one mutant chain disrupts most fibrils - leading to:
  • Reduced type III collagen in dermis, vessels, and viscera
  • Intracellular accumulation of misfolded procollagen
  • Weakness of blood vessel walls and hollow organs
Clinical hallmarks: thin translucent skin with visible veins, characteristic facial features (thin nose, small ears, sunken cheeks), acrogeria (premature aging of hands/feet), and a high lifetime risk of arterial or organ rupture.

Diagnosis

  • Clinical criteria (Beighton score for joint hypermobility + skin + scarring findings)
  • Skin hyperextensibility assessment: skin stretched at the volar forearm - positive if >1.5 cm on forearms/dorsal hands or >3 cm at neck/elbows/knees
  • Electron microscopy of skin biopsy: abnormal collagen fibril morphology (routine histopathology is typically normal)
  • Genetic testing: next-generation sequencing (NGS) panels are now preferred - parallel sequencing of all known EDS genes; whole-exome sequencing if no mutation found
  • Biochemical tests: type III procollagen analysis for vascular EDS
  • Coagulation tests are normal (helping distinguish bruising from coagulopathy)

Management

There is no cure - management is supportive and preventive:
AreaApproach
Joint protectionPhysical therapy, low-impact exercise, bracing; avoid high-impact/contact sports
Wound careCareful surgical technique, deep sutures, prolonged closure; warn surgeons before any procedure
Vascular EDSRegular imaging (CT/MRI) of aorta and major vessels; avoid invasive procedures where possible; beta-blockers (celiprolol has RCT evidence for vascular EDS specifically)
PainMultidisciplinary pain management
CardiacEchocardiography for valve and aortic root assessment
PregnancyHigh-risk obstetric care; vascular EDS carries significant maternal mortality risk
Genetics referralCascade testing of first-degree relatives

Key Distinctions from Similar Conditions

FeatureEDSMarfan SyndromeCutis Laxa
Skin recoil after stretchingYes (snaps back)YesNo (hangs loosely)
GeneCOL5A1 / COL3A1 etc.FBN1 (fibrillin-1)ELN, FBLN5 etc.
Tall stature/arachnodactylyNoYesNo
Coagulation testsNormalNormalNormal
Ocular lens dislocationOccasionalYes (upward)No

Recent Evidence (2024-2026)

  • A 2025 systematic review and meta-analysis (PMID: 40542421) quantified vascular complication prevalence in EDS.
  • A 2025 meta-analysis (PMID: 40145613) found significantly elevated autism prevalence in patients with hypermobile EDS and joint hypermobility spectrum disorders.
  • A 2024 systematic review (PMID: 38926786) documented the serious risks of vascular EDS in pregnancy, including maternal mortality.

Sources: Robbins & Kumar Basic Pathology; Andrews' Diseases of the Skin; Fitzpatrick's Dermatology (Vol. 1-2); Bradley and Daroff's Neurology in Clinical Practice; Goldman-Cecil Medicine.

give me one liner for derma exam of thus topic mcq point of view

EDS - High-Yield MCQ One-Liners (Dermatology Exam)


Classification & Genetics
  • EDS has 13 subtypes (2017 reclassification)
  • Most common inheritance = Autosomal Dominant (classical & hypermobile types)
  • Classical EDS → defect in Type V collagen (COL5A1/COL5A2)
  • Vascular EDS → defect in Type III collagen (COL3A1)
  • Kyphoscoliotic EDS → deficient lysyl hydroxylase (AR inheritance - only major AR subtype in common lists)
  • Dermatosparaxis EDS → deficient ADAMTS2 (procollagen N-peptidase)
  • Classical-like EDS → deficient tenascin-X (TNXB gene, AR)

Skin Signs
  • Skin hyperextensibility is positive if >1.5 cm on volar forearm / dorsal hand
  • After stretching, skin snaps back (differentiates from cutis laxa where skin hangs loosely)
  • Classical EDS skin = soft, velvety, doughy with easy bruising
  • Wounds heal as thin, atrophic, "cigarette paper" scars - pathognomonic
  • Subcutaneous nodules over pressure points = molluscoid pseudotumors
  • Routine skin biopsy histology = normal (need EM to see abnormal collagen fibrils)

Bleeding & Labs
  • Bruising is common but platelet function and coagulation tests are NORMAL (structural weakness, not coagulopathy) - classic MCQ trap

Dangerous Complications by Subtype
  • Vascular EDS → spontaneous arterial/colon/uterine rupture (most lethal subtype)
  • Kyphoscoliotic EDScorneal rupture + retinal detachment (ocular fragility)
  • Classical EDSdiaphragmatic hernia
  • Cardiac-valvular EDS → severe mitral + aortic valve disease

Joints
  • Joint hypermobility = Beighton score used for assessment
  • Most common consequence of joint laxity = recurrent dislocations
  • "Most contortionists have a form of EDS" - classic exam statement

Epidemiology
  • Overall prevalence = 1 in 5,000 births
  • Vascular EDS = 1 in 50,000-200,000 (rarest common subtype)
  • Hypermobile EDS = most common subtype overall (gene unknown)

Key Differentials (MCQ traps)
  • EDS vs Cutis Laxa → EDS skin recoils; cutis laxa skin hangs
  • EDS vs Marfan → Marfan has tall stature + upward lens dislocation + FBN1 mutation; EDS does not
  • EDS bruising vs coagulopathy → normal PT/aPTT/platelets in EDS

Diagnosis
  • Genetic workup of choice = next-generation sequencing (NGS) panel
  • Vascular EDS confirmed by = COL3A1 mutation testing / type III procollagen analysis

Create a quick-reference MCQ flashcard PDF for EDS subtypes

Reading File
Running Command

ls -la /home/daytona/workspace/

Running Command

mkdir -p /home/daytona/workspace/eds-flashcards

Writing File

~/eds-flashcards/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak

OUTPUT = "/home/daytona/workspace/eds-flashcards/EDS_MCQ_Flashcards.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
NAVY    = colors.HexColor("#1A2B5F")
TEAL    = colors.HexColor("#0E7B74")
AMBER   = colors.HexColor("#E8A317")
CREAM   = colors.HexColor("#FDF8EF")
RED     = colors.HexColor("#C0392B")
LTGRAY  = colors.HexColor("#F4F4F4")
MIDGRAY = colors.HexColor("#D5D5D5")
WHITE   = colors.white

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=1.5*cm, rightMargin=1.5*cm,
    topMargin=1.8*cm,  bottomMargin=1.8*cm,
)

styles = getSampleStyleSheet()

# Custom paragraph styles
def S(name, parent="Normal", **kw):
    s = ParagraphStyle(name, parent=styles[parent], **kw)
    return s

title_style   = S("Title2",   fontSize=22, textColor=WHITE,   alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=4)
sub_style     = S("Sub",      fontSize=11, textColor=CREAM,   alignment=TA_CENTER, fontName="Helvetica",      spaceAfter=2)
section_style = S("SecHead",  fontSize=13, textColor=WHITE,   alignment=TA_LEFT,   fontName="Helvetica-Bold", spaceAfter=2, spaceBefore=2)
q_style       = S("Q",        fontSize=10, textColor=NAVY,    fontName="Helvetica-Bold", spaceAfter=3, leftIndent=4)
ans_style     = S("Ans",      fontSize=10, textColor=TEAL,    fontName="Helvetica-Bold", spaceAfter=2, leftIndent=4)
detail_style  = S("Detail",   fontSize=9,  textColor=colors.HexColor("#333333"), fontName="Helvetica", spaceAfter=1, leftIndent=12)
warn_style    = S("Warn",     fontSize=9,  textColor=RED,     fontName="Helvetica-Bold", spaceAfter=1, leftIndent=12)
note_style    = S("Note",     fontSize=8,  textColor=colors.HexColor("#555555"), fontName="Helvetica-Oblique", spaceAfter=1, leftIndent=12)
footer_style  = S("Footer",   fontSize=7,  textColor=colors.HexColor("#888888"), alignment=TA_CENTER)

def section_banner(text, color=NAVY):
    """Coloured banner row acting as section header."""
    t = Table([[Paragraph(text, section_style)]], colWidths=[17.5*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return t

def flashcard(q_num, question, answer, details=None, warning=None, note=None, bg=LTGRAY):
    """Single flashcard block."""
    rows = [
        [Paragraph(f"Q{q_num}.  {question}", q_style)],
        [Paragraph(f"✔  {answer}", ans_style)],
    ]
    if details:
        for d in details:
            rows.append([Paragraph(f"• {d}", detail_style)])
    if warning:
        rows.append([Paragraph(f"⚠  {warning}", warn_style)])
    if note:
        rows.append([Paragraph(f"★  {note}", note_style)])

    t = Table(rows, colWidths=[17.5*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), bg),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("LINEBELOW",     (0,-1), (-1,-1), 0.5, MIDGRAY),
        ("ROWBACKGROUNDS",(0,0), (-1,-1), [bg]),
    ]))
    return KeepTogether([t, Spacer(1, 4)])

def subtype_table(data, headers):
    """Coloured reference table."""
    col_w = [17.5/len(headers)*cm] * len(headers)
    table_data = [headers] + data
    t = Table(table_data, colWidths=col_w, repeatRows=1)
    style = TableStyle([
        ("BACKGROUND",    (0,0), (-1,0),  NAVY),
        ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
        ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
        ("FONTSIZE",      (0,0), (-1,-1), 8),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LTGRAY]),
        ("GRID",          (0,0), (-1,-1), 0.4, MIDGRAY),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
        ("WORDWRAP",      (0,0), (-1,-1), True),
    ])
    t.setStyle(style)
    return t


# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
story = []

# ── Cover banner ─────────────────────────────────────────────────────────────
cover = Table(
    [[Paragraph("EHLERS-DANLOS SYNDROMES", title_style)],
     [Paragraph("Quick-Reference MCQ Flashcards  |  Dermatology Board Exam", sub_style)],
     [Paragraph("2017 International Classification  •  High-Yield Points", sub_style)]],
    colWidths=[17.5*cm]
)
cover.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), 12),
    ("ROUNDEDCORNERS",[6]),
]))
story.append(cover)
story.append(Spacer(1, 0.4*cm))

# ── SECTION 1: Classification & Genetics ─────────────────────────────────────
story.append(section_banner("SECTION 1 — Classification & Genetics"))
story.append(Spacer(1, 0.2*cm))

cards_s1 = [
    (1,  "How many subtypes does EDS have (2017 classification)?",
         "13 subtypes",
         ["Previous classification had 6 types (Roman numerals I-VI)",
          "2017 reclassification by Malfait et al. is the current standard"],
         None,
         "Combined incidence ~1 in 5,000 births"),

    (2,  "Which collagen is defective in Classical EDS?",
         "Type V collagen — COL5A1 / COL5A2 genes",
         ["Inheritance: Autosomal Dominant",
          "Most common identifiable gene defect in EDS"],
         None,
         "Type V collagen regulates fibril diameter"),

    (3,  "Which collagen is defective in Vascular EDS?",
         "Type III collagen — COL3A1 gene",
         ["Inheritance: Autosomal Dominant",
          "COL3A1 = homotrimer; one mutant chain disrupts most fibrils",
          ">320 different mutations described (missense / exon-skipping)"],
         "Most LETHAL subtype — risk of spontaneous arterial/organ rupture",
         "Incidence: 1 in 50,000–200,000"),

    (4,  "Which enzyme is deficient in Kyphoscoliotic EDS?",
         "Lysyl hydroxylase (PLOD1 gene)",
         ["Reduced hydroxylation of lysyl residues in types I & III collagen",
          "Interferes with collagen crosslink formation",
          "Inheritance: Autosomal Recessive"],
         None,
         "Only common EDS subtype that is AR due to enzyme deficiency"),

    (5,  "Which EDS subtype is caused by ADAMTS2 mutation?",
         "Dermatosparaxis EDS",
         ["ADAMTS2 = procollagen N-peptidase",
          "Leads to extreme skin fragility and sagging/redundant skin",
          "Inheritance: Autosomal Recessive"],
         None,
         "Dermatosparaxis = 'tearing of skin' in Greek"),

    (6,  "Which EDS subtype has an UNKNOWN causative gene?",
         "Hypermobile EDS (hEDS)",
         ["Most common EDS subtype overall",
          "Diagnosis is purely clinical — no genetic test available",
          "~5% show TNXB heterozygous mutations (intermediate phenotype)"],
         None,
         "Hypermobility + musculoskeletal pain + autonomic features"),

    (7,  "Classical-like EDS is caused by deficiency of which protein?",
         "Tenascin-X (TNXB gene)",
         ["Inheritance: Autosomal Recessive",
          "Phenotype similar to classical EDS but WITHOUT atrophic scars",
          "TNXB is located near CYP21A2 (congenital adrenal hyperplasia gene)"],
         None,
         "Micro-deletions affecting both TNXB + CYP21A2 reported"),

    (8,  "Which EDS subtype is associated with severe mitral AND aortic valve disease?",
         "Cardiac-Valvular EDS",
         ["Gene: COL1A2 (type I collagen)",
          "Inheritance: Autosomal Recessive",
          "Progressive valvular insufficiency is the hallmark"],
         None,
         None),
]

for c in cards_s1:
    story.append(flashcard(*c))

story.append(Spacer(1, 0.3*cm))

# ── Subtype quick-reference table ────────────────────────────────────────────
story.append(section_banner("QUICK-REFERENCE TABLE — EDS Subtypes (Key MCQ Points)", color=TEAL))
story.append(Spacer(1, 0.2*cm))

headers = [
    Paragraph("<b>Subtype</b>", ParagraphStyle("th", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
    Paragraph("<b>Gene / Protein</b>", ParagraphStyle("th", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
    Paragraph("<b>Inheritance</b>", ParagraphStyle("th", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
    Paragraph("<b>Key Feature / MCQ Hook</b>", ParagraphStyle("th", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
]

cell = lambda txt, bold=False: Paragraph(txt, ParagraphStyle("cell", fontSize=8,
    fontName="Helvetica-Bold" if bold else "Helvetica", leading=10))

table_data = [
    [cell("Classical",True),          cell("COL5A1/COL5A2\n(Type V collagen)"), cell("AD"), cell("Skin hyperextensibility + atrophic 'cigarette paper' scars")],
    [cell("Classical-like",True),     cell("TNXB\n(Tenascin-X)"),              cell("AR"), cell("Like classical but NO atrophic scars")],
    [cell("Cardiac-Valvular",True),   cell("COL1A2\n(Type I collagen)"),        cell("AR"), cell("Severe mitral + aortic valve disease")],
    [cell("Vascular",True),           cell("COL3A1\n(Type III collagen)"),      cell("AD"), cell("Arterial / colon / uterine rupture — MOST LETHAL")],
    [cell("Hypermobile",True),        cell("Unknown"),                           cell("AD"), cell("Most COMMON; joint hypermobility dominant; no gene test")],
    [cell("Arthrochalasia",True),     cell("COL1A1/COL1A2\n(Type I collagen)"), cell("AD"), cell("Congenital bilateral hip dislocation at birth")],
    [cell("Dermatosparaxis",True),    cell("ADAMTS2\n(procollagen N-peptidase)"),cell("AR"), cell("Extreme skin fragility; sagging redundant skin")],
    [cell("Kyphoscoliotic",True),     cell("PLOD1\n(Lysyl hydroxylase)"),        cell("AR"), cell("Congenital scoliosis + ocular fragility (corneal rupture)")],
    [cell("Brittle Cornea",True),     cell("ZNF469 / PRDM5"),                   cell("AR"), cell("Corneal rupture; keratoconus")],
    [cell("Spondylodysplastic",True), cell("B4GALT7 / B3GALT6"),               cell("AR"), cell("Short stature + skeletal dysplasia")],
    [cell("Musculocontractural",True),cell("CHST14 / DSE"),                    cell("AR"), cell("Multiple congenital contractures + characteristic facies")],
    [cell("Myopathic",True),          cell("COL12A1\n(Type XII collagen)"),      cell("AD/AR"), cell("Congenital hypotonia + muscle atrophy")],
    [cell("Periodontal",True),        cell("C1R / C1S\n(Complement proteins)"), cell("AD"), cell("Severe early-onset periodontitis + pretibial plaques")],
]

story.append(subtype_table(table_data, headers))
story.append(Spacer(1, 0.4*cm))
story.append(PageBreak())

# ── SECTION 2: Skin Signs ─────────────────────────────────────────────────────
story.append(section_banner("SECTION 2 — Skin Signs & Examination"))
story.append(Spacer(1, 0.2*cm))

cards_s2 = [
    (9,  "What is the cutoff for positive skin hyperextensibility on volar forearm?",
         ">1.5 cm on distal forearm / dorsal hands",
         [">3 cm at neck, elbow, or knees is also positive",
          "Assessed using Remvig et al. criteria",
          "Pull skin at non-scarred, non-force-bearing site until resistance"],
         None,
         "Skin recoils to normal after release — differentiates from cutis laxa"),

    (10, "What type of scar is pathognomonic for Classical EDS?",
         "Thin, atrophic, 'cigarette paper' / 'papyraceous' scars",
         ["Wounds gape easily, heal poorly",
          "Minor injuries cause disproportionately large gaping defects",
          "Surgical repair is extremely difficult due to poor tensile strength"],
         None,
         None),

    (11, "What are molluscoid pseudotumors in EDS?",
         "Soft, fibrous subcutaneous nodules over pressure points (e.g., elbows, knees)",
         ["Consist of fibrous tissue + fat",
          "Can calcify over time",
          "Seen in Classical EDS"],
         None,
         "Also called 'spheroids' when calcified"),

    (12, "What does routine skin biopsy show in EDS?",
         "NORMAL histopathology on light microscopy",
         ["Electron microscopy (EM) is needed to demonstrate abnormal collagen fibrils",
          "EM shows irregular fibril size, 'cauliflower' fibrils in some subtypes"],
         None,
         "Classic MCQ trap: normal biopsy does NOT rule out EDS"),

    (13, "What skin texture is classically described in Classical EDS?",
         "Soft, velvety, doughy skin",
         ["Skin is hyperextensible but NOT lax at rest",
          "Contrast with cutis laxa: skin hangs loosely even at rest"],
         None,
         None),

    (14, "What skin finding is characteristic of Vascular EDS?",
         "Thin, translucent skin with visible subcutaneous veins",
         ["Acrogeria: premature aged appearance of hands/feet",
          "Characteristic facial features: thin nose, small ears, sunken cheeks",
          "Minimal joint hypermobility (unlike other subtypes)"],
         "Skin fragility WITHOUT the hyperextensibility typical of other subtypes",
         None),
]

for c in cards_s2:
    story.append(flashcard(*c))

story.append(Spacer(1, 0.3*cm))

# ── SECTION 3: Labs & Diagnosis ──────────────────────────────────────────────
story.append(section_banner("SECTION 3 — Labs, Diagnosis & Investigations"))
story.append(Spacer(1, 0.2*cm))

cards_s3 = [
    (15, "What do platelet function and coagulation tests show in EDS?",
         "NORMAL — PT, aPTT, platelets are all normal",
         ["Bruising results from structural weakness of vessel walls",
          "NOT a coagulopathy"],
         "High-yield MCQ trap: easy bruising + normal coagulation = EDS",
         None),

    (16, "What scoring system is used to assess joint hypermobility in EDS?",
         "Beighton Score (maximum 9 points)",
         ["5 maneuvers: little finger extension, thumb to forearm,",
          "elbow hyperextension, knee hyperextension, palms flat on floor",
          "Score ≥5/9 in adults = generalised joint hypermobility"],
         None,
         "Beighton score alone is NOT diagnostic — must combine with clinical criteria"),

    (17, "What is the preferred genetic investigation for EDS workup?",
         "Next-generation sequencing (NGS) panel of known EDS genes",
         ["Tests multiple EDS-causing genes simultaneously",
          "If negative: copy number variant (CNV) analysis or whole-exome sequencing",
          "Genetic diagnosis not possible for hEDS (no gene identified)"],
         None,
         None),

    (18, "How is Vascular EDS confirmed biochemically?",
         "Type III procollagen analysis from cultured fibroblasts + COL3A1 mutation testing",
         ["Cultured fibroblasts show reduced type III collagen production",
          "Direct COL3A1 sequencing detects >95% of mutations",
          "Exon-skipping and missense mutations most common"],
         None,
         None),

    (19, "Which EDS subtype can be diagnosed by measuring urinary hydroxylysine?",
         "Kyphoscoliotic EDS — reduced urinary hydroxylysine:lysine ratio",
         ["Due to deficient lysyl hydroxylase (PLOD1)",
          "This biochemical test can screen before genetic confirmation"],
         None,
         "Neonatal hypotonia + scoliosis + ocular fragility → check urine"),
]

for c in cards_s3:
    story.append(flashcard(*c))

story.append(Spacer(1, 0.3*cm))

# ── SECTION 4: Complications ──────────────────────────────────────────────────
story.append(section_banner("SECTION 4 — Complications by Subtype"))
story.append(Spacer(1, 0.2*cm))

cards_s4 = [
    (20, "Which EDS subtype causes arterial rupture, colon perforation, uterine rupture?",
         "Vascular EDS (COL3A1 mutation)",
         ["Spontaneous rupture without preceding trauma",
          "Medium and large vessels most affected",
          "Median survival historically ~50 years"],
         "Most common cause of death in EDS overall",
         "Avoid invasive procedures; imaging surveillance of aorta essential"),

    (21, "Which EDS subtype causes corneal rupture and retinal detachment?",
         "Kyphoscoliotic EDS (lysyl hydroxylase deficiency)",
         ["Ocular fragility is a hallmark feature",
          "Also: congenital scoliosis, muscle hypotonia",
          "Inheritance: AR"],
         None,
         None),

    (22, "Which EDS subtype presents with congenital bilateral hip dislocation?",
         "Arthrochalasia EDS (COL1A1 or COL1A2 mutation)",
         ["Congenital hip dislocation is the hallmark",
          "Severe generalized joint hypermobility",
          "Inheritance: AD"],
         None,
         None),

    (23, "Which EDS subtype causes severe periodontitis and pretibial plaques?",
         "Periodontal EDS (C1R / C1S mutations)",
         ["Complement pathway proteins C1r and C1s affected",
          "Early-onset severe gingival/periodontal destruction",
          "Pretibial hemosiderin plaques are characteristic",
          "Inheritance: AD"],
         None,
         None),

    (24, "Diaphragmatic hernia is a known complication of which EDS subtype?",
         "Classical EDS",
         ["Type V collagen defect weakens connective tissue of diaphragm",
          "May present in neonates as respiratory distress"],
         None,
         None),
]

for c in cards_s4:
    story.append(flashcard(*c))

story.append(Spacer(1, 0.3*cm))
story.append(PageBreak())

# ── SECTION 5: Differentials & Traps ─────────────────────────────────────────
story.append(section_banner("SECTION 5 — Key Differentials & MCQ Traps"))
story.append(Spacer(1, 0.2*cm))

cards_s5 = [
    (25, "How does EDS skin differ from cutis laxa on examination?",
         "EDS: skin snaps back after stretching. Cutis laxa: skin hangs loosely.",
         ["Cutis laxa = elastin defect (ELN, FBLN5 genes)",
          "Cutis laxa: skin sags at rest, aged appearance",
          "EDS: skin elastic, recoils normally at rest"],
         None,
         "Mnemonic: EDS = Elastic snap. Cutis Laxa = Loose/Lax and hangs"),

    (26, "How do you differentiate EDS from Marfan syndrome?",
         "Marfan: FBN1 (fibrillin-1), tall stature, UPWARD lens dislocation, no skin hyperextensibility",
         ["EDS: collagen gene, normal height, normal lens",
          "Marfan: arachnodactyly, dolichocephaly, high-arched palate",
          "Both can have aortic root dilation and joint laxity"],
         None,
         "Ectopia lentis in Marfan = upward; in homocystinuria = downward"),

    (27, "A patient has easy bruising but normal PT, aPTT, and platelet count. Diagnosis?",
         "Ehlers-Danlos Syndrome (structural vessel wall weakness)",
         ["Rule out: von Willebrand disease (platelet function analyzer may be abnormal)",
          "Rule out: Scurvy (perifollicular hemorrhage, corkscrew hairs)",
          "Senile purpura: elderly, dorsal forearms"],
         None,
         "EDS bruising = structural, not hemostatic"),

    (28, "Which EDS subtype has the UNKNOWN gene but is the MOST COMMON?",
         "Hypermobile EDS (hEDS)",
         ["No confirmed causative gene",
          "Diagnosis by clinical criteria only (2017 nosology)",
          "Associated with dysautonomia, chronic pain, POTS"],
         None,
         "hEDS ≠ Joint Hypermobility Syndrome (JHS) — they overlap but differ"),

    (29, "Celiprolol (beta-blocker) has RCT evidence in which EDS subtype?",
         "Vascular EDS — reduces rate of arterial complications",
         ["Celiprolol is a selective beta-1 blocker with beta-2 agonist properties",
          "Reduces shear stress on vessel walls",
          "One RCT (Ong et al.) showed 36% vs 50% event rate"],
         None,
         "Celiprolol specific to vascular EDS; not indicated for other subtypes"),

    (30, "Most contortionists are said to have which condition?",
         "A mild form of EDS (joint hypermobility)",
         ["Hypermobile joints allow extreme ranges of motion",
          "Joint dislocation is the 'price paid' for virtuosity (Robbins)",
          "Beighton score would be very high in these individuals"],
         None,
         "Classic Robbins exam statement"),
]

for c in cards_s5:
    story.append(flashcard(*c))

story.append(Spacer(1, 0.3*cm))

# ── SECTION 6: Management One-Liners ─────────────────────────────────────────
story.append(section_banner("SECTION 6 — Management High-Yield Points"))
story.append(Spacer(1, 0.2*cm))

mgmt_data = [
    ["Vascular EDS surveillance", "Regular CT/MRI of aorta and major vessels annually"],
    ["Drug therapy — Vascular EDS", "Celiprolol (RCT evidence); avoid invasive procedures"],
    ["Wound management", "Deep sutures + prolonged wound closure; warn all surgeons"],
    ["Joint protection", "Physiotherapy, low-impact exercise, bracing; avoid contact sports"],
    ["Cardiac workup", "Echocardiography for aortic root dilation + valve assessment"],
    ["Pregnancy in vascular EDS", "High-risk OB; significant maternal mortality risk"],
    ["Genetics", "Cascade testing of first-degree relatives after diagnosis"],
    ["Kyphoscoliotic EDS — Vitamin C", "High-dose Vitamin C may partially support hydroxylation"],
    ["No curative treatment", "All EDS management is SYMPTOMATIC and PREVENTIVE"],
]

mgmt_headers = [
    Paragraph("<b>Area</b>", ParagraphStyle("th2", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
    Paragraph("<b>Key Point</b>", ParagraphStyle("th2", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold")),
]
mgmt_cells = [[cell(r[0], bold=True), cell(r[1])] for r in mgmt_data]
t = Table([mgmt_headers] + mgmt_cells, colWidths=[5*cm, 12.5*cm], repeatRows=1)
t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  NAVY),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTSIZE",      (0,0), (-1,-1), 8),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, LTGRAY]),
    ("GRID",          (0,0), (-1,-1), 0.4, MIDGRAY),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story.append(t)
story.append(Spacer(1, 0.5*cm))

# ── Footer strip ──────────────────────────────────────────────────────────────
footer_banner = Table(
    [[Paragraph("Sources: Robbins & Kumar Basic Pathology • Andrews' Diseases of the Skin • Fitzpatrick's Dermatology • Goldman-Cecil Medicine  |  Classification: Malfait et al. 2017", footer_style)]],
    colWidths=[17.5*cm]
)
footer_banner.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), colors.HexColor("#EBEBEB")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
]))
story.append(footer_banner)

# ── Build ──────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /home/daytona/workspace/eds-flashcards && python generate_pdf.py

Running Command

ls -lh /home/daytona/workspace/eds-flashcards/EDS_MCQ_Flashcards.pdf

Your PDF is ready! Download it here:

EDS MCQ Flashcards

PDF Document · PDF


Here's what's inside (3 pages, 30 questions across 6 sections):
SectionContent
Section 1Classification & Genetics (Q1-8) — all 13 subtypes, genes, inheritance
Quick-Reference TableFull 13-subtype colour-coded table with gene, inheritance, and MCQ hook per row
Section 2Skin Signs & Examination (Q9-14) — hyperextensibility criteria, scars, biopsy findings
Section 3Labs, Diagnosis & Investigations (Q15-19) — Beighton score, NGS, biochemical tests
Section 4Complications by Subtype (Q20-24) — arterial rupture, corneal rupture, hip dislocation
Section 5Key Differentials & MCQ Traps (Q25-30) — EDS vs cutis laxa, Marfan, bruising traps
Section 6Management High-Yield Points — celiprolol, surveillance, wound care
Each card shows the question, answer in teal, bullet details, and a warning flag where there's a common exam trap.
This is a shared conversation. Sign in to Orris to start your own chat.