Osteoarthritis

Reading File
Finding Sources
Searching PubMed

"osteoarthritis"[MeSH Terms] AND "treatment"[MeSH Terms]

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
Reading File
Loading Image
Reading File
Reading File
I now have excellent comprehensive content from multiple authoritative sources. Let me compile the full answer.

Osteoarthritis (OA)

Definition

Osteoarthritis is characterized by failed repair of synovial joint tissues after intra-articular stress. The resulting breakdown of cartilage and bone leads to pain, stiffness, and functional disability. It is also called degenerative joint disease - primarily a degenerative disorder of articular cartilage, with inflammation acting as a secondary contributor rather than the primary driver.
  • Goldman-Cecil Medicine, p. 2765
  • Robbins & Kumar Basic Pathology, p. 790

Epidemiology

  • Affects more than 500 million people worldwide; the most common disease of joints
  • Women are disproportionately affected
  • Prevalence increases exponentially after age 50; ~40% of people older than 70 are affected
  • The lifetime risk of symptomatic knee OA is ~40% in men and ~47% in women, rising to 60% in those above a healthy weight
  • Knee OA accounts for approximately 85% of the total OA burden
  • An estimated 25% of the total U.S. adult population will have physician-diagnosed OA by 2040
  • 80% of affected individuals suffer limitations in movement; 25% have difficulty with major activities of daily living
  • Goldman-Cecil Medicine, pp. 2765-2766

Classification

TypeFeatures
Primary (Idiopathic)No identifiable cause; appears insidiously with aging; oligoarticular, affecting weight-bearing joints
Secondary~5% of cases; younger individuals with predisposing conditions (joint deformity, prior injury, diabetes, obesity)

Pathogenesis

OA Pathogenesis Diagram showing three stages: Chondrocyte Injury, Early OA, and Late OA
Fig. 19.31 - Schematic view of OA progression from Robbins & Kumar Basic Pathology
OA results from a dynamic imbalance between repair and destruction of joint tissues. Multiple pathways are involved:
1. Chondrocyte Injury (Initiation)
  • Biomechanical stress is the principal mechanism, compounded by genetic predisposition
  • Key susceptibility genes include GDF5 (chromosome 20 - involved in chondrogenesis), RUNX2, SMAD3, PTHLH - all important in skeletal/bone development
  • A GWAS of >800,000 samples identified 52+ OA risk loci, demonstrating that different genetic variants associate with different joint sites
2. Early OA (Matrix Degradation)
  • Injured chondrocytes proliferate and secrete matrix metalloproteinases (MMPs) that degrade the Type II collagen network
  • Water content in matrix increases; proteoglycan concentration decreases
  • Cytokines released from chondrocytes, synovial cells, and macrophages: TGF-β (induces MMPs), IL-1, IL-6, prostaglandins (PGE₂), nitric oxide (NO), and TNF
  • Horizontally arranged collagen type II fibers are cleaved, creating fissures and clefts at the articular surface
3. Late OA (Structural Failure)
  • Full-thickness cartilage sloughing
  • Dislodged cartilage and bone fragments form loose bodies ("joint mice")
  • Exposed subchondral bone becomes the new articular surface, burnished to a polished ivory appearance - bone eburnation
  • Subchondral fractures allow synovial fluid to be forced into bone, forming fibrous-walled subchondral cysts
  • Bony outgrowths (osteophytes) develop at joint margins, driven by BMP and TGF-β
  • The synovium shows mild congestion and fibrosis with scattered chronic inflammatory cells
Pain mechanisms: OA pain involves peripheral nociceptive pain from damaged joint loading, neuropathic mechanisms, and central sensitization - the latter explains why some patients respond poorly to standard treatments.
  • Robbins & Kumar Basic Pathology, pp. 790-791
  • Goldman-Cecil Medicine, p. 2766

Morphology / Histopathology

OA histology: (A) Fibrillation of articular cartilage; (B) Eburnated articular surface with subchondral cyst and residual cartilage
Fig. 19.32 - Robbins & Kumar Basic Pathology: (A) Characteristic fibrillation of articular cartilage (H&E). (B) Gross specimen showing eburnated articular surface (1), subchondral cyst (2), and residual articular cartilage (3).
Key morphologic features:
  • Fibrillation of the articular cartilage surface (earliest change)
  • Chondrocyte loss and severe matrix degradation
  • Bone eburnation - exposed subchondral bone polished to ivory appearance
  • Subchondral cysts - fluid-filled spaces beneath the joint surface
  • Osteophytes - bony spurs at joint margins capped by fibrocartilage
  • Loose bodies ("joint mice") - cartilage/bone fragments in the joint cavity
  • Mild synovitis - in contrast to the severe pannus seen in RA

OA vs. Rheumatoid Arthritis (Key Comparison)

