explain cervical Ribs , introduction , definistion , simple anatomy , etiology , clinical features ,classification , trearment methids , surgical management physiiotherapy manangmen in detail reffer the medical and physiotherapys book like jayanth joshi john ebresser test ect

Reading File
Finding Sources
Finding Sources
Searching PubMed

"cervical rib" AND "thoracic outlet syndrome"

Searching the Web

cervical rib thoracic outlet syndrome physiotherapy management Jayant Joshi

Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC11277273

Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Loading Image
Loading Image

CERVICAL RIB - Comprehensive Clinical & Physiotherapy Guide

References: Gray's Anatomy for Students (9780323934237) | Bailey & Love's Short Practice of Surgery 28th Ed. | Harrison's Principles of Internal Medicine 22E | S. Das Manual on Clinical Surgery 13th Ed. | Sabiston Textbook of Surgery | Current Surgical Therapy 14e | THIEME Atlas of General Anatomy & Musculoskeletal System | Rheumatology 2022 (Elsevier) | Jayant Joshi - Essentials of Orthopaedics & Applied Physiotherapy (referenced throughout)

1. INTRODUCTION

Cervical rib is one of the most clinically important congenital anomalies of the skeletal system. Although it is often an incidental radiological finding, it may produce a spectrum of neurovascular symptoms grouped under the umbrella term Thoracic Outlet Syndrome (TOS). The condition has intrigued surgeons and physiotherapists alike since its earliest descriptions in the 19th century - Coote first performed surgical excision of a cervical rib in 1861, and Murphy described transaxillary first rib resection in 1910.
The thoracic outlet is an anatomically tight corridor through which critical neurovascular structures must pass on their way from the neck and chest to the upper limb. Any structural anomaly in this region - whether bony, fibrous, or muscular - can compromise these structures and produce the characteristic symptoms of TOS.

2. DEFINITION

A cervical rib is a supernumerary (extra) rib that articulates with the 7th cervical vertebra (C7). It represents a persistence of the costal element (the lateral part of the transverse process) of the C7 vertebra, which in normal development regresses to form only the anterior tubercle of the transverse process.
  • "A cervical rib is an accessory rib articulating with vertebra CVII; the anterior end attaches to the superior border of the anterior aspect of rib I." - Gray's Anatomy for Students
  • "This rib is usually represented by a fibrous band originating from the seventh cervical vertebra and inserting onto the first thoracic rib." - Bailey & Love's Surgery 28th Ed.
The term Thoracic Outlet Syndrome (TOS) refers to the clinical symptom complex arising from compression of the brachial plexus, subclavian artery, and/or subclavian vein at the thoracic outlet due to this or related anomalies.

3. ANATOMY

Anatomy of the Thoracic Outlet - showing scalene muscles, brachial plexus, subclavian artery and vein, first rib, and clavicle
THIEME Atlas: Thoracic outlet anatomy showing brachial plexus, scalene muscles, and neurovascular structures

3.1 The Thoracic Outlet / Thoracic Inlet

The thoracic outlet (strictly speaking, the thoracic inlet or superior thoracic aperture) is bounded by:
  • Posteriorly: Body of T1 vertebra
  • Laterally: Medial border of the 1st rib on each side
  • Anteriorly: Superior border of the manubrium sterni

3.2 Key Anatomic Spaces

Three important corridors through which neurovascular structures pass:
SpaceBoundariesStructures Passing Through
Interscalene TriangleAnterior scalene (anterior), middle scalene (posterior), 1st rib (floor)Subclavian artery, brachial plexus
Costoclavicular Space1st rib (below), clavicle (above), subclavius muscleSubclavian vein, subclavian artery, brachial plexus
Subcoracoid/Retropectoralis Minor SpacePectoralis minor tendon, coracoid processNeurovascular bundle in extreme abduction

3.3 Neural Anatomy

The lower trunk of the brachial plexus (C8, T1) is the structure most vulnerable to cervical rib compression. The T1 nerve root, which normally passes over the 1st rib to enter the lower trunk, is elevated by the cervical rib and subjected to tension and friction over its bony or fibrous shelf.
  • The medial cord derives from the lower trunk - compression causes classic ulnar distribution symptoms (4th and 5th fingers, medial forearm)
  • The T1 contribution to the median nerve may also be affected - weakness of thenar muscles

3.4 Vascular Anatomy

  • The subclavian artery must arch over the 1st rib (or cervical rib). A cervical rib causes angulation/kinking of the artery, creating post-stenotic dilatation, turbulent flow, and thrombus formation.
  • The subclavian vein lies anterior to the anterior scalene muscle and is more susceptible in the costoclavicular space than in the interscalene triangle.

3.5 Effect of a Cervical Rib on Local Anatomy

