Hangman fracture
"hangman fracture" cervical spine C2

| Type | Displacement | Angulation | Mechanism | C2-C3 Disc |
|---|---|---|---|---|
| I | < 3 mm translation | None | Extension/axial load | Intact |
| Ia (Starr-Eismont) | Minimal | None | - | Fracture extends into posterior C2 body; higher neurologic risk |
| II | > 3 mm translation | Present (> 10°) | Extension then flexion | Disrupted |
| IIa | Minimal translation | Marked angulation | Pure flexion/distraction | Severely disrupted |
| III | Translation + angulation | Present | Flexion | Disrupted + C2-C3 facet dislocation |
| Type | Modality |
|---|---|
| Type I | Rigid cervical collar |
| Type Ia | Cervical orthosis (unless cord injury present) |
| Type II | Halo traction first → then halo vest immobilization |
| Type IIa | NO traction - reduction by extension + compression via halo apparatus |
| Feature | Detail |
|---|---|
| Level | C2 pars interarticularis (bilateral) |
| Common cause | MVA, diving, high-energy axial loading |
| Neurologic injury | Rare (canal widening) |
| Classification | Levine-Edwards (I, Ia, II, IIa, III) |
| Most common type | Type I |
| Most dangerous to treat | Type IIa (traction contraindicated) |
| Surgery rate | ~11% |
| Absolute surgical indication | Type III (facet dislocation), neurologic deficit |
Recent evidence note: A 2024 narrative review (PMID 39309549) on C2 fracture management highlights that multiple overlapping classification systems for C2 fractures can complicate treatment decisions - the Levine-Edwards system remains the standard for hangman's fractures specifically.
I want as I told you earlier formate
What format would you like the answer in?
Can I give you formet for further references that you will use in all chats
Not just in this season all further new chats
Great! Going forward, I'll answer your physiotherapy questions at a final-year BPT/MPT level with a clinical, evidence-based approach. Each answer will include: ✅ Definition and classification ✅ Detailed anatomy and biomechanics ✅ Pathophysiology ✅ Clinical presentation ✅ Muscle-wise assessment (MMT, tightness, weakness, affected muscles) ✅ Expected positive findings (inspection, palpation, ROM, special tests, gait, functional limitations) ✅ Differential diagnosis ✅ Investigations ✅ Problem list ✅ SMART goals (short-term and long-term) ✅ Phase-wise physiotherapy management ✅ Muscle-specific exercises with: Starting position Technique Sets, repetitions, hold time Frequency Progression criteria Precautions ✅ Electrotherapy (indications, dosage/parameters, contraindications) ✅ Functional and gait training ✅ Home exercise program ✅ Criteria for return to activity/sport ✅ Complications and prognosis ✅ High-yield viva and university exam points ✅ References from standard textbooks and current evidence Since you're preparing for your final-year BPT examinations, I'll also highlight: ⭐ Frequently asked university questions ⭐ Clinically important points ⭐ Common examiner viva questions ⭐ Common mistakes students make during assessment and treatment This will make each topic useful for theory exams, practical exams, viva, and clinical postings.Great! Going forward, I'll answer your physiotherapy questions at a final-year BPT/MPT level with a clinical, evidence-based approach. Each answer will include: ✅ Definition and classification ✅ Detailed anatomy and biomechanics ✅ Pathophysiology ✅ Clinical presentation ✅ Muscle-wise assessment (MMT, tightness, weakness, affected muscles) ✅ Expected positive findings (inspection, palpation, ROM, special tests, gait, functional limitations) ✅ Differential diagnosis ✅ Investigations ✅ Problem list ✅ SMART goals (short-term and long-term) ✅ Phase-wise physiotherapy management ✅ Muscle-specific exercises with: Starting position Technique Sets, repetitions, hold time Frequency Progression criteria Precautions ✅ Electrotherapy (indications, dosage/parameters, contraindications) ✅ Functional and gait training ✅ Home exercise program ✅ Criteria for return to activity/sport ✅ Complications and prognosis ✅ High-yield viva and university exam points ✅ References from standard textbooks and current evidence Since you're preparing for your final-year BPT examinations, I'll also highlight: ⭐ Frequently asked university questions ⭐ Clinically important points ⭐ Common examiner viva questions ⭐ Common mistakes students make during assessment and treatment This will make each topic useful for theory exams, practical exams, viva, and clinical postings.
Yes
"hangman fracture" OR "traumatic spondylolisthesis" C2 rehabilitation
cervical spine fracture physiotherapy exercise rehabilitation
hangman fracture physiotherapy management BPT cervical spine rehabilitation exercise protocol
The name is a misnomer - judicial hanging rarely produced this fracture. Modern causes are high-energy trauma (MVA, diving, falls). - Rockwood & Green's Fractures in Adults, 10th ed. 2025