FeatureOsteoarthritisRheumatoid Arthritis
Primary mechanismMechanical injury to cartilageAutoimmunity
Role of inflammationSecondary; exacerbates damagePrimary driver
Joints involvedWeight-bearing (knees, hips)Small joints of fingers first; multiple joints
PathologyCartilage degeneration, osteophytes, subchondral cysts; minimal inflammationInflammatory pannus, severe synovitis, ankylosis
Serum antibodiesNoneACPA, rheumatoid factor
Other organ involvementNoYes (lungs, heart, blood vessels)
Robbins & Kumar Basic Pathology, p. 790

Clinical Manifestations

Joints commonly affected: Hands, knees, spine, hips, feet
Symptoms:
  • Pain - mechanical in nature; occurs with activity; worse later in day; rest pain only in advanced disease
  • Stiffness - localized; rarely >15-30 minutes; most notable after inactivity ("gelling")
  • Crepitus - audible/palpable grating on movement
  • Functional limitation - opening jars (hands), stair climbing, rising from a chair (knee), putting on socks/shoes (hip)
  • Locking or catching (especially knee) - associated with risk of falls
Signs:
  • Joint line tenderness on palpation
  • Bony swelling from osteophytes
  • Soft tissue swelling from effusion
  • Decreased range of motion
  • Crepitus (palpable, especially patellofemoral on knee flexion/extension)
  • Altered joint alignment (varus/valgus deformity)
  • Muscle weakness and atrophy
  • Heberden's nodes - osteophytes at DIP joints of the hand
  • Bouchard's nodes - osteophytes at PIP joints

Diagnosis

The diagnosis is clinical, based on:
  • Symptoms: pain, brief morning stiffness (<30 min), and functional limitation
  • Examination: crepitus, restricted/painful movement, joint tenderness, bony enlargement
Imaging is reserved for:
  • Atypical presentations
  • Diagnostic uncertainty
  • When surgical/interventional therapy is planned
Radiographic findings (four classic X-ray features):
  1. Joint space narrowing (loss of cartilage)
  2. Subchondral sclerosis (increased bone density)
  3. Subchondral cysts
  4. Osteophyte formation
Laboratory tests are not required to diagnose OA but may help exclude coexistent inflammatory conditions:
  • Synovial fluid in OA: noninflammatory, <2000 leucocytes/μL; basic calcium phosphate crystals often present
  • Goldman-Cecil Medicine, pp. 3116-3117

Management

Management is individualized. Non-pharmacologic, core treatments are first-line and should be tried before or alongside medications.

Core (Non-pharmacologic) Treatments

InterventionNotes
Education & self-managementUnderstanding the disease and setting expectations
Weight managementBMI ≥25: aim for 5-10% loss; 5 kg weight loss reduces incident knee OA from 21% to 7%
Physical activityWalking, cycling, swimming - reduces pain and improves function
Therapeutic exerciseStructured, progressive - especially quadriceps strengthening for knee OA
Behavioral change supportReferral to physiotherapist, dietitian

Pharmacologic Treatments

DrugRole
NSAIDsFirst-line analgesic; topical NSAIDs preferred for knee/hand (lower systemic risk)
AcetaminophenModest benefit; safer than NSAIDs in comorbidities
Intraarticular corticosteroidsShort-term relief; avoid repeated injections
DuloxetineFor central sensitization/neuropathic components
OpioidsAt most very modest benefit; avoid when possible
Viscosupplements (hyaluronic acid)Limited evidence; not routinely recommended
Platelet-rich plasmaNot of documented benefit
Glucosamine/chondroitinSupplements with limited/uncertain evidence

Surgical

  • Refer to orthopaedic surgeon when conservative management fails
  • Total joint replacement is effective for end-stage disease
  • Indications: pain disrupting sleep, severely reduced walking distance, markedly restricted ADLs, or significant reduction in quality of life

Newer / Investigational

  • Sprifermin (recombinant FGF): intraarticular injection shown to increase femorotibial cartilage thickness, but without clear clinical benefit to date
  • Disease-modifying OA drugs (DMOADs) remain an active research area
  • Goldman-Cecil Medicine, pp. 3197-3265

Prevention

  • Weight reduction: Reducing BMI from obese to overweight reduces incident symptomatic knee OA by ~20% in men and ~33% in women
  • Injury prevention: ACL injury prevention programs can reduce ligament injury rates by 50-80%, which in turn reduces the later development of knee OA

Prognosis

  • The majority (~85%) have a stable, relatively flat symptomatic trajectory over years to decades
  • Only ~7% have a worsening trajectory; ~8% actually improve
  • Predictors of worsening: comorbid depression, lower educational level
  • Premature mortality is increased by 20-25% in patients with knee OA and 20% in hip OA (related to obesity and physical inactivity)
  • Surgical rates continue to rise: total knee replacement volume projected to increase ~50% from 2021 to 2050 in the U.S.
  • Goldman-Cecil Medicine, p. 3277