As noted by the THIEME Atlas: "In approximately 1% of the population, cervical ribs may narrow the interscalene space... In this condition the trunks of the brachial plexus that pass through the interscalene space along with the subclavian artery are compressed from behind and below."
A fibrous band frequently extends from the tip of a small cervical rib to rib I - this "cervical band" is not visible on X-ray but can be as clinically significant as a fully formed bony rib (Gray's Anatomy for Students).

4. INCIDENCE & EPIDEMIOLOGY

  • Present in approximately 0.5-1% of the general population (Gray's Anatomy; THIEME Atlas)
  • Bilateral in 50-80% of cases when present
  • Symptomatic in only 10% of those who have it
  • Female predominance: Neurogenic TOS is 3.5:1 female:male (Sabiston)
  • Symptoms typically appear in the 2nd-4th decade
  • In young women, symptoms may appear at puberty due to sagging of the shoulder girdle (S. Das)

5. ETIOLOGY

The primary cause is a congenital anomaly - the costal element of C7 fails to regress during embryonic development.

5.1 Predisposing and Precipitating Factors

FactorMechanism
Congenital cervical rib (bony or fibrous)Directly narrows interscalene triangle
Sagging shoulder girdleIncreases tension on brachial plexus over cervical rib - typical in young women at puberty (S. Das)
Muscular weakness of shoulder girdleAllows descent of shoulder, increasing neurovascular traction
Neck trauma / whiplashTriggers symptoms in a previously asymptomatic cervical rib
Repetitive overhead activitiesRepeated trauma to already-compromised structures
Anomalous scalene musclesAccessory scalene muscle bands can compress the plexus
Previous clavicle fractureCallus reduces costoclavicular space
Drooping shoulder postureReduces all three thoracic outlet spaces simultaneously
Fibrous bandEven without bony rib, a fibromuscular band from C7 can produce identical symptoms
The thoracic outlet syndrome also results from other causes: (i) scalenus anticus syndrome, (ii) costoclavicular syndrome, (iii) pectoralis minor syndrome, (iv) wide first thoracic rib - S. Das Manual on Clinical Surgery.

6. CLINICAL FEATURES

X-ray showing cervical ribs bilaterally
AP neck radiograph demonstrating bilateral cervical ribs - Gray's Anatomy for Students
S. Das classifies the symptoms of cervical rib into three groups:

6.1 Local Symptoms

  • Hard, fixed lump in the lower part of the posterior triangle of the neck (the rib itself, palpable on deep palpation)
  • Local pain and tenderness in the supraclavicular fossa
  • The rib may be palpable as a bony hardness in the supraclavicular region

6.2 Neurogenic Symptoms

Caused by pressure/irritation of the lower trunk of the brachial plexus (C8, T1):
Sensory:
  • Tingling (paresthesia), numbness, and pain along the medial side of the forearm and hand (T1 dermatomal distribution)
  • Classical ulnar distribution: medial forearm, ring and little fingers
  • Often worse at night
Motor:
  • Loss of power in the hand
  • Wasting of the thenar and hypothenar eminences
  • Wasting of the intrinsic hand muscles (interossei)
  • In advanced cases: claw hand (due to intrinsic paralysis)
  • Diminished sensation on the palmar aspect of the 5th digit
Vasomotor (sympathetic):
  • Excessive sweating of the hand (hyperhidrosis)
  • Circulatory impairment leading to digital gangrene in severe cases (S. Das)

6.3 Vascular Symptoms

  • Pain in forearm worse with exercise (claudication-type)
  • Hand colder than the opposite side
  • Hand appears pale on elevation and becomes cyanotic in dependent position
  • Numbness of the fingers
  • Feeble or absent radial pulse on the affected side
  • Subclavian artery aneurysm (post-stenotic dilatation)
  • Digital emboli - black areas on fingertips (platelet emboli) - Gray's Anatomy for Students
  • Subclavian vein thrombosis (Paget-Schrotter disease) causing arm swelling and pain
Harrison's (22E) adds:
  • Arterial TOS: Blood pressure reduced in affected limb; signs of emboli in the hand; no neurologic signs
  • Venous TOS: Swelling of the arm, pain, possible DVT
  • Disputed TOS: 95% of all TOS diagnoses; chronic arm and shoulder pain of unclear cause; highly controversial management

7. CLASSIFICATION

7.1 By Type of Structure Compressed (Harrison's / Sabiston)

TypeStructure CompressedPrevalenceFeatures
Neurogenic TOS (nTOS)Brachial plexus (lower trunk)~95% of true TOSMotor/sensory deficits, pain, paresthesia
Venous TOS (vTOS)Subclavian vein~3-4%Arm swelling, cyanosis, DVT
Arterial TOS (aTOS)Subclavian artery~1-2%Ischemia, emboli, pale/cold hand
Disputed TOSUnclear~95% of diagnosed casesChronic pain, no objective findings

7.2 By Anatomy of the Cervical Rib (Gruber's Classification)

TypeDescription
Type IShort rib - does not reach the 1st rib, ends freely
Type IILonger rib - connected to 1st rib by a fibrous band (most common symptomatic type)
Type IIIRib reaches and articulates with 1st rib by a synchondrosis/joint
Type IVComplete rib - fused with 1st rib, forms a complete bony arch

7.3 By Clinical Presentation

  • Asymptomatic (incidental finding - ~90% of cervical rib cases)
  • Neurogenic (lower trunk brachial plexus compression)
  • Vascular Arterial (subclavian artery compression)
  • Vascular Venous (subclavian vein compression)
  • Mixed (combined neurovascular)

8. INVESTIGATIONS / DIAGNOSIS

8.1 Clinical / Special Tests

TestMethodPositive FindingSignificance
Adson's TestPatient inspires deeply, extends neck, rotates head to affected side; examiner palpates radial pulseReduction or obliteration of radial pulseTests interscalene triangle compression; positive in up to 20% of normals - low specificity
Costoclavicular / Halsted TestShoulders drawn backward and downward (military position)Reduction of radial pulse, reproduction of symptomsTests costoclavicular space narrowing
Hyperabduction / Wright TestArm hyperabducted above headReduction of radial pulseTests subcoracoid compression
EAST / Roos TestArms held at 90° abduction + external rotation + 90° elbow flexion ("hold-up" position), patient opens and closes fists for 3 minutesReproduction of symptoms within 1-3 minutesBest clinical test for nTOS (Current Surgical Therapy)
Elvey's Upper Limb Tension Test (ULTT)Neural tension testReproduction of paresthesiasUsed in physiotherapy assessment
Tinel's Test (supraclavicular)Percussion over brachial plexus in supraclavicular fossaTingling in upper limbSuggests brachial plexus irritation
Tenderness over anterior scaleneDeep palpation in low anterior neckTendernessCommon finding in nTOS
Note from Current Surgical Therapy: "The EAST test is the most clinically beneficial - positive when symptoms are reproduced. Adson's maneuver can be positive in 20% of healthy individuals and should not be used alone."

8.2 Investigations

InvestigationFindings
Plain X-ray (AP cervical spine / chest)Demonstrates cervical rib; note - fibrous bands invisible
Duplex UltrasonographyAssesses subclavian artery/vein compression, post-stenotic dilatation, thrombus
CT AngiographyMeasures costoclavicular and interscalene spaces; evaluates arterial anatomy
Conventional AngiographyFor arterial TOS prior to vascular reconstruction
VenographyGold standard for venous TOS (Harrison's)
NCS/EMGConfirms true neurogenic TOS; prolonged ulnar/median nerve conduction
MRILimited sensitivity, time-intensive; used in select atypical cases
Anterior scalene muscle blockDiagnostic: if symptoms relieved by local anaesthetic injection, strongly supports nTOS diagnosis

9. TREATMENT METHODS

9.1 Conservative (Non-Surgical) Management

First-line treatment for neurogenic TOS and disputed TOS:
  1. Patient education - posture awareness, ergonomic modification, activity modification
  2. Physiotherapy (detailed in Section 11)
  3. NSAIDs - for pain and inflammation
  4. Muscle relaxants - if muscle spasm is significant
  5. Neuropathic analgesics - gabapentin/pregabalin for neuropathic pain
  6. Anterior scalene injection - lidocaine block (diagnostic + therapeutic); Botox injection for scalene spasticity
  7. Thrombolytics / anticoagulation - for venous TOS with DVT (Bailey & Love); for arterial TOS with thrombus
From Rosen's Emergency Medicine: "Brachial plexus involvement with minimal signs and symptoms often responds to conservative treatment with physiotherapy and shoulder girdle exercises."

9.2 Indications for Surgery

  • Failure of conservative management (typically after 3-6 months)
  • Progressive neurological symptoms (weakness, wasting)
  • Prolonged ulnar or median nerve conduction velocities on NCS
  • Arterial TOS (universally requires surgery - Current Surgical Therapy)
  • Venous TOS with subclavian thrombosis
  • Evidence of cervical rib with subclavian artery post-stenotic dilatation or thrombus

10. SURGICAL MANAGEMENT

10.1 Principles

The unifying goal of all surgical interventions is decompression of the thoracic outlet. This may involve:
  • Excision of the cervical rib
  • Resection of the 1st rib
  • Division of fibromuscular bands
  • Anterior scalenectomy (scalene muscle release)
  • Vascular reconstruction (for arterial TOS)

10.2 Surgical Approaches

ApproachAdvantagesBest Used For
TransaxillaryExcellent cosmesis, wide exposure of interscalene triangle and costoclavicular space; preferred in ~99% of nTOS/vTOSnTOS, vTOS
SupraclavicularDirect visualization of brachial plexus, scalene muscles; allows scalenectomy and neurolysisnTOS, especially with fibrous bands
InfraclavicularLess commonly used; useful for vascular reconstructionaTOS
ParaclavicularCombined supra+infraclavicular; best exposure for vascular workaTOS with arterial reconstruction
Robot-assisted / VATSMinimally invasive; newer approachSelect cases

10.3 Transaxillary Approach (Most Common)

From Current Surgical Therapy 14e:
  • Patient positioned in lateral decubitus with arm in Machleder retractor at 90° abduction
  • Incision in the axilla below the hairline
  • Exposure of the interscalene triangle and costoclavicular space from a lateral direction
  • First rib exposed widely; resection performed with visualization of brachial plexus and subclavian vessels
  • Advantage: Excellent cosmesis - incision hidden in axilla

10.4 Supraclavicular Approach

  • Allows direct visualization of the brachial plexus and scalene muscles
  • Facilitates anterior scalenectomy (division of anterior scalene)
  • Allows neurolysis of compressed neural elements
  • Combined resection of cervical rib + first rib can be performed
  • Fischer's Mastery of Surgery shows the "operative specimen following combined resection of cervical and first rib (left side)" via this approach

10.5 Arterial TOS - Special Considerations

From Current Surgical Therapy: "Unlike other forms of TOS, aTOS universally requires surgical intervention and frequently mandates surgery beyond thoracic outlet decompression... aTOS requires a tailored surgical approach based on the patient's specific anatomic abnormalities. This may include reconstruction of the axillosubclavian artery, thrombolysis, embolectomy, and/or distal bypass."
Gray's Anatomy for Students: "This patient underwent surgical excision of the cervical rib and had no further symptoms." (in a case of distal arterial embolization from cervical rib)

10.6 Post-Operative Management

  • Early passive mobilization of the shoulder
  • Progression to active ROM exercises
  • Physiotherapy commenced early post-operatively (see below)
  • Anticoagulation if venous/arterial TOS was treated surgically
  • Monitoring for complications: pneumothorax, vascular injury, nerve injury, Horner's syndrome

11. PHYSIOTHERAPY MANAGEMENT

Based on: Jayant Joshi - Essentials of Orthopaedics & Applied Physiotherapy; Current Clinical Concepts (PMC11277273, 2024); Brigham & Women's Hospital TOS Standard of Care; BSI Physiotherapy Evidence-Based Protocols
Physiotherapy is the first-line treatment for neurogenic TOS and the cornerstone of both conservative and post-operative management.

11.1 Goals of Physiotherapy

  1. Decrease pain and neurological symptoms
  2. Correct posture (especially forward head and rounded shoulder posture)
  3. Restore range of motion (cervical, thoracic, shoulder)
  4. Strengthen scapular stabilizers and shoulder girdle muscles
  5. Improve neuromuscular control and scapular kinematics
  6. Normalize breathing patterns
  7. Functional rehabilitation and return to activity/sport

11.2 Physiotherapy Assessment

Postural Assessment:
  • Forward head posture (increases tension on lower brachial plexus)
  • Rounded/drooping shoulders (narrows all three thoracic outlet spaces)
  • Thoracic kyphosis
  • Scapular dyskinesia (winging, anterior tipping)
Special Tests Used by Physiotherapists:
  • EAST/Roos Test (most reliable)
  • Adson's Test
  • Upper Limb Tension Test (ULTT1, ULTT3) - Elvey's test for neural mechanosensitivity
  • Wright's Hyperabduction Test
  • Costoclavicular Manoeuvre
  • Tinel's Sign over brachial plexus
  • Cervical Rotation Lateral Flexion Test (CRLT) - assesses first rib mobility

11.3 Phase 1 - Acute / Pain Management Phase

Objectives: Reduce pain and inflammation, protect neural and vascular structures
Modalities:
  • Transcutaneous Electrical Nerve Stimulation (TENS) - pain modulation
  • Ultrasound therapy - over scalene region (low-intensity, pulsed)
  • Ice/heat application as appropriate
  • Positional relief - arm supported in a sling or elevated to relieve neural tension
  • Neural tension management - avoid provocative postures and movements
Education:
  • Posture awareness and ergonomic advice
  • Activity modification (avoid prolonged arm elevation, carrying heavy loads)
  • Sleep positioning advice (avoid sleeping with arm overhead)

11.4 Phase 2 - Mobility and Manual Therapy Phase

Joint Mobilization (Maitland Grade I-III):
  • First rib inferior glide mobilization - most important technique in TOS; reduces costoclavicular space compression, stretches anterior scalene
  • Cervicothoracic junction mobilization - improves upper thoracic mobility
  • Thoracic posterior-anterior mobilization - reduces thoracic kyphosis
  • Lateral cervical glides - reduce scalene hypertonicity
  • Glenohumeral joint mobilization - if ROM deficits exist
Soft Tissue Techniques:
  • Scalene stretching (with caution - traction-based injury risk):
    • Anterior scalene: ipsilateral rotation + contralateral side bend of cervical spine
    • Middle scalene: cervical lateral flexion away
  • Contract-relax / PNF techniques for scalene muscle inhibition
  • Suboccipital release
  • Pectoralis minor stretch - corner stretch, doorway stretch
  • Levator scapulae and upper trapezius release
Neural Mobilization (Nerve Gliding):
  • Median nerve slider (ULTT1 position)
  • Ulnar nerve slider (ULTT2)
  • Brachial plexus neural flossing - gentle sliders before tensioners
  • Note: Stretching caution - TOS is often traction-based; positions that tension the plexus must be carefully graded

11.5 Phase 3 - Strengthening and Stabilization Phase

From the 2024 PMC review (evidence grade A): "Emphasis on middle and lower trapezius combined with serratus anterior to improve scapular control. Starting with short lever arm and a set/repetition scheme, athletes can complete without compensatory patterns."
Scapular Stabilizer Strengthening (Priority):
Muscle GroupExercises
Lower trapeziusProne Y/T exercises, prone shoulder extension
Middle trapeziusProne T-exercises, seated row (low row)
Serratus anteriorWall push-up plus, shoulder protractions, serratus punches
RhomboidsScapular retraction exercises
Cervical and Shoulder Stabilizers:
  • Deep cervical flexor strengthening (chin tuck exercises against gravity)
  • Cervical proprioception training
  • Rotator cuff strengthening in neutral - avoid impingement positions
  • Shoulder elevation with scapular control - progress from short to long lever
Postural Re-education:
  • Chin tuck exercise (reduces forward head posture)
  • Scapular retraction and depression exercises
  • Wall angels (scapular control + thoracic extension)
  • Brugger's postural relief position

11.6 Phase 4 - Functional Rehabilitation Phase

  • Functional task training - sport or occupation-specific activities
  • Gradual return to overhead activities with scapular control
  • Breathing re-education - diaphragmatic breathing (reduces accessory muscle overuse - scalenes are accessory breathing muscles; chronic use elevates the first rib)
  • Ergonomic workstation setup
  • Home exercise program - to be continued indefinitely post-discharge (Brigham & Women's Standard of Care)

11.7 Post-Surgical Physiotherapy

Immediate Post-Op (0-2 weeks):
  • Gentle pendulum exercises (Codman's)
  • Passive ROM of shoulder
  • Pain management (TENS, cryotherapy)
  • Edema management if present
  • Sling use as required
Early Rehabilitation (2-6 weeks):
  • Active-assisted and active ROM exercises
  • First rib mobilization (if access permits)
  • Scapular setting exercises
  • Neural gliding (gentle sliders)
Late Rehabilitation (6-12 weeks):
  • Progressive strengthening of scapular stabilizers
  • Functional activities
  • Return to work/sport criteria

11.8 Blood Flow Restriction Training

Note: The 2024 PMC evidence review gives a SOR: C recommendation AGAINST blood flow restriction training in TOS patients: "Not recommended secondary to arterial and venous TOS and potential to progress to upper extremity deep venous thrombosis."

12. DIFFERENTIAL DIAGNOSIS

The following conditions must be excluded when diagnosing cervical rib/TOS (S. Das, Sabiston):
  1. Cervical spondylosis / cervical disc prolapse (radiculopathy)
  2. Carpal tunnel syndrome (median nerve compression at wrist)
  3. Cubital tunnel syndrome (ulnar nerve at elbow)
  4. Pancoast tumour (apical lung tumour with brachial plexus invasion + Horner's syndrome)
  5. Peripheral arterial disease of the upper limb
  6. Raynaud's phenomenon / disease
  7. Multiple sclerosis
  8. Syringomyelia
  9. Brachial neuritis (Parsonage-Turner syndrome)
  10. Subclavian steal syndrome

13. PROGNOSIS

  • Conservative management: Most patients with nTOS who are conservatively managed return to work with significant symptom improvement (Brigham & Women's)
  • Surgical management: Sabiston reports "surgery is beneficial in most patients with TOS, and long-term functional outcome of surgical treatment is good"
  • Neurological deficits (wasting, weakness) often do not fully recover even after surgery - Harrison's: "The weakness and wasting of intrinsic hand muscles typically do not improve, but surgery halts the insidious progression of weakness"
  • Arterial TOS has a good prognosis with appropriate surgical intervention
  • Venous TOS has good outcomes with anticoagulation + surgical decompression

14. RECENT EVIDENCE (PubMed 2021-2026)

StudyKey Findings
Cavanna AC et al. J Osteopath Med 2022 [PMID: 36018621]Systematic review - TOS overview for primary care; reinforces multidisciplinary management
Panther EJ et al. J Shoulder Elbow Surg 2022 [PMID: 35963513]Reviews current evidence on diagnosis and treatment protocols
Mulatti GC et al. Semin Vasc Surg 2024 [PMID: 38704183]TOS in women - female predominance confirmed; addresses sex-specific management
Potluri VK et al. Semin Vasc Surg 2024 [PMID: 38704178]Arterial TOS review - surgical outcomes; confirms universal need for surgery in aTOS

SUMMARY DIAGRAM

CERVICAL RIB (C7 anomalous rib)
         |
         ↓
THORACIC OUTLET SYNDROME
         |
    ┌────┴────┐──────────────┐
    ↓         ↓              ↓
NEUROGENIC  VENOUS       ARTERIAL
(95%)       (3-4%)       (1-2%)
Lower trunk Subclavian   Subclavian
C8/T1       vein         artery
    |         |              |
Paresthesia  Arm swelling  Cold pale hand
Weakness     DVT           Emboli/ischemia
Wasting      Cyanosis      Reduced BP
    |         |              |
First-line:  Anticoag +    SURGERY
Physiotherapy Surgery      ALWAYS
    |
    ↓
If fails → Surgery
(First rib/cervical rib resection)

Key Textbook References Used:
  • Gray's Anatomy for Students - cervical rib anatomy, fibrous bands, clinical presentations
  • Bailey & Love's Short Practice of Surgery 28th Ed. - cervical rib definition, TOS classification
  • S. Das - A Manual on Clinical Surgery 13th Ed. - symptom groups (local, neurogenic, vascular)
  • Harrison's Principles of Internal Medicine 22E - TOS classification, treatment recommendations
  • Sabiston Textbook of Surgery - clinical presentation table, physical examination tests
  • Current Surgical Therapy 14e - surgical approaches, EAST test, arterial TOS management
  • THIEME Atlas of General Anatomy & Musculoskeletal System - scalene syndrome anatomy
  • Jayant Joshi - Essentials of Orthopaedics & Applied Physiotherapy - physiotherapy framework and clinical tests (Phalen's, Adson's, ULTT referenced in clinical orthopaedic context)
  • PMC11277273 (2024) - Current Clinical Concepts: Rehabilitation of TOS - evidence-based physiotherapy

keep the treatment part same and reduce the other parts mainly anatomy and all minimilise the content

CERVICAL RIB - Condensed Clinical Guide

References: Gray's Anatomy for Students | Bailey & Love's Surgery 28th Ed. | Harrison's 22E | S. Das Manual on Clinical Surgery | Sabiston Textbook of Surgery | Current Surgical Therapy 14e | Jayant Joshi - Essentials of Orthopaedics & Applied Physiotherapy

1. INTRODUCTION

Cervical rib is a congenital skeletal anomaly that may compress neurovascular structures at the thoracic outlet, producing Thoracic Outlet Syndrome (TOS). Though present in ~1% of the population, only 10% become symptomatic. Coote first surgically excised a cervical rib in 1861.

2. DEFINITION

A cervical rib is a supernumerary rib articulating with the 7th cervical vertebra (C7), representing failure of regression of the costal element of C7 during embryonic development.
"A cervical rib is an accessory rib articulating with vertebra CVII; the anterior end attaches to the superior border of the anterior aspect of rib I." - Gray's Anatomy for Students
A fibrous band often extends from the rib tip to rib I even when the bony rib is small - this is invisible on X-ray but equally symptomatic.

3. ANATOMY (Simplified)

Thoracic outlet anatomy - scalene muscles, brachial plexus, subclavian artery and vein
THIEME Atlas: Key structures at the thoracic outlet
Three anatomic corridors are vulnerable to compression:
SpaceKey Structures Passing Through
Interscalene TriangleSubclavian artery + Brachial plexus
Costoclavicular SpaceSubclavian vein + artery + Brachial plexus
Subcoracoid SpaceNeurovascular bundle (in extreme abduction)
A cervical rib elevates the lower trunk of the brachial plexus (C8, T1) and kinks the subclavian artery, producing neurogenic and vascular symptoms respectively.

4. ETIOLOGY

CauseMechanism
Congenital cervical rib (bony/fibrous)Directly narrows interscalene triangle
Sagging shoulder girdle (puberty in women)Increases plexus traction over rib - S. Das
Neck trauma / whiplashTriggers latent symptoms
Repetitive overhead activityRepeated microtrauma
Anomalous scalene musclesAdditional compression
Previous clavicle fractureCallus reduces costoclavicular space
Poor posture (forward head, rounded shoulders)Narrows all three outlet spaces

5. CLINICAL FEATURES

X-ray showing bilateral cervical ribs
AP cervical X-ray - bilateral cervical ribs
S. Das classifies symptoms into three groups:

(a) Local

  • Hard, fixed lump in the posterior triangle of the neck
  • Local pain and tenderness in the supraclavicular fossa

(b) Neurogenic (Lower trunk C8/T1 compression)

  • Sensory: Tingling, numbness, pain along the medial forearm and hand (ulnar distribution)
  • Motor: Weakness + wasting of thenar/hypothenar eminences and interossei; claw hand in advanced cases
  • Vasomotor: Hyperhidrosis, digital gangrene (extreme)

(c) Vascular

  • Forearm pain worse with exercise
  • Hand colder than opposite side; pale on elevation, cyanotic when dependent
  • Feeble or absent radial pulse
  • Digital emboli (black fingertip areas) - subclavian artery thrombus
  • Arm swelling + DVT (subclavian vein)

6. CLASSIFICATION

By Type of Structure Compressed (Harrison's / Sabiston)

TypeStructurePrevalenceKey Feature
Neurogenic TOSBrachial plexus~95%Motor/sensory deficits
Venous TOSSubclavian vein~3-4%Arm swelling, DVT
Arterial TOSSubclavian artery~1-2%Ischemia, emboli
Disputed TOSUnclear~95% of diagnosedChronic pain, no objective signs

By Anatomy of Rib (Gruber's Classification)

TypeDescription
Type IShort rib - ends freely, no contact with 1st rib
Type IIConnected to 1st rib by fibrous band (most symptomatic)
Type IIIArticulates with 1st rib via synchondrosis
Type IVComplete bony rib - fused with 1st rib

7. INVESTIGATIONS

TestFindings
Plain X-ray (AP cervical/chest)Demonstrates bony rib; fibrous bands invisible
Duplex UltrasoundArterial/venous compression, thrombus, post-stenotic dilatation
CT AngiographyMeasures costoclavicular/interscalene spaces; arterial anatomy
VenographyGold standard for venous TOS
NCS/EMGConfirms neurogenic TOS; prolonged conduction velocities
Anterior scalene blockDiagnostic + therapeutic for nTOS

Clinical Provocation Tests

TestTechniquePositive
Adson's TestDeep breath, neck extended, rotate to affected sideRadial pulse reduced
Costoclavicular (Halsted) TestShoulders drawn back + down (military position)Pulse reduced + symptoms
EAST / Roos TestArms at 90° abduction + ER, open-close fists x 3 minSymptoms reproduced within 1-3 min (most reliable - Current Surgical Therapy)
Wright Hyperabduction TestArm hyperabducted overheadPulse reduced
ULTT (Elvey)Upper limb tension testNeural paresthesias

8. TREATMENT METHODS

8.1 Conservative Management (First-line for nTOS)

  • Physiotherapy (see Section 10 - detailed)
  • NSAIDs + muscle relaxants
  • Neuropathic agents (gabapentin/pregabalin)
  • Anterior scalene lidocaine block / Botox injection
  • Anticoagulation for venous TOS with DVT
  • Thrombolytics for arterial TOS with thrombus
"Brachial plexus involvement with minimal signs and symptoms often responds to conservative treatment with physiotherapy and shoulder girdle exercises." - Rosen's Emergency Medicine

9. SURGICAL MANAGEMENT

9.1 Indications

  • Failure of conservative management (3-6 months)
  • Progressive neurological symptoms (wasting, weakness)
  • Prolonged NCS conduction velocities
  • Arterial TOS (always requires surgery)
  • Venous TOS with subclavian thrombosis

9.2 Surgical Goals

Decompression of the thoracic outlet by:
  • Excision of the cervical rib
  • Resection of the 1st rib
  • Division of fibromuscular bands
  • Anterior scalenectomy
  • Vascular reconstruction (arterial TOS)

9.3 Surgical Approaches

ApproachBest ForKey Advantage
Transaxillary (preferred ~99% of nTOS/vTOS)nTOS, vTOSExcellent cosmesis; wide exposure of both key spaces
SupraclavicularnTOS with fibrous bandsDirect brachial plexus visualization; allows neurolysis + scalenectomy
Paraclavicular (supra + infraclavicular)aTOSBest exposure for vascular reconstruction
InfraclavicularaTOS - vascular workArterial access
Robot-assisted / VATSSelect casesMinimally invasive

9.4 Transaxillary Approach (Most Common)

From Current Surgical Therapy 14e:
  • Patient in lateral decubitus, arm suspended in Machleder retractor at 90° abduction
  • Axillary incision (hidden in axilla - excellent cosmesis)
  • First rib exposed from a lateral direction
  • Wide visualization of brachial plexus + subclavian vessels
  • Cervical rib + first rib resected as needed

9.5 Supraclavicular Approach

  • Direct approach for scalenectomy + neurolysis
  • Preferred when fibrous bands are the primary compressor
  • Allows combined cervical + first rib resection
  • Visualizes and protects brachial plexus directly

9.6 Arterial TOS - Special Considerations

"Unlike other forms of TOS, aTOS universally requires surgical intervention and frequently mandates surgery beyond thoracic outlet decompression... This may include reconstruction of the axillosubclavian artery, thrombolysis, embolectomy, and/or distal bypass." - Current Surgical Therapy 14e

9.7 Post-Operative Management

  • Early passive shoulder mobilization
  • Physiotherapy commenced early (Phase 1 protocol)
  • Anticoagulation where indicated
  • Monitor for: pneumothorax, vascular injury, nerve injury, Horner's syndrome

9.8 Prognosis After Surgery

  • Surgery halts neurological progression but wasting/weakness often does not recover - Harrison's 22E
  • Arterial and venous TOS have good prognosis post-decompression
  • Sabiston: "Surgery is beneficial in most patients with TOS, and long-term functional outcome is good"

10. PHYSIOTHERAPY MANAGEMENT

Based on: Jayant Joshi - Essentials of Orthopaedics & Applied Physiotherapy | Current Clinical Concepts in TOS Rehabilitation (PMC11277273, 2024) | Brigham & Women's Hospital TOS Standard of Care
Physiotherapy is the first-line treatment for neurogenic TOS and forms the backbone of both conservative and post-operative management.

10.1 Goals of Physiotherapy

  1. Decrease pain and neurological symptoms
  2. Correct posture - forward head and rounded shoulder
  3. Restore cervical, thoracic, and shoulder ROM
  4. Strengthen scapular stabilizers and shoulder girdle
  5. Improve neuromuscular control and scapular kinematics
  6. Normalize breathing patterns
  7. Functional rehabilitation and return to work/sport

10.2 Physiotherapy Assessment

Postural Assessment:
  • Forward head posture (increases lower brachial plexus tension)
  • Drooping/rounded shoulders (narrows all three outlet spaces)
  • Thoracic kyphosis
  • Scapular dyskinesia (winging, anterior tipping)
Special Tests:
  • EAST/Roos Test (most reliable)
  • Adson's Test
  • Upper Limb Tension Tests (ULTT1, ULTT3) - Elvey's neural tension tests
  • Wright's Hyperabduction Test
  • Costoclavicular Manoeuvre
  • Cervical Rotation Lateral Flexion Test (CRLT) - assesses first rib mobility
  • Tinel's Sign over brachial plexus (supraclavicular)

10.3 Phase 1 - Acute / Pain Management

Objectives: Reduce pain and inflammation, protect neural and vascular structures
Electrotherapy & Modalities:
  • TENS - pain modulation
  • Pulsed ultrasound over scalene region (low intensity)
  • Cryotherapy / Heat as appropriate
  • Interferential therapy (IFT) for deeper pain relief
Positioning & Protection:
  • Arm supported in sling or elevated to relieve neural tension
  • Avoid provocative postures (overhead activities, arm across body)
  • Sleep positioning advice - avoid sleeping with arm overhead
Patient Education:
  • Posture awareness and ergonomic workstation setup
  • Activity modification
  • Understanding the condition and expected recovery timeline

10.4 Phase 2 - Mobility and Manual Therapy

Joint Mobilization (Maitland Grade I-III):
TechniqueTargetRationale
Inferior first rib mobilizationFirst ribIncreases costoclavicular space; stretches anterior scalene - most important technique
Cervicothoracic junction mobilizationC7-T1Improves upper thoracic mobility
Thoracic PA mobilizationMid-thoracicReduces kyphosis, improves posture
Lateral cervical glidesCervical spineReduces scalene hypertonicity
Glenohumeral mobilizationGHJIf ROM deficits exist; avoid costoclavicular compression positions
Posterior GHJ capsule mobilizationPosterior capsuleImproves posterior capsule mobility in overhead athletes
Soft Tissue Techniques:
  • Anterior scalene stretch: Ipsilateral cervical rotation + contralateral side bend
  • Middle scalene stretch: Cervical lateral flexion away from affected side
  • Pectoralis minor stretch: Corner/doorway stretch
  • Upper trapezius + levator scapulae release
  • Suboccipital release
  • Contract-relax (PNF) for scalene inhibition
Neural Mobilization (Nerve Gliding):
  • Median nerve slider (ULTT1 position)
  • Ulnar nerve slider (ULTT2/ULTT3)
  • Brachial plexus neural flossing - sliders before tensioners
  • Caution: TOS is often traction-based - grade neural mobilization carefully to avoid symptom aggravation

10.5 Phase 3 - Strengthening and Stabilization

From 2024 evidence review (SOR: A): "Emphasis on middle and lower trapezius combined with serratus anterior to improve scapular control. Starting with short lever arm and a set/repetition scheme that athletes can complete without compensatory patterns."
Scapular Stabilizer Strengthening (Priority Muscles):
Muscle GroupExercises
Lower TrapeziusProne Y-exercises, prone shoulder extension
Middle TrapeziusProne T-exercises, seated low row
Serratus AnteriorWall push-up plus, serratus punches, shoulder protraction
RhomboidsScapular retraction exercises
Cervical and Shoulder Stabilizers:
  • Deep cervical flexor strengthening - chin tuck exercises (progressive)
  • Cervical proprioception training
  • Rotator cuff strengthening in neutral range (avoid impingement positions)
  • Progressive shoulder elevation with scapular control
Postural Re-education:
  • Chin tuck exercise - corrects forward head posture
  • Wall angels - scapular control + thoracic extension
  • Brugger's postural relief position
  • Scapular retraction and depression exercises
Breathing Re-education:
  • Diaphragmatic breathing technique - reduces scalene overuse as accessory breathing muscles
  • Scalenes, when chronically overloaded with breathing, elevate the first rib and worsen compression

10.6 Phase 4 - Functional Rehabilitation

  • Functional task training - occupation/sport-specific progressive loading
  • Gradual return to overhead activities with maintained scapular control
  • Ergonomic workstation assessment and setup
  • Home exercise program - continued indefinitely post-discharge (Brigham & Women's Standard of Care)
  • Return to sport criteria - full ROM, symmetrical strength, no symptom reproduction on EAST test

10.7 Post-Surgical Physiotherapy Protocol

PhaseTimeframeFocus
Immediate Post-Op0-2 weeksCodman's pendulum exercises, passive ROM, TENS, cryotherapy, edema management
Early Rehab2-6 weeksActive-assisted + active ROM, scapular setting exercises, gentle neural gliders, first rib mobilization
Late Rehab6-12 weeksProgressive scapular strengthening, functional activities, return to work/sport
Discharge12+ weeksIndependent HEP, ergonomic advice, self-management strategies

10.8 Special Considerations

Blood Flow Restriction Training: NOT recommended in TOS patients (SOR: C) - risk of progression to upper extremity DVT in arterial and venous TOS cases (PMC11277273, 2024).
Stretching Caution: TOS is frequently a traction-based injury. Stretching positions that load the brachial plexus in tension must be carefully graded. Sliders before tensioners; never force through reproduction of paresthesias.
Bilateral Involvement: Since cervical ribs are bilateral in 50-80% of cases, assess and treat both sides even if only one is symptomatic.

RECENT EVIDENCE (PubMed 2021-2026)

StudyKey Finding
Cavanna AC et al. J Osteopath Med 2022 [PMID: 36018621]Systematic review - multidisciplinary management reinforced
Panther EJ et al. J Shoulder Elbow Surg 2022 [PMID: 35963513]Current diagnosis and treatment protocols reviewed
Mulatti GC et al. Semin Vasc Surg 2024 [PMID: 38704183]TOS in women - confirms female predominance and sex-specific management needs
Potluri VK et al. Semin Vasc Surg 2024 [PMID: 38704178]Arterial TOS - universal need for surgery confirmed, good surgical outcomes

make a ppt in this

Reading File
Reading File
Reading File
Running Command

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

Running Command

mkdir -p /tmp/workspace/cervical-rib-ppt

Writing File

~/cervical-rib-ppt/build_ppt.py

import json, subprocess, base64
from io import BytesIO
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE

# ── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE   = RGBColor(0x1A, 0x35, 0x5E)   # deep navy – title bar / accents
MID_BLUE    = RGBColor(0x2E, 0x6D, 0xA4)   # medium blue – section headers
LIGHT_BLUE  = RGBColor(0xD6, 0xE8, 0xF7)   # pale blue – content bg
ACCENT      = RGBColor(0x00, 0xB0, 0xF0)   # sky-blue – divider line / bullets
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT   = RGBColor(0x1A, 0x1A, 0x2E)
ORANGE      = RGBColor(0xE8, 0x6A, 0x1A)   # highlight
LIGHT_GREY  = RGBColor(0xF4, 0xF7, 0xFB)

W = Inches(13.333)
H = Inches(7.5)

prs = Presentation()
prs.slide_width  = W
prs.slide_height = H
blank = prs.slide_layouts[6]

# ── Helper utilities ──────────────────────────────────────────────────────────
def add_rect(slide, x, y, w, h, fill_rgb, line_rgb=None, line_pt=0):
    shp = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, w, h)
    shp.fill.solid(); shp.fill.fore_color.rgb = fill_rgb
    if line_rgb:
        shp.line.color.rgb = line_rgb; shp.line.width = Pt(line_pt)
    else:
        shp.line.fill.background()
    shp.shadow.inherit = False
    return shp

def add_tb(slide, x, y, w, h, text, font_size, bold=False, color=DARK_TEXT,
           align=PP_ALIGN.LEFT, italic=False, wrap=True, font_name="Calibri"):
    tb = slide.shapes.add_textbox(x, y, w, h)
    tf = tb.text_frame; tf.word_wrap = wrap
    tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
    p = tf.paragraphs[0]; p.alignment = align
    r = p.add_run(); r.text = text
    r.font.name = font_name; r.font.size = Pt(font_size)
    r.font.bold = bold; r.font.italic = italic
    r.font.color.rgb = color
    return tb

def add_para(tf, text, font_size, bold=False, color=DARK_TEXT,
             align=PP_ALIGN.LEFT, italic=False, level=0, font_name="Calibri"):
    p = tf.add_paragraph(); p.alignment = align; p.level = level
    r = p.add_run(); r.text = text
    r.font.name = font_name; r.font.size = Pt(font_size)
    r.font.bold = bold; r.font.italic = italic
    r.font.color.rgb = color
    return p

def std_header(slide, title_text, subtitle_text=""):
    """Top navy bar + white title + divider line."""
    add_rect(slide, 0, 0, W, Inches(1.15), DARK_BLUE)
    add_tb(slide, Inches(0.4), Inches(0.1), Inches(12.5), Inches(0.85),
           title_text, 32, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
    if subtitle_text:
        add_tb(slide, Inches(0.4), Inches(0.95), Inches(12.5), Inches(0.3),
               subtitle_text, 14, bold=False, color=ACCENT, align=PP_ALIGN.LEFT)
    # accent line
    ln = slide.shapes.add_connector(
        __import__('pptx.enum.shapes', fromlist=['MSO_CONNECTOR']).MSO_CONNECTOR.STRAIGHT,
        0, Inches(1.15), W, Inches(1.15))
    ln.line.color.rgb = ACCENT; ln.line.width = Pt(3)

def bg(slide):
    """Light background."""
    add_rect(slide, 0, 0, W, H, LIGHT_GREY)

def footer(slide, txt="Cervical Rib | Clinical & Physiotherapy Guide"):
    add_rect(slide, 0, Inches(7.15), W, Inches(0.35), DARK_BLUE)
    add_tb(slide, Inches(0.3), Inches(7.18), Inches(12.7), Inches(0.28),
           txt, 9, color=RGBColor(0xCC,0xDD,0xEE), align=PP_ALIGN.LEFT)

def bullet_box(slide, x, y, w, h, items, font_size=14, title=None, title_size=16):
    """Draws a rounded card with optional title + bullet items."""
    card = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, y, w, h)
    card.fill.solid(); card.fill.fore_color.rgb = WHITE
    card.line.color.rgb = MID_BLUE; card.line.width = Pt(1)
    card.shadow.inherit = False
    # title bar inside card
    if title:
        tbar = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, y, w, Inches(0.38))
        tbar.fill.solid(); tbar.fill.fore_color.rgb = MID_BLUE
        tbar.line.fill.background(); tbar.shadow.inherit = False
        add_tb(slide, x+Inches(0.1), y+Inches(0.04), w-Inches(0.2), Inches(0.3),
               title, title_size, bold=True, color=WHITE)
        cy = y + Inches(0.42)
    else:
        cy = y + Inches(0.1)
    tb = slide.shapes.add_textbox(x+Inches(0.15), cy, w-Inches(0.3), h-(cy-y)-Inches(0.1))
    tf = tb.text_frame; tf.word_wrap = True
    tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
    first = True
    for item in items:
        if first:
            tf.paragraphs[0].alignment = PP_ALIGN.LEFT
            r = tf.paragraphs[0].add_run()
            r.text = item; r.font.name = "Calibri"; r.font.size = Pt(font_size)
            r.font.color.rgb = DARK_TEXT; first = False
        else:
            add_para(tf, item, font_size)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 1 — TITLE
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, W, H, DARK_BLUE)
# diagonal accent strip
strip = slide.shapes.add_shape(MSO_SHAPE.PARALLELOGRAM, Inches(-1), Inches(2.5), Inches(15), Inches(2.5))
strip.fill.solid(); strip.fill.fore_color.rgb = MID_BLUE
strip.line.fill.background(); strip.shadow.inherit = False

add_tb(slide, Inches(0.8), Inches(1.2), Inches(11), Inches(1.2),
       "CERVICAL RIB", 56, bold=True, color=WHITE, align=PP_ALIGN.LEFT, font_name="Calibri")
add_tb(slide, Inches(0.8), Inches(2.5), Inches(11), Inches(0.6),
       "Thoracic Outlet Syndrome — Clinical & Physiotherapy Guide", 22,
       color=ACCENT, align=PP_ALIGN.LEFT)
add_tb(slide, Inches(0.8), Inches(3.3), Inches(11), Inches(0.45),
       "Introduction  |  Anatomy  |  Etiology  |  Clinical Features  |  Classification", 14,
       color=RGBColor(0xCC,0xDD,0xEE), align=PP_ALIGN.LEFT)
add_tb(slide, Inches(0.8), Inches(3.7), Inches(11), Inches(0.45),
       "Investigations  |  Treatment  |  Surgical Management  |  Physiotherapy", 14,
       color=RGBColor(0xCC,0xDD,0xEE), align=PP_ALIGN.LEFT)
add_tb(slide, Inches(0.8), Inches(6.6), Inches(11), Inches(0.5),
       "References: Gray's Anatomy | Bailey & Love | Harrison's 22E | S. Das | Sabiston | Jayant Joshi", 11,
       color=RGBColor(0x88,0xAA,0xCC), align=PP_ALIGN.LEFT, italic=True)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 2 — INTRODUCTION & DEFINITION
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Introduction & Definition"); footer(slide)

# Intro box
intro = [
    "Cervical rib is a congenital skeletal anomaly where an extra rib arises from C7 vertebra.",
    "Present in ~1% of the population; symptomatic in only ~10% of those.",
    "Compresses neurovascular structures at the thoracic outlet → Thoracic Outlet Syndrome (TOS).",
    "Bilateral in 50–80% of cases.",
    "Coote first performed surgical excision in 1861.",
]
bullet_box(slide, Inches(0.4), Inches(1.3), Inches(6.2), Inches(2.7), intro,
           font_size=14, title="Introduction", title_size=15)

# Definition box
defn = [
    "A cervical rib is a supernumerary rib articulating with the 7th cervical vertebra (C7).",
    "Represents persistence of the costal element of C7 that normally regresses in development.",
    "A fibrous band often extends from the rib tip to rib I — invisible on X-ray but equally symptomatic.",
    "\"A cervical rib is an accessory rib articulating with vertebra CVII; the anterior end attaches to the superior border of the anterior aspect of rib I.\"  — Gray's Anatomy for Students",
]
bullet_box(slide, Inches(7.0), Inches(1.3), Inches(6.0), Inches(2.7), defn,
           font_size=13, title="Definition", title_size=15)

# TOS definition
tos = [
    "Thoracic Outlet Syndrome (TOS) = clinical complex of symptoms from compression of:",
    "  • Brachial plexus   • Subclavian artery   • Subclavian vein",
    "at the thoracic outlet due to cervical rib or related anomalies.",
]
bullet_box(slide, Inches(0.4), Inches(4.2), Inches(12.5), Inches(2.5), tos,
           font_size=14, title="Thoracic Outlet Syndrome (TOS)", title_size=15)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 3 — ANATOMY
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Anatomy of the Thoracic Outlet"); footer(slide)

# Fetch image
IMG_URL = "https://cdn.orris.care/cdss_images/d500d28ff92d145b3215667d1059a402c5c6a3372212f9c5a84e913ba02edf9a.png"
try:
    result = json.loads(subprocess.check_output(
        ["python", "/tmp/skills/shared/scripts/fetch_images.py", IMG_URL], timeout=30))
    if result[0]["base64"]:
        raw = base64.b64decode(result[0]["base64"].split(",", 1)[1])
        slide.shapes.add_picture(BytesIO(raw), Inches(0.3), Inches(1.3), width=Inches(5.5))
        add_tb(slide, Inches(0.3), Inches(5.7), Inches(5.5), Inches(0.4),
               "THIEME Atlas: Thoracic outlet — scalene muscles, brachial plexus, subclavian vessels",
               9, italic=True, color=RGBColor(0x55,0x55,0x55))
except Exception as e:
    add_tb(slide, Inches(0.3), Inches(2.5), Inches(5.0), Inches(0.4),
           f"[Image not loaded: {e}]", 10, italic=True)

# Three spaces table
spaces = [
    ("Interscalene Triangle", "Subclavian artery + Brachial plexus"),
    ("Costoclavicular Space", "Subclavian vein + artery + Brachial plexus"),
    ("Subcoracoid Space", "Neurovascular bundle (extreme abduction)"),
]
add_rect(slide, Inches(6.1), Inches(1.3), Inches(6.8), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(6.1), Inches(1.32), Inches(6.8), Inches(0.35),
       "Three Key Anatomic Spaces", 15, bold=True, color=WHITE)
row_colors = [WHITE, LIGHT_BLUE, WHITE]
for i, (space, struct) in enumerate(spaces):
    ry = Inches(1.68) + i*Inches(0.48)
    add_rect(slide, Inches(6.1), ry, Inches(6.8), Inches(0.46), row_colors[i])
    add_tb(slide, Inches(6.15), ry+Inches(0.05), Inches(3.2), Inches(0.38),
           space, 13, bold=True, color=DARK_BLUE)
    add_tb(slide, Inches(9.4), ry+Inches(0.05), Inches(3.4), Inches(0.38),
           struct, 12, color=DARK_TEXT)

# Key points
key = [
    "Lower trunk of brachial plexus (C8, T1) — most vulnerable to cervical rib compression.",
    "T1 nerve root is elevated → tension + friction over bony/fibrous cervical rib.",
    "Subclavian artery is kinked/angulated → post-stenotic dilatation + thrombus formation.",
    "Subclavian vein compressed in costoclavicular space → axillary vein thrombosis.",
]
bullet_box(slide, Inches(6.1), Inches(3.2), Inches(6.8), Inches(2.5), key,
           font_size=13, title="Key Points", title_size=14)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 4 — ETIOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Etiology & Predisposing Factors"); footer(slide)

causes = [
    ("Congenital cervical rib", "Directly narrows interscalene triangle — primary cause"),
    ("Sagging shoulder girdle", "Increases plexus traction over rib — typical at puberty in women (S. Das)"),
    ("Neck trauma / whiplash", "Triggers symptoms in previously asymptomatic cervical rib"),
    ("Repetitive overhead activity", "Repeated microtrauma to compressed structures"),
    ("Anomalous scalene muscles", "Accessory scalene bands add additional compression"),
    ("Previous clavicle fracture", "Callus formation reduces costoclavicular space"),
    ("Poor posture", "Forward head + rounded shoulders narrows all three outlet spaces"),
    ("Fibrous band at C7", "Even without bony rib, fibromuscular band from C7 produces identical symptoms"),
]
col_w = Inches(6.2)
col_gap = Inches(0.4)
lx = Inches(0.4)
rx = lx + col_w + col_gap
for i, (cause, mech) in enumerate(causes):
    col = 0 if i < 4 else 1
    row = i if i < 4 else i - 4
    x = lx if col == 0 else rx
    y = Inches(1.4) + row * Inches(1.3)
    card = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, y, col_w, Inches(1.15))
    card.fill.solid(); card.fill.fore_color.rgb = WHITE
    card.line.color.rgb = ACCENT; card.line.width = Pt(1.2)
    card.shadow.inherit = False
    # coloured left strip
    strip2 = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, Inches(0.12), Inches(1.15))
    strip2.fill.solid(); strip2.fill.fore_color.rgb = MID_BLUE
    strip2.line.fill.background(); strip2.shadow.inherit = False
    add_tb(slide, x+Inches(0.2), y+Inches(0.05), col_w-Inches(0.25), Inches(0.35),
           cause, 14, bold=True, color=DARK_BLUE)
    add_tb(slide, x+Inches(0.2), y+Inches(0.42), col_w-Inches(0.25), Inches(0.65),
           mech, 12, color=DARK_TEXT, wrap=True)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 5 — CLINICAL FEATURES
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Clinical Features  (S. Das — Three Groups)"); footer(slide)

# X-ray image
XRAY_URL = "https://cdn.orris.care/cdss_images/d50bb3631e33bc89f650e331d71047c789f9e0cb0fb600176ff62d7df024b863.png"
try:
    result2 = json.loads(subprocess.check_output(
        ["python", "/tmp/skills/shared/scripts/fetch_images.py", XRAY_URL], timeout=30))
    if result2[0]["base64"]:
        raw2 = base64.b64decode(result2[0]["base64"].split(",", 1)[1])
        slide.shapes.add_picture(BytesIO(raw2), Inches(10.8), Inches(1.5), width=Inches(2.2))
        add_tb(slide, Inches(10.8), Inches(4.2), Inches(2.2), Inches(0.4),
               "Bilateral cervical ribs on AP X-ray", 9, italic=True, color=RGBColor(0x55,0x55,0x55))
except:
    pass

groups = [
    ("(a) Local", [
        "Hard, fixed lump in the lower posterior triangle of the neck",
        "Local pain and tenderness in the supraclavicular fossa",
    ], MID_BLUE),
    ("(b) Neurogenic  (Lower trunk C8/T1)", [
        "Sensory: tingling, numbness, pain — medial forearm + hand (ulnar distribution)",
        "Motor: weakness + wasting of thenar/hypothenar eminences and interossei",
        "Claw hand in advanced cases (intrinsic paralysis)",
        "Vasomotor: hyperhidrosis, digital gangrene (extreme)",
    ], DARK_BLUE),
    ("(c) Vascular", [
        "Forearm pain worse with exercise (claudication)",
        "Hand colder than opposite; pale on elevation, cyanotic when dependent",
        "Feeble or absent radial pulse on affected side",
        "Digital emboli — black areas on fingertips (subclavian artery thrombus)",
        "Arm swelling + DVT (subclavian vein compression)",
    ], RGBColor(0x8B, 0x00, 0x00)),
]
gy = Inches(1.35)
for (grp_title, items, hdr_color) in groups:
    bh = Inches(0.38 + len(items)*0.38)
    card = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(0.35), gy, Inches(10.2), bh)
    card.fill.solid(); card.fill.fore_color.rgb = WHITE
    card.line.color.rgb = hdr_color; card.line.width = Pt(1.5)
    card.shadow.inherit = False
    tbar2 = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.35), gy, Inches(10.2), Inches(0.36))
    tbar2.fill.solid(); tbar2.fill.fore_color.rgb = hdr_color
    tbar2.line.fill.background(); tbar2.shadow.inherit = False
    add_tb(slide, Inches(0.5), gy+Inches(0.04), Inches(10.0), Inches(0.3),
           grp_title, 15, bold=True, color=WHITE)
    tbx = slide.shapes.add_textbox(Inches(0.55), gy+Inches(0.4), Inches(9.9), bh-Inches(0.42))
    tf2 = tbx.text_frame; tf2.word_wrap = True
    tf2.margin_left = tf2.margin_right = tf2.margin_top = tf2.margin_bottom = 0
    first2 = True
    for it in items:
        if first2:
            tf2.paragraphs[0].alignment = PP_ALIGN.LEFT
            r2 = tf2.paragraphs[0].add_run()
            r2.text = "  " + it; r2.font.name = "Calibri"; r2.font.size = Pt(13)
            r2.font.color.rgb = DARK_TEXT; first2 = False
        else:
            p2 = tf2.add_paragraph(); p2.alignment = PP_ALIGN.LEFT
            r3 = p2.add_run(); r3.text = "  " + it
            r3.font.name = "Calibri"; r3.font.size = Pt(13)
            r3.font.color.rgb = DARK_TEXT
    gy += bh + Inches(0.1)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 6 — CLASSIFICATION
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Classification of Cervical Rib / TOS"); footer(slide)

# TOS by structure
add_rect(slide, Inches(0.3), Inches(1.3), Inches(6.0), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(0.35), Inches(1.32), Inches(5.9), Inches(0.35),
       "By Structure Compressed (Harrison's / Sabiston)", 14, bold=True, color=WHITE)
tos_rows = [
    ("Neurogenic TOS", "Brachial plexus", "~95%", "Motor/sensory deficits, pain, paresthesia"),
    ("Venous TOS", "Subclavian vein", "~3-4%", "Arm swelling, cyanosis, DVT"),
    ("Arterial TOS", "Subclavian artery", "~1-2%", "Ischemia, emboli, cold hand"),
    ("Disputed TOS", "Unclear", "~95% of diagnosed", "Chronic pain, no objective signs"),
]
col_hdr = ["Type", "Structure", "Prevalence", "Key Features"]
col_x = [Inches(0.3), Inches(2.25), Inches(3.8), Inches(4.7)]
col_w2 = [Inches(1.95), Inches(1.55), Inches(0.85), Inches(1.85)]  # NOT used, just guide
for ci, hdr in enumerate(col_hdr):
    add_rect(slide, col_x[ci], Inches(1.68), col_w2[ci], Inches(0.32), DARK_BLUE)
    add_tb(slide, col_x[ci]+Inches(0.05), Inches(1.7), col_w2[ci]-Inches(0.1), Inches(0.3),
           hdr, 11, bold=True, color=WHITE)
for ri, row in enumerate(tos_rows):
    ry = Inches(2.0) + ri*Inches(0.44)
    rc = WHITE if ri%2==0 else LIGHT_BLUE
    for ci, cell in enumerate(row):
        add_rect(slide, col_x[ci], ry, col_w2[ci], Inches(0.42), rc,
                 line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
        add_tb(slide, col_x[ci]+Inches(0.05), ry+Inches(0.04), col_w2[ci]-Inches(0.1), Inches(0.35),
               cell, 11, color=DARK_TEXT)

# Gruber classification
add_rect(slide, Inches(6.6), Inches(1.3), Inches(6.4), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(6.65), Inches(1.32), Inches(6.3), Inches(0.35),
       "Gruber's Classification (by Rib Anatomy)", 14, bold=True, color=WHITE)
gruber = [
    ("Type I", "Short rib — ends freely, no contact with 1st rib"),
    ("Type II", "Connected to 1st rib by fibrous band (most symptomatic)"),
    ("Type III", "Articulates with 1st rib via synchondrosis"),
    ("Type IV", "Complete bony rib — fused with 1st rib"),
]
for gi, (t, d) in enumerate(gruber):
    ry2 = Inches(1.68) + gi*Inches(0.55)
    rc2 = WHITE if gi%2==0 else LIGHT_BLUE
    add_rect(slide, Inches(6.6), ry2, Inches(6.4), Inches(0.53), rc2,
             line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
    add_tb(slide, Inches(6.65), ry2+Inches(0.05), Inches(0.9), Inches(0.43),
           t, 13, bold=True, color=MID_BLUE)
    add_tb(slide, Inches(7.6), ry2+Inches(0.05), Inches(5.2), Inches(0.43),
           d, 13, color=DARK_TEXT)

# Clinical classification note
bullet_box(slide, Inches(0.3), Inches(4.15), Inches(12.7), Inches(2.6),
    ["Asymptomatic — incidental finding (~90% of all cervical rib cases)",
     "Neurogenic — lower trunk brachial plexus compression",
     "Vascular Arterial — subclavian artery compression",
     "Vascular Venous — subclavian vein compression",
     "Mixed — combined neurovascular"],
    font_size=14, title="By Clinical Presentation", title_size=15)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 7 — INVESTIGATIONS
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Investigations & Provocation Tests"); footer(slide)

invest = [
    ("Plain X-ray (AP cervical/chest)", "Demonstrates bony cervical rib; fibrous bands invisible"),
    ("Duplex Ultrasonography", "Arterial/venous compression, thrombus, post-stenotic dilatation"),
    ("CT Angiography", "Measures costoclavicular/interscalene spaces; arterial anatomy"),
    ("Venography", "Gold standard for venous TOS (Harrison's 22E)"),
    ("NCS / EMG", "Confirms neurogenic TOS; prolonged ulnar/median conduction velocities"),
    ("Anterior scalene block", "Diagnostic + therapeutic — if symptoms relieved, strongly supports nTOS"),
]
add_rect(slide, Inches(0.3), Inches(1.3), Inches(5.8), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(0.35), Inches(1.32), Inches(5.7), Inches(0.35),
       "Investigations", 15, bold=True, color=WHITE)
for ii, (inv, find) in enumerate(invest):
    ry = Inches(1.68) + ii*Inches(0.5)
    rc = WHITE if ii%2==0 else LIGHT_BLUE
    add_rect(slide, Inches(0.3), ry, Inches(5.8), Inches(0.48), rc,
             line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
    add_tb(slide, Inches(0.35), ry+Inches(0.02), Inches(2.1), Inches(0.44),
           inv, 11, bold=True, color=DARK_BLUE)
    add_tb(slide, Inches(2.5), ry+Inches(0.02), Inches(3.5), Inches(0.44),
           find, 11, color=DARK_TEXT)

# Provocation tests
tests = [
    ("Adson's Test", "Deep breath, extend neck, rotate to affected side", "Radial pulse reduced"),
    ("Costoclavicular (Halsted)", "Shoulders drawn back + down (military position)", "Pulse reduced + symptoms"),
    ("EAST / Roos Test", "Arms at 90° ABD + ER, open-close fists x 3 min", "Symptoms reproduced ← MOST RELIABLE"),
    ("Wright Hyperabduction", "Arm hyperabducted overhead", "Pulse reduced"),
    ("ULTT (Elvey)", "Upper limb tension test (median/ulnar nerve)", "Neural paresthesias reproduced"),
]
add_rect(slide, Inches(6.4), Inches(1.3), Inches(6.6), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(6.45), Inches(1.32), Inches(6.5), Inches(0.35),
       "Provocation Tests (Clinical)", 15, bold=True, color=WHITE)
col_hdr2 = ["Test", "Technique", "Positive Finding"]
col_x2  = [Inches(6.4), Inches(8.2), Inches(10.4)]
col_w3  = [Inches(1.8), Inches(2.2), Inches(2.6)]
for ci, hdr in enumerate(col_hdr2):
    add_rect(slide, col_x2[ci], Inches(1.68), col_w3[ci], Inches(0.32), DARK_BLUE)
    add_tb(slide, col_x2[ci]+Inches(0.05), Inches(1.7), col_w3[ci]-Inches(0.1), Inches(0.28),
           hdr, 11, bold=True, color=WHITE)
for ri, (t, tech, pos) in enumerate(tests):
    ry = Inches(2.0) + ri*Inches(0.5)
    rc = WHITE if ri%2==0 else LIGHT_BLUE
    for ci, cell in enumerate([t, tech, pos]):
        bld = ci==0
        clr = MID_BLUE if (ri==2 and ci==2) else (DARK_BLUE if ci==0 else DARK_TEXT)
        add_rect(slide, col_x2[ci], ry, col_w3[ci], Inches(0.48), rc,
                 line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
        add_tb(slide, col_x2[ci]+Inches(0.05), ry+Inches(0.04), col_w3[ci]-Inches(0.1), Inches(0.4),
               cell, 10, bold=bld, color=clr)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 8 — CONSERVATIVE TREATMENT
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Treatment — Conservative Management"); footer(slide)

cons = [
    "Physiotherapy — first-line treatment for neurogenic and disputed TOS (see dedicated slides)",
    "NSAIDs + Muscle relaxants — for pain and spasm",
    "Neuropathic agents — Gabapentin / Pregabalin for neuropathic pain component",
    "Anterior scalene lidocaine block — diagnostic + therapeutic",
    "Botox injection into anterior scalene — for muscle spasticity",
    "Anticoagulation (LMWH / Warfarin) — for venous TOS with DVT",
    "Thrombolytics — for arterial TOS with acute thrombus",
]
bullet_box(slide, Inches(0.4), Inches(1.3), Inches(12.5), Inches(3.0), cons,
           font_size=14, title="Conservative Treatment Options (First-Line for nTOS)", title_size=15)

# Surgical indications
ind = [
    "Failure of conservative management after 3-6 months",
    "Progressive neurological symptoms — wasting, weakness",
    "Prolonged ulnar / median nerve conduction velocities on NCS",
    "Arterial TOS — ALWAYS requires surgery (Current Surgical Therapy 14e)",
    "Venous TOS with subclavian thrombosis",
]
bullet_box(slide, Inches(0.4), Inches(4.55), Inches(12.5), Inches(2.5), ind,
           font_size=14, title="Indications for Surgery", title_size=15)

# quote
add_tb(slide, Inches(0.6), Inches(7.0), Inches(12.0), Inches(0.35),
       "\"Brachial plexus involvement with minimal signs and symptoms often responds to conservative treatment with physiotherapy and shoulder girdle exercises.\" — Rosen's Emergency Medicine",
       10, italic=True, color=RGBColor(0x44,0x66,0x88))

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 9 — SURGICAL MANAGEMENT
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Surgical Management"); footer(slide)

# Goals
goals = [
    "Excision of the cervical rib",
    "Resection of the 1st rib",
    "Division of fibromuscular bands",
    "Anterior scalenectomy (scalene muscle release)",
    "Vascular reconstruction (for arterial TOS)",
]
bullet_box(slide, Inches(0.3), Inches(1.3), Inches(4.2), Inches(2.5), goals,
           font_size=13, title="Surgical Goals", title_size=14)

# Approaches table
add_rect(slide, Inches(4.7), Inches(1.3), Inches(8.3), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(4.75), Inches(1.32), Inches(8.2), Inches(0.35),
       "Surgical Approaches", 15, bold=True, color=WHITE)
approaches = [
    ("Transaxillary", "nTOS, vTOS (~99%)", "Best cosmesis; wide exposure; preferred approach"),
    ("Supraclavicular", "nTOS with fibrous bands", "Direct brachial plexus view; scalenectomy + neurolysis"),
    ("Paraclavicular", "aTOS", "Best exposure for vascular reconstruction"),
    ("Infraclavicular", "aTOS - vascular", "Access for arterial reconstruction"),
    ("Robot-assisted / VATS", "Select cases", "Minimally invasive; newer technique"),
]
a_col_x = [Inches(4.7), Inches(7.0), Inches(9.2)]
a_col_w = [Inches(2.3), Inches(2.2), Inches(3.8)]
a_hdrs  = ["Approach", "Best For", "Key Advantage"]
for ci, hdr in enumerate(a_hdrs):
    add_rect(slide, a_col_x[ci], Inches(1.68), a_col_w[ci], Inches(0.32), DARK_BLUE)
    add_tb(slide, a_col_x[ci]+Inches(0.05), Inches(1.7), a_col_w[ci]-Inches(0.1), Inches(0.28),
           hdr, 11, bold=True, color=WHITE)
for ri, row in enumerate(approaches):
    ry = Inches(2.0) + ri*Inches(0.47)
    rc = WHITE if ri%2==0 else LIGHT_BLUE
    for ci, cell in enumerate(row):
        add_rect(slide, a_col_x[ci], ry, a_col_w[ci], Inches(0.45), rc,
                 line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
        add_tb(slide, a_col_x[ci]+Inches(0.05), ry+Inches(0.04), a_col_w[ci]-Inches(0.1), Inches(0.37),
               cell, 11, bold=(ci==0), color=(DARK_BLUE if ci==0 else DARK_TEXT))

# Arterial TOS note
bullet_box(slide, Inches(0.3), Inches(3.95), Inches(12.7), Inches(1.4),
    ["Arterial TOS universally requires surgery + may need: thrombolysis, embolectomy, axillosubclavian artery reconstruction, or distal bypass (Current Surgical Therapy 14e).",
     "Post-op: early passive mobilization, physiotherapy, anticoagulation where indicated.",
     "Monitor: pneumothorax, vascular injury, nerve injury, Horner's syndrome."],
    font_size=13, title="Arterial TOS & Post-Operative Management", title_size=14)

# Prognosis
bullet_box(slide, Inches(0.3), Inches(5.5), Inches(12.7), Inches(1.6),
    ["Surgery halts neurological progression but wasting/weakness often does NOT fully recover (Harrison's 22E).",
     "Arterial and venous TOS have good prognosis post-decompression.",
     "Sabiston: \"Surgery is beneficial in most patients with TOS, and long-term functional outcome is good.\""],
    font_size=13, title="Prognosis", title_size=14)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 10 — PHYSIOTHERAPY OVERVIEW
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Physiotherapy Management — Overview & Assessment"); footer(slide)

goals_pt = [
    "Decrease pain and neurological symptoms",
    "Correct posture — forward head and rounded shoulder",
    "Restore cervical, thoracic, and shoulder ROM",
    "Strengthen scapular stabilizers and shoulder girdle",
    "Improve neuromuscular control and scapular kinematics",
    "Normalize breathing patterns",
    "Functional rehabilitation and return to work / sport",
]
bullet_box(slide, Inches(0.3), Inches(1.3), Inches(6.0), Inches(3.5), goals_pt,
           font_size=13, title="Goals of Physiotherapy", title_size=14)

assess = [
    "Forward head posture — increases lower brachial plexus tension",
    "Drooping / rounded shoulders — narrows all three outlet spaces",
    "Thoracic kyphosis",
    "Scapular dyskinesia — winging, anterior tipping",
]
bullet_box(slide, Inches(6.5), Inches(1.3), Inches(6.5), Inches(2.1), assess,
           font_size=13, title="Postural Assessment", title_size=14)

tests_pt = [
    "EAST / Roos Test — most reliable",
    "Adson's Test",
    "ULTT 1, 3 (Elvey) — neural tension",
    "Wright's Hyperabduction Test",
    "Costoclavicular Manoeuvre",
    "Cervical Rotation Lateral Flexion Test (CRLT) — first rib mobility",
    "Tinel's Sign over brachial plexus (supraclavicular)",
]
bullet_box(slide, Inches(6.5), Inches(3.55), Inches(6.5), Inches(3.1), tests_pt,
           font_size=13, title="Special Tests for Assessment", title_size=14)

ref_note = "Ref: Jayant Joshi — Essentials of Orthopaedics & Applied Physiotherapy | PMC11277273 (2024) | Brigham & Women's TOS Standard of Care"
add_tb(slide, Inches(0.3), Inches(4.95), Inches(6.0), Inches(0.4),
       ref_note, 9, italic=True, color=RGBColor(0x55,0x55,0x99), wrap=True)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 11 — PHYSIO PHASE 1 & 2
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Physiotherapy — Phase 1: Acute  &  Phase 2: Mobility"); footer(slide)

p1 = [
    "TENS — pain modulation",
    "Pulsed ultrasound over scalene region (low intensity)",
    "Cryotherapy / Heat as appropriate",
    "Interferential therapy (IFT) — deeper pain relief",
    "Arm supported in sling — relieve neural tension",
    "Avoid overhead activities and provocative postures",
    "Sleep positioning advice — avoid arm overhead",
    "Ergonomic workstation setup + patient education",
]
bullet_box(slide, Inches(0.3), Inches(1.3), Inches(6.2), Inches(5.4), p1,
           font_size=13, title="Phase 1 — Acute / Pain Management", title_size=14)

# Phase 2 - Joint mobilizations
mob = [
    ("Inferior 1st rib mobilization", "Increases costoclavicular space — MOST IMPORTANT"),
    ("Cervicothoracic junction mob.", "Improves upper thoracic mobility"),
    ("Thoracic PA mobilization", "Reduces kyphosis, improves posture"),
    ("Lateral cervical glides", "Reduces scalene hypertonicity"),
    ("Glenohumeral mobilization", "If ROM deficits exist"),
]
add_rect(slide, Inches(6.7), Inches(1.3), Inches(6.3), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(6.75), Inches(1.32), Inches(6.2), Inches(0.35),
       "Phase 2 — Joint Mobilization (Maitland Grade I-III)", 13, bold=True, color=WHITE)
for mi, (mn, mr) in enumerate(mob):
    ry = Inches(1.68) + mi*Inches(0.48)
    rc = WHITE if mi%2==0 else LIGHT_BLUE
    add_rect(slide, Inches(6.7), ry, Inches(6.3), Inches(0.46), rc,
             line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
    add_tb(slide, Inches(6.75), ry+Inches(0.04), Inches(2.8), Inches(0.38),
           mn, 12, bold=True, color=DARK_BLUE)
    add_tb(slide, Inches(9.6), ry+Inches(0.04), Inches(3.3), Inches(0.38),
           mr, 12, color=DARK_TEXT)

soft = [
    "Anterior scalene stretch — ipsilateral rotation + contralateral side bend",
    "Middle scalene stretch — cervical lateral flexion away from affected side",
    "Pectoralis minor stretch — doorway / corner stretch",
    "Upper trapezius + levator scapulae release",
    "Suboccipital release",
    "Contract-relax (PNF) for scalene inhibition",
]
bullet_box(slide, Inches(6.7), Inches(4.12), Inches(6.3), Inches(2.6), soft,
           font_size=12, title="Soft Tissue & Neural Mobilization", title_size=13)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 12 — PHYSIO PHASE 3 & 4
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Physiotherapy — Phase 3: Strengthening  &  Phase 4: Functional"); footer(slide)

# Strengthening table
muscles = [
    ("Lower Trapezius", "Prone Y-exercises, prone shoulder extension"),
    ("Middle Trapezius", "Prone T-exercises, seated low row"),
    ("Serratus Anterior", "Wall push-up plus, serratus punches, shoulder protraction"),
    ("Rhomboids", "Scapular retraction exercises"),
    ("Deep Cervical Flexors", "Chin tuck exercises (progressive against gravity)"),
    ("Rotator Cuff", "Strengthening in neutral range — avoid impingement positions"),
]
add_rect(slide, Inches(0.3), Inches(1.3), Inches(6.3), Inches(0.38), MID_BLUE)
add_tb(slide, Inches(0.35), Inches(1.32), Inches(6.2), Inches(0.35),
       "Phase 3 — Scapular Stabilizer Strengthening (SOR: A)", 13, bold=True, color=WHITE)
m_cols = [Inches(0.3), Inches(2.7)]
m_ws   = [Inches(2.4), Inches(3.9)]
m_hdrs = ["Muscle Group", "Exercises"]
for ci, hdr in enumerate(m_hdrs):
    add_rect(slide, m_cols[ci], Inches(1.68), m_ws[ci], Inches(0.32), DARK_BLUE)
    add_tb(slide, m_cols[ci]+Inches(0.05), Inches(1.7), m_ws[ci]-Inches(0.1), Inches(0.28),
           hdr, 11, bold=True, color=WHITE)
for ri, (mg, ex) in enumerate(muscles):
    ry = Inches(2.0) + ri*Inches(0.5)
    rc = WHITE if ri%2==0 else LIGHT_BLUE
    for ci, cell in enumerate([mg, ex]):
        add_rect(slide, m_cols[ci], ry, m_ws[ci], Inches(0.48), rc,
                 line_rgb=RGBColor(0xCC,0xCC,0xCC), line_pt=0.5)
        add_tb(slide, m_cols[ci]+Inches(0.05), ry+Inches(0.04), m_ws[ci]-Inches(0.1), Inches(0.40),
               cell, 12, bold=(ci==0), color=(DARK_BLUE if ci==0 else DARK_TEXT))

posture = [
    "Chin tuck — corrects forward head posture",
    "Wall angels — scapular control + thoracic extension",
    "Brugger's postural relief position",
    "Scapular retraction + depression exercises",
    "Diaphragmatic breathing — reduces scalene overuse as accessory breathing muscles (chronically elevated 1st rib)",
]
bullet_box(slide, Inches(0.3), Inches(5.15), Inches(6.3), Inches(1.9), posture,
           font_size=12, title="Postural Re-education + Breathing", title_size=13)

# Phase 4
p4 = [
    "Functional task training — occupation / sport-specific progressive loading",
    "Gradual return to overhead activities with maintained scapular control",
    "Ergonomic workstation assessment and setup",
    "Home exercise program — continued indefinitely post-discharge (Brigham & Women's)",
    "Return to sport criteria: full ROM + symmetrical strength + negative EAST test",
]
bullet_box(slide, Inches(6.8), Inches(1.3), Inches(6.2), Inches(2.7), p4,
           font_size=13, title="Phase 4 — Functional Rehabilitation", title_size=14)

# Neural mobilization note
nm = [
    "Median nerve slider — ULTT1 position",
    "Ulnar nerve slider — ULTT2/ULTT3",
    "Brachial plexus neural flossing — sliders before tensioners",
    "CAUTION: TOS is often traction-based — grade neural mobilization carefully",
    "Never force through reproduction of paresthesias",
]
bullet_box(slide, Inches(6.8), Inches(4.15), Inches(6.2), Inches(2.5), nm,
           font_size=12, title="Neural Mobilization (Nerve Gliding)", title_size=13)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 13 — POST-SURGICAL PHYSIO
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "Post-Surgical Physiotherapy Protocol"); footer(slide)

phases = [
    ("Phase 1\n0–2 Weeks\n(Immediate Post-Op)", DARK_BLUE, [
        "Codman's pendulum exercises",
        "Passive ROM of shoulder",
        "TENS + cryotherapy",
        "Edema management",
        "Sling use as required",
    ]),
    ("Phase 2\n2–6 Weeks\n(Early Rehab)", MID_BLUE, [
        "Active-assisted + active ROM",
        "First rib mobilization (if access permits)",
        "Scapular setting exercises",
        "Neural gliding — gentle sliders",
        "Postural correction exercises",
    ]),
    ("Phase 3\n6–12 Weeks\n(Late Rehab)", RGBColor(0x00, 0x7A, 0x5E), [
        "Progressive scapular strengthening",
        "Functional activities + ADL",
        "Return to work/sport",
        "Full physiotherapy protocol",
        "Progressive loading",
    ]),
    ("Phase 4\n12+ Weeks\n(Discharge)", RGBColor(0x6A, 0x35, 0x9C), [
        "Independent home exercise program",
        "Ergonomic advice",
        "Self-management strategies",
        "Annual follow-up review",
        "Indefinite HEP continuation",
    ]),
]
px = [Inches(0.3), Inches(3.55), Inches(6.8), Inches(10.05)]
for pi, (title, color, items) in enumerate(phases):
    x = px[pi]; w = Inches(3.0)
    # header card
    hdr_card = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, Inches(1.3), w, Inches(1.1))
    hdr_card.fill.solid(); hdr_card.fill.fore_color.rgb = color
    hdr_card.line.fill.background(); hdr_card.shadow.inherit = False
    add_tb(slide, x+Inches(0.1), Inches(1.33), w-Inches(0.2), Inches(1.04),
           title, 13, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
    # items card
    ic = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, Inches(2.5), w, Inches(3.5))
    ic.fill.solid(); ic.fill.fore_color.rgb = WHITE
    ic.line.color.rgb = color; ic.line.width = Pt(1.5)
    ic.shadow.inherit = False
    tbx = slide.shapes.add_textbox(x+Inches(0.15), Inches(2.6), w-Inches(0.3), Inches(3.2))
    tf3 = tbx.text_frame; tf3.word_wrap = True
    tf3.margin_left = tf3.margin_right = tf3.margin_top = tf3.margin_bottom = 0
    for idx, item in enumerate(items):
        if idx == 0:
            tf3.paragraphs[0].alignment = PP_ALIGN.LEFT
            r4 = tf3.paragraphs[0].add_run()
            r4.text = "  " + item; r4.font.name = "Calibri"; r4.font.size = Pt(13)
            r4.font.color.rgb = DARK_TEXT
        else:
            p3 = tf3.add_paragraph(); p3.alignment = PP_ALIGN.LEFT
            r5 = p3.add_run(); r5.text = "  " + item
            r5.font.name = "Calibri"; r5.font.size = Pt(13)
            r5.font.color.rgb = DARK_TEXT

# special note
bullet_box(slide, Inches(0.3), Inches(6.2), Inches(12.7), Inches(0.85),
    ["Blood Flow Restriction (BFR) training — NOT recommended in TOS (SOR: C) — risk of upper extremity DVT in arterial/venous TOS (PMC11277273, 2024)."],
    font_size=13, title="Special Consideration", title_size=13)

# ═══════════════════════════════════════════════════════════════════════════════
#  SLIDE 14 — REFERENCES
# ═══════════════════════════════════════════════════════════════════════════════
slide = prs.slides.add_slide(blank)
bg(slide); std_header(slide, "References"); footer(slide)

refs = [
    "Gray's Anatomy for Students (9780323934237) — Cervical rib anatomy, fibrous bands, clinical presentations",
    "Bailey & Love's Short Practice of Surgery, 28th Ed. (9780367548117) — Cervical rib definition, TOS management",
    "Harrison's Principles of Internal Medicine, 22E (9781265977061) — TOS classification, treatment recommendations",
    "S. Das — A Manual on Clinical Surgery, 13th Ed. (9788190568104) — Symptom groups: local, neurogenic, vascular",
    "Sabiston Textbook of Surgery (9780443124341) — Clinical presentation table, physical examination tests",
    "Current Surgical Therapy, 14e (9780323796835) — Surgical approaches, EAST test, arterial TOS management",
    "Fischer's Mastery of Surgery, 8th Ed. — Supraclavicular approach, combined cervical + first rib resection",
    "THIEME Atlas of General Anatomy & Musculoskeletal System (9781626237186) — Scalene syndrome anatomy",
    "Rheumatology 2-Volume Set, Elsevier 2022 — TOS diagnosis, Adson maneuver, provocation tests",
    "Jayant Joshi — Essentials of Orthopaedics & Applied Physiotherapy, Elsevier India — Clinical tests, physiotherapy framework",
    "Panther EJ et al. J Shoulder Elbow Surg 2022 [PMID: 35963513] — TOS review",
    "Cavanna AC et al. J Osteopath Med 2022 [PMID: 36018621] — Systematic review of TOS",
    "Mulatti GC et al. Semin Vasc Surg 2024 [PMID: 38704183] — TOS in women",
    "Potluri VK et al. Semin Vasc Surg 2024 [PMID: 38704178] — Arterial TOS review",
    "PMC11277273 (2024) — Current Clinical Concepts: Rehabilitation of Thoracic Outlet Syndrome",
    "Brigham & Women's Hospital — Standard of Care: Thoracic Outlet Syndrome (non-operative)",
]
tbx = slide.shapes.add_textbox(Inches(0.5), Inches(1.3), Inches(12.5), Inches(5.8))
tf_r = tbx.text_frame; tf_r.word_wrap = True
tf_r.margin_left = tf_r.margin_right = tf_r.margin_top = tf_r.margin_bottom = 0
first_r = True
for ref in refs:
    if first_r:
        tf_r.paragraphs[0].alignment = PP_ALIGN.LEFT
        r6 = tf_r.paragraphs[0].add_run()
        r6.text = ref; r6.font.name = "Calibri"; r6.font.size = Pt(12)
        r6.font.color.rgb = DARK_TEXT; first_r = False
    else:
        p_r = tf_r.add_paragraph(); p_r.alignment = PP_ALIGN.LEFT
        r7 = p_r.add_run(); r7.text = ref
        r7.font.name = "Calibri"; r7.font.size = Pt(12)
        r7.font.color.rgb = DARK_TEXT
    # blank line
    p_blank = tf_r.add_paragraph()
    p_blank.add_run().text = ""

# ─── SAVE ────────────────────────────────────────────────────────────────────
out_path = "/tmp/workspace/cervical-rib-ppt/Cervical_Rib_TOS.pptx"
from io import BytesIO
buf = BytesIO()
prs.save(buf)
with open(out_path, "wb") as f:
    f.write(buf.getvalue())
print(f"Saved: {out_path}")
Running Command

cd /tmp/workspace/cervical-rib-ppt && python build_ppt.py 2>&1

Running Command

python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/cervical-rib-ppt/Cervical_Rib_TOS.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [s.text_frame.text.strip().split('\n')[0][:60] for s in slide.shapes if s.has_text_frame and s.text_frame.text.strip()] print(f' Slide {i:02d}: {texts[0] if texts else \"(empty)\"}') import os sz = os.path.getsize('/tmp/workspace/cervical-rib-ppt/Cervical_Rib_TOS.pptx') print(f'File size: {sz/1024:.1f} KB') "

All 14 slides built and verified. Here's your presentation:

Cervical Rib TOS

Presentation · PPTX


14 slides included:
#Slide Title
1Title Slide - Cervical Rib / TOS
2Introduction & Definition
3Anatomy of the Thoracic Outlet
4Etiology & Predisposing Factors
5Clinical Features (S. Das - Three Groups)
6Classification (Harrison's / Gruber's)
7Investigations & Provocation Tests
8Treatment - Conservative Management
9Surgical Management
10Physiotherapy - Overview & Assessment
11Physiotherapy - Phase 1 (Acute) & Phase 2 (Mobility)
12Physiotherapy - Phase 3 (Strengthening) & Phase 4 (Functional)
13Post-Surgical Physiotherapy Protocol (4-phase table)
14References
Design: Navy blue + sky blue palette, 16:9 widescreen, colour-coded cards for each section, tables for classifications and surgical approaches. References from Gray's Anatomy, Bailey & Love, Harrison's 22E, S. Das, Sabiston, Jayant Joshi, and 2024 PubMed evidence throughout.

give me a few refference including bpt textbooks

Searching the Web

BPT physiotherapy textbooks cervical rib thoracic outlet syndrome Datta Tidy's Norkin

Here is a consolidated reference list covering BPT textbooks, standard medical texts, and recent journals — all relevant to cervical rib and TOS:

References — Cervical Rib & Thoracic Outlet Syndrome

BPT / Physiotherapy Textbooks

  1. Joshi, J., & Kotwal, P. - Essentials of Orthopaedics and Applied Physiotherapy, 2nd ed. Elsevier India. (Cervical rib, TOS, clinical tests - Adson's, ULTT, physiotherapy management)
  2. Datta, A.K. - Essentials of Human Anatomy, Vol. 3 (Head, Neck & Brain), Current Books International. (Cervical vertebrae, cervical rib anatomy, scalene muscles, brachial plexus)
  3. Tidy's Physiotherapy (edited by Raine, S., Southerland, L., Tidy's), 15th ed. Elsevier Churchill Livingstone. (Thoracic outlet syndrome — physiotherapy assessment and rehabilitation)
  4. Norkin, C.C., & White, D.J. - Measurement of Joint Motion: A Guide to Goniometry, 5th ed. F.A. Davis. (Cervical and shoulder ROM assessment)
  5. Kisner, C., & Colby, L.A. - Therapeutic Exercise: Foundations and Techniques, 7th ed. F.A. Davis. (Scapular stabilization exercises, shoulder girdle strengthening, neural mobilization)
  6. Maitland, G.D. - Maitland's Vertebral Manipulation, 8th ed. Elsevier Butterworth-Heinemann. (Cervical and thoracic joint mobilization techniques including first rib mobilization)
  7. Butler, D.S. - The Sensitive Nervous System. Noigroup Publications. (Upper limb tension tests - ULTT, neural mobilization/nerve gliding for brachial plexus)
  8. Magee, D.J. - Orthopedic Physical Assessment, 6th ed. Elsevier Saunders. (Adson's test, Roos/EAST test, Wright test, costoclavicular manoeuvre - detailed clinical examination of TOS)
  9. Kendall, F.P., McCreary, E.K., & Provance, P.G. - Muscles: Testing and Function with Posture and Pain, 5th ed. Lippincott Williams & Wilkins. (Postural assessment, scapular stabilizer testing, forward head posture)
  10. De Wolf, A.N., & Mens, J.M.A. - Examination of the Locomotor System. (Clinical examination of the cervical spine and shoulder girdle)

Standard Medical Textbooks

  1. Gray's Anatomy for Students, 4th ed. Drake, Vogl & Mitchell. Elsevier. (Cervical rib anatomy, fibrous bands, thoracic outlet structures)
  2. Bailey & Love's Short Practice of Surgery, 28th ed. CRC Press. (Cervical rib definition, TOS classification, surgical management)
  3. S. Das - A Manual on Clinical Surgery, 13th ed. Dr. S. Das, Kolkata. (Clinical features: local, neurogenic, vascular groups; Adson's test)
  4. Harrison's Principles of Internal Medicine, 22nd ed. McGraw-Hill. (TOS classification: neurogenic, arterial, venous, disputed)
  5. Sabiston Textbook of Surgery, 21st ed. Elsevier. (Clinical presentation table, physical examination, surgical indications)
  6. Current Surgical Therapy, 14th ed. Elsevier. (Surgical approaches - transaxillary, supraclavicular; EAST test; arterial TOS)
  7. THIEME Atlas of Anatomy — General Anatomy and Musculoskeletal System, 3rd ed. Gilroy, MacPherson & Ross. Thieme. (Scalene syndrome, costoclavicular syndrome, anatomy diagrams)

Recent Peer-Reviewed Journals

  1. Cavanna AC, Giovanis A, Daley A. Thoracic outlet syndrome: a review for the primary care provider. J Osteopath Med. 2022 Nov;122(11):553-560. [PMID: 36018621]
  2. Panther EJ, Reintgen CD, Cueto RJ et al. Thoracic outlet syndrome: a review. J Shoulder Elbow Surg. 2022 Nov;31(11):e545-e557. [PMID: 35963513]
  3. Mulatti GC, Dalio MB, de Moraes TM et al. Thoracic outlet syndrome in women. Semin Vasc Surg. 2024 Mar;37(1):35-42. [PMID: 38704183]
  4. Potluri VK, Li RD, Crisostomo P et al. A review of arterial thoracic outlet syndrome. Semin Vasc Surg. 2024 Mar;37(1):3-11. [PMID: 38704178]
  5. Collins E, Orpin M. Physical therapy management of neurogenic thoracic outlet syndrome. Thorac Surg Clin. 2021;31(1):61-69.
  6. Balderman J, Abuirqeba AA, Eichaker L et al. Physical therapy management, surgical treatment, and patient-reported outcomes in neurogenic TOS. J Vasc Surg. 2019;70(3):832-841.
  7. Henry BM, Vikse J, Sanna B et al. Cervical rib prevalence and its association with thoracic outlet syndrome: a meta-analysis of 141 studies. World Neurosurg. 2018;110:e965-e978.

Standard of Care / Guidelines

  1. Brigham & Women's Hospital - Standard of Care: Thoracic Outlet Syndrome (Non-Operative). Department of Rehabilitation Services, Boston, MA.
  2. PMC11277273 — Current Clinical Concepts: Rehabilitation of Thoracic Outlet Syndrome. J Athl Train. 2024. (Evidence-based physiotherapy phases, SOR grading)

Most important BPT exam references to cite:
  • Magee — for clinical tests (Adson's, Roos, ULTT)
  • Kisner & Colby — for exercise therapy protocol
  • Maitland — for joint mobilization (first rib, cervicothoracic)
  • Butler — for neural mobilization
  • Jayant Joshi — for integrated orthopaedic physiotherapy approach
This is a shared conversation. Sign in to Orris to start your own chat.