| Type | Displacement | Angulation | Mechanism | Disc/Ligament | Stability |
|---|---|---|---|---|---|
| I | < 3 mm | None | Axial compression + hyperextension | C2-C3 disc intact | Stable |
| Ia (Starr-Eismont) | Minimal | None | - | Fracture extends into posterior C2 body | Unstable; high neuro risk |
| II | > 3 mm | Present (> 10°) | Hyperextension + rebound flexion | C2-C3 disc + PLL disrupted | Unstable |
| IIa | Minimal | Marked angulation | Pure flexion-distraction | PLL + posterior annulus disrupted | Most unstable; NO TRACTION |
| III | Present | Present | Flexion-compression | Disc disrupted + C2-C3 facet dislocation | Most severe |
| Muscle | Role | Assessment Finding |
|---|---|---|
| Sternocleidomastoid (SCM) | Cervical flexion/rotation | Spasm, guarding, tenderness |
| Upper Trapezius | Neck lateral flexion, shoulder elevation | Spasm, trigger points |
| Levator Scapulae | Cervical extension + lateral flexion | Tight, tender |
| Semispinalis Cervicis/Capitis | Cervical extension | Guarding, spasm |
| Suboccipital group (Rectus capitis posterior major/minor, Obliquus capitis superior/inferior) | Fine cervical rotation and extension | Spasm, occipital pain |
| Scalenes (Anterior, Middle, Posterior) | Cervical lateral flexion, accessory respiration | Spasm, neurogenic referral to arm |
| Deep Neck Flexors (DNF): Longus colli, Longus capitis | Cervical stabilisation, neutral curve | WEAK - inhibited by pain (key finding) |
| Level | Key Muscle | Action Tested |
|---|---|---|
| C3-C4 | Diaphragm, Trapezius | Breathing, shoulder shrug |
| C4 | Deltoid | Shoulder abduction |
| C5 | Biceps brachii | Elbow flexion |
| C6 | Wrist extensors | Wrist extension |
| C7 | Triceps | Elbow extension |
| C8-T1 | Hand intrinsics | Grip strength |
| Grade | Injury Type | Description |
|---|---|---|
| A | Complete | No motor/sensory below level |
| B | Incomplete | Sensory intact, no motor |
| C | Incomplete | Motor preserved, most muscles < grade 3 |
| D | Incomplete | Motor preserved, most muscles ≥ grade 3 |
| E | Normal | Normal motor and sensory |
| Motion | Normal | Expected in Hangman's |
|---|---|---|
| Flexion | 45-50° | Severely restricted (0-10°) |
| Extension | 60-70° | Severely restricted |
| Lateral Flexion (R/L) | 45° | Restricted |
| Rotation (R/L) | 60-80° | Severely restricted |
| Test | Relevance | Finding |
|---|---|---|
| Spurling's Test | Cervical nerve root compression | Positive if radiculopathy present |
| Upper Limb Tension Test (ULTT) | Neural tension | Positive in radiculopathy |
| Lhermitte's Sign | Cervical myelopathy | Positive (electrical sensation down spine on flexion) if cord involved |
| Hoffman's Sign | Upper motor neuron lesion | Positive if cord injury |
| Babinski Sign | Corticospinal tract involvement | Positive in SCI |
| Vertebral Artery Test | Vertebrobasilar insufficiency | Dizziness, nystagmus (CONTRAINDICATED in acute fracture) |
⚠️ Clinical Warning: Do NOT perform active cervical movements or provocative tests in acute/unstable hangman's fracture. Neurological and vascular assessment only.
| Condition | Differentiating Feature |
|---|---|
| Jefferson Fracture (C1 burst) | Fracture at C1, not C2; diagnosed on open-mouth odontoid X-ray |
| Odontoid (Dens) Fracture | Fracture at C2 dens; different mechanism; seen on lateral C-spine X-ray |
| C2 Body Fracture | Through body of C2, not pars |
| Atlanto-axial dislocation | Widened predental space (> 3 mm adult, > 5 mm child) |
| Cervical Disc Herniation | No fracture; radiculopathy; presents more subacutely |
| Cervical Spondylotic Myelopathy | Degenerative; no trauma history |
| Muscular Torticollis | Soft tissue only; no bony injury on imaging |
| Investigation | Finding in Hangman's Fracture |
|---|---|
| X-Ray (Lateral C-spine) | Anterior subluxation C2 on C3; fracture line through pars; prevertebral soft tissue swelling |
| X-Ray (AP + Open-mouth odontoid) | Rule out concomitant odontoid fracture / Jefferson fracture |
| CT Scan (Gold Standard) | Defines fracture morphology, translation, angulation; detects Starr-Eismont variant; facet dislocation in Type III |
| MRI | Disc integrity, PLL/ALL/ligamentum flavum status; cord/root compression; haematoma; MUST if neuro deficit |
| CT Angiography | If vertebral artery injury suspected (displaced fractures) |
| NEXUS / Canadian C-Spine Rule | Guides decision for imaging in blunt trauma |
⚠️ No active cervical exercises until fracture healing confirmed on imaging
| Parameter | Detail |
|---|---|
| Starting Position | Supine lying, pillow under head, head in neutral |
| Technique | Gently nod chin toward chest (upper cervical flexion - "yes" movement), WITHOUT lifting head. Imagine saying "yes" very slightly. Hold position. |
| Sets/Reps | 3 sets × 10 repetitions |
| Hold Time | 10 seconds per rep |
| Frequency | 2× per day |
| Progression | Increase hold time to 20 sec → add pressure biofeedback (target: 22-24 mmHg) → progress to sitting → standing |
| Precautions | Do NOT perform during immobilisation phase; avoid pain provocation; ensure neutral spine |
| Direction | Position | Technique |
|---|---|---|
| Flexion | Sitting, neutral | Push forehead into palm (placed on forehead), resist movement |
| Extension | Sitting | Push occiput into palm (placed behind head), resist |
| Lateral Flexion (R/L) | Sitting | Push temple into palm (placed on side of head), resist |
| Rotation (R/L) | Sitting | Push temporal region into palm, resist |
| Parameter | Detail |
|---|---|
| Sets/Reps | 3 sets × 10 repetitions |
| Hold Time | 5-10 seconds |
| Frequency | Daily |
| Progression | Increase hold time → add resistance band → dynamic exercises |
| Precautions | Pain-free; avoid end-range positions initially; confirm healing on X-ray before starting |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting in chair, feet flat, shoulders relaxed |
| Technique | Slow, controlled movement in each plane: Flexion (chin to chest), Extension (look at ceiling - avoid hyperextension), Lateral flexion (ear to shoulder), Rotation (chin to shoulder) |
| Sets/Reps | 3 sets × 10 repetitions each direction |
| Hold Time | 2-3 seconds at end range |
| Frequency | 2-3× per day |
| Progression | Increase range → add active resistance → proprioceptive exercises |
| Precautions | Within pain-free range only; STOP if dizziness, nausea, radiating pain; NO rapid movements |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting or standing, arms by side |
| Technique | Draw shoulder blades together and downward (retract + depress); hold |
| Sets/Reps | 3 sets × 15 repetitions |
| Hold Time | 5 seconds |
| Frequency | Daily |
| Progression | Add resistance band → prone Y-T-W exercises → cable machine |
| Precautions | Avoid shrugging (upper trapezius dominance); keep neck neutral |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting, affected side hand holding chair edge |
| Technique | Lateral flex neck away from tight side; use other hand to gently increase stretch; breathe out |
| Hold Time | 30 seconds |
| Sets/Reps | 3 repetitions each side |
| Frequency | 2-3× per day |
| Precautions | Gentle stretch only; no overpressure in early phase |
| Parameter | Detail |
|---|---|
| Indication | Pain management (acute and subacute phases) |
| Electrode placement | Over upper trapezius / paraspinals (NOT over fracture site; NOT over anterior neck/carotid sinus) |
| Mode | Conventional (High frequency) TENS |
| Frequency | 80-150 Hz |
| Pulse width | 50-80 µs |
| Intensity | Strong but comfortable tingling (sensory threshold) |
| Duration | 20-30 minutes per session |
| Frequency | 1-2× daily |
| Contraindications | Over anterior neck (carotid sinus), cardiac pacemaker, over metal implants (halo pins), open wounds, pregnancy |
| Parameter | Detail |
|---|---|
| Indication | Deep tissue pain; muscle spasm |
| Carrier Frequency | 4000 Hz |
| AMF (Beat frequency) | 80-150 Hz (pain) / 10-50 Hz (muscle spasm) |
| Sweep | 80-150 Hz |
| Intensity | Comfortable tingling |
| Duration | 15-20 minutes |
| Contraindications | Same as TENS; NOT over fracture site acutely |
| Parameter | Detail |
|---|---|
| Indication | Soft tissue healing, muscle spasm (subacute/chronic phase) |
| Frequency | 1 MHz (deep tissue) or 3 MHz (superficial) |
| Intensity | 0.5-1.5 W/cm² (pulsed 1:4 ratio initially) |
| Duration | 5-7 minutes per area |
| ERA | Cover all of effective radiating area |
| Contraindications | Over spinal cord (posterior cervical region), metal implants, active fracture site, malignancy, growth plates |
⚠️ Electrotherapy over the cervical spine requires extreme caution. Anterior neck (carotid sinus, vagus nerve) is strictly contraindicated. All parameters to be titrated to patient response.
| Complication | Notes |
|---|---|
| Spinal cord injury (SCI) | Rare due to self-decompression; common in Type Ia and Type III |
| Vertebral artery injury | Posterior circulation stroke, vertebrobasilar ischaemia |
| Non-union / Malunion | Especially Type II with inadequate immobilisation |
| Post-traumatic cervical instability | Persistent ligamentous laxity |
| Adjacent segment disease | Following surgical fusion (C1-C2-C3) |
| Halo vest complications | Pin-site infection, pressure sores, pin loosening, pulmonary restriction |
| Pneumonia / DVT / PE | Immobilisation complications |
| Dysphagia | Retropharyngeal haematoma or post-surgical |
| Chronic neck pain | Residual in up to 30% |
| Psychological: PTSD, anxiety | Post-trauma |
💡 Exam Tip: In theory exams, always draw the Levine-Edwards classification diagram. In viva, know the contraindication to traction in Type IIa cold. In practical, always start with spinal precautions and ASIA classification before any cervical assessment.
Pulmonary rehabilitation
"pulmonary rehabilitation" COPD exercise
"Pulmonary rehabilitation is a comprehensive intervention based on a thorough patient assessment followed by patient-tailored therapies that include, but are not limited to, exercise training, education, and behaviour change, designed to improve the physical and psychological condition of people with chronic respiratory disease and to promote the long-term adherence to health-enhancing behaviours."
| Based On | Types |
|---|---|
| Setting | Inpatient (hospital-based), Outpatient (community-based), Home-based |
| Duration | Short-term (6-8 weeks), Long-term (12+ weeks), Maintenance |
| Condition | COPD-specific, ILD-specific, Asthma, Post-COVID, Pre/Post lung transplant, Lung cancer |
| Phase | Phase I (Inpatient/acute), Phase II (Supervised outpatient), Phase III (Community), Phase IV (Maintenance) |
| Absolute | Relative |
|---|---|
| Unstable angina / acute MI | Severe pulmonary hypertension |
| Uncontrolled cardiac arrhythmia | Severe orthopaedic limitations |
| Severe aortic stenosis | Cognitive impairment |
| Active haemoptysis | Severe anaemia |
| Acute exacerbation | Morbid obesity |
| Muscle | Role | Clinical Significance in PR |
|---|---|---|
| Diaphragm | Primary inspiratory muscle (75% of work) | Flattened in COPD → reduced efficiency → trains with IMT and pursed lip breathing |
| External Intercostals | Elevate ribs during inspiration | Accessory recruiter in COPD |
| Sternocleidomastoid (SCM) | Accessory inspiration | Overactive in COPD → hypertrophy on inspection |
| Scalenes | Accessory inspiration | Recruited at rest in severe COPD |
| Internal Intercostals | Active expiration (normal) | Recruited in forced expiration / wheeze |
| Abdominal Muscles | Active expiration | Trained in active expiratory techniques |
| Pelvic Floor | Pressure control during cough | Dysfunctional in COPD - addressed in PR |
Chronic Lung Disease
↓
Dyspnoea on exertion
↓
Activity avoidance (physical inactivity)
↓
Peripheral muscle deconditioning (atrophy, type I → type II fibre shift)
↓
Reduced oxidative capacity → early lactic acidosis → MORE ventilatory demand
↓
Worsening exercise intolerance → MORE dyspnoea
↓
Social isolation, depression, anxiety (↓ QoL)
↓
Further inactivity → CYCLE CONTINUES
| Muscle Group | Assessment Tool | Finding |
|---|---|---|
| Inspiratory muscles (diaphragm + inspiratory intercostals) | MIP (Maximum Inspiratory Pressure) - normal > 80 cmH₂O male, > 70 cmH₂O female | Reduced MIP in COPD |
| Expiratory muscles | MEP (Maximum Expiratory Pressure) | Reduced MEP |
| Diaphragm | Sniff nasal pressure; ultrasound | Flattened, reduced excursion |
| Overall respiratory muscle endurance | Sustained maximum ventilation (SMV); pressure time product | Reduced endurance |
| Muscle Group | Assessment | Finding |
|---|---|---|
| Quadriceps (most affected in COPD) | Isokinetic dynamometry; 1-RM; 30-sec sit-to-stand | Weakness, atrophy |
| Hip extensors/flexors | MMT (0-5 MRC scale) | Weak |
| Upper limb muscles (biceps, deltoid) | Grip strength (hand dynamometer) | Reduced |
| Respiratory muscles | MIP/MEP | Reduced |
| Grade | Description |
|---|---|
| 0 | No contraction |
| 1 | Visible contraction, no movement |
| 2 | Movement with gravity eliminated |
| 3 | Movement against gravity (minimum pass) |
| 4 | Movement against some resistance |
| 5 | Normal strength |
| Test | Normal | COPD (Obstructive) | ILD (Restrictive) |
|---|---|---|---|
| FEV₁ | > 80% predicted | Reduced (< 80%) | Reduced |
| FVC | > 80% predicted | May be reduced | Reduced |
| FEV₁/FVC ratio | > 0.70 | < 0.70 (diagnostic) | Normal or increased |
| TLC | 80-120% predicted | Increased | Reduced |
| RV | Normal | Increased (air trapping) | Reduced |
| DLCO | > 70% predicted | Reduced (emphysema) | Reduced |
| GOLD Grade | FEV₁ % predicted | Severity |
|---|---|---|
| I | ≥ 80% | Mild |
| II | 50-79% | Moderate |
| III | 30-49% | Severe |
| IV | < 30% | Very Severe |
| Outcome Domain | Tool |
|---|---|
| Exercise capacity | 6-Minute Walk Test (6MWT) - most common; Incremental Shuttle Walk Test (ISWT); Endurance Shuttle Walk Test (ESWT); CPET |
| Dyspnoea | Modified Borg Scale (0-10); MRC Dyspnoea Scale (1-5); Baseline Dyspnoea Index (BDI) |
| Quality of Life | COPD Assessment Test (CAT); St. George's Respiratory Questionnaire (SGRQ); Chronic Respiratory Questionnaire (CRQ) |
| Anxiety/Depression | Hospital Anxiety and Depression Scale (HADS) |
| Muscle strength | Grip dynamometer; 1-RM; 30-sec sit-to-stand |
| Physical activity | Accelerometry; pedometer step counts |
| Nutritional status | BMI; FFMI (fat-free mass index) |
| Condition | Key Differentiating Feature |
|---|---|
| Cardiac failure (CHF) | Bilateral basal crackles, raised JVP, cardiomegaly on CXR, BNP elevated, responds to diuretics |
| Asthma | Reversible airflow obstruction (≥ 12% and 200 mL improvement on bronchodilator), atopy, younger onset |
| Bronchiectasis | Clubbing, copious purulent sputum, "tram-track" / "ring shadow" on HRCT |
| ILD / IPF | Fine "velcro" crackles, restrictive pattern on PFTs, ground-glass opacities on HRCT |
| Pulmonary Hypertension | Loud P2, RV heave, raised JVP, ECHO: increased RVSP |
| Lung Cancer | Haemoptysis, weight loss, clubbing, hilar mass on CXR |
| Anaemia | Pallor, dyspnoea without wheeze, normal spirometry, low Hb |
| Investigation | Purpose / Finding |
|---|---|
| Spirometry (PFTs) | Diagnose, classify severity (GOLD), assess obstruction/restriction |
| Chest X-Ray (CXR) | Hyperinflation (barrel chest, flattened diaphragm, >6 ribs visible anteriorly) |
| HRCT Chest | Emphysema pattern, bullae, ILD (ground glass/honeycombing), bronchiectasis |
| ABG (Arterial Blood Gas) | Hypoxaemia (PaO₂ < 60 mmHg), hypercapnia (PaCO₂ > 45 mmHg), pH, HCO₃ |
| SpO₂ (Pulse Oximetry) | Resting + exertional oxygenation; oxygen need during exercise |
| 6MWT | Functional exercise capacity; SpO₂ during exertion |
| CPET (Cardiopulmonary Exercise Testing) | VO₂max, lactate threshold, ventilatory pattern, cardiac vs pulmonary limitation |
| ECG / Echo | Rule out cardiac cause; assess cor pulmonale (right heart strain) |
| Sputum Culture | Chronic infection in bronchiectasis/CF |
| FBC | Polycythaemia (secondary to chronic hypoxia), anaemia |
| BMI / Nutritional Assessment | FFMI; malnutrition very common in severe COPD |
| HADS | Anxiety and depression screening |
| Parameter | Detail |
|---|---|
| Starting Position | Standing, comfortable footwear, use walking aid if needed |
| Technique | Walk at target pace on level surface or treadmill; use PLB during walking to control dyspnoea |
| Intensity | Borg dyspnoea scale 4-6/10 (moderate-somewhat severe); or 60-80% peak HR |
| Duration | Start: 10-15 minutes → Progress to 30-45 minutes |
| Frequency | 5 days/week |
| Progression | Increase duration by 5 min/week → then increase speed → progress to incline or stairs |
| Precautions | Stop if SpO₂ < 88%, Borg > 7, chest pain, dizziness; use supplemental O₂ if prescribed |
| Parameter | Detail |
|---|---|
| Starting Position | Seated on cycle ergometer, seat height adjusted (slight knee flexion at bottom of pedal stroke) |
| Technique | Steady-state cycling at target intensity; breathe rhythmically; co-ordinate with PLB |
| Intensity | 60-80% peak work rate (from CPET or 6MWT); or Borg 4-6 |
| Duration | 20-45 minutes (interval training if unable to sustain) |
| Sets | 1 continuous session OR interval: 3 min work : 2 min rest × 6-8 cycles |
| Frequency | 3-5 sessions/week |
| Progression | Increase resistance → increase duration → reduce rest intervals |
| Precautions | Monitor SpO₂ throughout; have oxygen available |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting on chair / gym bench, feet hanging freely |
| Technique | Extend knee fully; hold; slowly lower (eccentric control) |
| Sets/Reps | 3 sets × 8-12 repetitions |
| Intensity | 60-70% 1-RM |
| Hold Time | 2 seconds at full extension |
| Frequency | 2-3 sessions/week (allow 48 hours recovery) |
| Progression | Increase resistance by 5% when patient completes 3×12 with good form |
| Precautions | Avoid Valsalva manoeuvre; breathe out on exertion; do not increase weight if dyspnoea > Borg 5 |
| Parameter | Detail |
|---|---|
| Starting Position | Seated in chair, feet shoulder-width apart, arms crossed on chest |
| Technique | Lean forward slightly, push through heels to stand; pause; sit back down slowly |
| Sets/Reps | 3 sets × 10 repetitions |
| Hold Time | 2 seconds at standing position |
| Frequency | Daily |
| Progression | Reduce chair height → add weight vest → 30-second sit-to-stand test |
| Precautions | Breathe out as you stand up; use chair arms initially for safety |
| Parameter | Detail |
|---|---|
| Starting Position | Seated, dumbbells at shoulder height, palms forward |
| Technique | Press dumbbells overhead; lower slowly (4 seconds down) |
| Sets/Reps | 3 sets × 10-12 repetitions |
| Intensity | 50-60% 1-RM (upper limb training uses lower loads due to higher ventilatory demand) |
| Frequency | 2-3 sessions/week |
| Progression | Increase load → progress to functional reaching tasks |
| Precautions | Upper limb exercise causes higher ventilatory demand - monitor SpO₂ closely; use PLB throughout |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting upright, nose clip on, mouthpiece in |
| Technique | Breathe in forcefully through device against resistance; breathe out normally |
| Intensity | 30% of MIP (starting) → progress to 50-60% MIP |
| Sets/Reps | 3 sets × 30 breaths |
| Hold Time | N/A (dynamic) |
| Frequency | Daily (minimum 5 days/week) |
| Progression | Increase resistance by 5% every 2 weeks as tolerated |
| Precautions | Reassess MIP every 4 weeks and adjust load; avoid if uncontrolled hypertension or pneumothorax |
Evidence: Cochrane Review (Ammous et al. 2023 - PMID 36606682) - IMT alone improves inspiratory muscle strength and endurance; adding IMT to PR provides additional benefit in selected patients with significant inspiratory muscle weakness.
| Parameter | Detail |
|---|---|
| Starting Position | Supine (early) → sitting → standing |
| Technique | Place one hand on chest, one on abdomen; on inhalation, abdomen should rise while chest remains still; breathe out slowly; ratio: inhale 2 sec, exhale 4 sec |
| Sets/Reps | 3 sets × 10 breaths |
| Hold Time | Brief pause at end-inspiration (1-2 sec) |
| Frequency | 3-4 times per day; during exercise |
| Progression | Supine → sitting → standing → walking → during activity |
| Precautions | Avoid hyperventilation; stop if light-headedness; not effective in all COPD patients due to diaphragm flattening - reassess individual response |
| Parameter | Detail |
|---|---|
| Starting Position | Any position; sitting preferred |
| Technique | Inhale slowly through nose (2 counts); purse lips as if blowing out a candle; exhale slowly (4 counts) through pursed lips - twice as long as inspiration |
| Purpose | Creates back-pressure in airways (intrinsic PEEP) → prevents premature airway collapse → reduces air trapping → reduces dynamic hyperinflation → reduces dyspnoea |
| Frequency | During all physical activity; during dyspnoeic episodes |
| Progression | Resting → walking → climbing stairs → ADLs |
| Precautions | Should not cause dizziness; avoid forceful expiration |
| Parameter | Detail |
|---|---|
| Indication | Chest wall pain; post-thoracic surgery pain management |
| Electrode placement | Paravertebral (T1-T8 level) or over pain site; NOT directly over anterior chest |
| Frequency | 80-150 Hz (conventional high-frequency TENS) |
| Pulse width | 50-80 µs |
| Duration | 20-30 minutes |
| Contraindications | Cardiac pacemaker, anterior chest (cardiac conduction interference), over healing incision |
| Parameter | Detail |
|---|---|
| Indication | Severe COPD patients unable to perform exercise (GOLD III-IV); peripheral muscle weakness; ICU patients |
| Target muscles | Quadriceps, gastrocnemius, tibialis anterior |
| Frequency | 35-50 Hz |
| Pulse width | 200-400 µs |
| Intensity | Maximum tolerated visible muscle contraction |
| Session duration | 30-60 minutes |
| Programme duration | 6-8 weeks |
| Evidence | Cochrane evidence supports NMES as effective substitute/supplement to exercise in severe COPD patients with low functional capacity |
| Contraindications | Cardiac pacemaker, metal implants at treatment site, deep vein thrombosis in limb, epilepsy |
| Indication | Inspiratory muscle weakness; post-ICU phrenic nerve dysfunction |
|---|---|
| Contraindications | Cardiac devices, anterior chest placement precautions |
⚠️ Note: Electrotherapy is an adjunct in PR, not the primary intervention. Exercise training remains the cornerstone.
| Task | Training Method |
|---|---|
| Stair climbing | Step training with handrail; progress height; PLB throughout |
| Rising from floor | Kneel → half kneel → stand; teach fall recovery |
| Carrying groceries | Functional upper limb loading tasks |
| Bathing/dressing | Seated bathing technique; pacing; energy conservation |
| Cooking | Standing tolerance; pacing; sit-stand alternation |
| Problem | Intervention |
|---|---|
| Reduced gait speed | Treadmill training; target comfortable pace |
| Poor gait endurance | Interval walking → continuous walking progression |
| Use of accessory muscles during walking | Gait retraining with arm support (rollator frame reduces dyspnoea) |
| Impaired balance | Single-leg stance; tandem walking; foam pad standing |
| Phase | Technique | Purpose |
|---|---|---|
| 1. Breathing Control | Relaxed, tidal diaphragmatic breathing × 3-5 breaths | Rest + reduce bronchospasm |
| 2. Thoracic Expansion Exercises (TEE) | 3-5 deep slow breaths + 3-second hold at end-inspiration | Collateral ventilation; mobilise secretions |
| 3. Forced Expiration Technique (FET) / Huff | Medium or low volume huff (open glottis) | Move secretions centrally |
| Repeat | × 2-4 cycles until secretions cleared | - |
| Technique | Description | Indication |
|---|---|---|
| Postural Drainage | Gravity-assisted positions for each lung segment | Bronchiectasis, CF |
| Autogenic Drainage (AD) | Three-level breathing technique (unsticking → collecting → evacuating) | CF, bronchiectasis |
| PEP Therapy (Positive Expiratory Pressure) | Breathe against resistance (PEP mask/device, 10-20 cmH₂O) | Bronchiectasis |
| OPEP Devices (Flutter, Acapella, Aerobika) | Oscillating PEP; vibration + pressure | Bronchiectasis, CF |
| Percussion and Vibration | Manual chest percussion + vibration during expiration | ICU, unable to self-treat |
| High-frequency chest wall oscillation (HFCWO) | Vest device oscillates chest | CF, severe cases |
| Criteria | Target |
|---|---|
| SpO₂ during exercise | ≥ 88% on room air (or stable on supplemental O₂) |
| Dyspnoea during activity | Borg ≤ 4-5 (moderate) |
| 6MWT improvement | ≥ 25 m above baseline (MCID met) |
| Exacerbation-free | ≥ 4 weeks |
| Medical clearance | Physician review of spirometry, SpO₂, cardiac status |
| Self-management competency | Patient demonstrates: PLB, ACBT, inhaler technique, exacerbation action plan |
| Complication | Management |
|---|---|
| Exercise-induced desaturation (SpO₂ < 88%) | Reduce intensity; add/increase supplemental O₂ |
| Exercise-induced bronchospasm | Pre-exercise bronchodilator; reduce intensity |
| Musculoskeletal injury (muscle strain) | Modify exercise; relative rest; physiotherapy |
| Cardiac arrhythmia | Stop exercise; ECG monitoring; refer to cardiologist |
| Acute exacerbation during PR programme | Defer PR until stable; restart from lower level |
| Falls (balance-impaired patients) | Exercise in supervised setting; balance training; walking aids |
| Outcome | Evidence |
|---|---|
| Exercise capacity (6MWT) | Consistent improvement of 35-80 m (exceeds MCID of 25-33 m) |
| Dyspnoea | Significant reduction on Borg, MRC, BDI scales |
| QoL | Clinically meaningful improvement on SGRQ, CRQ, CAT |
| Anxiety/Depression | Significant reduction on HADS |
| Hospital re-admissions | Post-exacerbation PR reduces re-admission risk by ~40% (Jenkins et al. 2024, PMID 38350731) |
| Mortality | Post-exacerbation PR does NOT reduce mortality (current evidence) |
| Duration of benefit | 6-12 months post-completion; maintenance PR extends benefit |
| Home-based PR | Non-inferior to centre-based PR for selected patients (Uzzaman et al. 2022, PMID 36130789) |
💡 Exam Tip: In theory - always write the ATS/ERS 2013 definition verbatim for full marks. In viva - explain the vicious cycle diagram confidently. In practical - demonstrate 6MWT protocol, ACBT, and PLB technique correctly. The examiner will almost always ask: "Does PR improve FEV₁?" - the answer is No, and you must explain why.
Create a PowerPoint on PR phases and components for revision
ls /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/pulmonary-rehab-ppt
~/pulmonary-rehab-ppt/create_pr_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "BPT/MPT Revision";
pres.title = "Pulmonary Rehabilitation - Phases & Components";
// ─── COLOUR PALETTE ───────────────────────────────────────────────
const C = {
navyDark: "0A1628", // dominant dark background
navy: "0D2137", // slide body bg
teal: "0E7C7B", // accent / section headers
sky: "4CB8C4", // lighter accent
mint: "3DCCC7", // highlight
white: "FFFFFF",
offWhite: "EAF6F6",
lightGray: "D0E8EA",
gold: "F5A623", // emphasis / star
coral: "E8543A", // warning / important
green: "2ECC71", // positive / check
textLight: "B8D8DC",
};
// ─── HELPER: Full-bleed dark background ───────────────────────────
function darkBg(slide) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { color: C.navyDark }, line: { type: "none" }
});
}
// ─── HELPER: Accent bar top ───────────────────────────────────────
function accentBar(slide, color = C.teal) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 10, h: 0.08,
fill: { color }, line: { type: "none" }
});
}
// ─── HELPER: Section label pill ───────────────────────────────────
function pill(slide, text, x, y, w = 2.4, h = 0.32, bg = C.teal) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h, rectRadius: 0.15,
fill: { color: bg }, line: { type: "none" }
});
slide.addText(text, {
x, y, w, h,
fontSize: 9, bold: true, color: C.white,
align: "center", valign: "middle", margin: 0
});
}
// ─── HELPER: Card box ─────────────────────────────────────────────
function card(slide, x, y, w, h, fillColor = C.navy, border = C.teal) {
slide.addShape(pres.shapes.RECTANGLE, {
x, y, w, h,
fill: { color: fillColor },
line: { color: border, width: 1 },
shadow: { type: "outer", color: "000000", blur: 8, offset: 2, angle: 135, opacity: 0.25 }
});
}
// ─── HELPER: slide title label ────────────────────────────────────
function slideTitle(slide, text) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0.08, w: 10, h: 0.58,
fill: { color: C.navy }, line: { type: "none" }
});
slide.addText(text, {
x: 0.4, y: 0.08, w: 9.2, h: 0.58,
fontSize: 18, bold: true, color: C.mint,
valign: "middle", margin: 0, charSpacing: 1
});
}
// ─── HELPER: numbered circle ──────────────────────────────────────
function numCircle(slide, num, x, y, r = 0.3, bg = C.teal) {
slide.addShape(pres.shapes.ELLIPSE, {
x: x - r / 2, y: y - r / 2, w: r, h: r,
fill: { color: bg }, line: { type: "none" }
});
slide.addText(String(num), {
x: x - r / 2, y: y - r / 2, w: r, h: r,
fontSize: 9, bold: true, color: C.white,
align: "center", valign: "middle", margin: 0
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 1 – TITLE SLIDE
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
// Decorative teal bar left
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.12, h: 5.625,
fill: { color: C.teal }, line: { type: "none" }
});
// Decorative right-bottom corner block
s.addShape(pres.shapes.RECTANGLE, {
x: 7.5, y: 4.2, w: 2.5, h: 1.425,
fill: { color: C.teal }, line: { type: "none" },
transparency: 80
});
// Lung icon (text substitute)
s.addText("🫁", { x: 0.5, y: 0.7, w: 1.4, h: 1.4, fontSize: 56, align: "center" });
// Main title
s.addText("PULMONARY", {
x: 1.8, y: 0.7, w: 7.8, h: 0.85,
fontSize: 46, bold: true, color: C.white,
charSpacing: 4, valign: "middle"
});
s.addText("REHABILITATION", {
x: 1.8, y: 1.5, w: 7.8, h: 0.85,
fontSize: 46, bold: true, color: C.mint,
charSpacing: 4, valign: "middle"
});
// Subtitle
s.addShape(pres.shapes.RECTANGLE, {
x: 1.8, y: 2.5, w: 6.5, h: 0.04,
fill: { color: C.gold }, line: { type: "none" }
});
s.addText("Phases • Components • Exercise Prescription • Outcome Measures", {
x: 1.8, y: 2.62, w: 7.5, h: 0.4,
fontSize: 13, color: C.lightGray, italic: true
});
// Tags
const tags = ["BPT / MPT Final Year", "Evidence-Based", "ATS/ERS 2013"];
tags.forEach((t, i) => pill(s, t, 1.8 + i * 2.6, 3.15, 2.4, 0.32, i === 0 ? C.teal : i === 1 ? C.coral : C.sky));
// Footer
s.addText("Revision Deck | Physiotherapy | Respiratory System", {
x: 0.2, y: 5.2, w: 9.6, h: 0.3,
fontSize: 8, color: C.textLight, align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 2 – DEFINITION + INDICATIONS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.mint);
slideTitle(s, "Definition & Indications");
// Definition card
card(s, 0.3, 0.8, 9.4, 1.5, "122638", C.mint);
s.addText("ATS / ERS OFFICIAL DEFINITION (2013)", {
x: 0.55, y: 0.86, w: 8.8, h: 0.3,
fontSize: 8.5, bold: true, color: C.mint, charSpacing: 1
});
s.addText(
'"A comprehensive intervention based on thorough patient assessment, followed by patient-tailored therapies including exercise training, education, and behaviour change — designed to improve the physical and psychological condition of people with chronic respiratory disease."',
{
x: 0.55, y: 1.18, w: 8.8, h: 1.0,
fontSize: 10.5, color: C.white, italic: true
}
);
// Indications header
s.addText("INDICATIONS", {
x: 0.3, y: 2.5, w: 3, h: 0.3,
fontSize: 9, bold: true, color: C.gold, charSpacing: 2
});
const indications = [
["COPD", "MRC Grade ≥ 2 — Primary indication"],
["ILD / IPF", "Exercise capacity + QoL improvement"],
["Bronchiectasis", "Cystic & non-cystic fibrosis types"],
["Asthma", "Uncontrolled / exercise-induced"],
["Pulm. Hypertension", "Supervised exercise programmes"],
["Lung Transplant", "Pre- and post-transplantation"],
["Post-COVID", "Long COVID respiratory sequelae"],
["Lung Cancer", "Pre / post-surgical rehabilitation"],
];
indications.forEach(([title, sub], i) => {
const col = i < 4 ? 0 : 1;
const row = i < 4 ? i : i - 4;
const x = 0.3 + col * 4.8;
const y = 2.9 + row * 0.58;
card(s, x, y, 4.5, 0.48, "122638", col === 0 ? C.teal : C.sky);
s.addShape(pres.shapes.ELLIPSE, {
x: x + 0.08, y: y + 0.09, w: 0.3, h: 0.3,
fill: { color: col === 0 ? C.teal : C.sky }, line: { type: "none" }
});
s.addText("✓", { x: x + 0.08, y: y + 0.09, w: 0.3, h: 0.3, fontSize: 9, color: C.white, align: "center", valign: "middle", margin: 0 });
s.addText(title, { x: x + 0.45, y: y + 0.04, w: 3.9, h: 0.22, fontSize: 9.5, bold: true, color: C.white, valign: "middle", margin: 0 });
s.addText(sub, { x: x + 0.45, y: y + 0.25, w: 3.9, h: 0.2, fontSize: 8, color: C.textLight, valign: "middle", margin: 0 });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 3 – THE VICIOUS CYCLE (Deconditioning)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.coral);
slideTitle(s, "Pathophysiology: Vicious Cycle of Deconditioning");
const steps = [
{ label: "Chronic Lung Disease", sub: "COPD, ILD, Bronchiectasis…", x: 4.0, y: 0.85, color: C.coral },
{ label: "Dyspnoea on Exertion", sub: "Increased WOB, air trapping", x: 7.2, y: 1.8, color: C.gold },
{ label: "Activity Avoidance", sub: "Physical inactivity, sedentary", x: 6.8, y: 3.3, color: C.sky },
{ label: "Muscle Deconditioning", sub: "Type I → Type II fibre shift", x: 3.2, y: 4.3, color: C.teal },
{ label: "↑ Ventilatory Demand", sub: "Early lactic acidosis, fatigue", x: 0.5, y: 3.3, color: C.mint },
{ label: "Exercise Intolerance", sub: "↓ VO₂max, ↓ 6MWT distance", x: 0.2, y: 1.8, color: C.gold },
];
steps.forEach(({ label, sub, x, y, color }) => {
card(s, x, y, 2.7, 0.75, "122638", color);
s.addText(label, { x: x + 0.1, y: y + 0.04, w: 2.5, h: 0.35, fontSize: 9, bold: true, color: C.white, valign: "middle", margin: 0 });
s.addText(sub, { x: x + 0.1, y: y + 0.38, w: 2.5, h: 0.28, fontSize: 7.5, color: C.textLight, valign: "middle", margin: 0 });
});
// Arrows (simplified curved arrows as text)
const arrows = [
{ x: 6.5, y: 1.3, t: "▶" },
{ x: 7.8, y: 2.7, t: "▼" },
{ x: 5.6, y: 4.15, t: "◀" },
{ x: 2.2, y: 4.15, t: "◀" },
{ x: 0.2, y: 2.7, t: "▲" },
{ x: 1.5, y: 1.3, t: "▶" },
];
arrows.forEach(({ x, y, t }) => {
s.addText(t, { x, y, w: 0.4, h: 0.3, fontSize: 14, color: C.teal, align: "center" });
});
// Centre label
s.addShape(pres.shapes.ELLIPSE, {
x: 3.4, y: 2.1, w: 3.2, h: 1.5,
fill: { color: "1A3A4A" },
line: { color: C.coral, width: 2 }
});
s.addText("PR BREAKS\nTHIS CYCLE", {
x: 3.4, y: 2.1, w: 3.2, h: 1.5,
fontSize: 13, bold: true, color: C.coral,
align: "center", valign: "middle"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 4 – COMPONENTS OF PR (Wheel)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.teal);
slideTitle(s, "Components of Pulmonary Rehabilitation");
// Centre circle
s.addShape(pres.shapes.ELLIPSE, {
x: 3.8, y: 1.6, w: 2.4, h: 2.4,
fill: { color: C.teal }, line: { type: "none" }
});
s.addText("PULMONARY\nREHAB", {
x: 3.8, y: 1.6, w: 2.4, h: 2.4,
fontSize: 13, bold: true, color: C.white,
align: "center", valign: "middle"
});
const components = [
{ num: 1, title: "Exercise Training", detail: "Aerobic + Resistance + IMT", x: 0.2, y: 0.85, color: C.coral, arrow: "→" },
{ num: 2, title: "Patient Education", detail: "Inhaler technique, self-management", x: 6.3, y: 0.85, color: C.sky, arrow: "←" },
{ num: 3, title: "Breathing Re-education", detail: "PLB, Diaphragmatic breathing", x: 0.2, y: 2.4, color: C.mint, arrow: "→" },
{ num: 4, title: "Airway Clearance", detail: "ACBT, PEP, Postural drainage", x: 6.3, y: 2.4, color: C.gold, arrow: "←" },
{ num: 5, title: "Psychosocial Support", detail: "Anxiety, depression, CBT", x: 0.2, y: 4.0, color: C.teal, arrow: "→" },
{ num: 6, title: "Nutritional Counselling", detail: "BMI, FFMI, high-protein diet", x: 6.3, y: 4.0, color: C.coral, arrow: "←" },
];
components.forEach(({ num, title, detail, x, y, color, arrow }) => {
card(s, x, y, 3.3, 0.9, "122638", color);
s.addShape(pres.shapes.ELLIPSE, {
x: x + 0.1, y: y + 0.28, w: 0.3, h: 0.3,
fill: { color }, line: { type: "none" }
});
s.addText(String(num), { x: x + 0.1, y: y + 0.28, w: 0.3, h: 0.3, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
s.addText(title, { x: x + 0.5, y: y + 0.06, w: 2.7, h: 0.33, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 0 });
s.addText(detail, { x: x + 0.5, y: y + 0.5, w: 2.7, h: 0.28, fontSize: 8, color: C.textLight, valign: "middle", margin: 0 });
// Connector arrow
const arrowX = arrow === "→" ? x + 3.3 : x - 0.35;
s.addText(arrow, { x: arrowX, y: y + 0.3, w: 0.35, h: 0.3, fontSize: 12, color: color, align: "center" });
});
// Star label at bottom
s.addText("⭐ Exercise Training is the MOST IMPORTANT component", {
x: 0.2, y: 5.22, w: 9.6, h: 0.28,
fontSize: 9, color: C.gold, bold: true, align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 5 – PHASES OF PR
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.sky);
slideTitle(s, "Phases of Pulmonary Rehabilitation");
const phases = [
{
num: "I",
title: "Acute / Inpatient",
time: "Hospital / ICU",
color: C.coral,
points: [
"Positioning: high side-lying / upright",
"Diaphragmatic breathing + PLB",
"Airway clearance (ACBT)",
"Passive to active limb exercises",
"Early mobilisation (sit → stand → walk)",
"DVT prevention, SpO₂ monitoring",
]
},
{
num: "II",
title: "Supervised Outpatient",
time: "6–12 Weeks (CORE Phase)",
color: C.teal,
points: [
"2–3 supervised sessions/week",
"Aerobic training: walking / cycling",
"Resistance training: quadriceps, UL",
"IMT: 30% → 60% MIP",
"Education, nutrition, psychosocial",
"Pre/post outcome measures: 6MWT, CAT",
]
},
{
num: "III",
title: "Community / Maintenance",
time: "Post-Programme (Long-term)",
color: C.sky,
points: [
"Community exercise classes",
"Home exercise programme (HEP)",
"Walking programmes: 30 min × 5/week",
"Tele-rehabilitation / remote review",
"Annual reassessment",
"Prevent deconditioning relapse",
]
},
];
phases.forEach(({ num, title, time, color, points }, i) => {
const x = 0.15 + i * 3.28;
// Phase header
s.addShape(pres.shapes.RECTANGLE, {
x, y: 0.75, w: 3.1, h: 0.9,
fill: { color }, line: { type: "none" }
});
s.addText(`PHASE ${num}`, { x, y: 0.76, w: 3.1, h: 0.38, fontSize: 18, bold: true, color: C.navyDark, align: "center", valign: "middle", charSpacing: 2, margin: 0 });
s.addText(title, { x, y: 1.12, w: 3.1, h: 0.28, fontSize: 9, bold: true, color: C.navyDark, align: "center", valign: "middle", margin: 0 });
// Time badge
s.addShape(pres.shapes.RECTANGLE, {
x, y: 1.65, w: 3.1, h: 0.28,
fill: { color: "1A3A4A" }, line: { type: "none" }
});
s.addText("⏱ " + time, { x, y: 1.65, w: 3.1, h: 0.28, fontSize: 8, color, align: "center", valign: "middle", margin: 0 });
// Points
card(s, x, 1.93, 3.1, 3.42, "122638", color);
const bulletItems = points.map((p, j) => ({
text: p,
options: { bullet: { code: "25B8", color }, color: j === 0 ? C.white : C.textLight, fontSize: 8.5, breakLine: j < points.length - 1 }
}));
s.addText(bulletItems, { x: x + 0.15, y: 2.05, w: 2.8, h: 3.1 });
});
// Progression arrow
s.addText("─────────────────── PROGRESSION ───────────────────", {
x: 0.15, y: 5.23, w: 9.6, h: 0.28,
fontSize: 8, color: C.lightGray, align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 6 – EXERCISE PRESCRIPTION
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.gold);
slideTitle(s, "Exercise Prescription in PR");
// Left: Aerobic
card(s, 0.2, 0.76, 4.55, 2.1, "0D2137", C.coral);
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 0.76, w: 4.55, h: 0.38, fill: { color: C.coral }, line: { type: "none" } });
s.addText("🏃 AEROBIC TRAINING", { x: 0.3, y: 0.76, w: 4.3, h: 0.38, fontSize: 11, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
const aerobic = [
["Mode", "Walking, Cycling, Treadmill"],
["Intensity", "Borg 4–6/10 OR 60–80% peak HR"],
["Duration", "Start 10–15 min → 30–45 min"],
["Frequency", "3–5 sessions / week"],
["Type", "Continuous OR Interval (3:2 ratio)"],
];
aerobic.forEach(([k, v], i) => {
s.addText(k + ":", { x: 0.3, y: 1.22 + i * 0.32, w: 1.1, h: 0.28, fontSize: 8.5, bold: true, color: C.coral, valign: "middle", margin: 0 });
s.addText(v, { x: 1.45, y: 1.22 + i * 0.32, w: 3.1, h: 0.28, fontSize: 8.5, color: C.white, valign: "middle", margin: 0 });
});
// Right: Resistance
card(s, 5.25, 0.76, 4.55, 2.1, "0D2137", C.teal);
s.addShape(pres.shapes.RECTANGLE, { x: 5.25, y: 0.76, w: 4.55, h: 0.38, fill: { color: C.teal }, line: { type: "none" } });
s.addText("💪 RESISTANCE TRAINING", { x: 5.35, y: 0.76, w: 4.3, h: 0.38, fontSize: 11, bold: true, color: C.white, valign: "middle", margin: 0 });
const resist = [
["Muscles", "Quadriceps (primary), UL, Core"],
["Intensity", "60–70% 1-RM"],
["Sets / Reps", "3 sets × 8–12 repetitions"],
["Frequency", "2–3 sessions / week"],
["Progression", "Increase load when 3×12 achieved"],
];
resist.forEach(([k, v], i) => {
s.addText(k + ":", { x: 5.35, y: 1.22 + i * 0.32, w: 1.3, h: 0.28, fontSize: 8.5, bold: true, color: C.mint, valign: "middle", margin: 0 });
s.addText(v, { x: 6.7, y: 1.22 + i * 0.32, w: 2.9, h: 0.28, fontSize: 8.5, color: C.white, valign: "middle", margin: 0 });
});
// Bottom left: IMT
card(s, 0.2, 3.0, 4.55, 1.85, "0D2137", C.sky);
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 3.0, w: 4.55, h: 0.38, fill: { color: C.sky }, line: { type: "none" } });
s.addText("🌬 INSPIRATORY MUSCLE TRAINING", { x: 0.3, y: 3.0, w: 4.3, h: 0.38, fontSize: 10, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
const imt = [
["Device", "Threshold IMT (POWERbreathe)"],
["Start", "30% MIP → Progress 50–60% MIP"],
["Protocol", "3 sets × 30 breaths / session"],
["Frequency", "Daily (min. 5 days/week)"],
];
imt.forEach(([k, v], i) => {
s.addText(k + ":", { x: 0.3, y: 3.46 + i * 0.32, w: 1.0, h: 0.28, fontSize: 8.5, bold: true, color: C.sky, valign: "middle", margin: 0 });
s.addText(v, { x: 1.35, y: 3.46 + i * 0.32, w: 3.2, h: 0.28, fontSize: 8.5, color: C.white, valign: "middle", margin: 0 });
});
// Bottom right: Precautions
card(s, 5.25, 3.0, 4.55, 1.85, "1A1018", C.coral);
s.addShape(pres.shapes.RECTANGLE, { x: 5.25, y: 3.0, w: 4.55, h: 0.38, fill: { color: C.coral }, line: { type: "none" } });
s.addText("⚠ MONITORING & STOP CRITERIA", { x: 5.35, y: 3.0, w: 4.3, h: 0.38, fontSize: 10, bold: true, color: C.white, valign: "middle", margin: 0 });
const stops = ["SpO₂ < 88% → Stop / Add O₂", "Borg dyspnoea > 7/10", "Chest pain / Angina", "Dizziness / Syncope", "Uncontrolled HR / arrhythmia"];
stops.forEach((t, i) => {
s.addText("■ " + t, { x: 5.4, y: 3.46 + i * 0.27, w: 4.2, h: 0.25, fontSize: 8.5, color: i === 0 ? C.gold : C.white });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 7 – BREATHING TECHNIQUES
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.mint);
slideTitle(s, "Breathing Techniques in PR");
// PLB card
card(s, 0.2, 0.78, 4.5, 2.15, "0D2137", C.mint);
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 0.78, w: 4.5, h: 0.42, fill: { color: C.mint }, line: { type: "none" } });
s.addText("PURSED LIP BREATHING (PLB)", { x: 0.3, y: 0.78, w: 4.2, h: 0.42, fontSize: 10.5, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
s.addText([
{ text: "Step 1: ", options: { bold: true, color: C.mint } },
{ text: "Inhale slowly through nose — 2 counts\n", options: { color: C.white } },
{ text: "Step 2: ", options: { bold: true, color: C.mint } },
{ text: "Purse lips (as if blowing a candle)\n", options: { color: C.white } },
{ text: "Step 3: ", options: { bold: true, color: C.mint } },
{ text: "Exhale SLOWLY — 4 counts (2× inspiration)\n\n", options: { color: C.white } },
{ text: "Mechanism: ", options: { bold: true, color: C.gold } },
{ text: "Creates intrinsic PEEP → prevents premature airway collapse → reduces air trapping → ↓ dynamic hyperinflation", options: { color: C.textLight } },
], { x: 0.3, y: 1.28, w: 4.2, h: 1.55, fontSize: 8.5 });
// Diaphragmatic breathing card
card(s, 5.3, 0.78, 4.5, 2.15, "0D2137", C.sky);
s.addShape(pres.shapes.RECTANGLE, { x: 5.3, y: 0.78, w: 4.5, h: 0.42, fill: { color: C.sky }, line: { type: "none" } });
s.addText("DIAPHRAGMATIC BREATHING", { x: 5.4, y: 0.78, w: 4.2, h: 0.42, fontSize: 10.5, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
s.addText([
{ text: "Position: ", options: { bold: true, color: C.sky } },
{ text: "Supine → Sitting → Standing → Walking\n", options: { color: C.white } },
{ text: "Technique: ", options: { bold: true, color: C.sky } },
{ text: "One hand on chest, one on abdomen. On inhale, ABDOMEN rises while chest stays still\n", options: { color: C.white } },
{ text: "Ratio: ", options: { bold: true, color: C.gold } },
{ text: "Inhale 2 sec : Exhale 4 sec\n", options: { color: C.white } },
{ text: "Dose: ", options: { bold: true, color: C.sky } },
{ text: "3 sets × 10 breaths, 3–4×/day", options: { color: C.textLight } },
], { x: 5.4, y: 1.28, w: 4.2, h: 1.55, fontSize: 8.5 });
// ACBT
card(s, 0.2, 3.05, 9.6, 2.35, "0D2137", C.teal);
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 3.05, w: 9.6, h: 0.42, fill: { color: C.teal }, line: { type: "none" } });
s.addText("ACTIVE CYCLE OF BREATHING TECHNIQUE (ACBT)", { x: 0.35, y: 3.05, w: 9.3, h: 0.42, fontSize: 11, bold: true, color: C.white, valign: "middle", margin: 0 });
const acbtSteps = [
{ num: 1, title: "Breathing Control", detail: "Relaxed tidal diaphragmatic breathing × 3–5 breaths", purpose: "Rest + ↓ bronchospasm", color: C.coral },
{ num: 2, title: "Thoracic Expansion (TEE)", detail: "3–5 deep slow breaths + 3-sec hold at end-inspiration", purpose: "Collateral ventilation", color: C.gold },
{ num: 3, title: "Forced Expiration / Huff", detail: "Medium OR low volume huff (open glottis); move secretions centrally", purpose: "Clear secretions", color: C.mint },
];
acbtSteps.forEach(({ num, title, detail, purpose, color }, i) => {
const x = 0.35 + i * 3.22;
s.addShape(pres.shapes.ELLIPSE, { x: x, y: 3.6, w: 0.4, h: 0.4, fill: { color }, line: { type: "none" } });
s.addText(String(num), { x, y: 3.6, w: 0.4, h: 0.4, fontSize: 11, bold: true, color: C.navyDark, align: "center", valign: "middle", margin: 0 });
s.addText(title, { x: x + 0.5, y: 3.6, w: 2.5, h: 0.38, fontSize: 9.5, bold: true, color, valign: "middle", margin: 0 });
s.addText(detail, { x: x, y: 4.08, w: 2.95, h: 0.5, fontSize: 8, color: C.white });
s.addText("→ " + purpose, { x: x, y: 4.62, w: 2.95, h: 0.28, fontSize: 8, color: C.textLight, italic: true });
if (i < 2) s.addText("⟳", { x: x + 3.0, y: 3.9, w: 0.3, h: 0.4, fontSize: 16, color: C.teal, align: "center" });
});
s.addText("Repeat 2–4 cycles until secretions cleared", { x: 0.35, y: 5.22, w: 9.3, h: 0.28, fontSize: 8.5, color: C.gold, bold: true, align: "center" });
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 8 – OUTCOME MEASURES
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.gold);
slideTitle(s, "Outcome Measures in Pulmonary Rehabilitation");
const outcomes = [
{
domain: "Exercise Capacity",
icon: "🏃",
color: C.teal,
tools: [
["6MWT", "6-Minute Walk Test", "MCID = 25–33 m"],
["ISWT", "Incremental Shuttle Walk Test", "Standardised protocol"],
["ESWT", "Endurance Shuttle Walk Test", "Responsive to PR"],
["CPET", "Cardiopulmonary Exercise Test", "VO₂max, VT, WR"],
]
},
{
domain: "Dyspnoea",
icon: "💨",
color: C.coral,
tools: [
["Borg", "Modified Borg Scale (0–10)", "Target: 4–6 during exercise"],
["MRC", "MRC Dyspnoea Scale (1–5)", "Grading functional limitation"],
["BDI/TDI", "Baseline/Transitional Dyspnoea Index", "Pre/post PR change"],
["USDQ", "Univ. San Diego Shortness of Breath", "ADL-based dyspnoea"],
]
},
{
domain: "Quality of Life",
icon: "⭐",
color: C.sky,
tools: [
["CAT", "COPD Assessment Test", "MCID = 2 points"],
["SGRQ", "St. George Respiratory Q.", "MCID = 4 points"],
["CRQ", "Chronic Respiratory Questionnaire", "4 domains"],
["HADS", "Hospital Anxiety & Depression Scale", "Psych screening"],
]
},
];
outcomes.forEach(({ domain, icon, color, tools }, i) => {
const x = 0.2 + i * 3.3;
s.addShape(pres.shapes.RECTANGLE, { x, y: 0.75, w: 3.1, h: 0.5, fill: { color }, line: { type: "none" } });
s.addText(icon + " " + domain, { x, y: 0.75, w: 3.1, h: 0.5, fontSize: 11, bold: true, color: C.navyDark, align: "center", valign: "middle", margin: 0 });
tools.forEach(([code, name, note], j) => {
card(s, x, 1.38 + j * 0.97, 3.1, 0.85, "122638", color);
s.addText(code, { x: x + 0.1, y: 1.42 + j * 0.97, w: 0.8, h: 0.33, fontSize: 13, bold: true, color, valign: "middle", margin: 0 });
s.addText(name, { x: x + 0.95, y: 1.42 + j * 0.97, w: 2.0, h: 0.33, fontSize: 8, bold: true, color: C.white, valign: "middle", margin: 0 });
s.addText(note, { x: x + 0.95, y: 1.78 + j * 0.97, w: 2.0, h: 0.28, fontSize: 7.5, color: C.textLight, valign: "middle", margin: 0 });
});
});
s.addText("⭐ 6MWT MCID = 25–33 m | CAT MCID = 2 pts | SGRQ MCID = 4 pts — KNOW THESE FOR VIVA", {
x: 0.2, y: 5.22, w: 9.6, h: 0.28,
fontSize: 8.5, color: C.gold, bold: true, align: "center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 9 – KEY EVIDENCE + EXAM POINTS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.coral);
slideTitle(s, "Key Evidence & High-Yield Exam Points");
// Evidence column
card(s, 0.2, 0.78, 4.5, 4.55, "0D2137", C.sky);
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y: 0.78, w: 4.5, h: 0.42, fill: { color: C.sky }, line: { type: "none" } });
s.addText("📚 CURRENT EVIDENCE (2022–2024)", { x: 0.3, y: 0.78, w: 4.2, h: 0.42, fontSize: 10, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
const evidence = [
["Home PR", "Non-inferior to centre-based PR for selected patients\n(Uzzaman et al. 2022 — Eur Respir Rev, Systematic Review)"],
["IMT", "IMT + PR provides additional benefit in patients with\nmuscle weakness (Ammous et al. 2023 — Cochrane Review)"],
["Severe COPD", "Exercise-based PR improves exercise capacity & QoL\nin GOLD III–IV (He et al. 2023 — Meta-Analysis)"],
["Post-Exacerbation", "PR post-discharge reduces re-admissions by ~40%\n(Jenkins et al. 2024 — Thorax, Meta-Analysis)"],
];
evidence.forEach(([title, text], i) => {
card(s, 0.3, 1.3 + i * 0.97, 4.2, 0.85, "122638", C.sky);
s.addText("▶ " + title, { x: 0.4, y: 1.35 + i * 0.97, w: 3.9, h: 0.28, fontSize: 9, bold: true, color: C.sky, valign: "middle", margin: 0 });
s.addText(text, { x: 0.4, y: 1.65 + i * 0.97, w: 3.9, h: 0.44, fontSize: 7.8, color: C.textLight });
});
// Exam points column
card(s, 5.1, 0.78, 4.65, 4.55, "0D2137", C.gold);
s.addShape(pres.shapes.RECTANGLE, { x: 5.1, y: 0.78, w: 4.65, h: 0.42, fill: { color: C.gold }, line: { type: "none" } });
s.addText("⭐ HIGH-YIELD VIVA POINTS", { x: 5.2, y: 0.78, w: 4.4, h: 0.42, fontSize: 10, bold: true, color: C.navyDark, valign: "middle", margin: 0 });
const vivaPoints = [
["❌", "PR does NOT improve FEV₁", "Exercise capacity & QoL are primary targets"],
["✅", "Borg 4–6 = Target during exercise", "Moderate to somewhat severe dyspnoea"],
["✅", "6MWT MCID = 25–33 metres", "Minimum meaningful change after PR"],
["❌", "NO traction in Type IIa", "(Cervical — different topic but common mix-up)"],
["✅", "NMES valid for GOLD III–IV", "For those unable to perform conventional exercise"],
["✅", "Post-exac PR within 4 wks", "Reduces re-admissions; NOT mortality"],
["✅", "ATS/ERS 2013 definition", "Know verbatim for theory exam full marks"],
["✅", "Peripheral muscle re-conditioning", "PRIMARY mechanism of PR benefit"],
];
vivaPoints.forEach(([icon, point, note], i) => {
s.addText(icon + " " + point, { x: 5.2, y: 1.3 + i * 0.48, w: 4.3, h: 0.26, fontSize: 8.5, bold: true, color: icon === "❌" ? C.coral : C.gold, valign: "middle", margin: 0 });
s.addText(" → " + note, { x: 5.2, y: 1.56 + i * 0.48, w: 4.3, h: 0.2, fontSize: 7.5, color: C.textLight, valign: "middle", margin: 0 });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 10 – SUMMARY QUICK REFERENCE
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
accentBar(s, C.teal);
// Title bar
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0.08, w: 10, h: 0.6, fill: { color: C.teal }, line: { type: "none" } });
s.addText("QUICK REVISION SUMMARY — PULMONARY REHABILITATION", {
x: 0.3, y: 0.08, w: 9.4, h: 0.6,
fontSize: 14, bold: true, color: C.navyDark,
valign: "middle", charSpacing: 1, margin: 0
});
const rows = [
["Definition", "ATS/ERS 2013: Comprehensive intervention — exercise, education, behaviour change"],
["Primary indication", "COPD (MRC Grade ≥ 2)"],
["Most important component", "Exercise Training (aerobic + resistance + IMT)"],
["Aerobic intensity", "Borg 4–6/10 or 60–80% peak HR; 3–5 × /week; 20–45 min"],
["Resistance training", "60–70% 1-RM; 3 × 8–12 reps; 2–3 × /week; Quadriceps = primary"],
["IMT", "Threshold device; Start 30% MIP → 60% MIP; 3 × 30 breaths/day"],
["Key breathing technique", "PLB = intrinsic PEEP → ↓ air trapping; Diaphragmatic breathing"],
["Airway clearance", "ACBT = Breathing Control → TEE → Huff (× 2–4 cycles)"],
["Phases", "Phase I: Inpatient | Phase II: 6–12 wk supervised | Phase III: Maintenance"],
["Outcome: Exercise", "6MWT (MCID 25–33 m); ISWT; CPET"],
["Outcome: Dyspnoea", "Modified Borg; MRC (1–5); BDI"],
["Outcome: QoL", "CAT (MCID 2); SGRQ (MCID 4); CRQ"],
["FEV₁ after PR?", "Does NOT improve — mechanism is peripheral muscle efficiency"],
["Post-exac PR", "Start within 4 weeks; reduces re-admissions by ~40%"],
["NMES", "Valid for GOLD III–IV unable to exercise; 35–50 Hz, 30–60 min, 6–8 weeks"],
];
rows.forEach(([label, value], i) => {
const y = 0.78 + i * 0.315;
const bgColor = i % 2 === 0 ? "0D2137" : "112030";
s.addShape(pres.shapes.RECTANGLE, { x: 0.2, y, w: 9.6, h: 0.31, fill: { color: bgColor }, line: { type: "none" } });
s.addText(label, { x: 0.25, y, w: 2.6, h: 0.31, fontSize: 8, bold: true, color: C.mint, valign: "middle", margin: 0 });
s.addText(value, { x: 2.9, y, w: 6.8, h: 0.31, fontSize: 8, color: C.white, valign: "middle", margin: 0 });
});
s.addText("BPT / MPT Final Year Revision • Physiotherapy • Pulmonary Rehabilitation • ATS/ERS Guidelines", {
x: 0.2, y: 5.32, w: 9.6, h: 0.22,
fontSize: 7, color: C.textLight, align: "center"
});
}
// ─── WRITE FILE ───────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/pulmonary-rehab-ppt/Pulmonary_Rehabilitation_PR.pptx" })
.then(() => console.log("✅ PPTX created successfully!"))
.catch(e => console.error("❌ Error:", e));
cd /home/daytona/workspace/pulmonary-rehab-ppt && node create_pr_ppt.js
pres.shapes.ELLIPSE — need to check available shapes:node -e "const p = require('pptxgenjs'); const pres = new p(); console.log(Object.keys(pres.shapes).filter(k => k.includes('ELLIPSE') || k.includes('RECT') || k.includes('OVAL')).join('\n'));"
OVAL not ELLIPSE. Let me fix all occurrences:sed -i 's/pres\.shapes\.ELLIPSE/pres.shapes.OVAL/g' /home/daytona/workspace/pulmonary-rehab-ppt/create_pr_ppt.js && echo "Fixed" && grep -c "OVAL" /home/daytona/workspace/pulmonary-rehab-ppt/create_pr_ppt.js
python3 -c " content = open('/home/daytona/workspace/pulmonary-rehab-ppt/create_pr_ppt.js').read() content = content.replace('pres.shapes.ELLIPSE', 'pres.shapes.OVAL') open('/home/daytona/workspace/pulmonary-rehab-ppt/create_pr_ppt.js', 'w').write(content) print('Done, OVAL count:', content.count('pres.shapes.OVAL')) "
cd /home/daytona/workspace/pulmonary-rehab-ppt && node create_pr_ppt.js
ls -lh /home/daytona/workspace/pulmonary-rehab-ppt/Pulmonary_Rehabilitation_PR.pptx
Pulmonary Rehabilitation PR
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide with lung icon |
| 2 | ATS/ERS Definition + Indications (8 conditions with cards) |
| 3 | Vicious Cycle of Deconditioning diagram (6-step loop) |
| 4 | Components of PR (6-component wheel layout) |
| 5 | Phase I / II / III — side-by-side comparison with bullet points |
| 6 | Exercise Prescription — Aerobic, Resistance, IMT, Stop Criteria |
| 7 | Breathing Techniques — PLB, Diaphragmatic breathing, ACBT (3 phases) |
| 8 | Outcome Measures — 6MWT, Borg, CAT, SGRQ with MCID values |
| 9 | Current Evidence (2022–2024 studies) + High-Yield Viva Points |
| 10 | Quick Revision Summary table (15 key facts) |
Cystic fibrosis
"cystic fibrosis" physiotherapy airway clearance exercise

| Class | Defect | Example Mutation | Effect |
|---|---|---|---|
| I | No protein synthesised (null allele) | Premature stop codon | No CFTR protein |
| II | Protein misfolding; blocked maturation | F508del (most common ~70%) | Protein degraded before reaching membrane |
| III | Normal delivery to membrane but defective gating | Gly551Asp | Channel cannot open/close |
| IV | Defective chloride conduction | Arg117His | Channel open but reduced conductance |
| V | Reduced CFTR mRNA production | Splice mutations | Reduced protein quantity |
| VI | Unstable protein at cell surface | Gln1412Stop | Protein rapidly degraded |
| Type | Description |
|---|---|
| Classic CF | Two severe mutations; pancreatic insufficiency + pulmonary disease |
| Non-classic / Atypical CF | One severe + one mild mutation; later onset; milder phenotype |
| CFTR-Related Disorder (CFTR-RD) | CBAVD (congenital bilateral absence of vas deferens), pancreatitis, bronchiectasis without classic CF |
| Organ | Normal CFTR Function | CF Consequence |
|---|---|---|
| Lung | Maintain airway surface liquid (ASL) for mucociliary clearance | Dehydrated mucus → thick secretions → infection → bronchiectasis |
| Pancreas | Bicarbonate secretion; enzyme secretion | Blocked ducts → pancreatic insufficiency → malabsorption |
| Sweat glands | Reabsorb NaCl in duct | Cannot reabsorb Cl⁻ → elevated sweat NaCl |
| Liver | Bile flow in biliary ducts | Inspissated bile → biliary cirrhosis |
| Intestine | Chloride/fluid secretion | Meconium ileus; DIOS |
| Vas deferens | Patency | CBAVD → male infertility (98% of males) |
CFTR gene mutation
↓
Defective/absent CFTR protein at apical epithelial membrane
↓
Failure of Cl⁻ secretion + ↑ Na⁺ absorption (ENaC overactive)
↓
Depletion of Airway Surface Liquid (ASL) — airway dehydration
↓
Thick, viscous mucus layer — mucociliary clearance impaired
↓
Mucus plugging → airway obstruction
↓
Bacterial colonisation: S. aureus (early) → Pseudomonas aeruginosa (chronic)
↓
Neutrophilic inflammation → proteases (elastase, DNase) → tissue damage
↓
Bronchiectasis → respiratory failure → death
| Muscle | Assessment | Finding |
|---|---|---|
| Diaphragm | Diaphragmatic excursion; sniff nasal pressure; ultrasound | Flattened in hyperinflation; reduced excursion |
| Accessory muscles (SCM, Scalenes) | Inspection | Prominent use in acute exacerbations |
| Inspiratory muscles | MIP (Maximum Inspiratory Pressure) | Reduced in advanced CF |
| Expiratory muscles | MEP (Maximum Expiratory Pressure) | Reduced in advanced CF; important for cough force |
| Muscle Group | Tool | Finding |
|---|---|---|
| Quadriceps | Hand-held dynamometry; 5-rep STS; 1-RM | Weakness (peripheral muscle wasting) |
| Shoulder girdle / UL | Grip strength (dynamometer) | Reduced in malnourished patients |
| Core / Trunk | Functional assessment | Weak (nutritional depletion + deconditioning) |
| Test | Expected Finding in CF |
|---|---|
| FEV₁ | Reduced (obstructive pattern) |
| FVC | Reduced (mixed pattern in late disease) |
| FEV₁/FVC | Reduced (< 70%) - obstructive |
| TLC | Increased (hyperinflation) |
| RV | Markedly increased (air trapping) |
| RV/TLC ratio | Increased |
| DLCO | Reduced (advanced disease) |
| SpO₂ | Reduced (resting + exertional) |
| Domain | Tool |
|---|---|
| Exercise capacity | 6MWT; Cycle ergometry; CPET (VO₂peak) |
| Lung function | FEV₁ % predicted (primary outcome in CF); FVC; RV; DLCO |
| Dyspnoea | Modified Borg Scale; MRC Dyspnoea Scale |
| QoL | CFQ-R (CF Questionnaire - Revised) - CF-specific validated tool |
| Sputum clearance | Sputum weight / volume; radioaerosol clearance |
| Nutritional status | BMI; z-score (children); FFMI |
| Radiological | CXR Brasfield score; CT Bhalla score |
| Condition | Distinguishing Feature |
|---|---|
| Asthma | Reversible obstruction; no clubbing; no chronic infection; normal sweat chloride |
| Primary Ciliary Dyskinesia (PCD) | Immotile cilia; situs inversus (Kartagener's syndrome); sweat chloride normal; ciliary biopsy diagnostic |
| Immunodeficiency (CVID, IgA deficiency) | No sweat chloride elevation; immunoglobulin levels low; no CFTR mutation |
| Non-CF Bronchiectasis | No CFTR mutation; normal sweat chloride; various other causes (post-infective, PCD) |
| Shwachman-Diamond Syndrome | Pancreatic insufficiency + bone marrow failure + skeletal dysplasia; no CFTR mutation |
| Chronic bronchitis (COPD) | Adult onset; smoking history; no meconium ileus/clubbing early; no sweat chloride elevation |
| Allergic Bronchopulmonary Aspergillosis (ABPA) | Can coexist with CF; elevated IgE, positive Aspergillus precipitins; central bronchiectasis |
| Investigation | Purpose / Finding |
|---|---|
| Sweat Chloride Test (Gold Standard) | Normal < 40 mmol/L; Borderline 40-59 mmol/L; CF diagnostic ≥ 60 mmol/L |
| Newborn Screening (IRT test) | Immunoreactive trypsinogen - elevated; confirms need for sweat test |
| CFTR Genotyping | Identifies specific mutations; determines eligibility for CFTR modulator therapy |
| Nasal Potential Difference (NPD) | Measures CFTR-dependent electrolyte transport; used when sweat test borderline |
| Chest X-Ray (CXR) | Hyperinflation; peribronchial thickening; bronchiectasis; consolidation; atelectasis |
| HRCT Chest | Bronchiectasis (tram-track, ring shadows, signet-ring sign); mucus plugging; ground-glass opacities |
| Spirometry (PFTs) | Obstructive pattern; FEV₁ % predicted is PRIMARY prognostic marker |
| Sputum Culture & Sensitivity | Identify pathogens; guide antibiotic therapy |
| Bronchoalveolar Lavage (BAL) | When bronchoscopy performed |
| Abdominal Ultrasound | Liver fibrosis, portal hypertension, biliary disease |
| Faecal elastase | Pancreatic exocrine function (< 200 µg/g = pancreatic insufficiency) |
| HbA1c + Oral Glucose Tolerance Test | Screen for CFRD annually from age 10 |
| DEXA Scan | Bone mineral density (osteoporosis screening) |
| SpO₂ monitoring | Resting, exertional, nocturnal desaturation |
| Phase | Technique | Purpose |
|---|---|---|
| Breathing Control (BC) | Relaxed tidal breathing × 3-5 breaths | Rest; prevent bronchospasm |
| Thoracic Expansion Exercises (TEE) | 3-5 deep slow breaths + 3-sec inspiratory hold | Collateral ventilation; mobilise secretions |
| Forced Expiration Technique (FET/Huff) | Medium or low volume huff (open glottis, NO glottis closure) | Move secretions centrally |
| Cough | When secretions reach central airways | Expectorate secretions |
Evidence: Cochrane Review (Wilson et al. 2023, PMID 36727723) - ACBT is effective for airway clearance; evidence comparable to other ACTs. No single technique proven superior.
| Phase | Lung Volume | Technique | Secretion Location |
|---|---|---|---|
| Unsticking | Low lung volume (ERV) | Slow tidal breathing at low volumes × 4-8 breaths + suppressed cough | Peripheral airways |
| Collecting | Mid lung volume (TV) | Slow tidal breathing at mid volumes | Intermediate airways |
| Evacuating | High lung volume (IRV) | Slow breathing at high volumes → huff/cough to expectorate | Central airways |
Evidence: Cochrane Review (Burnham et al. 2021, PMID 34910295) - AD is as effective as other ACTs; preferred by patients who are independent and mobile.
| Parameter | Detail |
|---|---|
| Starting Position | Sitting, leaning slightly forward on table |
| Technique | Breathe in (slightly larger than tidal volume) → breathe out through PEP mask/mouthpiece against resistance; creates 10-20 cmH₂O back pressure → holds peripheral airways open → mobilises secretions; follow with 2-3 huffs |
| PEP setting | I:E ratio 1:3; resistance selected to achieve 10-20 cmH₂O during expiration |
| Sets/Reps | 15 breaths per cycle × 3-4 cycles; each cycle followed by 2-3 huffs |
| Frequency | Twice daily (stable); 3-4 times/day (exacerbation) |
| Precautions | Untreated pneumothorax; haemoptysis; sinusitis (avoid if acute) |
| Device | Mechanism |
|---|---|
| Flutter | Ball-bearing creates oscillating PEP (15-25 Hz); handheld; gravity-dependent |
| Acapella | Spring-valve creates oscillating PEP (> 15 Hz); position-independent |
| Aerobika | Intermittent positive pressure with oscillation; can be used with nebuliser simultaneously |
| RC-Cornet | Curved tube creates oscillating PEP |
| Parameter | Detail |
|---|---|
| Mechanism | Inflatable vest vibrates chest wall at 5-25 Hz → generates mini-cough forces → loosens and mobilises secretions |
| Duration | 20-30 minutes per session |
| Frequency | Twice daily |
| Advantage | Independent use; suitable for patients with poor manual dexterity; useful in teenagers for adherence |
| Contraindications | Unstable spine, recent thoracic surgery, active haemoptysis |
| Component | Technique |
|---|---|
| Postural Drainage | 12 positions (one for each lung segment); gravity-assisted drainage; 10-15 min per position |
| Percussion | Rhythmic clapping over affected lobe (cupped hand) during postural drainage; 1-2 Hz |
| Vibration | Fine oscillation applied during expiration |
Evidence: Cochrane Review (Main & Rand 2023, PMID 37144842) - Conventional CPT is effective but not superior to self-administered ACTs; self-administered techniques preferred for long-term adherence and independence.
Evidence: Cochrane Review (Warnock & Gates 2023, PMID 37042825) - ACTs vs. no ACTs: ACTs improve sputum expectoration and some short-term lung function indices.
| Parameter | Detail |
|---|---|
| Starting Position | Seated on cycle ergometer / standing for walking |
| Technique | Steady-state cycling or walking at target intensity; use PLB during exercise |
| Intensity | Borg 4-6/10 OR 60-80% peak VO₂; or 70-85% peak HR |
| Duration | Start 15-20 min → build to 30-45 min |
| Frequency | 3-5 days/week |
| Progression | Increase duration first → then increase intensity → add interval training |
| Precautions | Monitor SpO₂; add supplemental O₂ if SpO₂ < 88%; avoid after large haemoptysis; post-ACT timing preferred |
| Parameter | Detail |
|---|---|
| Muscles targeted | Quadriceps, hamstrings, hip extensors, biceps, shoulder press, lat pulldown |
| Intensity | 60-80% 1-RM |
| Sets/Reps | 3 sets × 8-12 reps |
| Frequency | 2-3 days/week |
| Progression | Increase load by 5-10% when 3×12 achieved comfortably |
| Precautions | Avoid Valsalva; monitor SpO₂; coordinate with feeding and ACT schedule; avoid if spontaneous pneumothorax risk is high |
| Parameter | Detail |
|---|---|
| Indication | When MIP is reduced (advanced CF); to improve cough force; post-transplantation |
| Device | Threshold IMT device |
| Intensity | 30-50% MIP |
| Protocol | 3 sets × 30 breaths/day |
| Frequency | Daily |
| Progression | Increase by 5% MIP every 2-4 weeks |
| Precautions | Reassess MIP every 4 weeks; avoid if recent pneumothorax |
| Parameter | Detail |
|---|---|
| Indication | Musculoskeletal chest pain from coughing; pleuritic pain; rib fractures (rare with osteoporosis) |
| Placement | Paravertebral / over affected area; NEVER anteriorly over chest |
| Frequency | 80-150 Hz (Conventional TENS) |
| Pulse width | 50-80 µs |
| Duration | 20-30 minutes |
| Contraindications | Cardiac pacemaker; over anterior chest/carotid sinus |
| Indication | Advanced CF with severe peripheral muscle weakness unable to exercise |
|---|---|
| Target | Quadriceps primarily |
| Parameters | 35-50 Hz; 200-400 µs; 30-60 min/session; 6-8 weeks |
| Evidence | Emerging evidence in severe CF and post-transplant muscle rehabilitation |
| Criteria | Target |
|---|---|
| Resolution of exacerbation | Afebrile; sputum volume and purulence returned to baseline |
| SpO₂ | ≥ 88% on room air during activity |
| FEV₁ | Returned to within 10% of personal best |
| Dyspnoea | Borg ≤ 4 during moderate activity |
| Medical clearance | Physician review; rule out pneumothorax; no active haemoptysis |
| Exercise test | 6MWT or exercise test showing safe tolerance |
| ACT adherence | Patient back on twice-daily ACT routine |
| Complication | Physiotherapy Relevance |
|---|---|
| Pneumothorax | Modify/stop ACT; avoid vigorous exercise; refer urgently; restart ACT after treatment |
| Haemoptysis (minor: <250 mL) | Continue ACT with modification (avoid head-down positions, percussion over bleeding site) |
| Haemoptysis (massive: >250 mL) | STOP ACT; urgent medical management; embolisation |
| Respiratory failure | NIV support; adjust ACT; oxygen therapy |
| Cor pulmonale | Graded exercise; oxygen; restrict exercise in severe cases |
| Pneumonia / severe exacerbation | Intensive inpatient physiotherapy (3-4× daily ACT) |
| Rib fractures | Osteoporosis-related; modify ACT (avoid percussion); TENS for pain |
| Pneumothorax post-exercise | Occurs in advanced disease; monitor during exercise |
| CFRD | Coordinate ACT and exercise around insulin timing and meals |
💡 Exam Tip: For theory - write the CFTR mutation class table with examples (examiners love this). For viva - know the sweat chloride diagnostic values cold (< 40 = normal; 40-59 = borderline; ≥ 60 = CF), and be able to demonstrate/describe ACBT phases in sequence. For practicals - demonstrate correct PEP device technique and the inhalation therapy sequence. The single most commonly asked viva question: "Can exercise replace ACT in CF?" - answer is No, with the Cochrane evidence to back it.
Make me a ppt of what will I write in exame as a final year bpt student not just a 10 - 15 marks ans
Which topic should the exam-answer PPT cover? · What type of exam question format should I focus on?
mkdir -p /home/daytona/workspace/cf-exam-ppt && ls /home/daytona/workspace/cf-exam-ppt
~/cf-exam-ppt/cf_exam_answers.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Cystic Fibrosis - Exam Answer Templates BPT Final Year";
// ─── COLOUR PALETTE ───────────────────────────────────────────────
const C = {
bg: "0C1A2E", // main dark bg
bgLight: "112240", // card bg
bgMid: "0F1E35", // alternate row
teal: "00BFA6", // primary accent
sky: "4FC3F7", // secondary accent
gold: "FFD166", // highlights / headings
coral: "EF5350", // warnings / marks box
green: "66BB6A", // positive points
white: "FFFFFF",
light: "B0BEC5", // body text
navy: "1A2E4A", // darker card
purple: "9C6FDE", // case study accent
orange: "FF9800", // short note accent
};
function bg(s) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.bg}, line:{type:"none"} });
}
function topBar(s, color=C.teal) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.07, fill:{color}, line:{type:"none"} });
}
function sectionHeader(s, title, color=C.teal) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0.07, w:10, h:0.58, fill:{color:C.bgLight}, line:{type:"none"} });
s.addText(title, { x:0.35, y:0.07, w:9.3, h:0.58, fontSize:17, bold:true, color, valign:"middle", charSpacing:0.8, margin:0 });
}
function card(s, x, y, w, h, fill=C.bgLight, border=C.teal) {
s.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:fill}, line:{color:border, width:1},
shadow:{type:"outer", color:"000000", blur:6, offset:2, angle:135, opacity:0.2} });
}
function marksTag(s, text, x, y, color=C.coral) {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w:1.5, h:0.3, rectRadius:0.12, fill:{color}, line:{type:"none"} });
s.addText(text, { x, y, w:1.5, h:0.3, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
}
function stepNum(s, n, x, y, color=C.teal) {
s.addShape(pres.shapes.OVAL, { x:x-0.18, y:y-0.04, w:0.34, h:0.34, fill:{color}, line:{type:"none"} });
s.addText(String(n), { x:x-0.18, y:y-0.04, w:0.34, h:0.34, fontSize:9, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
}
function pill(s, text, x, y, w=1.8, color=C.teal) {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w, h:0.28, rectRadius:0.12, fill:{color}, line:{type:"none"} });
s.addText(text, { x, y, w, h:0.28, fontSize:8, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 1 – COVER
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.15, h:5.625, fill:{color:C.teal}, line:{type:"none"} });
s.addShape(pres.shapes.RECTANGLE, { x:0.15, y:3.8, w:9.85, h:1.825, fill:{color:C.bgLight}, line:{type:"none"} });
s.addText("🫁", { x:0.5, y:0.55, w:1.5, h:1.5, fontSize:60, align:"center" });
s.addText("CYSTIC FIBROSIS", { x:2.0, y:0.55, w:7.5, h:0.8, fontSize:40, bold:true, color:C.white, charSpacing:3 });
s.addText("EXAM ANSWER TEMPLATES", { x:2.0, y:1.38, w:7.5, h:0.65, fontSize:28, bold:true, color:C.teal, charSpacing:2 });
s.addShape(pres.shapes.RECTANGLE, { x:2.0, y:2.1, w:6, h:0.05, fill:{color:C.gold}, line:{type:"none"} });
s.addText("BPT Final Year • How to Write the Perfect Exam Answer", {
x:2.0, y:2.2, w:7.5, h:0.38, fontSize:13, color:C.light, italic:true
});
pill(s, "10–15 Marks Answer", 2.0, 2.72, 2.3, C.coral);
pill(s, "Case-Based Answer", 4.4, 2.72, 2.1, C.purple);
pill(s, "Short Notes (5 marks)", 6.6, 2.72, 2.2, C.orange);
s.addText("What to write • How much to write • What examiners look for", {
x:0.25, y:4.0, w:9.5, h:0.35, fontSize:11, color:C.gold, bold:true, align:"center"
});
s.addText("Final Year BPT | Cardiopulmonary Physiotherapy | Examination Preparation Guide", {
x:0.25, y:5.2, w:9.5, h:0.28, fontSize:8, color:C.light, align:"center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 2 – HOW TO STRUCTURE ANY CF ANSWER
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.gold);
sectionHeader(s, "HOW TO STRUCTURE YOUR CF ANSWER — The Examiner's Checklist", C.gold);
// Left: Marks breakdown
card(s, 0.2, 0.78, 4.4, 4.56, C.bgLight, C.gold);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:4.4, h:0.4, fill:{color:C.gold}, line:{type:"none"} });
s.addText("MARKS ALLOCATION (15-mark answer)", { x:0.3, y:0.78, w:4.2, h:0.4, fontSize:10, bold:true, color:C.bg, valign:"middle", margin:0 });
const marks = [
["Definition + Genetics + Classification", "2 marks"],
["Pathophysiology (CFTR mechanism)", "2 marks"],
["Clinical Features (systemic)", "2 marks"],
["Diagnosis (Sweat Chloride + PFTs)", "1 mark"],
["Physiotherapy Assessment", "2 marks"],
["Airway Clearance Techniques (ACT)", "3 marks"],
["Exercise Training", "1 mark"],
["Complications + Prognosis", "1 mark"],
["Diagram / Table (bonus)", "+1 mark"],
];
marks.forEach(([topic, mark], i) => {
const y = 1.28 + i * 0.43;
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y, w:4.1, h:0.38, fill:{color: i%2===0 ? C.bgMid : C.bgLight}, line:{type:"none"} });
s.addText(topic, { x:0.4, y, w:2.9, h:0.38, fontSize:8.5, color:C.white, valign:"middle", margin:0 });
s.addText(mark, { x:3.5, y, w:0.85, h:0.38, fontSize:8.5, bold:true, color:C.gold, align:"right", valign:"middle", margin:0 });
});
// Right: Sequence to follow
card(s, 4.8, 0.78, 5.0, 4.56, C.bgLight, C.teal);
s.addShape(pres.shapes.RECTANGLE, { x:4.8, y:0.78, w:5.0, h:0.4, fill:{color:C.teal}, line:{type:"none"} });
s.addText("SEQUENCE TO WRITE IN EXAM", { x:4.9, y:0.78, w:4.8, h:0.4, fontSize:10, bold:true, color:C.bg, valign:"middle", margin:0 });
const seq = [
["STEP 1", "Definition (1–2 sentences max)", C.teal],
["STEP 2", "Inheritance + Gene + Most common mutation (F508del)", C.sky],
["STEP 3", "Pathophysiology: CFTR → mucus → infection diagram", C.gold],
["STEP 4", "Multi-system clinical features (lung + pancreas + liver + reproductive)", C.teal],
["STEP 5", "Diagnosis: Sweat chloride ≥60 + Spirometry + CFTR genotyping", C.sky],
["STEP 6", "Physiotherapy Assessment (inspection, palpation, auscultation, 6MWT)", C.green],
["STEP 7", "ACT techniques in DETAIL (ACBT phases, PEP, AD)", C.gold],
["STEP 8", "Exercise prescription + Inhalation therapy sequence", C.teal],
["STEP 9", "Complications (pneumothorax, haemoptysis) + modifications", C.coral],
];
seq.forEach(([step, text, color], i) => {
stepNum(s, i+1, 5.08, 1.38 + i * 0.43, color);
s.addText(text, { x:5.2, y:1.24 + i * 0.43, w:4.4, h:0.38, fontSize:8.5, color:C.white, valign:"middle", margin:0 });
});
s.addText("⭐ TIP: Always write a short intro paragraph, then use HEADINGS + SUB-HEADINGS for each section. Examiners scan for keywords.", {
x:0.2, y:5.28, w:9.6, h:0.24, fontSize:7.5, color:C.gold, bold:true, align:"center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 3 – MODEL 15-MARK ANSWER: PART 1 (Definition → Pathophysiology)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.coral);
sectionHeader(s, "MODEL ANSWER: 15-Mark Question — Part 1 of 3", C.coral);
marksTag(s, "Q: Write on CF", 8.3, 0.15);
// --- Definition box ---
card(s, 0.2, 0.78, 9.6, 0.88, C.navy, C.gold);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:1.8, h:0.88, fill:{color:C.gold}, line:{type:"none"} });
s.addText("DEFINITION\n(2 marks)", { x:0.2, y:0.78, w:1.8, h:0.88, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText(
"Cystic fibrosis (CF) is the most common lethal autosomal recessive genetic disorder in people of European descent, caused by mutations in the CFTR gene (chromosome 7q31), leading to defective chloride ion transport across epithelial membranes, resulting in thick viscous secretions affecting the lungs, pancreas, liver, intestines, and reproductive tract.",
{ x:2.1, y:0.82, w:7.5, h:0.8, fontSize:9, color:C.white, italic:true }
);
// --- Genetics box ---
card(s, 0.2, 1.78, 9.6, 0.98, C.navy, C.sky);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:1.78, w:1.8, h:0.98, fill:{color:C.sky}, line:{type:"none"} });
s.addText("GENETICS\n(1 mark)", { x:0.2, y:1.78, w:1.8, h:0.98, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText([
{ text: "Gene: ", options:{bold:true, color:C.sky} }, { text:"CFTR (chromosome 7q31), 27 exons, 190 kb | ", options:{color:C.white} },
{ text:"Inheritance: ", options:{bold:true, color:C.sky} }, { text:"Autosomal Recessive | ", options:{color:C.white} },
{ text:"Most common mutation: ", options:{bold:true, color:C.gold} }, { text:"F508del (Phe508del) — ~70% of all CF alleles in European populations\n", options:{color:C.gold} },
{ text:"Incidence: ", options:{bold:true, color:C.sky} }, { text:"1 in 2500 (European) | Carrier frequency: 1 in 25 | 6 classes of CFTR mutations", options:{color:C.white} },
], { x:2.1, y:1.82, w:7.5, h:0.9, fontSize:9 });
// --- Pathophysiology box ---
card(s, 0.2, 2.88, 9.6, 2.5, C.navy, C.teal);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:2.88, w:1.8, h:2.5, fill:{color:C.teal}, line:{type:"none"} });
s.addText("PATHO-\nPHYSIO-\nLOGY\n(2 marks)", { x:0.2, y:2.88, w:1.8, h:2.5, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
// Flow diagram in text form
const flow = [
"CFTR gene mutation (F508del most common)",
"Defective / absent CFTR Cl⁻ channel at apical epithelial membrane",
"↓ Cl⁻ secretion + ↑ Na⁺ absorption (ENaC overactive) → Airway surface liquid (ASL) depleted",
"Thick, viscous mucus → Mucociliary clearance impaired → Mucus plugging",
"Bacterial colonisation: S. aureus (early) → Pseudomonas aeruginosa (chronic by age 18)",
"Neutrophilic inflammation → Protease release → Bronchiectasis → Respiratory failure",
];
flow.forEach((text, i) => {
const y = 3.0 + i * 0.37;
s.addShape(pres.shapes.OVAL, { x:2.05, y:y+0.04, w:0.26, h:0.26, fill:{color:C.teal}, line:{type:"none"} });
s.addText(String(i+1), { x:2.05, y:y+0.04, w:0.26, h:0.26, fontSize:8, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText(text, { x:2.4, y, w:7.1, h:0.34, fontSize:8.5, color: i===0||i===5 ? C.gold : C.white, valign:"middle", margin:0 });
if (i < 5) s.addText("▼", { x:2.12, y:y+0.28, w:0.18, h:0.14, fontSize:7, color:C.teal, align:"center" });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 4 – MODEL 15-MARK ANSWER: PART 2 (Clinical + Diagnosis)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.sky);
sectionHeader(s, "MODEL ANSWER: 15-Mark Question — Part 2 of 3", C.sky);
marksTag(s, "Q: Write on CF", 8.3, 0.15);
// Clinical features table
card(s, 0.2, 0.78, 9.6, 2.32, C.navy, C.sky);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:9.6, h:0.38, fill:{color:C.sky}, line:{type:"none"} });
s.addText("CLINICAL FEATURES — Write as a table for maximum marks (2 marks)", { x:0.35, y:0.78, w:9.2, h:0.38, fontSize:10.5, bold:true, color:C.bg, valign:"middle", margin:0 });
const systems = [
["System", "Clinical Feature", "Examiner Keyword"],
["Respiratory", "Chronic productive cough, Bronchiectasis, Digital clubbing, Hyperinflation, P. aeruginosa colonisation", "Barrel chest, Coarse crackles"],
["Pancreas", "Pancreatic insufficiency (85–90%), Steatorrhoea, CFRD (50% adults), Pancreatitis", "Fat-soluble vitamin deficiency"],
["GI / Intestine", "Meconium ileus (10–25% neonates), DIOS in adults (18%), Rectal prolapse", "Distal intestinal obstruction"],
["Liver", "Focal biliary cirrhosis, Portal hypertension (28% adults), Prolonged neonatal jaundice", "Multilobular cirrhosis"],
["Reproductive", "CBAVD → Azoospermia → Male infertility (98%), Reduced female fertility", "Congenital bilateral absence of vas deferens"],
["Sweat glands", "Salty sweat — DIAGNOSTIC FEATURE; parents kiss infant and notice salty taste", "Sweat Na⁺ + Cl⁻ elevated"],
];
systems.forEach(([sys, feat, key], i) => {
const y = 1.2 + i * 0.27;
const fill = i===0 ? "1A3A5A" : i%2===0 ? C.bgMid : C.bgLight;
s.addShape(pres.shapes.RECTANGLE, { x:0.25, y, w:9.5, h:0.26, fill:{color:fill}, line:{type:"none"} });
s.addText(sys, { x:0.35, y, w:1.4, h:0.26, fontSize: i===0?8:8, bold: i===0, color: i===0?C.gold:C.sky, valign:"middle", margin:0 });
s.addText(feat, { x:1.8, y, w:5.4, h:0.26, fontSize:7.8, color: i===0?C.white:C.white, valign:"middle", margin:0 });
s.addText(key, { x:7.3, y, w:2.3, h:0.26, fontSize:7.5, color: i===0?C.white:C.gold, italic: i!==0, valign:"middle", margin:0 });
});
// Diagnosis
card(s, 0.2, 3.25, 9.6, 2.1, C.navy, C.green);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:3.25, w:9.6, h:0.38, fill:{color:C.green}, line:{type:"none"} });
s.addText("DIAGNOSIS — (1 mark) — MUST Know These Values", { x:0.35, y:3.25, w:9.2, h:0.38, fontSize:10.5, bold:true, color:C.bg, valign:"middle", margin:0 });
const diag = [
{ test:"Sweat Chloride Test (GOLD STANDARD)", val:"< 40 = Normal | 40–59 = Borderline | ≥ 60 mmol/L = DIAGNOSTIC (two tests required)", color:C.gold },
{ test:"Newborn Screening (IRT test)", val:"Immunoreactive trypsinogen — elevated in CF; triggers sweat test confirmation", color:C.sky },
{ test:"CFTR Genotyping", val:"Identifies specific mutation class; required for CFTR modulator therapy eligibility", color:C.green },
{ test:"Spirometry (PFTs)", val:"FEV₁/FVC < 70% (obstructive) | ↑TLC and ↑RV (air trapping) | FEV₁% predicted = PRIMARY PROGNOSTIC MARKER", color:C.gold },
];
diag.forEach(({test, val, color}, i) => {
s.addText("■ " + test + ":", { x:0.35, y:3.72 + i*0.37, w:3.4, h:0.34, fontSize:8.5, bold:true, color, valign:"middle", margin:0 });
s.addText(val, { x:3.8, y:3.72 + i*0.37, w:5.8, h:0.34, fontSize:8, color:C.white, valign:"middle", margin:0 });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 5 – MODEL 15-MARK ANSWER: PART 3 (PT Assessment + ACT)
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.teal);
sectionHeader(s, "MODEL ANSWER: 15-Mark Question — Part 3 of 3", C.teal);
marksTag(s, "Q: Write on CF", 8.3, 0.15);
// Assessment
card(s, 0.2, 0.78, 4.5, 2.0, C.navy, C.sky);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:4.5, h:0.36, fill:{color:C.sky}, line:{type:"none"} });
s.addText("PHYSIOTHERAPY ASSESSMENT (2 marks)", { x:0.3, y:0.78, w:4.3, h:0.36, fontSize:9.5, bold:true, color:C.bg, valign:"middle", margin:0 });
const assess = [
["Inspection", "Barrel chest, Digital clubbing, Cyanosis, Accessory muscle use, Harrison's sulcus, Low BMI"],
["Palpation", "Reduced chest expansion (bilateral), Tactile fremitus changes"],
["Percussion", "Hyperresonance (emphysema); Dullness (consolidation/plugging)"],
["Auscultation", "Coarse crackles (secretions), Wheeze, Reduced air entry"],
["Sputum", "Volume, colour (yellow-green=infected), consistency, organisms"],
];
assess.forEach(([head, body], i) => {
s.addText(head + ":", { x:0.35, y:1.22 + i*0.3, w:1.1, h:0.26, fontSize:8.5, bold:true, color:C.sky, valign:"middle", margin:0 });
s.addText(body, { x:1.5, y:1.22 + i*0.3, w:2.95, h:0.26, fontSize:8, color:C.white, valign:"middle", margin:0 });
});
// Outcome measures
card(s, 4.85, 0.78, 4.95, 2.0, C.navy, C.green);
s.addShape(pres.shapes.RECTANGLE, { x:4.85, y:0.78, w:4.95, h:0.36, fill:{color:C.green}, line:{type:"none"} });
s.addText("OUTCOME MEASURES", { x:4.95, y:0.78, w:4.7, h:0.36, fontSize:9.5, bold:true, color:C.bg, valign:"middle", margin:0 });
const om = [
["Lung function", "FEV₁% predicted (PRIMARY PROGNOSTIC MARKER)"],
["Exercise capacity", "6MWT; Cycle ergometry; VO₂peak"],
["QoL", "CFQ-R (CF Questionnaire – Revised) — CF-specific"],
["Dyspnoea", "Modified Borg (0–10); MRC Dyspnoea Scale"],
["Nutritional", "BMI, z-score (children), FFMI"],
];
om.forEach(([k, v], i) => {
s.addText(k + ":", { x:5.0, y:1.22 + i*0.3, w:1.4, h:0.26, fontSize:8.5, bold:true, color:C.green, valign:"middle", margin:0 });
s.addText(v, { x:6.45, y:1.22 + i*0.3, w:3.1, h:0.26, fontSize:8, color:C.white, valign:"middle", margin:0 });
});
// ACT Section — the BIG section
card(s, 0.2, 2.93, 9.6, 2.42, C.navy, C.gold);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:2.93, w:9.6, h:0.38, fill:{color:C.gold}, line:{type:"none"} });
s.addText("AIRWAY CLEARANCE TECHNIQUES (ACT) — MOST IMPORTANT SECTION (3 marks)", { x:0.35, y:2.93, w:9.2, h:0.38, fontSize:10.5, bold:true, color:C.bg, valign:"middle", margin:0 });
// Inhalation sequence banner
s.addShape(pres.shapes.RECTANGLE, { x:0.25, y:3.37, w:9.5, h:0.32, fill:{color:"1A3A2A"}, line:{type:"none"} });
s.addText([
{ text:"Sequence BEFORE ACT: ", options:{bold:true, color:C.gold} },
{ text:"(1) Bronchodilator → (2) Hypertonic Saline / DNase → (3) ACT → (4) Inhaled Antibiotic (LAST — reaches deeper airways post-clearance)", options:{color:C.white} },
], { x:0.35, y:3.37, w:9.2, h:0.3, fontSize:8.5, valign:"middle" });
const acts = [
{ name:"ACBT", phases:"(1) Breathing Control (3–5 tidal breaths) → (2) Thoracic Expansion Exercises (3–5 deep breaths + 3-sec hold) → (3) Forced Expiration / Huff (open glottis)", note:"Repeat 2–4 cycles; No device needed; Most commonly taught", color:C.teal },
{ name:"Autogenic\nDrainage (AD)", phases:"(1) Unsticking: low lung volume breathing → (2) Collecting: mid lung volume → (3) Evacuating: high lung volume + huff", note:"No device; independent; requires cooperation and training", color:C.sky },
{ name:"PEP Therapy", phases:"Breathe in (larger than tidal) → exhale against resistance (10–20 cmH₂O back pressure) → 2–3 huffs | I:E = 1:3 | 15 breaths × 3–4 cycles", note:"PEP mask / Acapella / Flutter / Aerobika", color:C.green },
];
acts.forEach(({name, phases, note, color}, i) => {
const x = 0.25 + i * 3.22;
card(s, x, 3.77, 3.12, 1.45, "0A1A2E", color);
s.addText(name, { x:x+0.1, y:3.8, w:2.9, h:0.32, fontSize:9.5, bold:true, color, valign:"middle", margin:0 });
s.addText(phases, { x:x+0.1, y:4.15, w:2.9, h:0.7, fontSize:7.5, color:C.white });
s.addText("→ " + note, { x:x+0.1, y:4.9, w:2.9, h:0.25, fontSize:7, color:C.light, italic:true });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 6 – CASE-BASED ANSWER TEMPLATE
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.purple);
sectionHeader(s, "CASE-BASED QUESTION — MODEL ANSWER TEMPLATE", C.purple);
marksTag(s, "Case Study", 8.4, 0.15, C.purple);
// Case vignette
card(s, 0.2, 0.78, 9.6, 0.95, "1A0A2E", C.purple);
s.addText("📋 CASE:", { x:0.35, y:0.82, w:0.85, h:0.32, fontSize:9, bold:true, color:C.purple, valign:"middle", margin:0 });
s.addText(
"A 10-year-old boy presents with chronic productive cough since infancy, failure to thrive, recurrent chest infections, and foul-smelling bulky stools. On examination: barrel chest, digital clubbing, bilateral coarse crackles, SpO₂ 92%. Parents state he has a 'salty' taste when kissed. FEV₁ = 55% predicted.",
{ x:1.15, y:0.82, w:8.5, h:0.88, fontSize:9, color:C.white }
);
// Answer structure in 5 steps
const steps = [
{
num:"1", head:"DIAGNOSIS (with justification)", color:C.purple,
body:[
"Diagnosis: Cystic Fibrosis",
"Justification: Chronic productive cough + failure to thrive + steatorrhoea + digital clubbing + salty taste (elevated sweat NaCl) + obstructive pattern on PFTs (FEV₁ 55% predicted)",
"Confirm with: Sweat chloride test (≥60 mmol/L = diagnostic) + CFTR genotyping (F508del mutation most likely)"
]
},
{
num:"2", head:"PROBLEM LIST (from case)", color:C.sky,
body:[
"Impairments: Obstructive lung disease (FEV₁ 55%), chronic sputum retention, digital clubbing/hypoxaemia (SpO₂ 92%), malnutrition (failure to thrive), pancreatic insufficiency",
"Activity limitations: Reduced exercise tolerance, inability to keep up with peers, impaired school attendance",
"Participation: Restricted physical play, social isolation, psychological impact of chronic illness"
]
},
{
num:"3", head:"SMART GOALS", color:C.green,
body:[
"Short-term (2–4 wk): Child will clear sputum independently with ACBT within 1 week; maintain SpO₂ ≥88% during play activities",
"Long-term (3–6 months): FEV₁ maintained above current baseline; independent twice-daily ACT routine without prompting; weight gain ≥0.5 kg/month"
]
},
{
num:"4", head:"PHYSIOTHERAPY MANAGEMENT", color:C.gold,
body:[
"Inhalation sequence: Salbutamol → Hypertonic saline (7%) → ACT → Inhaled antibiotic (if prescribed)",
"ACT: Teach ACBT to child + parents; twice daily (30 min each session); increase to 3–4×/day during exacerbations; consider OPEP device (Acapella) for independence and adherence",
"Exercise: 30 min aerobic (swimming, cycling) 3–5×/week; strength training 2–3×/week; swimming especially beneficial in CF (warm humid air)",
"Education: Parents taught percussion/PD; recognise exacerbation signs; cross-infection prevention (NO contact with other CF patients)"
]
},
{
num:"5", head:"COMPLICATIONS TO WATCH", color:C.coral,
body:[
"Pneumothorax: Stop ACT; urgent referral; restart only after medical clearance",
"Haemoptysis (minor <250 mL): Modify ACT — avoid head-down positions and percussion over bleeding site",
"Haemoptysis (massive >250 mL): STOP ALL ACT immediately; medical emergency",
"CFRD: Coordinate exercise and ACT around insulin/meals; annual OGTT screening from age 10"
]
},
];
steps.forEach(({num, head, color, body}, i) => {
const col = i < 3 ? 0 : 1;
const row = i < 3 ? i : i - 3;
const x = col === 0 ? 0.2 : 5.1;
const y = 1.85 + row * 1.22;
const h = i === 4 ? 1.25 : 1.15;
const w = col === 0 ? 4.7 : 4.7;
card(s, x, y, w, h, "0A0E1E", color);
s.addShape(pres.shapes.OVAL, { x:x+0.08, y:y+0.1, w:0.32, h:0.32, fill:{color}, line:{type:"none"} });
s.addText(num, { x:x+0.08, y:y+0.1, w:0.32, h:0.32, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText(head, { x:x+0.5, y:y+0.08, w:w-0.6, h:0.33, fontSize:9, bold:true, color, valign:"middle", margin:0 });
body.forEach((line, j) => {
s.addText("• " + line, { x:x+0.15, y:y+0.45+j*0.22, w:w-0.25, h:0.22, fontSize:7.8, color:C.white });
});
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 7 – SHORT NOTE (5-10 marks): ACBT + ACT
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.orange);
sectionHeader(s, "SHORT NOTE MODEL ANSWER — Airway Clearance Techniques in CF (5–10 marks)", C.orange);
marksTag(s, "5–10 marks", 8.3, 0.15, C.orange);
// How to start short note box
card(s, 0.2, 0.78, 9.6, 0.55, "1A1A00", C.gold);
s.addText([
{ text:"How to start: ", options:{bold:true, color:C.gold} },
{ text:'"CF patients require lifelong, twice-daily airway clearance therapy (ACT) to compensate for defective mucociliary clearance. The goal is to mobilise secretions from peripheral to central airways for expectoration. The inhalation therapy sequence before ACT is: ', options:{color:C.white} },
{ text:"Bronchodilator → Hypertonic Saline / DNase → ACT → Inhaled Antibiotic.", options:{bold:true, color:C.gold} },
{ text:'"', options:{color:C.white} },
], { x:0.35, y:0.8, w:9.2, h:0.5, fontSize:9, italic:true });
const techniques = [
{
name:"ACBT\n(Active Cycle of Breathing)", color:C.teal,
phases:[
["Phase 1: Breathing Control", "3–5 relaxed tidal breaths (diaphragmatic). Purpose: Rest airways, reduce bronchospasm"],
["Phase 2: Thoracic Expansion (TEE)", "3–5 deep slow breaths with 3-second inspiratory hold. Purpose: Collateral ventilation, mobilise secretions peripherally"],
["Phase 3: Forced Expiration / Huff", "Medium or low lung volume huff — open glottis (not cough). Purpose: Move secretions centrally"],
["Cycle", "Repeat 2–4 cycles until no more secretions. No device needed. Evidence: Cochrane 2023 (Wilson et al.)"],
]
},
{
name:"PEP Therapy\n(Positive Expiratory Pressure)", color:C.green,
phases:[
["Mechanism", "Breathe in slightly larger than tidal → exhale against resistance → 10–20 cmH₂O back pressure → prevents premature airway collapse → secretions mobilised"],
["Technique", "I:E ratio = 1:3 | 15 breaths per cycle | 3–4 cycles | followed by 2–3 huffs each cycle"],
["Devices", "PEP mask (standard) | Flutter (oscillating PEP + vibration) | Acapella (position-independent OPEP) | Aerobika (can nebulise simultaneously)"],
["Preferred when", "Child/patient who prefers device; independence; adherence in teenagers"],
]
},
{
name:"Autogenic Drainage\n(AD)", color:C.sky,
phases:[
["Phase 1: Unsticking", "Low lung volume (ERV) tidal breathing × 4–8 breaths + suppress cough. Loosens secretions in PERIPHERAL airways"],
["Phase 2: Collecting", "Mid lung volume (tidal) breathing × 4–8 breaths. Moves secretions to INTERMEDIATE airways"],
["Phase 3: Evacuating", "High lung volume (IRV) breathing → huff/cough. Clears secretions from CENTRAL airways"],
["Advantage", "No device; completely independent; patient-preferred in adults. Requires good cooperation and training. Evidence: Cochrane 2021 (Burnham et al.)"],
]
},
];
techniques.forEach(({name, color, phases}, i) => {
const x = 0.2 + i * 3.28;
s.addShape(pres.shapes.RECTANGLE, { x, y:1.45, w:3.1, h:0.36, fill:{color}, line:{type:"none"} });
s.addText(name, { x, y:1.45, w:3.1, h:0.36, fontSize:9, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
card(s, x, 1.81, 3.1, 3.55, "0A0E1E", color);
phases.forEach(([label, body], j) => {
s.addText(label + ":", { x:x+0.1, y:1.9 + j*0.84, w:2.9, h:0.25, fontSize:8.5, bold:true, color, valign:"middle", margin:0 });
s.addText(body, { x:x+0.1, y:2.17 + j*0.84, w:2.9, h:0.5, fontSize:8, color:C.white });
});
});
s.addText("⭐ REMEMBER: In exams, always compare the three techniques in a table OR describe their phases sequentially. State the Cochrane evidence briefly.", {
x:0.2, y:5.28, w:9.6, h:0.24, fontSize:7.5, color:C.gold, bold:true, align:"center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 8 – SHORT NOTE: Exercise in CF + Complications
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.green);
sectionHeader(s, "SHORT NOTES — Exercise in CF + Complications & Modifications (5 marks each)", C.green);
// Left: Exercise
card(s, 0.2, 0.78, 4.6, 4.57, C.navy, C.green);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:4.6, h:0.38, fill:{color:C.green}, line:{type:"none"} });
s.addText("EXERCISE IN CF — Short Note", { x:0.3, y:0.78, w:4.4, h:0.38, fontSize:10.5, bold:true, color:C.bg, valign:"middle", margin:0 });
s.addText([
{ text:"Key Principle: ", options:{bold:true, color:C.gold} },
{ text:"Exercise is COMPLEMENTARY to ACT, NOT a substitute (Cochrane 2022 — Heinz et al.).\n\n", options:{color:C.white} },
{ text:"Aerobic Exercise:\n", options:{bold:true, color:C.green} },
{ text:"• Mode: Walking, cycling, swimming (swimming preferred — warm humid air ↓ bronchospasm)\n• Intensity: Borg 4–6 / 60–80% VO₂peak\n• Duration: 30–45 min\n• Frequency: 3–5 days/week\n• Progress: Duration first → then intensity\n\n", options:{color:C.white} },
{ text:"Resistance Training:\n", options:{bold:true, color:C.green} },
{ text:"• Muscles: Quadriceps (primary), shoulder girdle, core\n• Load: 60–80% 1-RM | 3 × 8–12 reps | 2–3 days/week\n• Why: Peripheral muscle wasting from chronic inflammation, corticosteroids, malnutrition\n\n", options:{color:C.white} },
{ text:"IMT (Inspiratory Muscle Training):\n", options:{bold:true, color:C.sky} },
{ text:"• When: Reduced MIP; advanced CF; post-transplant\n• Device: Threshold IMT; 30–50% MIP → Daily × 30 breaths", options:{color:C.white} },
], { x:0.35, y:1.25, w:4.2, h:3.95, fontSize:8.5 });
// Right: Complications
card(s, 5.0, 0.78, 4.8, 4.57, C.navy, C.coral);
s.addShape(pres.shapes.RECTANGLE, { x:5.0, y:0.78, w:4.8, h:0.38, fill:{color:C.coral}, line:{type:"none"} });
s.addText("COMPLICATIONS + PT MODIFICATIONS", { x:5.1, y:0.78, w:4.6, h:0.38, fontSize:10.5, bold:true, color:C.white, valign:"middle", margin:0 });
const comps = [
{
c:"PNEUMOTHORAX", icon:"⚡",
pt:"STOP all ACT and vigorous exercise immediately\nRefer for urgent medical management\nRestart ACT and exercise only after chest drain removal + medical clearance",
col:C.coral
},
{
c:"HAEMOPTYSIS (Minor < 250 mL)", icon:"🩸",
pt:"CONTINUE ACT with modifications:\n→ Avoid head-down (postural drainage) positions\n→ Avoid percussion over bleeding lung segment\n→ Use PEP / ACBT in upright sitting only",
col:C.gold
},
{
c:"HAEMOPTYSIS (Massive > 250 mL)", icon:"🚨",
pt:"STOP ALL ACT IMMEDIATELY\nMedical emergency → Bronchial artery embolisation\nResume ACT only after haemostasis confirmed by physician",
col:C.coral
},
{
c:"CFRD (CF-Related Diabetes)", icon:"💉",
pt:"Coordinate exercise and ACT around insulin timing\nMonitor blood glucose before/after exercise\nAnnual OGTT screening from age 10",
col:C.sky
},
{
c:"RESPIRATORY FAILURE / NIV", icon:"😷",
pt:"Adapt ACT: use NIV-assisted techniques\nSupplemental O₂ during exercise (SpO₂ ≥88%)\nModify exercise intensity; frequent rest periods",
col:C.purple
},
];
comps.forEach(({c, icon, pt, col}, i) => {
card(s, 5.1, 1.25 + i*0.85, 4.6, 0.78, "0A0A1E", col);
s.addText(icon + " " + c, { x:5.2, y:1.3 + i*0.85, w:4.35, h:0.28, fontSize:8.5, bold:true, color:col, valign:"middle", margin:0 });
s.addText(pt, { x:5.2, y:1.6 + i*0.85, w:4.35, h:0.4, fontSize:7.8, color:C.white });
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 9 – KEY NUMBERS + VIVA BOMBS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.gold);
sectionHeader(s, "KEY NUMBERS + VIVA BOMBS — Memorise These Before Your Exam", C.gold);
const numbers = [
["Sweat Chloride DIAGNOSTIC", "≥ 60 mmol/L (TWO separate tests required)"],
["Sweat Chloride BORDERLINE", "40–59 mmol/L"],
["Sweat Chloride NORMAL", "< 40 mmol/L"],
["Most common mutation", "F508del (Phe508del) — ~70% of CF alleles (European)"],
["Incidence (European)", "1 in 2,500 births | Carrier: 1 in 25"],
["P. aeruginosa colonisation", "80% of CF patients by age 18 years"],
["CFRD (CF-Related Diabetes)", "Up to 50% of adult CF patients"],
["Male infertility (CBAVD)", "98% of CF males — congenital bilateral absence of vas deferens"],
["Meconium ileus", "10–25% of CF neonates"],
["FEV₁% predicted", "PRIMARY prognostic marker in CF"],
["ACT frequency (stable)", "Twice daily | 30 min each session"],
["ACT frequency (exacerbation)", "3–4 times per day"],
["Median survival", "Now extending beyond 47 years (with modern therapy)"],
["PEP pressure target", "10–20 cmH₂O during expiration (I:E ratio 1:3)"],
["Haemoptysis threshold", "Minor < 250 mL (modify) | Massive > 250 mL (STOP ACT)"],
];
numbers.forEach(([label, val], i) => {
const col = i < 8 ? 0 : 1;
const row = i < 8 ? i : i - 8;
const x = col === 0 ? 0.2 : 5.1;
const y = 0.85 + row * 0.58;
const fillColor = i % 2 === 0 ? C.bgMid : C.bgLight;
s.addShape(pres.shapes.RECTANGLE, { x, y, w:4.7, h:0.5, fill:{color:fillColor}, line:{color: col===0?C.teal:C.gold, width:1} });
s.addText(label, { x:x+0.1, y:y+0.03, w:4.4, h:0.22, fontSize:8.5, bold:true, color: col===0?C.sky:C.gold, valign:"middle", margin:0 });
s.addText(val, { x:x+0.1, y:y+0.26, w:4.4, h:0.2, fontSize:8, color:C.white, valign:"middle", margin:0 });
});
s.addText("⭐ These numbers come up in EVERY MCQ, viva, and practical exam. Write them on a card and review daily.", {
x:0.2, y:5.28, w:9.6, h:0.24, fontSize:8, color:C.gold, bold:true, align:"center"
});
}
// ═══════════════════════════════════════════════════════════════════
// SLIDE 10 – COMMON MISTAKES + EXAMINER TIPS
// ═══════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s); topBar(s, C.coral);
sectionHeader(s, "COMMON EXAM MISTAKES + Examiner Tips for CF", C.coral);
// Left: Mistakes
card(s, 0.2, 0.78, 4.55, 4.58, C.navy, C.coral);
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.78, w:4.55, h:0.4, fill:{color:C.coral}, line:{type:"none"} });
s.addText("❌ MISTAKES STUDENTS MAKE", { x:0.3, y:0.78, w:4.3, h:0.4, fontSize:11, bold:true, color:C.white, valign:"middle", margin:0 });
const mistakes = [
["Saying exercise can REPLACE ACT", "Exercise is COMPLEMENTARY — never a substitute (Cochrane 2022)"],
["Wrong sweat chloride cut-off", "≥ 60 mmol/L diagnostic — NOT 40 or 50"],
["Forgetting inhalation sequence", "Bronchodilator FIRST → Saline/DNase → ACT → Antibiotic LAST"],
["Saying CF affects only lungs", "CF is MULTISYSTEM: lung + pancreas + liver + intestine + reproductive"],
["Missing cross-infection rule", "CF patients must NOT share rooms or equipment with other CF patients"],
["Wrong ACT for haemoptysis", "Massive haemoptysis → STOP ACT; Minor → Modify (no head-down, no percussion over that site)"],
["Not knowing AD phases", "Unsticking (low vol) → Collecting (mid vol) → Evacuating (high vol) — all 3 required"],
["Confusing organisms", "S. aureus = EARLY coloniser; P. aeruginosa = CHRONIC/LATE — 80% by age 18; B. cepacia = RARE but WORST prognosis"],
];
mistakes.forEach(([wrong, correct], i) => {
card(s, 0.3, 1.27 + i*0.47, 4.3, 0.42, "1A050A", i%2===0?C.coral:C.orange);
s.addText("✗ " + wrong, { x:0.4, y:1.3 + i*0.47, w:4.1, h:0.2, fontSize:8, bold:true, color:C.coral, valign:"middle", margin:0 });
s.addText("✓ " + correct, { x:0.4, y:1.52 + i*0.47, w:4.1, h:0.18, fontSize:7.8, color:C.white, valign:"middle", margin:0 });
});
// Right: Examiner tips
card(s, 5.0, 0.78, 4.8, 4.58, C.navy, C.gold);
s.addShape(pres.shapes.RECTANGLE, { x:5.0, y:0.78, w:4.8, h:0.4, fill:{color:C.gold}, line:{type:"none"} });
s.addText("⭐ EXAMINER TIPS — Score FULL MARKS", { x:5.1, y:0.78, w:4.6, h:0.4, fontSize:11, bold:true, color:C.bg, valign:"middle", margin:0 });
const tips = [
["Start with the ATS definition", "For any CF/PR question — shows you know evidence base"],
["Draw the CFTR mutation table", "6 classes with 1 example each — easy 2 marks"],
["Write Sweat Chloride values early", "< 40 / 40–59 / ≥ 60 — examiners scan for this"],
["Use headings + sub-headings", "Examiners scan answers — bold headings get you marks even if body is incomplete"],
["State Cochrane evidence for ACT", "ACBT (Wilson 2023), AD (Burnham 2021), Exercise vs ACT (Heinz 2022)"],
["Draw the ACT inhalation sequence", "Arrow diagram: Bronchodilator → Saline → ACT → Antibiotic gets visual marks"],
["Always include complication modifications", "Pneumothorax + haemoptysis with exact thresholds shows clinical thinking"],
["Mention CFQ-R for QoL", "CF-specific quality of life tool — shows domain knowledge"],
["SMART goals in case-based", "Write one short-term and one long-term goal — shows clinical reasoning"],
["End with prognosis", "FEV₁% predicted as primary prognostic marker — concluding sentence rounds off the answer"],
];
tips.forEach(([tip, why], i) => {
s.addText("⭐ " + tip, { x:5.1, y:1.27 + i*0.42, w:4.55, h:0.2, fontSize:8.5, bold:true, color:C.gold, valign:"middle", margin:0 });
s.addText("→ " + why, { x:5.1, y:1.49 + i*0.42, w:4.55, h:0.17, fontSize:7.8, color:C.light, valign:"middle", margin:0 });
});
}
// ─── WRITE FILE ───────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/cf-exam-ppt/CF_Exam_Answer_Templates_BPT.pptx" })
.then(() => console.log("✅ Done!"))
.catch(e => console.error("❌", e));
cd /home/daytona/workspace/cf-exam-ppt && node cf_exam_answers.js 2>&1
ls -lh /home/daytona/workspace/cf-exam-ppt/CF_Exam_Answer_Templates_BPT.pptx
CF Exam Answer Templates BPT
Presentation · PPTX
| Slide | What It Shows |
|---|---|
| 1 | Cover + what this deck covers |
| 2 | How to structure a CF answer — marks allocation + step-by-step sequence |
| 3 | Model 15-mark answer Part 1 — Definition, Genetics, Pathophysiology (with flow diagram) |
| 4 | Model 15-mark answer Part 2 — Clinical Features table + Diagnosis values |
| 5 | Model 15-mark answer Part 3 — PT Assessment + ACT techniques + inhalation sequence |
| 6 | Full Case-Based Model Answer — Diagnosis, Problem List, SMART Goals, Management, Complications |
| 7 | Short Note (5-10 marks) — ACBT vs Autogenic Drainage vs PEP — all 3 side-by-side |
| 8 | Short Note — Exercise in CF + Complications with exact modifications |
| 9 | Key Numbers to memorise — 15 values examiners test (sweat chloride, mutation frequency, etc.) |
| 10 | Common exam mistakes + Examiner tips for full marks |
Bronchitis
chronic bronchitis COPD physiotherapy management exercise
acute bronchitis treatment antibiotic
Chronic bronchitis is defined as persistent productive cough for at least 3 consecutive months in at least 2 consecutive years, in the absence of any other identifiable cause.
⭐ Key exam point: Chronic bronchitis is defined clinically (by symptoms). Emphysema is defined anatomically/pathologically. This distinction is commonly asked in viva.
| Type | Duration | Mechanism | Reversibility |
|---|---|---|---|
| Acute Bronchitis | < 3 weeks | Viral (90%) / Bacterial | Self-limiting; complete recovery |
| Chronic Bronchitis | ≥ 3 months/year × 2 consecutive years | Smoking, pollutants, recurrent infection | Partially reversible; component of COPD |
| Acute-on-Chronic Bronchitis (AECB) | Acute exacerbation on chronic background | Viral / Bacterial | Treat acute; return to chronic baseline |
| Asthmatic Bronchitis | Variable | Hyperresponsive airways + bronchitis | Partially reversible with bronchodilators |
Viral / Bacterial infection (90% viral)
↓
Mucosal inflammation of trachea + large bronchi
↓
Mucosal oedema + increased mucus secretion
↓
Cough (with/without sputum) + Wheeze (if bronchospasm)
↓
Self-limiting: Resolution in 10-20 days
Chronic inhalation of noxious substances (tobacco smoke)
↓
Mucosal damage + Release of cytokines (IL-13, histamine)
↓
(1) Hypertrophy of submucosal mucous glands (↑ Reid Index)
(2) ↑ Goblet cells in small bronchi/bronchioles
(3) Chronic inflammation: Neutrophils + Lymphocytes + Macrophages
(No eosinophils — contrast with asthma)
↓
Mucus hypersecretion → Impaired mucociliary clearance (cilia damaged by smoke)
↓
Mucus plugging → Small airway obstruction (< 2-3 mm airways)
↓
Chronic bronchiolitis + Peribronchial fibrosis
↓
Airflow obstruction (obstructive pattern on spirometry)
↓
Air trapping → Hyperinflation → V/Q mismatch
↓
Hypoxaemia → Pulmonary hypertension → Cor pulmonale
| Feature | Details |
|---|---|
| Onset | Acute, follows URTI by a few days |
| Cough | Hallmark; with or without sputum; lasts 10-20 days (can persist > 1 month) |
| Sputum | Initially clear/white; may become yellow-green (does NOT reliably indicate bacterial infection) |
| Wheeze | May be present if bronchospasm |
| Low-grade fever | Common; high fever suggests pneumonia |
| Headache, rhinorrhoea, sore throat | Associated URTI symptoms |
| Constitutional symptoms | Mild fatigue, malaise |
| Dyspnoea | Absent or mild (if present - consider pneumonia/asthma) |
| Feature | Details |
|---|---|
| Chronic productive cough | Diagnostic; morning cough with mucoid sputum (early) → purulent during exacerbations |
| Dyspnoea | Initially only on exertion; progressive |
| Cyanosis | Central (blue/dusky) - hypoxaemia |
| Oedema | Ankle and leg oedema (cor pulmonale) |
| Appearance | Overweight/obese, plethoric, cyanosed - "Blue Bloater" |
| Wheeze | Expiratory wheeze (airflow obstruction) |
| Barrel chest | Late finding (when emphysema coexists) |
| Polycythaemia | Secondary to chronic hypoxaemia |
| Recurrent exacerbations | Triggered by infections; progressive decline in FEV₁ |
| Feature | Blue Bloater (Chronic Bronchitis) | Pink Puffer (Emphysema) |
|---|---|---|
| Body habitus | Obese / overweight | Thin, cachexic |
| Colour | Cyanosed (blue) | Pink (normal colour) |
| Oedema | Present (cor pulmonale) | Absent |
| Breathlessness | Mild-moderate | Severe (predominant symptom) |
| Cough | Productive, copious sputum | Minimal / dry |
| PaO₂ | Low (hypoxaemia) | Near normal |
| PaCO₂ | High (hypercapnia) | Normal or low |
| Polycythaemia | Present | Absent |
| Cor pulmonale | Common | Late |
| Mechanism | V/Q mismatch + ↓ ventilatory drive | ↑ WOB; maintains PaO₂ by hyperventilation |
⭐ Note: Most COPD patients have a mixed picture of both chronic bronchitis and emphysema. "Blue Bloater" and "Pink Puffer" are clinical extremes, not mutually exclusive.
| Muscle | Assessment | Finding |
|---|---|---|
| Diaphragm | Diaphragmatic excursion; ultrasound; sniff nasal pressure | Flattened (hyperinflation in chronic); reduced excursion |
| Accessory muscles (SCM, Scalenes) | Inspection at rest | Hypertrophied; active at rest in severe disease |
| Abdominals | Active expiration observed | Recruited in forced expiration |
| Inspiratory muscles | MIP (Max Inspiratory Pressure) | Reduced in moderate-severe chronic bronchitis |
| Expiratory muscles | MEP (Max Expiratory Pressure) | Reduced; important for effective cough |
| Muscle | Finding | Cause |
|---|---|---|
| Quadriceps | Weakness (most common) | Deconditioning + systemic inflammation |
| Upper limb muscles | Reduced grip strength | General deconditioning |
| Respiratory muscles | Weakness in advanced disease | Hyperinflation disadvantage + malnutrition |
| Finding | Acute Bronchitis | Chronic Bronchitis |
|---|---|---|
| Air entry | Normal or mildly reduced | Reduced bilaterally |
| Added sounds | Coarse crackles, wheeze | Coarse crackles (clear partially on coughing), expiratory wheeze |
| Bronchial sounds | Absent (differentiates from pneumonia) | May be present in consolidated areas |
⭐ Key diagnostic clue: In acute bronchitis, there should be no bronchial breathing and no dullness on percussion - these suggest pneumonia.
| Test | Acute Bronchitis | Chronic Bronchitis |
|---|---|---|
| FEV₁ | Normal (transient reduction if bronchospasm) | Reduced |
| FVC | Normal | Reduced |
| FEV₁/FVC | Normal | < 0.70 (post-bronchodilator) |
| TLC | Normal | Increased (air trapping) |
| RV | Normal | Increased |
| DLCO | Normal | Reduced (if emphysema coexists) |
| Condition | Key Differentiating Feature |
|---|---|
| Pneumonia | Fever > 38°C; bronchial breath sounds; lobar dullness; CXR consolidation |
| Asthma | Episodic; reversible bronchospasm; atopy; eosinophilia; normal between episodes |
| COPD Exacerbation (AECB) | Known COPD; baseline FEV₁ reduced; older patient, smoker |
| Pulmonary Tuberculosis | Haemoptysis; night sweats; weight loss; AFB on sputum; apical lesion on CXR |
| Bronchiectasis | Copious purulent sputum; digital clubbing; tram-track signs on HRCT |
| Cystic Fibrosis | Young patient; elevated sweat chloride; CFTR mutation |
| Lung Cancer | Haemoptysis; weight loss; clubbing; hilar mass on CXR |
| Congestive Heart Failure | Bilateral basal crackles; raised JVP; cardiomegaly; responds to diuretics |
| GERD-related cough | Cough worsens lying flat; heartburn; no sputum; upper GI symptoms |
| Investigation | Finding / Purpose |
|---|---|
| Clinical diagnosis | Usually sufficient in young healthy adults |
| Chest X-Ray | Normal (to exclude pneumonia); indicated in elderly/comorbid patients |
| SpO₂ | Usually normal; if reduced - consider pneumonia |
| Sputum culture | Not routinely indicated (viral in 90%); if > 10-14 days or immunocompromised |
| FBC | WBC may be mildly elevated |
| Investigation | Finding |
|---|---|
| Spirometry (PFTs) | FEV₁/FVC < 0.70 (post-bronchodilator) = COPD diagnosis; GOLD staging by FEV₁% predicted |
| Chest X-Ray (CXR) | Hyperinflation (> 6 anterior ribs); peribronchial thickening ("dirty chest"); increased lung markings; enlarged right ventricle (cor pulmonale) |
| HRCT Chest | Airway wall thickening; mucus plugging; "signet ring" sign (bronchus wider than adjacent artery); coexisting emphysema (centrilobular) |
| ABG (Arterial Blood Gas) | ↓PaO₂ (hypoxaemia); ↑PaCO₂ (hypercapnia); compensated respiratory acidosis |
| Sputum culture | During exacerbation: S. pneumoniae, H. influenzae, M. catarrhalis; P. aeruginosa in advanced disease |
| FBC | Polycythaemia (elevated Hb, RBC) - secondary to chronic hypoxaemia |
| ECG / Echocardiogram | P pulmonale, Right ventricular hypertrophy (cor pulmonale) |
| 6MWT | Functional exercise capacity assessment |
| GOLD Grade | FEV₁ % Predicted | Severity |
|---|---|---|
| I | ≥ 80% | Mild |
| II | 50–79% | Moderate |
| III | 30–49% | Severe |
| IV | < 30% | Very Severe |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting upright, shoulders relaxed |
| Technique | Inhale slowly through nose (2 counts); purse lips (whistle position); exhale slowly through pursed lips (4 counts); maintain I:E ratio of 1:2 minimum |
| Sets/Reps | During all activity; especially during exertion |
| Frequency | Every time dyspnoea occurs during activity |
| Mechanism | Creates back-pressure → prevents premature small airway collapse (intrinsic PEEP) → reduces air trapping → reduces dynamic hyperinflation → reduces dyspnoea |
| Precautions | Do not force expiration; avoid breathlessness |
| Parameter | Detail |
|---|---|
| Starting Position | Supine → Sitting → Standing (progress) |
| Technique | One hand on chest, one on abdomen; inhale - abdomen rises (chest stays still); exhale slowly |
| Ratio | Inhale 2 sec : Hold 1 sec : Exhale 4 sec |
| Sets/Reps | 3 sets × 10 breaths; 3× daily |
| Frequency | 3-4 times per day; during activity as tolerated |
| Precautions | Assess individual response (less effective if diaphragm severely flattened in advanced hyperinflation) |
| Phase | Technique | Purpose |
|---|---|---|
| Breathing Control | 3-5 tidal breaths, relaxed | Rest; prevent bronchospasm |
| Thoracic Expansion (TEE) | 3-5 deep breaths + 3-sec hold | Collateral ventilation; loosen secretions |
| FET / Huff | Medium or low volume huff; open glottis | Move secretions centrally |
| Parameter | Detail |
|---|---|
| Starting Position | Standing; comfortable footwear; rollator if needed |
| Technique | Walk at target pace; use PLB on exertion; breathe rhythmically |
| Intensity | Borg dyspnoea 4-6/10; or 60-80% peak HR |
| Duration | Start 10-15 min → build to 30-45 min |
| Sets | 1 continuous session; or interval (3:2 min) if severe |
| Frequency | 5 days/week |
| Progression | Increase duration → increase speed → add incline / stairs |
| Precautions | SpO₂ > 88%; supplement O₂ if prescribed; stop if Borg > 7 or chest pain |
| Parameter | Detail |
|---|---|
| Starting Position | Seated on chair, feet hanging |
| Technique | Extend knee fully; hold 2 sec; lower slowly (4 sec eccentric) |
| Sets/Reps | 3 × 10-12 repetitions |
| Intensity | 60-70% 1-RM; progress to ankle weight |
| Frequency | 2-3 times/week |
| Progression | Add ankle weights → resistance band → functional squats |
| Precautions | Breathe out on exertion (avoid Valsalva); no exercise during acute exacerbation with O₂ requirements |
| Parameter | Detail |
|---|---|
| Starting Position | Sitting upright, slightly leaning forward |
| Technique | Take medium-sized breath → open mouth and glottis (say "haaaa" not "kaaah") → expel air forcefully but smoothly; this is a HUff, not a cough |
| When to cough | Only when secretions reach central airways (felt in throat) → single effective cough to expectorate |
| Frequency | During ACBT sessions; as needed throughout day |
| Why huff > cough | Coughing with closed glottis → high intrathoracic pressure → dynamic airway compression → less effective; Huff (open glottis) maintains airway patency → more efficient |
| Parameter | Detail |
|---|---|
| Indication | Chest wall pain; pleuritic pain; musculoskeletal pain from coughing |
| Electrode placement | Paravertebral T1-T8; or over painful site; NEVER over anterior chest/carotid |
| Frequency | 80-150 Hz |
| Pulse width | 50-80 µs |
| Duration | 20-30 minutes |
| Contraindications | Pacemaker; anterior chest; pregnancy; over implanted metal |
| Indication | Excess sputum retention; elderly / debilitated patients unable to self-clear |
|---|---|
| Manual percussion | Cupped hands; rhythmic clapping over affected segment during postural drainage |
| Vibration | Fine manual vibration during expiration |
| Mechanical vibrator | Electric vibration pad / HFCWO vest (high-frequency chest wall oscillation) |
| Indication | Severe COPD/chronic bronchitis with peripheral muscle weakness unable to exercise |
|---|---|
| Target | Quadriceps |
| Frequency | 35-50 Hz; 200-400 µs; 30-60 min/session |
| Duration | 6-8 weeks |
| Technique | Best For | Position |
|---|---|---|
| ACBT | All patients; self-management | Sitting |
| Postural Drainage | Specific lung segments; copious secretions | Segment-specific (12 positions) |
| PEP Device | Independence; adherence | Sitting |
| Humidification / Steam Inhalation | Thick tenacious secretions | Any |
| Saline nebulisation | Mucus hydration | Sitting |
| Vibration + Percussion | Debilitated / elderly / post-surgical | Postural drainage position |
| Complication | Notes |
|---|---|
| Pneumonia | Most important complication; risk in elderly, immunocompromised, smokers |
| Exacerbation of asthma/COPD | In those with underlying lung disease |
| Chronic bronchitis development | Recurrent episodes in smokers |
| Pertussis (Bordetella) | Cough > 3 weeks; whoop; lymphocytosis - must rule out |
| Complication | Notes |
|---|---|
| Cor pulmonale | Right heart failure secondary to pulmonary hypertension; most serious |
| Acute-on-Chronic Exacerbation (AECB) | Each exacerbation accelerates FEV₁ decline |
| Secondary polycythaemia | Chronic hypoxaemia → erythropoietin → ↑ RBC; hyperviscosity, thrombosis risk |
| Respiratory failure | Type II (hypercapnic) - PaO₂ < 60, PaCO₂ > 45 |
| Bronchiectasis | Repeated infections → airway wall destruction |
| Lung cancer | Smoking is the common aetiological factor |
| Osteoporosis | Steroid use + inactivity + smoking |
| Pneumothorax | Rupture of bullae (if coexisting emphysema) |
💡 Exam Tip: In theory exams - the examiner expects: (1) Clinical definition verbatim (3 months × 2 years), (2) Reid index = 0.4, (3) Blue Bloater vs Pink Puffer table, (4) Controlled O₂ therapy rationale (88-92%), (5) ACBT phases in sequence. In viva - most commonly asked: "Why do we give controlled O₂ in chronic bronchitis?" - this alone can earn 3-4 marks in viva if answered confidently with the hypoxic drive mechanism.
Make me nice ppt for this exame oriented
ls /home/daytona/workspace/
mkdir -p /home/daytona/workspace/bronchitis-ppt
~/bronchitis-ppt/bronchitis_ppt.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.title = 'Bronchitis - BPT Exam Preparation';
pres.author = 'BPT Final Year';
// ─── COLOUR PALETTE ───────────────────────────────────────────────────────────
const C = {
darkBg: "0D1B2A", // deep navy
midBg: "1B2E45", // dark blue
accent: "E63946", // vivid red (respiratory theme)
accentAlt: "F4A261", // warm amber / highlight
teal: "2EC4B6", // teal accent
white: "FFFFFF",
lightGray: "D1D9E6",
textDark: "1A1A2E",
cardBg: "1E3A52", // card panels
gold: "FFD700", // star items
green: "4CAF50", // clinical pearl
lightBlue: "56CCF2",
};
// ─── HELPERS ──────────────────────────────────────────────────────────────────
function addSectionBand(slide, title) {
// Full-width colored band at top
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.75, fill:{color: C.accent}, line:{color: C.accent} });
slide.addText(title, { x:0.3, y:0, w:9.4, h:0.75, fontSize:20, bold:true, color:C.white, valign:"middle" });
}
function addFooter(slide) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:5.3, w:10, h:0.325, fill:{color: C.midBg}, line:{color: C.midBg} });
slide.addText([
{ text:"BPT Final Year | ", options:{color: C.lightGray, fontSize:9} },
{ text:"BRONCHITIS", options:{color: C.accentAlt, fontSize:9, bold:true} },
{ text:" | Robbins Pathology · Fishman's · Murray & Nadel", options:{color: C.lightGray, fontSize:9} }
], { x:0.2, y:5.3, w:9.6, h:0.32, valign:"middle", align:"center" });
}
function addCard(slide, x, y, w, h, titleText, titleColor, bodyLines, opts = {}) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill:{color: opts.bg || C.cardBg},
line:{color: opts.border || C.teal, pt:1.5},
rectRadius: 0.1
});
if (titleText) {
slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h:0.34, fill:{color: opts.titleBg || C.teal}, line:{color: opts.titleBg || C.teal} });
slide.addText(titleText, { x:x+0.08, y:y+0.01, w:w-0.16, h:0.32, fontSize:opts.titleFs||11, bold:true, color: titleColor||C.white, valign:"middle" });
}
if (bodyLines && bodyLines.length) {
slide.addText(bodyLines, { x:x+0.12, y:y+0.38, w:w-0.24, h:h-0.48, fontSize:opts.bodyFs||9.5, color:C.lightGray, valign:"top" });
}
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 1 — COVER
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
// left accent bar
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.15, h:5.625, fill:{color:C.accent}, line:{color:C.accent} });
// main circles (decorative)
s.addShape(pres.shapes.OVAL, { x:7.0, y:-0.6, w:4.5, h:4.5, fill:{color:"1A2E44"}, line:{color:"1A2E44"} });
s.addShape(pres.shapes.OVAL, { x:7.8, y:2.8, w:3.0, h:3.0, fill:{color:"172840"}, line:{color:"172840"} });
// lung icon area (symbolic text)
s.addText("🫁", { x:7.5, y:1.0, w:2, h:2, fontSize:70, align:"center", valign:"middle" });
// Tag
s.addShape(pres.shapes.RECTANGLE, { x:0.35, y:0.55, w:2.5, h:0.35, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("BPT FINAL YEAR", { x:0.35, y:0.55, w:2.5, h:0.35, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle" });
s.addText("BRONCHITIS", { x:0.3, y:1.1, w:7, h:1.4, fontSize:62, bold:true, color:C.white, charSpacing:3 });
s.addText("Acute • Chronic • COPD Spectrum", { x:0.3, y:2.45, w:7, h:0.5, fontSize:16, color:C.teal, charSpacing:1 });
// horizontal line
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:3.05, w:6.5, h:0.04, fill:{color:C.accentAlt}, line:{color:C.accentAlt} });
s.addText([
{ text:"Pathophysiology • Clinical Features • Physiotherapy Management\n", options:{color:C.lightGray, fontSize:12} },
{ text:"Exercises • Airway Clearance • Viva Points • Exam Templates", options:{color:C.lightGray, fontSize:12} }
], { x:0.3, y:3.15, w:7, h:0.9 });
// pills
const pills = ["Robbins Pathology","Fishman's Pulmonary","Murray & Nadel"];
pills.forEach((p,i) => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3 + i*2.3, y:4.25, w:2.15, h:0.35, fill:{color:C.midBg}, line:{color:C.teal, pt:1}, rectRadius:0.15 });
s.addText(p, { x:0.3 + i*2.3, y:4.25, w:2.15, h:0.35, fontSize:8.5, color:C.teal, align:"center", valign:"middle" });
});
s.addText("Exam-Oriented | Evidence-Based | BPT University Format", { x:0.3, y:4.75, w:7.5, h:0.35, fontSize:10, color:"4A6580", align:"left" });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 2 — DEFINITION & CLASSIFICATION
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "01 | DEFINITION & CLASSIFICATION");
// Acute Def box
s.addShape(pres.shapes.RECTANGLE, { x:0.25, y:0.88, w:4.6, h:0.34, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("ACUTE BRONCHITIS", { x:0.25, y:0.88, w:4.6, h:0.34, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:0.25, y:1.22, w:4.6, h:1.35, fill:{color:C.cardBg}, line:{color:C.teal, pt:1} });
s.addText([
{ text:"Acute, self-limited inflammation of the large airways\n(trachea + bronchi) without pneumonia\n", options:{bold:false, breakLine:false} },
{ text:"\n• Cough ± sputum (hallmark)\n• Duration: 10–20 days (may persist >1 month)\n• 90% VIRAL aetiology", options:{} }
], { x:0.35, y:1.24, w:4.4, h:1.3, fontSize:10, color:C.lightGray, valign:"top" });
// Chronic Def box (★ starred)
s.addShape(pres.shapes.RECTANGLE, { x:5.15, y:0.88, w:4.6, h:0.34, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("CHRONIC BRONCHITIS ⭐ EXAM FAVOURITE", { x:5.15, y:0.88, w:4.6, h:0.34, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:5.15, y:1.22, w:4.6, h:1.35, fill:{color:C.cardBg}, line:{color:C.accent, pt:1.5} });
s.addText([
{ text:"PRODUCTIVE COUGH for ≥ 3 consecutive months\nin ≥ 2 consecutive years\n", options:{bold:true, color:C.gold} },
{ text:"in absence of any other identifiable cause\n\n", options:{bold:false, color:C.lightGray} },
{ text:"⚠ CLINICAL definition (not pathological/spirometric)", options:{bold:true, color:C.accentAlt} }
], { x:5.25, y:1.24, w:4.4, h:1.3, fontSize:10, valign:"top" });
// Classification table
s.addShape(pres.shapes.RECTANGLE, { x:0.25, y:2.72, w:9.5, h:0.3, fill:{color:C.midBg}, line:{color:C.midBg} });
s.addText("CLASSIFICATION TABLE", { x:0.25, y:2.72, w:9.5, h:0.3, fontSize:10, bold:true, color:C.accentAlt, align:"center", valign:"middle" });
const cols = [1.8, 1.8, 1.8, 2.0, 2.0];
const headers = ["TYPE","DURATION","AETIOLOGY","REVERSIBILITY","EXAMPLE"];
const rows = [
["Acute Bronchitis","< 3 weeks","90% Viral","Complete (self-limiting)","Post-URTI cough"],
["Chronic Bronchitis","≥3m/yr × 2yr","Smoking / Pollutants","Partial","COPD Type B"],
["Asthmatic Bronchitis","Variable","Hyperreactive airways","Good (bronchodilators)","Smoker + asthma"],
["AECB","Acute episode","Viral / Bacterial","Returns to baseline","COPD exacerbation"],
];
let xPos = 0.25;
headers.forEach((h, i) => {
s.addShape(pres.shapes.RECTANGLE, { x:xPos, y:3.04, w:cols[i], h:0.3, fill:{color:C.teal}, line:{color:C.teal} });
s.addText(h, { x:xPos, y:3.04, w:cols[i], h:0.3, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle" });
xPos += cols[i];
});
rows.forEach((row, ri) => {
let xp = 0.25;
row.forEach((cell, ci) => {
const bg = ri % 2 === 0 ? "162537" : C.cardBg;
s.addShape(pres.shapes.RECTANGLE, { x:xp, y:3.35+ri*0.38, w:cols[ci], h:0.37, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(cell, { x:xp+0.05, y:3.35+ri*0.38, w:cols[ci]-0.1, h:0.37, fontSize:8.5, color:C.lightGray, align:"center", valign:"middle" });
xp += cols[ci];
});
});
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 3 — PATHOPHYSIOLOGY (CHRONIC BRONCHITIS)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "02 | PATHOPHYSIOLOGY — CHRONIC BRONCHITIS");
// Flow chain boxes
const steps = [
{ t:"NOXIOUS INHALANTS", sub:"Tobacco smoke (90%) • SO₂ • NO₂ • Dust", col:C.accent },
{ t:"MUCOSAL DAMAGE", sub:"↑ Cytokines: IL-13, Histamine\nNeutrophils • Lymphocytes • Macrophages\n(NO eosinophils — contrast with asthma)", col:"C0392B" },
{ t:"MUCUS HYPERSECRETION", sub:"⭐ Hypertrophy of submucosal glands (↑ Reid Index > 0.4)\n↑ Goblet cells in small bronchi/bronchioles\nAcquired CFTR dysfunction (abnormal mucus)", col:C.accentAlt },
{ t:"MUCOCILIARY FAILURE", sub:"Cilia damaged by smoke → impaired clearance\nMucus plugging → small airway obstruction (<2-3mm)", col:"E67E22" },
{ t:"AIRWAY OBSTRUCTION", sub:"Chronic bronchiolitis + Peribronchial fibrosis\nAir trapping → Hyperinflation → V/Q mismatch", col:"8E44AD" },
{ t:"HYPOXAEMIA + COR PULMONALE", sub:"↓PaO₂ → Polycythaemia → Pulm. HTN → Right HF\nBlue Bloater phenotype", col:C.teal },
];
steps.forEach((step, i) => {
const col = i < 3 ? 0 : 1;
const row = i < 3 ? i : i - 3;
const x = col === 0 ? 0.2 : 5.15;
const y = 0.95 + row * 1.38;
s.addShape(pres.shapes.RECTANGLE, { x, y, w:4.7, h:0.3, fill:{color:step.col}, line:{color:step.col} });
s.addText(step.t, { x:x+0.08, y, w:4.54, h:0.3, fontSize:10.5, bold:true, color:C.white, valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:y+0.3, w:4.7, h:0.88, fill:{color:C.cardBg}, line:{color:step.col, pt:1} });
s.addText(step.sub, { x:x+0.1, y:y+0.32, w:4.5, h:0.84, fontSize:9, color:C.lightGray, valign:"top" });
// Arrow down (within column)
if (row < 2) {
s.addShape(pres.shapes.RECTANGLE, { x:x+2.25, y:y+1.2, w:0.12, h:0.18, fill:{color:C.accentAlt}, line:{color:C.accentAlt} });
}
});
// Reid Index callout
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:3.6, y:2.0, w:2.75, h:1.1, fill:{color:"2C1810"}, line:{color:C.gold, pt:2}, rectRadius:0.1 });
s.addText([
{ text:"⭐ REID INDEX\n", options:{bold:true, color:C.gold, fontSize:12} },
{ text:"Normal = 0.4\n", options:{color:C.white, fontSize:11, bold:true} },
{ text:"Chronic Bronchitis = > 0.4\n", options:{color:C.accentAlt, fontSize:10} },
{ text:"Proportional to disease severity", options:{color:C.lightGray, fontSize:9} }
], { x:3.65, y:2.05, w:2.65, h:1.0, valign:"top" });
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 4 — BLUE BLOATER vs PINK PUFFER (★★★ most asked)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "03 | BLUE BLOATER vs PINK PUFFER ⭐⭐⭐ Most Asked in Viva & Theory");
// left header
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.85, w:4.5, h:0.42, fill:{color:"1A5276"}, line:{color:"3498DB", pt:2} });
s.addText("🔵 BLUE BLOATER\n(Chronic Bronchitis — Type B)", { x:0.2, y:0.85, w:4.5, h:0.42, fontSize:11, bold:true, color:"56CCF2", align:"center", valign:"middle" });
// right header
s.addShape(pres.shapes.RECTANGLE, { x:5.3, y:0.85, w:4.5, h:0.42, fill:{color:"4A1520"}, line:{color:C.accent, pt:2} });
s.addText("🩷 PINK PUFFER\n(Emphysema — Type A)", { x:5.3, y:0.85, w:4.5, h:0.42, fontSize:11, bold:true, color:"FF8A80", align:"center", valign:"middle" });
const features = [
["Body Habitus", "Obese / Overweight", "Thin, Cachexic"],
["Colour", "Cyanosed (BLUE)", "Pink (well-oxygenated)"],
["Oedema", "Present (Cor Pulmonale)", "ABSENT"],
["Breathlessness", "Mild-Moderate", "SEVERE (dominant symptom)"],
["Cough/Sputum", "Productive, copious sputum", "Minimal / Dry"],
["PaO₂", "LOW (Hypoxaemia)", "Near normal"],
["PaCO₂", "HIGH (Hypercapnia)", "Normal or LOW"],
["Polycythaemia", "PRESENT", "Absent"],
["Cor Pulmonale", "COMMON", "Late feature only"],
["Mechanism", "V/Q mismatch + ↓ ventilatory drive", "↑WOB; hyperventilates to maintain PaO₂"],
];
features.forEach((row, i) => {
const y = 1.38 + i * 0.37;
const bg = i % 2 === 0 ? "0F2233" : "132B40";
// Feature label
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y, w:1.5, h:0.36, fill:{color:C.midBg}, line:{color:"274560", pt:0.5} });
s.addText(row[0], { x:0.2, y, w:1.5, h:0.36, fontSize:8.5, bold:true, color:C.teal, align:"center", valign:"middle" });
// Blue Bloater
s.addShape(pres.shapes.RECTANGLE, { x:1.72, y, w:3.36, h:0.36, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(row[1], { x:1.77, y, w:3.26, h:0.36, fontSize:8.5, color:"56CCF2", align:"center", valign:"middle" });
// Pink Puffer
s.addShape(pres.shapes.RECTANGLE, { x:5.1, y, w:4.7, h:0.36, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(row[2], { x:5.15, y, w:4.6, h:0.36, fontSize:8.5, color:"FF8A80", align:"center", valign:"middle" });
});
// warning note
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.2, y:5.08, w:9.6, h:0.25, fill:{color:"2C2005"}, line:{color:C.gold, pt:1}, rectRadius:0.05 });
s.addText("⚠ Most COPD patients = MIXED picture. Blue Bloater & Pink Puffer are clinical extremes, not mutually exclusive.", { x:0.25, y:5.08, w:9.5, h:0.25, fontSize:8.5, bold:true, color:C.gold, align:"center", valign:"middle" });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 5 — CLINICAL FEATURES (BOTH TYPES)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "04 | CLINICAL FEATURES & KEY INVESTIGATIONS");
// --- Acute Bronchitis (left)
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.85, w:4.5, h:0.3, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("ACUTE BRONCHITIS — Key Features", { x:0.2, y:0.85, w:4.5, h:0.3, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const acuteFeats = [
"Cough (hallmark) ± sputum — lasts 10-20 days",
"Sputum: clear → yellow/green (NOT reliable for bacteria)",
"Low-grade fever (high fever → suspect pneumonia)",
"Rhinorrhoea, sore throat (preceding URTI)",
"Wheeze if bronchospasm (transient)",
"NO bronchial breathing, NO lobar dullness",
"Normal CXR (differentiates from pneumonia)",
];
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:1.16, w:4.5, h:2.2, fill:{color:C.cardBg}, line:{color:C.teal, pt:1} });
s.addText(acuteFeats.map((t,i) => ({ text:(i<acuteFeats.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}, color:C.lightGray} })),
{ x:0.3, y:1.19, w:4.3, h:2.15, fontSize:9, valign:"top" });
// --- Chronic Bronchitis (right)
s.addShape(pres.shapes.RECTANGLE, { x:5.3, y:0.85, w:4.5, h:0.3, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("CHRONIC BRONCHITIS — Key Features", { x:5.3, y:0.85, w:4.5, h:0.3, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const chronFeats = [
"Chronic productive morning cough (diagnostic)",
"Progressive dyspnoea (exertion → rest)",
"Central cyanosis (tongue/lips — Blue Bloater)",
"Ankle oedema (cor pulmonale)",
"Expiratory wheeze (airflow obstruction)",
"Coarse crackles (↓ on coughing)",
"Barrel chest if emphysema coexists",
"Polycythaemia, plethora",
];
s.addShape(pres.shapes.RECTANGLE, { x:5.3, y:1.16, w:4.5, h:2.2, fill:{color:C.cardBg}, line:{color:C.accent, pt:1} });
s.addText(chronFeats.map((t,i) => ({ text:(i<chronFeats.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}, color:C.lightGray} })),
{ x:5.4, y:1.19, w:4.3, h:2.15, fontSize:9, valign:"top" });
// --- Investigations strip
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:3.48, w:9.6, h:0.3, fill:{color:C.midBg}, line:{color:C.midBg} });
s.addText("KEY INVESTIGATIONS", { x:0.2, y:3.48, w:9.6, h:0.3, fontSize:10, bold:true, color:C.accentAlt, align:"center", valign:"middle" });
const invCols = [
{ title:"Spirometry", body:"FEV₁/FVC < 0.70\n(post-bronchodilator)\nGOLD staging by FEV₁%", col:C.teal },
{ title:"CXR", body:"Hyperinflation\n>6 ant. ribs on CXR\nPeribronchial thickening", col:"3498DB" },
{ title:"ABG", body:"↓PaO₂ (hypoxaemia)\n↑PaCO₂ (hypercapnia)\nRespiratory acidosis", col:C.accent },
{ title:"FBC", body:"Polycythaemia\n↑ Hb, ↑ RBC\n(secondary to ↓PaO₂)", col:"8E44AD" },
];
invCols.forEach((inv, i) => {
const x = 0.2 + i*2.4;
s.addShape(pres.shapes.RECTANGLE, { x, y:3.8, w:2.32, h:0.28, fill:{color:inv.col}, line:{color:inv.col} });
s.addText(inv.title, { x, y:3.8, w:2.32, h:0.28, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:4.09, w:2.32, h:0.95, fill:{color:C.cardBg}, line:{color:inv.col, pt:1} });
s.addText(inv.body, { x:x+0.08, y:4.11, w:2.16, h:0.91, fontSize:9, color:C.lightGray, valign:"top", align:"center" });
});
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 6 — DIFFERENTIAL DIAGNOSIS + PROBLEM LIST
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "05 | DIFFERENTIAL DIAGNOSIS & PROBLEM LIST");
// DD table
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.86, w:5.5, h:0.28, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("DIFFERENTIAL DIAGNOSIS", { x:0.2, y:0.86, w:5.5, h:0.28, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const dds = [
["Pneumonia","Fever >38°C, bronchial breathing, lobar dullness, ↑WBC, CXR consolidation"],
["Asthma","Episodic, reversible, atopy, eosinophilia, responds to BD, normal between attacks"],
["TB","Haemoptysis, night sweats, weight loss, AFB+, apical CXR lesion"],
["Bronchiectasis","Copious purulent sputum, clubbing, tram-tracks on HRCT"],
["Lung Cancer","Haemoptysis, weight loss, clubbing, hilar mass CXR"],
["CCF","Bilateral basal crackles, raised JVP, cardiomegaly, responds to diuretics"],
["GERD Cough","Cough worsens lying flat, heartburn, no sputum, upper GI symptoms"],
];
dds.forEach((dd, i) => {
const y = 1.16 + i * 0.41;
const bg = i % 2 === 0 ? C.cardBg : "132B40";
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y, w:1.6, h:0.4, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(dd[0], { x:0.2, y, w:1.6, h:0.4, fontSize:9, bold:true, color:C.accentAlt, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:1.82, y, w:3.88, h:0.4, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(dd[1], { x:1.87, y, w:3.78, h:0.4, fontSize:8.5, color:C.lightGray, valign:"middle" });
});
// Problem list (right side)
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:0.86, w:3.9, h:0.28, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("PHYSIOTHERAPY PROBLEM LIST", { x:5.9, y:0.86, w:3.9, h:0.28, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:1.16, w:3.9, h:0.22, fill:{color:"1A2E45"}, line:{color:C.teal} });
s.addText("IMPAIRMENTS", { x:5.9, y:1.16, w:3.9, h:0.22, fontSize:9, bold:true, color:C.teal, align:"center", valign:"middle" });
const probs1 = [
"Chronic productive cough",
"Obstructive ventilatory defect (↓FEV₁)",
"Sputum retention / impaired clearance",
"Progressive dyspnoea on exertion",
"Peripheral muscle weakness (quads)",
"Hypoxaemia + Hypercapnia (advanced)",
"Cor pulmonale (ankle oedema)",
];
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:1.38, w:3.9, h:2.05, fill:{color:C.cardBg}, line:{color:C.accent, pt:1} });
s.addText(probs1.map((t,i) => ({ text:(i<probs1.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}, color:C.lightGray} })),
{ x:6.0, y:1.4, w:3.7, h:2.0, fontSize:9, valign:"top" });
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:3.45, w:3.9, h:0.22, fill:{color:"1A2E45"}, line:{color:C.teal} });
s.addText("ACTIVITY / PARTICIPATION LIMITS", { x:5.9, y:3.45, w:3.9, h:0.22, fontSize:9, bold:true, color:C.teal, align:"center", valign:"middle" });
const probs2 = [
"Reduced exercise tolerance (6MWT ↓)",
"Difficulty climbing stairs/walking",
"Impaired ADL performance",
"Dependency for basic activities (severe)",
];
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:3.68, w:3.9, h:1.4, fill:{color:C.cardBg}, line:{color:C.accentAlt, pt:1} });
s.addText(probs2.map((t,i) => ({ text:(i<probs2.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}, color:C.lightGray} })),
{ x:6.0, y:3.7, w:3.7, h:1.35, fontSize:9, valign:"top" });
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 7 — PHASE-WISE PT MANAGEMENT
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "06 | PHASE-WISE PHYSIOTHERAPY MANAGEMENT");
const phases = [
{
phase:"PHASE 1", sub:"Acute Exacerbation (Inpatient)",
col:C.accent,
items:[
"High-Fowler's position (60-90°)",
"Controlled O₂: SpO₂ 88-92% (NOT >94%)",
"NIV/BiPAP if acute hypercapnic RF",
"ACBT + FET for airway clearance",
"Nebulised Salbutamol + Ipratropium",
"Early mobilisation: sit → stand → walk",
"Monitor: SpO₂, HR, RR, ABG",
]
},
{
phase:"PHASE 2", sub:"Stable Outpatient PR (6-12 weeks)",
col:"8E44AD",
items:[
"Aerobic training: walk/cycle, Borg 4-6",
"30-45 min × 3-5 days/week",
"Resistance: quadriceps + UL + core",
"Twice-daily ACBT + PEP device",
"Breathing re-education: PLB + diaphragmatic",
"Inhaler technique education",
"Smoking cessation referral (MANDATORY)",
]
},
{
phase:"PHASE 3", sub:"Maintenance & Long-Term",
col:C.teal,
items:[
"Community walking programme",
"Home exercise programme (HEP)",
"Annual spirometry review",
"Tele-rehabilitation (homebound patients)",
"Flu + Pneumococcal vaccination",
"Monitor FEV₁ decline annually",
"LTOT if resting PaO₂ < 55 mmHg",
]
},
];
phases.forEach((ph, i) => {
const x = 0.2 + i * 3.28;
s.addShape(pres.shapes.RECTANGLE, { x, y:0.85, w:3.15, h:0.48, fill:{color:ph.col}, line:{color:ph.col} });
s.addText([
{ text:ph.phase+"\n", options:{bold:true, fontSize:13, color:C.white} },
{ text:ph.sub, options:{fontSize:9, color:"rgba(255,255,255,0.85)"} }
], { x:x+0.05, y:0.87, w:3.05, h:0.44, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:1.35, w:3.15, h:3.82, fill:{color:C.cardBg}, line:{color:ph.col, pt:1.5} });
s.addText(ph.items.map((t,j) => ({ text:(j<ph.items.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}, color:C.lightGray} })),
{ x:x+0.12, y:1.38, w:2.91, h:3.75, fontSize:9.5, valign:"top" });
});
// O2 callout
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.25, y:5.06, w:9.5, h:0.3, fill:{color:"2C0505"}, line:{color:C.accent, pt:1.5}, rectRadius:0.05 });
s.addText("⭐ CRITICAL: Controlled O₂ = 88-92% SpO₂ in chronic bronchitis. HIGH-FLOW O₂ → removes hypoxic drive → CO₂ narcosis → RESPIRATORY ARREST", { x:0.3, y:5.06, w:9.4, h:0.3, fontSize:9, bold:true, color:"FF6B6B", align:"center", valign:"middle" });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 8 — ACBT + HUFFING (AIRWAY CLEARANCE)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "07 | AIRWAY CLEARANCE TECHNIQUES ⭐ Must Know for Viva");
// ACBT cycle
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.86, w:5.5, h:0.28, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("ACBT — Active Cycle of Breathing Technique", { x:0.2, y:0.86, w:5.5, h:0.28, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const acbtPhases = [
{ name:"1. BREATHING CONTROL", col:"1A5276", body:"3-5 tidal breaths\nRelaxed, low effort\nPrevents bronchospasm\nHands on abdomen" },
{ name:"2. THORACIC EXPANSION", col:"1A6B3A", body:"3-5 DEEP slow breaths\n3-second inspiratory hold\nCollateral ventilation\nLoosens secretions" },
{ name:"3. FET / HUFF", col:"7D3C1E", body:"Medium/low volume\nOpen glottis (\"haaa\")\nMoves secretions centrally\nThen effective cough" },
];
acbtPhases.forEach((ph, i) => {
const x = 0.22 + i * 1.85;
s.addShape(pres.shapes.RECTANGLE, { x, y:1.16, w:1.76, h:0.26, fill:{color:ph.col}, line:{color:ph.col} });
s.addText(ph.name, { x, y:1.16, w:1.76, h:0.26, fontSize:8.5, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:1.43, w:1.76, h:1.15, fill:{color:C.cardBg}, line:{color:ph.col, pt:1} });
s.addText(ph.body, { x:x+0.07, y:1.45, w:1.62, h:1.1, fontSize:9, color:C.lightGray, valign:"top", align:"center" });
if (i < 2) {
s.addShape(pres.shapes.RECTANGLE, { x:x+1.78, y:1.97, w:0.04, h:0.06, fill:{color:C.accentAlt}, line:{color:C.accentAlt} });
s.addText("→", { x:x+1.78, y:1.88, w:0.07, h:0.2, fontSize:14, bold:true, color:C.accentAlt, align:"center" });
}
});
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.22, y:2.62, w:5.5, h:0.32, fill:{color:"1A2E45"}, line:{color:C.teal, pt:1}, rectRadius:0.05 });
s.addText("Cycle: BC → TEE → FET → (COUGH if needed) → BC | 2-4 cycles per session | Twice daily (stable); 3-4×/day (exacerbation)", { x:0.27, y:2.62, w:5.4, h:0.32, fontSize:8.5, color:C.lightGray, align:"center", valign:"middle" });
// Huff vs Cough
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:3.02, w:5.5, h:0.26, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("HUFF (FET) vs COUGH — Why Huff is BETTER ⭐ Viva", { x:0.2, y:3.02, w:5.5, h:0.26, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const hcCols = [
["HUFF (FET)","Open glottis\nMedium flow\nNo Valsalva effect\nMaintains airway patency\nEffective for peripheral secretions\nLess bronchospasm", C.teal],
["COUGH","Closed glottis → explosive\nHigh intrathoracic pressure\nDynamic airway compression\nLess effective peripherally\nCan trigger bronchospasm\nExhausting for patient", C.accent],
];
hcCols.forEach((col, i) => {
const x = 0.22 + i * 2.8;
s.addShape(pres.shapes.RECTANGLE, { x, y:3.3, w:2.65, h:0.24, fill:{color:col[2]}, line:{color:col[2]} });
s.addText(col[0], { x, y:3.3, w:2.65, h:0.24, fontSize:10, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:3.55, w:2.65, h:1.58, fill:{color:C.cardBg}, line:{color:col[2], pt:1} });
s.addText(col[1], { x:x+0.1, y:3.57, w:2.45, h:1.53, fontSize:9, color:C.lightGray, valign:"top" });
});
// Other ACTs (right panel)
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:0.86, w:3.9, h:0.28, fill:{color:"8E44AD"}, line:{color:"8E44AD"} });
s.addText("OTHER AIRWAY CLEARANCE TECHNIQUES", { x:5.9, y:0.86, w:3.9, h:0.28, fontSize:9.5, bold:true, color:C.white, align:"center", valign:"middle" });
const otherACTs = [
{ t:"Postural Drainage", b:"12 segment positions\nHead-down (Trendelenburg)\nGravity-assisted" },
{ t:"PEP Device", b:"Positive Expiratory Pressure\nMaintains airway patency\nBetter adherence (independent)" },
{ t:"Flutter / Acapella / Aerobika", b:"OPEP devices\nOscillating PEP\nLoosens thick secretions" },
{ t:"Humidification / Saline Nebulisation", b:"Thins tenacious secretions\nPre-ACT therapy\nHypertonic saline 3-7%" },
];
otherACTs.forEach((act, i) => {
const y = 1.16 + i * 1.06;
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y, w:3.9, h:0.24, fill:{color:"5B2C6F"}, line:{color:"8E44AD", pt:0.5} });
s.addText(act.t, { x:5.9, y, w:3.9, h:0.24, fontSize:9.5, bold:true, color:C.lightGray, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:y+0.24, w:3.9, h:0.8, fill:{color:C.cardBg}, line:{color:"8E44AD", pt:0.5} });
s.addText(act.b, { x:6.0, y:y+0.26, w:3.7, h:0.75, fontSize:8.8, color:C.lightGray, valign:"top" });
});
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 9 — EXERCISES (DETAILED)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "08 | MUSCLE-SPECIFIC EXERCISES WITH PARAMETERS");
const exRows = [
{ name:"Pursed Lip Breathing", pos:"Sitting upright", tech:"Inhale thru nose (2 counts); purse lips (whistle); exhale 4 counts. I:E = 1:2", reps:"All activity; every time dyspnoeic", freq:"Continuous habit", mech:"Creates back-pressure → prevents premature small airway collapse → ↓ air trapping → ↓ dyspnoea", warn:"Do not force expiration" },
{ name:"Diaphragmatic Breathing", pos:"Supine → Sitting → Standing (progress)", tech:"One hand chest, one abdomen. Inhale: abdomen rises (chest still). Exhale slowly", reps:"3×10 breaths per session", freq:"3-4 times/day", mech:"Re-trains diaphragm; reduces accessory muscle use; ↓ WOB", warn:"Less effective if severe hyperinflation/flat diaphragm" },
{ name:"Aerobic Walking Programme", pos:"Standing; use rollator if needed", tech:"Walk at target pace; use PLB on exertion; breathe rhythmically", reps:"Start 10-15 min → build to 30-45 min; Borg 4-6", freq:"5 days/week", mech:"Peripheral muscle conditioning; ↓ ventilatory demand at same workload", warn:"SpO₂ > 88%; stop if chest pain or Borg >7" },
{ name:"Quadriceps (Seated Knee Extension)", pos:"Seated on chair, feet hanging", tech:"Extend knee fully; hold 2 sec; lower slowly (4 sec eccentric)", reps:"3 × 10-12 reps; progress to ankle weight", freq:"2-3 days/week", mech:"Largest peripheral muscle; most affected in COPD; ↑ exercise capacity", warn:"Breathe out on exertion (avoid Valsalva)" },
{ name:"Sit-to-Stand (Functional)", pos:"Standard chair; feet hip-width", tech:"Lean forward, stand; use arms if needed; breathe out on standing", reps:"3 × 10 reps", freq:"Daily (functional training)", mech:"Quadriceps + gluteals; simulates stair-climbing; ADL training", warn:"Supervise initially; no handrails to increase challenge progressively" },
];
const colWidths = [1.7, 1.2, 2.2, 1.55, 1.25, 1.4];
const colHeads = ["EXERCISE","POSITION","TECHNIQUE / REPS","FREQUENCY","MECHANISM","PRECAUTION"];
const colX = [0.2, 1.92, 3.14, 5.36, 6.93, 8.2];
// Header
colHeads.forEach((h, i) => {
s.addShape(pres.shapes.RECTANGLE, { x:colX[i], y:0.85, w:colWidths[i], h:0.28, fill:{color:C.teal}, line:{color:"274560", pt:0.5} });
s.addText(h, { x:colX[i], y:0.85, w:colWidths[i], h:0.28, fontSize:8.5, bold:true, color:C.white, align:"center", valign:"middle" });
});
exRows.forEach((ex, ri) => {
const y = 1.14 + ri * 0.86;
const bg = ri % 2 === 0 ? C.cardBg : "132B40";
const rowData = [ex.name, ex.pos, ex.tech + " | " + ex.reps, ex.freq, ex.mech, ex.warn];
const rowColors = [C.accentAlt, C.lightGray, C.lightGray, C.lightGray, C.teal, "FF8A80"];
rowData.forEach((cell, ci) => {
s.addShape(pres.shapes.RECTANGLE, { x:colX[ci], y, w:colWidths[ci], h:0.85, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(cell, { x:colX[ci]+0.04, y:y+0.02, w:colWidths[ci]-0.08, h:0.81, fontSize:7.8, color:rowColors[ci], valign:"top" });
});
});
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 10 — COMPLICATIONS + PROGNOSIS + OXYGEN THERAPY
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "09 | COMPLICATIONS, PROGNOSIS & OXYGEN THERAPY");
// complications
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.86, w:5.5, h:0.26, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("COMPLICATIONS OF CHRONIC BRONCHITIS", { x:0.2, y:0.86, w:5.5, h:0.26, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const comps = [
{ c:"Cor Pulmonale", d:"Pulm HTN → RV failure; most serious complication; ankle oedema, ↑JVP, P-pulmonale on ECG" },
{ c:"Respiratory Failure", d:"Type II: PaO₂ <60 + PaCO₂ >45; requires NIV/BiPAP" },
{ c:"Polycythaemia", d:"Secondary to chronic ↓PaO₂; hyperviscosity → thrombosis risk" },
{ c:"Acute-on-Chronic Exacerbation", d:"Each AECB accelerates FEV₁ decline; Anthonisen criteria for antibiotics" },
{ c:"Bronchiectasis", d:"Repeated infection → airway wall destruction → copious purulent sputum" },
{ c:"Osteoporosis", d:"Steroid use + inactivity + smoking; fragility fractures" },
{ c:"Lung Cancer", d:"Common aetiological factor (smoking); monitor for haemoptysis, weight loss" },
];
comps.forEach((comp, i) => {
const y = 1.14 + i * 0.42;
const bg = i % 2 === 0 ? C.cardBg : "132B40";
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y, w:1.6, h:0.41, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(comp.c, { x:0.2, y, w:1.6, h:0.41, fontSize:8.5, bold:true, color:C.accentAlt, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:1.82, y, w:3.88, h:0.41, fill:{color:bg}, line:{color:"274560", pt:0.5} });
s.addText(comp.d, { x:1.87, y, w:3.78, h:0.41, fontSize:8.5, color:C.lightGray, valign:"middle" });
});
// Prognosis strip
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:4.24, w:5.5, h:0.28, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("PROGNOSIS — Key Points", { x:0.2, y:4.24, w:5.5, h:0.28, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:4.53, w:5.5, h:0.78, fill:{color:C.cardBg}, line:{color:C.teal, pt:1} });
s.addText([
{ text:"• FEV₁ % predicted = PRIMARY prognostic marker\n", options:{color:C.lightGray} },
{ text:"• Normal FEV₁ decline: 25-30 mL/yr | Smoker: up to 60 mL/yr\n", options:{color:C.lightGray} },
{ text:"• SMOKING CESSATION = single most effective intervention to slow FEV₁ decline\n", options:{color:C.gold, bold:true} },
{ text:"• PR improves QoL + exercise capacity — does NOT alter FEV₁ or mortality", options:{color:C.lightGray} }
], { x:0.3, y:4.55, w:5.3, h:0.74, fontSize:9, valign:"top" });
// O2 therapy panel (right)
s.addShape(pres.shapes.RECTANGLE, { x:5.9, y:0.86, w:3.9, h:0.26, fill:{color:"E67E22"}, line:{color:"E67E22"} });
s.addText("OXYGEN THERAPY ⭐ Viva Must-Know", { x:5.9, y:0.86, w:3.9, h:0.26, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:5.9, y:1.14, w:3.9, h:2.3, fill:{color:C.cardBg}, line:{color:"E67E22", pt:2}, rectRadius:0.08 });
s.addText([
{ text:"TARGET SpO₂: 88 – 92% (NOT >94%)\n\n", options:{bold:true, color:C.gold, fontSize:13} },
{ text:"WHY controlled O₂?\n", options:{bold:true, color:C.accentAlt, fontSize:10} },
{ text:"Chronic bronchitics are CO₂ retainers.\nTheir ONLY respiratory drive = HYPOXIC DRIVE.\n\n", options:{color:C.lightGray, fontSize:9.5} },
{ text:"High-flow O₂ removes the hypoxic stimulus\n→ Hypoventilation\n→ ↑↑ PaCO₂\n→ CO₂ narcosis\n→ RESPIRATORY ARREST\n\n", options:{color:"FF8A80", fontSize:9.5} },
{ text:"Give 24-28% Venturi mask / 1-2 L/min nasal prongs", options:{color:C.lightGray, fontSize:9} }
], { x:5.98, y:1.16, w:3.74, h:2.25, fontSize:10, valign:"top" });
// LTOT
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:5.9, y:3.48, w:3.9, h:0.85, fill:{color:"1A2E45"}, line:{color:C.teal, pt:1.5}, rectRadius:0.08 });
s.addText([
{ text:"LTOT Criteria:\n", options:{bold:true, color:C.teal, fontSize:10.5} },
{ text:"• Resting PaO₂ < 55 mmHg OR\n", options:{color:C.lightGray, fontSize:9.5} },
{ text:"• PaO₂ < 60 mmHg WITH cor pulmonale\n", options:{color:C.lightGray, fontSize:9.5} },
{ text:"• Minimum 15-16 hrs/day → improves survival", options:{color:C.gold, fontSize:9, bold:true} }
], { x:5.98, y:3.50, w:3.74, h:0.8, valign:"top" });
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 11 — HEP + RETURN TO ACTIVITY
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "10 | HOME EXERCISE PROGRAMME (HEP) & RETURN TO ACTIVITY");
// HEP Acute
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:0.86, w:4.5, h:0.26, fill:{color:C.teal}, line:{color:C.teal} });
s.addText("HEP — ACUTE BRONCHITIS", { x:0.2, y:0.86, w:4.5, h:0.26, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle" });
const hepAcute = [
"Steam inhalation: 10-15 min × 2-3×/day",
"Effective huffing (FET): 3-4 cycles when sputum present",
"Adequate hydration: ≥ 2 litres water/day (thins secretions)",
"Semi-upright sleeping position (30-45°)",
"Warm saline gargles for throat irritation",
"Graduated activity from day 4-5: 10-15 min walk",
"Avoid cold/dry air; warm moist environment"
];
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:1.13, w:4.5, h:2.25, fill:{color:C.cardBg}, line:{color:C.teal, pt:1} });
s.addText(hepAcute.map((t,i) => ({ text:(i<hepAcute.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}} })),
{ x:0.3, y:1.16, w:4.3, h:2.2, fontSize:9.5, color:C.lightGray, valign:"top" });
// HEP Chronic
s.addShape(pres.shapes.RECTANGLE, { x:5.3, y:0.86, w:4.5, h:0.26, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("HEP — CHRONIC BRONCHITIS (STABLE)", { x:5.3, y:0.86, w:4.5, h:0.26, fontSize:11, bold:true, color:C.white, align:"center", valign:"middle" });
const hepChronic = [
"ACBT twice daily (morning + evening; 20-30 min each)",
"PLB during all physical activities (habitual)",
"Diaphragmatic breathing: 3×10 breaths × 3 daily",
"Walking: 30 min × 5 days/week; Borg 4-5",
"Seated quadriceps: 3×12 reps × 2-3 days/week",
"Thoracic extension (foam roller) + scapular retraction daily",
"Correct inhaler technique (MDI + spacer)"
];
s.addShape(pres.shapes.RECTANGLE, { x:5.3, y:1.13, w:4.5, h:2.25, fill:{color:C.cardBg}, line:{color:C.accent, pt:1} });
s.addText(hepChronic.map((t,i) => ({ text:(i<hepChronic.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}} })),
{ x:5.4, y:1.16, w:4.3, h:2.2, fontSize:9.5, color:C.lightGray, valign:"top" });
// Return to activity
s.addShape(pres.shapes.RECTANGLE, { x:0.2, y:3.45, w:9.6, h:0.26, fill:{color:"8E44AD"}, line:{color:"8E44AD"} });
s.addText("RETURN TO ACTIVITY CRITERIA", { x:0.2, y:3.45, w:9.6, h:0.26, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const rta = [
{ h:"Acute Bronchitis", items:["Afebrile ≥ 48 hours","SpO₂ ≥ 96% on room air","Cough frequency reducing","10-min walk without significant symptoms","Gradual: walk → jog → sport (1-2 weeks)"], col:C.teal },
{ h:"Chronic Bronchitis (Post-Exacerbation)", items:["Returned to baseline FEV₁ (±10%)","SpO₂ ≥ 88% during activity","Sputum baseline colour/volume","Independent on ACBT routine","Physician clearance obtained"], col:C.accent },
];
rta.forEach((r, i) => {
const x = 0.2 + i * 5.0;
s.addShape(pres.shapes.RECTANGLE, { x, y:3.73, w:4.75, h:0.22, fill:{color:r.col}, line:{color:r.col} });
s.addText(r.h, { x, y:3.73, w:4.75, h:0.22, fontSize:9.5, bold:true, color:C.white, align:"center", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x, y:3.96, w:4.75, h:1.37, fill:{color:C.cardBg}, line:{color:r.col, pt:1} });
s.addText(r.items.map((t,j) => ({ text:(j<r.items.length-1 ? t+"\n" : t), options:{bullet:{type:"bullet"}} })),
{ x:x+0.1, y:3.98, w:4.55, h:1.32, fontSize:9, color:C.lightGray, valign:"top" });
});
addFooter(s);
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 12 — EXAM VIVA GOLD CARD
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
addSectionBand(s, "11 | HIGH-YIELD VIVA & EXAM POINTS ⭐ GOLD CARD");
// Key numbers box
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.2, y:0.85, w:4.5, h:3.65, fill:{color:"1C1208"}, line:{color:C.gold, pt:2}, rectRadius:0.1 });
s.addText("⭐ KEY NUMBERS — MUST MEMORISE", { x:0.2, y:0.88, w:4.5, h:0.3, fontSize:11, bold:true, color:C.gold, align:"center", valign:"middle" });
const numbers = [
["CLINICAL DEFINITION","Productive cough ≥ 3 months × 2 consecutive years"],
["REID INDEX (normal)","0.4 (increased >0.4 in chronic bronchitis)"],
["VIRAL AETIOLOGY (acute)","90% viral (rhinovirus, coronavirus, RSV)"],
["COUGH DURATION (acute)","10–20 days (can persist >1 month)"],
["TARGET SpO₂ (chronic)","88–92% (controlled O₂, Venturi mask 24-28%)"],
["LTOT SpO₂ criterion","PaO₂ < 55 mmHg OR <60 mmHg with cor pulmonale"],
["LTOT hours/day","≥ 15–16 hours/day"],
["FEV₁ decline (smoker)","Up to 60 mL/year (normal: 25-30 mL/yr)"],
["6MWT MCID","25–33 metres (COPD)"],
["GOLD I criterion","FEV₁ ≥ 80% predicted"],
];
numbers.forEach((n, i) => {
const y = 1.2 + i * 0.33;
const bg = i % 2 === 0 ? "1A1208" : "221710";
s.addShape(pres.shapes.RECTANGLE, { x:0.22, y, w:4.46, h:0.32, fill:{color:bg}, line:{color:"2C2010", pt:0.5} });
s.addText([
{ text:n[0]+" — ", options:{bold:true, color:C.accentAlt} },
{ text:n[1], options:{color:C.lightGray} }
], { x:0.28, y:y+0.01, w:4.34, h:0.3, fontSize:8.8, valign:"middle" });
});
// Viva Q&A
s.addShape(pres.shapes.RECTANGLE, { x:5.0, y:0.85, w:4.8, h:0.28, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("VIVA QUESTIONS — Model Answers", { x:5.0, y:0.85, w:4.8, h:0.28, fontSize:10.5, bold:true, color:C.white, align:"center", valign:"middle" });
const qas = [
{
q:"Q: What is the Reid Index?",
a:"Ratio of mucous gland layer thickness to bronchial wall thickness (epithelium to cartilage). Normal = 0.4. Increased (>0.4) in chronic bronchitis, proportional to severity."
},
{
q:"Q: Why controlled O₂ in chronic bronchitis?",
a:"Chronic bronchitics are CO₂ retainers; respiratory drive depends on hypoxic drive. High-flow O₂ removes hypoxic stimulus → hypoventilation → ↑PaCO₂ → CO₂ narcosis → respiratory arrest. Maintain SpO₂ 88-92%."
},
{
q:"Q: Why huff instead of cough?",
a:"Huff (FET) = open glottis → no dynamic airway collapse → effective peripheral secretion clearance. Cough = closed glottis → high intrathoracic pressure → dynamic airway compression → less effective + can cause bronchospasm."
},
{
q:"Q: What are Anthonisen criteria?",
a:"Type I AECB (all 3 criteria): ↑dyspnoea + ↑sputum volume + ↑sputum purulence → antibiotics indicated. Type II (2/3) → appropriate. Type III (1/3) → usually NOT indicated."
},
];
qas.forEach((qa, i) => {
const y = 1.15 + i * 1.08;
s.addShape(pres.shapes.RECTANGLE, { x:5.0, y, w:4.8, h:0.24, fill:{color:"2C0505"}, line:{color:C.accent, pt:0.5} });
s.addText(qa.q, { x:5.05, y, w:4.7, h:0.24, fontSize:9.5, bold:true, color:"FF8A80", valign:"middle" });
s.addShape(pres.shapes.RECTANGLE, { x:5.0, y:y+0.25, w:4.8, h:0.82, fill:{color:C.cardBg}, line:{color:C.accent, pt:0.5} });
s.addText(qa.a, { x:5.07, y:y+0.27, w:4.66, h:0.78, fontSize:8.8, color:C.lightGray, valign:"top" });
});
// Common mistakes
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.2, y:4.54, w:9.6, h:0.78, fill:{color:"0D1F12"}, line:{color:C.green, pt:1.5}, rectRadius:0.08 });
s.addText("✅ COMMON MISTAKES TO AVOID:", { x:0.28, y:4.56, w:3, h:0.2, fontSize:9.5, bold:true, color:C.green });
s.addText([
{ text:"1. Define chronic bronchitis clinically (3m×2yrs), NOT by PFTs ", options:{color:C.lightGray, fontSize:9} },
{ text:"| ", options:{color:"4A6580"} },
{ text:"2. Reid Index = 0.4 (know this cold!) ", options:{color:C.lightGray, fontSize:9} },
{ text:"| ", options:{color:"4A6580"} },
{ text:"3. Never give HIGH-FLOW O₂ to a Blue Bloater ", options:{color:"FF8A80", bold:true, fontSize:9} },
{ text:"| ", options:{color:"4A6580"} },
{ text:"4. No antibiotics for uncomplicated acute bronchitis ", options:{color:C.lightGray, fontSize:9} },
{ text:"| ", options:{color:"4A6580"} },
{ text:"5. Include smoking cessation in every answer", options:{color:C.accentAlt, fontSize:9} }
], { x:0.25, y:4.74, w:9.5, h:0.55, valign:"top" });
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// SLIDE 13 — CLOSING / REFERENCES
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.darkBg}, line:{color:C.darkBg} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.15, h:5.625, fill:{color:C.teal}, line:{color:C.teal} });
s.addShape(pres.shapes.OVAL, { x:6.5, y:-1, w:5, h:5, fill:{color:"172840"}, line:{color:"172840"} });
s.addShape(pres.shapes.OVAL, { x:7.2, y:3, w:4, h:4, fill:{color:"1A2E45"}, line:{color:"1A2E45"} });
s.addText("🫁", { x:7.3, y:1.0, w:2.0, h:2.0, fontSize:70, align:"center", valign:"middle" });
s.addText("KEY TAKEAWAYS", { x:0.3, y:0.5, w:6, h:0.42, fontSize:14, bold:true, color:C.teal, charSpacing:3 });
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:0.95, w:5.5, h:0.04, fill:{color:C.accentAlt}, line:{color:C.accentAlt} });
const takeaways = [
"Chronic bronchitis = CLINICAL definition: 3 months × 2 consecutive years",
"Reid Index = 0.4 (normally) — proportional increase in chronic bronchitis",
"Blue Bloater (chronic bronchitis) vs Pink Puffer (emphysema) — master this table",
"Pathophysiology: mucus hypersecretion → mucociliary failure → obstruction → V/Q mismatch",
"Controlled O₂ 88-92% — NEVER give high-flow O₂ to Blue Bloater",
"ACBT = gold standard airway clearance; 3 phases: BC → TEE → FET/Huff",
"Huff > Cough: open glottis → no dynamic airway collapse",
"Smoking cessation = single most effective intervention (slows FEV₁ decline)",
"Antibiotics NOT recommended for uncomplicated acute bronchitis (CDC/IDSA)",
"Pulmonary Rehabilitation: improves QoL + exercise capacity; does NOT change FEV₁",
];
takeaways.forEach((t, i) => {
s.addText([
{ text:"→ ", options:{color:C.teal, bold:true} },
{ text:t, options:{color:C.lightGray} }
], { x:0.3, y:1.05 + i*0.41, w:6, h:0.4, fontSize:9.8, valign:"middle" });
});
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:5.2, w:6, h:0.28, fill:{color:C.midBg}, line:{color:C.midBg} });
s.addText("References: Robbins & Cotran Pathologic Basis of Disease • Robbins Basic Pathology • Fishman's Pulmonary Diseases • Murray & Nadel's Respiratory Medicine • GOLD 2024 • CDC/IDSA Guidelines", { x:0.3, y:5.21, w:6, h:0.27, fontSize:7.5, color:"4A6580", valign:"middle" });
}
// ─── WRITE FILE ────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/bronchitis-ppt/Bronchitis_BPT_Exam.pptx" })
.then(() => console.log("✅ Done: Bronchitis_BPT_Exam.pptx"))
.catch(err => { console.error("ERROR:", err); process.exit(1); });
Tb
When credits reset tomorrow, ask for TB (Tuberculosis) in BPT format