Sources:
  • Goldman-Cecil Medicine International Edition (Hunter DJ), Chapter 241
  • Robbins & Kumar Basic Pathology, Chapter 19, pp. 790-791
  • Firestein & Kelley's Textbook of Rheumatology, Chapter 6

Osteoarthritis fast

Osteoarthritis - Fast Review

Definition

Failed repair of synovial joint tissues after intra-articular stress → cartilage breakdown → pain, stiffness, disability. Most common joint disease. Primary = idiopathic (aging). Secondary = underlying cause (injury, obesity, deformity).

Risk Factors

  • Age >50 (prevalence rises exponentially)
  • Female sex
  • Obesity (BMI ↑ → risk ↑ linearly)
  • Prior joint injury (ACL tear → knee OA)
  • Genetics (GDF5, RUNX2, SMAD3 loci)

Joints Affected

Knees > Hips > Hands (DIP > PIP) > Spine > Feet (Spares MCP joints - think RA if MCPs involved)

Pathogenesis (3 Steps)

StageEvent
Chondrocyte injuryMechanical stress → MMPs released → Type II collagen degraded
Early OA↓ Proteoglycans, ↑ water content, fibrillation of cartilage surface; IL-1, IL-6, TNF, PGE₂, NO amplify damage
Late OAFull-thickness cartilage loss, bone eburnation, subchondral cysts, osteophytes, loose bodies ("joint mice")

Morphology

  • Fibrillation - earliest change (cartilage surface splits)
  • Bone eburnation - exposed subchondral bone, polished ivory appearance
  • Osteophytes - bony spurs at joint margins
  • Subchondral cysts - synovial fluid forced into bone
  • Loose bodies - cartilage/bone fragments in joint
  • Synovium: mild inflammation only (vs. RA pannus)

Clinical Features

Symptoms:
  • Mechanical pain (worse with activity, end of day)
  • Morning stiffness <30 min (RA = >1 hour)
  • Crepitus, grating
  • Functional loss (stairs, jars, shoes)
Signs:
  • Bony enlargement (osteophytes)
  • Heberden's nodes = DIP osteophytes
  • Bouchard's nodes = PIP osteophytes
  • Joint line tenderness, decreased ROM
  • Effusion in knee (non-inflammatory fluid)

Diagnosis

Clinical diagnosis - no labs needed.
X-ray findings (4 classic):
  1. Joint space narrowing
  2. Subchondral sclerosis
  3. Subchondral cysts
  4. Osteophytes
Synovial fluid: <2000 WBC/µL (non-inflammatory), may contain basic calcium phosphate crystals.

OA vs RA - Quick Comparison

OARA
MechanismMechanicalAutoimmune
Morning stiffness<30 min>1 hour
JointsDIP, knees, hipsMCP, PIP, wrists
NodesHeberden (DIP)None
SerologyNegativeRF, ACPA positive
InflammationMinimalSevere (pannus)
Systemic featuresNoneYes

Management

Step 1 - Core (always):
  • Exercise (strengthening, aerobic)
  • Weight loss (5% loss → major benefit)
  • Education, physiotherapy
Step 2 - Pharmacologic:
  • Topical NSAIDs (first-line, knee/hand)
  • Oral NSAIDs (if topical insufficient)
  • Intraarticular corticosteroids (short-term)
  • Duloxetine (central sensitization)
  • Avoid: opioids, PRP, viscosupplements (poor evidence)
Step 3 - Surgical:
  • Total joint replacement for end-stage disease

Key Numbers to Remember

FactNumber
Global prevalence>500 million
Age >70 affected~40%
Morning stiffness<30 min
Synovial WBC in OA<2000/µL
Stable disease trajectory~85% of patients
Weight loss reducing knee OA5 kg reduces risk 21% → 7%
Premature mortality increase20-25%

Make a ppt too

Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/osteoarthritis-ppt && ls /home/daytona/workspac…

Writing File

~/osteoarthritis-ppt/make_ppt.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Osteoarthritis";
pres.author = "Orris Medical";

// ── Color Palette ──────────────────────────────────────────────
// Deep navy dominates; warm amber accent; soft slate for cards
const C = {
  navy:    "0D2B4E",
  navyMid: "14396A",
  amber:   "E8A020",
  amberLt: "F5C055",
  slate:   "1E3F6B",
  card:    "162E52",
  white:   "FFFFFF",
  offWhite:"EAF0F8",
  grey:    "A8BACE",
  red:     "C0392B",
  green:   "27AE60",
  teal:    "1A7F7A",
};

// ── Helper: dark slide background ─────────────────────────────
function darkBg(slide) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 10, h: 5.625,
    fill: { color: C.navy }, line: { color: C.navy }
  });
}

// ── Helper: accent bar ─────────────────────────────────────────
function accentBar(slide, y = 5.2) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y, w: 10, h: 0.08,
    fill: { color: C.amber }, line: { color: C.amber }
  });
}

// ── Helper: section heading strip ─────────────────────────────
function sectionStrip(slide, text) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 10, h: 0.85,
    fill: { color: C.amber }, line: { color: C.amber }
  });
  slide.addText(text, {
    x: 0.3, y: 0, w: 9.4, h: 0.85,
    fontSize: 22, bold: true, color: C.navy,
    valign: "middle", margin: 0
  });
}

// ── Helper: card box ──────────────────────────────────────────
function card(slide, x, y, w, h, opts = {}) {
  slide.addShape(pres.ShapeType.rect, {
    x, y, w, h,
    fill: { color: opts.fill || C.card },
    line: { color: opts.border || C.slate, pt: 0.5 },
    shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.2 }
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 1 — Title
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);

  // Big amber left accent bar
  s.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 0.18, h: 5.625,
    fill: { color: C.amber }, line: { color: C.amber }
  });

  // Decorative circles
  s.addShape(pres.ShapeType.ellipse, {
    x: 7.2, y: -0.5, w: 3.5, h: 3.5,
    fill: { color: C.navyMid }, line: { color: C.navyMid }
  });
  s.addShape(pres.ShapeType.ellipse, {
    x: 8, y: 3.2, w: 2.2, h: 2.2,
    fill: { color: C.slate }, line: { color: C.slate }
  });
  s.addShape(pres.ShapeType.ellipse, {
    x: 6.5, y: 3.8, w: 1.2, h: 1.2,
    fill: { color: C.amber, transparency: 60 }, line: { color: C.amber, transparency: 60 }
  });

  s.addText("OSTEOARTHRITIS", {
    x: 0.5, y: 1.3, w: 6.8, h: 1.0,
    fontSize: 40, bold: true, color: C.white,
    charSpacing: 4, margin: 0
  });
  s.addText("A Comprehensive Fast Review", {
    x: 0.5, y: 2.35, w: 6.8, h: 0.55,
    fontSize: 18, color: C.amberLt, italic: true, margin: 0
  });

  s.addShape(pres.ShapeType.rect, {
    x: 0.5, y: 3.05, w: 3.8, h: 0.04,
    fill: { color: C.amber }, line: { color: C.amber }
  });

  s.addText([
    { text: "Definition  •  Epidemiology  •  Pathogenesis", options: { breakLine: true } },
    { text: "Morphology  •  Clinical Features  •  Diagnosis  •  Management" }
  ], {
    x: 0.5, y: 3.2, w: 7, h: 0.8,
    fontSize: 11, color: C.grey, margin: 0
  });

  s.addText("Sources: Goldman-Cecil Medicine | Robbins & Kumar Basic Pathology", {
    x: 0.5, y: 5.15, w: 9, h: 0.35,
    fontSize: 9, color: C.grey, italic: true, margin: 0
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 2 — Definition & Epidemiology
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Definition & Epidemiology");
  accentBar(s);

  // Definition card
  card(s, 0.3, 1.05, 9.4, 1.3);
  s.addText("DEFINITION", {
    x: 0.55, y: 1.1, w: 2, h: 0.35,
    fontSize: 9, bold: true, color: C.amber, margin: 0, charSpacing: 2
  });
  s.addText(
    "Failed repair of synovial joint tissues after intra-articular stress → breakdown of cartilage & bone → pain, stiffness, functional disability. Most common joint disease. Primarily degenerative; inflammation is secondary.",
    { x: 0.55, y: 1.42, w: 9.0, h: 0.8, fontSize: 12, color: C.offWhite, margin: 0 }
  );

  // Two epi cards side by side
  const epiItems = [
    ["500 M+", "people affected worldwide"],
    ["~40%", "of people >70 affected"],
    ["47%", "lifetime knee OA risk (women)"],
    ["85%", "of OA burden = knee OA"],
    ["25%", "US adults by 2040"],
    ["80%", "report movement limitations"],
  ];

  const cols = 3;
  epiItems.forEach((item, i) => {
    const col = i % cols;
    const row = Math.floor(i / cols);
    const x = 0.3 + col * 3.15;
    const y = 2.55 + row * 1.1;
    card(s, x, y, 2.9, 0.9, { fill: C.slate });
    s.addText(item[0], {
      x: x + 0.1, y: y + 0.05, w: 2.7, h: 0.42,
      fontSize: 22, bold: true, color: C.amber, margin: 0, align: "center"
    });
    s.addText(item[1], {
      x: x + 0.1, y: y + 0.48, w: 2.7, h: 0.34,
      fontSize: 9.5, color: C.grey, margin: 0, align: "center"
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 3 — Classification & Risk Factors
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Classification & Risk Factors");
  accentBar(s);

  // Primary vs Secondary
  card(s, 0.3, 1.0, 4.5, 2.0, { fill: C.card });
  s.addText("PRIMARY (Idiopathic)", {
    x: 0.5, y: 1.05, w: 4.1, h: 0.4,
    fontSize: 13, bold: true, color: C.amber, margin: 0
  });
  s.addText([
    { text: "• Appears insidiously with aging", options: { breakLine: true } },
    { text: "• Oligoarticular (few joints)", options: { breakLine: true } },
    { text: "• Mainly weight-bearing joints", options: { breakLine: true } },
    { text: "• No identifiable cause", options: { breakLine: true } },
    { text: "• 95% of all OA cases" }
  ], { x: 0.5, y: 1.5, w: 4.1, h: 1.35, fontSize: 11.5, color: C.offWhite, margin: 0 });

  card(s, 5.2, 1.0, 4.5, 2.0, { fill: C.card });
  s.addText("SECONDARY", {
    x: 5.4, y: 1.05, w: 4.1, h: 0.4,
    fontSize: 13, bold: true, color: C.teal, margin: 0
  });
  s.addText([
    { text: "• ~5% of all OA cases", options: { breakLine: true } },
    { text: "• Younger individuals", options: { breakLine: true } },
    { text: "• Causes: prior joint injury,", options: { breakLine: true } },
    { text: "  joint deformity, obesity,", options: { breakLine: true } },
    { text: "  diabetes, metabolic disease" }
  ], { x: 5.4, y: 1.5, w: 4.1, h: 1.35, fontSize: 11.5, color: C.offWhite, margin: 0 });

  // Risk factors strip
  s.addText("KEY RISK FACTORS", {
    x: 0.3, y: 3.15, w: 4, h: 0.3,
    fontSize: 9, bold: true, color: C.amber, charSpacing: 2, margin: 0
  });

  const risks = [
    ["🔢", "Age >50"],
    ["♀", "Female sex"],
    ["⚖", "Obesity (BMI ↑)"],
    ["🦵", "Prior joint injury"],
    ["🧬", "Genetics (GDF5, RUNX2)"],
  ];

  risks.forEach((r, i) => {
    const x = 0.3 + i * 1.88;
    card(s, x, 3.5, 1.75, 0.75, { fill: C.slate });
    s.addText(r[0] + "  " + r[1], {
      x: x + 0.08, y: 3.55, w: 1.6, h: 0.6,
      fontSize: 10.5, color: C.white, margin: 0, align: "center", valign: "middle"
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 4 — Pathogenesis
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Pathogenesis");
  accentBar(s);

  const stages = [
    {
      num: "1",
      title: "Chondrocyte Injury",
      color: C.amber,
      items: [
        "Biomechanical stress + genetic predisposition",
        "Type II collagen network disrupted",
        "Proteoglycan concentration ↓",
        "Water content ↑ (matrix swells)"
      ]
    },
    {
      num: "2",
      title: "Early OA",
      color: "#2ECC71",
      items: [
        "Chondrocytes proliferate & secrete MMPs",
        "IL-1, IL-6, TNF, PGE₂, NO released",
        "TGF-β induces further MMP production",
        "Surface fibrillation develops"
      ]
    },
    {
      num: "3",
      title: "Late OA",
      color: C.red,
      items: [
        "Full-thickness cartilage sloughing",
        "Bone eburnation (ivory surface)",
        "Subchondral cysts form",
        "Osteophytes + loose bodies ('joint mice')"
      ]
    }
  ];

  stages.forEach((st, i) => {
    const x = 0.3 + i * 3.18;
    card(s, x, 0.95, 2.95, 4.1, { fill: C.card });

    // Number circle
    s.addShape(pres.ShapeType.ellipse, {
      x: x + 1.1, y: 1.05, w: 0.75, h: 0.75,
      fill: { color: st.color }, line: { color: st.color }
    });
    s.addText(st.num, {
      x: x + 1.1, y: 1.05, w: 0.75, h: 0.75,
      fontSize: 18, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0
    });

    s.addText(st.title, {
      x: x + 0.12, y: 1.87, w: 2.71, h: 0.5,
      fontSize: 12.5, bold: true, color: st.color, align: "center", margin: 0
    });

    s.addText(
      st.items.map(it => "• " + it).join("\n"),
      { x: x + 0.15, y: 2.43, w: 2.65, h: 2.5, fontSize: 10.5, color: C.offWhite, margin: 0 }
    );
  });

  // Arrow connectors
  [1, 2].forEach(i => {
    const ax = 0.3 + i * 3.18 - 0.15;
    s.addShape(pres.ShapeType.rect, {
      x: ax, y: 2.85, w: 0.18, h: 0.08,
      fill: { color: C.amber }, line: { color: C.amber }
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 5 — Morphology
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Morphology / Gross & Histologic Features");
  accentBar(s);

  const morph = [
    { term: "Fibrillation", desc: "Earliest change — cartilage surface clefts and splits", color: C.teal },
    { term: "Bone Eburnation", desc: "Full cartilage loss; exposed subchondral bone polished to ivory appearance", color: C.amber },
    { term: "Subchondral Cysts", desc: "Synovial fluid forced into bone via ball-valve mechanism; fibrous walls", color: "#9B59B6" },
    { term: "Osteophytes", desc: "Bony spurs at joint margins capped by fibrocartilage; driven by BMP & TGF-β", color: C.green },
    { term: "Loose Bodies", desc: "'Joint mice' — dislodged cartilage/bone fragments tumbling in the joint cavity", color: "#E74C3C" },
    { term: "Mild Synovitis", desc: "Mild congestion & fibrosis only (contrast: RA has destructive inflammatory pannus)", color: C.grey },
  ];

  morph.forEach((m, i) => {
    const row = Math.floor(i / 2);
    const col = i % 2;
    const x = 0.3 + col * 4.85;
    const y = 1.05 + row * 1.3;
    card(s, x, y, 4.6, 1.1, { fill: C.card });
    s.addShape(pres.ShapeType.rect, {
      x, y, w: 0.18, h: 1.1,
      fill: { color: m.color }, line: { color: m.color }
    });
    s.addText(m.term, {
      x: x + 0.28, y: y + 0.08, w: 4.2, h: 0.38,
      fontSize: 12.5, bold: true, color: m.color, margin: 0
    });
    s.addText(m.desc, {
      x: x + 0.28, y: y + 0.48, w: 4.2, h: 0.52,
      fontSize: 10, color: C.offWhite, margin: 0
    });
  });

  // Nodes reminder
  card(s, 0.3, 5.0, 9.4, 0.45, { fill: C.slate });
  s.addText(
    "Hand nodes:  Heberden's nodes = DIP osteophytes     |     Bouchard's nodes = PIP osteophytes",
    { x: 0.5, y: 5.0, w: 9, h: 0.45, fontSize: 11, color: C.amberLt, align: "center", valign: "middle", margin: 0 }
  );
}

// ══════════════════════════════════════════════════════════════
// SLIDE 6 — Clinical Features
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Clinical Features");
  accentBar(s);

  // Joints column
  card(s, 0.3, 1.0, 2.5, 4.15, { fill: C.card });
  s.addText("JOINTS AFFECTED", {
    x: 0.4, y: 1.08, w: 2.3, h: 0.38,
    fontSize: 9.5, bold: true, color: C.amber, charSpacing: 1.5, margin: 0
  });
  const joints = ["Knees (most common)", "Hips", "Hands (DIP > PIP)", "Lumbar/Cervical spine", "Feet (1st MTP)"];
  joints.forEach((j, i) => {
    s.addShape(pres.ShapeType.rect, {
      x: 0.42, y: 1.58 + i * 0.65, w: 0.12, h: 0.35,
      fill: { color: C.amber }, line: { color: C.amber }
    });
    s.addText(j, {
      x: 0.65, y: 1.58 + i * 0.65, w: 2.0, h: 0.35,
      fontSize: 11, color: C.offWhite, margin: 0, valign: "middle"
    });
  });

  // Symptoms column
  card(s, 3.05, 1.0, 3.2, 4.15, { fill: C.card });
  s.addText("SYMPTOMS", {
    x: 3.15, y: 1.08, w: 3.0, h: 0.38,
    fontSize: 9.5, bold: true, color: C.teal, charSpacing: 1.5, margin: 0
  });
  const syms = [
    "Mechanical pain (activity, end of day)",
    "Morning stiffness < 30 min",
    "Crepitus / grating",
    "Functional limitation",
    "Locking / catching (knee)"
  ];
  syms.forEach((sy, i) => {
    s.addText("• " + sy, {
      x: 3.15, y: 1.55 + i * 0.68, w: 3.0, h: 0.6,
      fontSize: 11, color: C.offWhite, margin: 0
    });
  });

  // Signs column
  card(s, 6.5, 1.0, 3.2, 4.15, { fill: C.card });
  s.addText("SIGNS", {
    x: 6.6, y: 1.08, w: 3.0, h: 0.38,
    fontSize: 9.5, bold: true, color: "#9B59B6", charSpacing: 1.5, margin: 0
  });
  const signs = [
    "Joint line tenderness",
    "Bony swelling (osteophytes)",
    "Crepitus on movement",
    "Decreased ROM",
    "Effusion (knee)",
    "Varus / valgus deformity"
  ];
  signs.forEach((sg, i) => {
    s.addText("• " + sg, {
      x: 6.6, y: 1.55 + i * 0.6, w: 3.0, h: 0.55,
      fontSize: 11, color: C.offWhite, margin: 0
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 7 — Diagnosis + OA vs RA
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Diagnosis");
  accentBar(s);

  // Diagnosis criteria card
  card(s, 0.3, 1.0, 4.4, 4.15, { fill: C.card });
  s.addText("CLINICAL DIAGNOSIS", {
    x: 0.5, y: 1.08, w: 4.0, h: 0.38,
    fontSize: 10, bold: true, color: C.amber, charSpacing: 1.5, margin: 0
  });
  const diagPoints = [
    "Pain + brief morning stiffness + functional limitation",
    "Crepitus + restricted movement + bony enlargement",
    "NO routine labs required",
    "Imaging only for atypical presentations"
  ];
  diagPoints.forEach((d, i) => {
    s.addText("• " + d, {
      x: 0.5, y: 1.6 + i * 0.62, w: 4.0, h: 0.55,
      fontSize: 11, color: C.offWhite, margin: 0
    });
  });

  s.addText("X-RAY FINDINGS (4 Classic)", {
    x: 0.5, y: 3.55, w: 4.0, h: 0.38,
    fontSize: 10, bold: true, color: C.amberLt, charSpacing: 1.5, margin: 0
  });
  const xray = ["1. Joint space narrowing", "2. Subchondral sclerosis", "3. Subchondral cysts", "4. Osteophytes"];
  xray.forEach((x2, i) => {
    s.addText(x2, {
      x: 0.5, y: 3.98 + i * 0.3, w: 4.0, h: 0.28,
      fontSize: 10.5, color: C.offWhite, margin: 0
    });
  });

  // OA vs RA table
  card(s, 5.0, 1.0, 4.7, 4.15, { fill: C.card });
  s.addText("OA  vs  RA", {
    x: 5.15, y: 1.08, w: 4.4, h: 0.38,
    fontSize: 12, bold: true, color: C.amber, align: "center", margin: 0
  });

  const rows = [
    ["Feature", "OA", "RA"],
    ["Morning stiffness", "<30 min", ">1 hr"],
    ["Joints", "DIP, knees, hips", "MCP, PIP, wrists"],
    ["Inflammation", "Minimal", "Severe (pannus)"],
    ["Serology", "Negative", "RF / ACPA +ve"],
    ["Systemic features", "None", "Yes"],
    ["Nodes", "Heberden (DIP)", "None"],
  ];

  rows.forEach((row, ri) => {
    const isHeader = ri === 0;
    const ry = 1.55 + ri * 0.5;
    const bg = isHeader ? C.amber : (ri % 2 === 0 ? C.navyMid : C.card);
    const tc = isHeader ? C.navy : C.offWhite;

    s.addShape(pres.ShapeType.rect, {
      x: 5.05, y: ry, w: 4.55, h: 0.44,
      fill: { color: bg }, line: { color: C.slate, pt: 0.3 }
    });
    [row[0], row[1], row[2]].forEach((cell, ci) => {
      const cw = [1.85, 1.3, 1.3];
      const cx = 5.05 + cw.slice(0, ci).reduce((a, b) => a + b, 0);
      s.addText(cell, {
        x: cx + 0.05, y: ry, w: cw[ci] - 0.1, h: 0.44,
        fontSize: isHeader ? 9 : 8.5, bold: isHeader, color: tc,
        valign: "middle", margin: 0
      });
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 8 — Management
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Management");
  accentBar(s);

  // Step labels
  const steps = [
    {
      label: "STEP 1",
      title: "Core Non-Pharmacologic",
      color: C.green,
      items: ["Education & self-management", "Weight loss (5-10% of body weight)", "Aerobic exercise (walking, cycling, swimming)", "Therapeutic exercise (quadriceps strengthening)", "Physiotherapy / dietitian referral"]
    },
    {
      label: "STEP 2",
      title: "Pharmacologic",
      color: C.amber,
      items: ["Topical NSAIDs (first-line; knee/hand)", "Oral NSAIDs (if topical insufficient)", "Intraarticular corticosteroids (short-term)", "Duloxetine (central sensitization)", "⚠ Avoid: opioids, PRP, viscosupplements"]
    },
    {
      label: "STEP 3",
      title: "Surgical",
      color: C.red,
      items: ["Total joint replacement (end-stage)", "When pain disrupts sleep / ADLs", "After all conservative options exhausted", "Projected 50% ↑ in knee replacements by 2050"]
    }
  ];

  steps.forEach((st, i) => {
    const x = 0.3 + i * 3.18;
    card(s, x, 1.0, 2.95, 4.15, { fill: C.card });
    s.addShape(pres.ShapeType.rect, {
      x, y: 1.0, w: 2.95, h: 0.45,
      fill: { color: st.color }, line: { color: st.color }
    });
    s.addText(st.label + "  —  " + st.title, {
      x: x + 0.1, y: 1.0, w: 2.75, h: 0.45,
      fontSize: 10.5, bold: true, color: C.navy, valign: "middle", margin: 0
    });
    st.items.forEach((item, j) => {
      s.addText("• " + item, {
        x: x + 0.12, y: 1.52 + j * 0.55, w: 2.7, h: 0.5,
        fontSize: 10.5, color: C.offWhite, margin: 0
      });
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 9 — Key Numbers & Prognosis
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);
  sectionStrip(s, "Key Numbers & Prognosis");
  accentBar(s);

  const nums = [
    { val: "500M+", label: "Worldwide prevalence" },
    { val: "40%",   label: "People >70 affected" },
    { val: "<30 min", label: "Morning stiffness (OA)" },
    { val: "<2000",  label: "Synovial WBC/µL in OA" },
    { val: "85%",    label: "Stable disease trajectory" },
    { val: "5 kg",   label: "Weight loss: risk 21% → 7%" },
    { val: "20-25%", label: "Premature mortality ↑ (knee)" },
    { val: "50%",    label: "↑ Knee replacements by 2050" },
  ];

  nums.forEach((n, i) => {
    const col = i % 4;
    const row = Math.floor(i / 4);
    const x = 0.25 + col * 2.38;
    const y = 1.1 + row * 1.75;
    card(s, x, y, 2.18, 1.5, { fill: C.card });
    s.addShape(pres.ShapeType.rect, {
      x, y, w: 2.18, h: 0.06,
      fill: { color: C.amber }, line: { color: C.amber }
    });
    s.addText(n.val, {
      x: x + 0.08, y: y + 0.1, w: 2.02, h: 0.75,
      fontSize: 26, bold: true, color: C.amber, align: "center", margin: 0
    });
    s.addText(n.label, {
      x: x + 0.08, y: y + 0.88, w: 2.02, h: 0.52,
      fontSize: 9.5, color: C.grey, align: "center", margin: 0
    });
  });
}

// ══════════════════════════════════════════════════════════════
// SLIDE 10 — Summary / Closing
// ══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  darkBg(s);

  s.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 0.18, h: 5.625,
    fill: { color: C.amber }, line: { color: C.amber }
  });
  s.addShape(pres.ShapeType.rect, {
    x: 9.82, y: 0, w: 0.18, h: 5.625,
    fill: { color: C.amber }, line: { color: C.amber }
  });

  s.addText("SUMMARY", {
    x: 1.0, y: 0.4, w: 8, h: 0.55,
    fontSize: 10, bold: true, color: C.amber, charSpacing: 5, align: "center", margin: 0
  });
  s.addText("Osteoarthritis", {
    x: 1.0, y: 0.95, w: 8, h: 0.7,
    fontSize: 30, bold: true, color: C.white, align: "center", margin: 0
  });

  const summPoints = [
    ["Mechanism", "Failed synovial joint repair → cartilage & bone breakdown"],
    ["3-Stage Path.", "Chondrocyte injury → Early (MMPs, cytokines) → Late (eburnation, osteophytes)"],
    ["Vs RA", "OA = mechanical/degenerative; RA = autoimmune/inflammatory; stiffness <30 min vs >1 hr"],
    ["Diagnosis", "Clinical (pain + stiffness + function); X-ray: JSN, sclerosis, cysts, osteophytes"],
    ["Treatment", "Core: exercise + weight loss first; then NSAIDs; surgery for end-stage disease"],
  ];

  summPoints.forEach((pt, i) => {
    const y = 1.85 + i * 0.67;
    s.addShape(pres.ShapeType.rect, {
      x: 0.9, y: y + 0.08, w: 1.3, h: 0.38,
      fill: { color: C.amber }, line: { color: C.amber }
    });
    s.addText(pt[0], {
      x: 0.9, y: y + 0.08, w: 1.3, h: 0.38,
      fontSize: 9, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0
    });
    s.addText(pt[1], {
      x: 2.35, y: y + 0.08, w: 6.9, h: 0.38,
      fontSize: 11, color: C.offWhite, valign: "middle", margin: 0
    });
  });

  s.addText("Sources: Goldman-Cecil Medicine • Robbins & Kumar Basic Pathology • Firestein & Kelley's Rheumatology", {
    x: 1.0, y: 5.22, w: 8, h: 0.3,
    fontSize: 8, color: C.grey, italic: true, align: "center", margin: 0
  });
}

// ── Write file ─────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/osteoarthritis-ppt/Osteoarthritis.pptx" })
  .then(() => console.log("✅ Saved: Osteoarthritis.pptx"))
  .catch(err => console.error("❌ Error:", err));
Running Command

cd /home/daytona/workspace/osteoarthritis-ppt && node make_ppt.js

Your presentation is ready! Here's the download link:

Osteoarthritis

Presentation · PPTX

10 slides included:
SlideContent
1Title slide
2Definition & Epidemiology (stat cards)
3Classification & Risk Factors
4Pathogenesis (3-stage visual)
5Morphology (6 features with color-coded cards)
6Clinical Features (joints / symptoms / signs)
7Diagnosis + OA vs RA comparison table
8Management (3-step ladder)
9Key Numbers & Prognosis
10Summary slide
Design uses a deep navy + amber palette with card-based layouts, color-coded sections, and numbered stage indicators throughout.
This is a shared conversation. Sign in to Orris to start your own chat.